2022-05-15 01:05:28 +00:00
|
|
|
|
From 904a058fcf4e1f4985e03f8551eec282ca12ccb5 Mon Sep 17 00:00:00 2001
|
|
|
|
|
From: Philipp Stephani <phst@google.com>
|
|
|
|
|
Date: Mon, 6 Dec 2021 18:50:10 +0100
|
|
|
|
|
Subject: [PATCH] Unbreak unit tests under Emacs 28.
|
|
|
|
|
MIME-Version: 1.0
|
|
|
|
|
Content-Type: text/plain; charset=UTF-8
|
|
|
|
|
Content-Transfer-Encoding: 8bit
|
|
|
|
|
|
|
|
|
|
- Emacs 28 has a new mode ‘lisp-data-mode’ for Lisp data.
|
|
|
|
|
- A test that was temporarily broken passes again.
|
|
|
|
|
- The default for ‘org-adapt-indentation’ has changed.
|
2022-08-24 21:59:07 +00:00
|
|
|
|
- buffer-list may be called with arguments when native-comp is enabled.
|
2022-05-15 01:05:28 +00:00
|
|
|
|
---
|
2022-08-24 21:59:07 +00:00
|
|
|
|
yasnippet-tests.el | 45 ++++++++++++++++++++++++++++-----------------
|
|
|
|
|
1 file changed, 28 insertions(+), 17 deletions(-)
|
2022-05-15 01:05:28 +00:00
|
|
|
|
|
|
|
|
|
diff --git a/yasnippet-tests.el b/yasnippet-tests.el
|
2022-08-24 21:59:07 +00:00
|
|
|
|
index f7ca2bb..7618ab7 100644
|
2022-05-15 01:05:28 +00:00
|
|
|
|
--- a/yasnippet-tests.el
|
|
|
|
|
+++ b/yasnippet-tests.el
|
|
|
|
|
@@ -1,6 +1,6 @@
|
|
|
|
|
;;; yasnippet-tests.el --- some yasnippet tests -*- lexical-binding: t -*-
|
|
|
|
|
|
|
|
|
|
-;; Copyright (C) 2012-2015, 2017-2018 Free Software Foundation, Inc.
|
|
|
|
|
+;; Copyright (C) 2012-2015, 2017-2018, 2021 Free Software Foundation, Inc.
|
|
|
|
|
|
|
|
|
|
;; Author: João Távora <joaot@siscog.pt>
|
|
|
|
|
;; Keywords: emulations, convenience
|
|
|
|
|
@@ -556,16 +556,19 @@ XXXXX ------------------------"))))
|
|
|
|
|
(yas-mock-insert "foo bar")
|
|
|
|
|
(ert-simulate-command '(yas-next-field))
|
|
|
|
|
(goto-char (point-min))
|
|
|
|
|
- (let ((expected (with-temp-buffer
|
|
|
|
|
- (insert (format (concat "* Test foo bar\n"
|
|
|
|
|
- " " org-property-format "\n"
|
|
|
|
|
- " " org-property-format "\n"
|
|
|
|
|
- " " org-property-format)
|
|
|
|
|
- ":PROPERTIES:" ""
|
|
|
|
|
- ":ID:" "foo bar-after"
|
|
|
|
|
- ":END:" ""))
|
|
|
|
|
- (delete-trailing-whitespace)
|
|
|
|
|
- (buffer-string))))
|
|
|
|
|
+ ;; The default value of `org-adapt-indentation' changed between Org-mode 9.4
|
|
|
|
|
+ ;; and 9.5, so force a specific value.
|
|
|
|
|
+ (let* ((org-adapt-indentation nil)
|
|
|
|
|
+ (expected (with-temp-buffer
|
|
|
|
|
+ (insert (format (concat "* Test foo bar\n"
|
|
|
|
|
+ org-property-format "\n"
|
|
|
|
|
+ org-property-format "\n"
|
|
|
|
|
+ org-property-format)
|
|
|
|
|
+ ":PROPERTIES:" ""
|
|
|
|
|
+ ":ID:" "foo bar-after"
|
|
|
|
|
+ ":END:" ""))
|
|
|
|
|
+ (delete-trailing-whitespace)
|
|
|
|
|
+ (buffer-string))))
|
|
|
|
|
;; Some org-mode versions leave trailing whitespace, some don't.
|
|
|
|
|
(delete-trailing-whitespace)
|
|
|
|
|
(should (equal expected (buffer-string))))))
|
2022-08-24 21:59:07 +00:00
|
|
|
|
@@ -1195,11 +1198,11 @@ hello ${1:$(when (stringp yas-text) (funcall func yas-text))} foo${1:$$(concat \
|
|
|
|
|
(let ((saved-sym (make-symbol "yas--buffer-list")))
|
|
|
|
|
`(let ((,saved-sym (symbol-function 'buffer-list)))
|
|
|
|
|
(cl-letf (((symbol-function 'buffer-list)
|
|
|
|
|
- (lambda ()
|
|
|
|
|
+ (lambda (&rest args)
|
|
|
|
|
(cl-remove-if (lambda (buf)
|
|
|
|
|
(with-current-buffer buf
|
|
|
|
|
(eq major-mode 'lisp-interaction-mode)))
|
|
|
|
|
- (funcall ,saved-sym)))))
|
|
|
|
|
+ (funcall ,saved-sym args)))))
|
|
|
|
|
,@body))))
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -1356,7 +1359,9 @@ hello ${1:$(when (stringp yas-text) (funcall func yas-text))} foo${1:$$(concat \
|
2022-05-15 01:05:28 +00:00
|
|
|
|
,@(if (fboundp 'prog-mode)
|
|
|
|
|
'(prog-mode))
|
|
|
|
|
emacs-lisp-mode
|
|
|
|
|
- lisp-interaction-mode))
|
|
|
|
|
+ lisp-interaction-mode
|
|
|
|
|
+ ;; `lisp-data-mode' doesn't exist prior to Emacs 28.
|
|
|
|
|
+ ,@(and (fboundp 'lisp-data-mode) '(lisp-data-mode))))
|
|
|
|
|
(observed (yas--modes-to-activate)))
|
|
|
|
|
(should (equal major-mode (car observed)))
|
|
|
|
|
(should (equal (sort expected #'string<) (sort observed #'string<))))))))
|
2022-08-24 21:59:07 +00:00
|
|
|
|
@@ -1384,7 +1389,11 @@ hello ${1:$(when (stringp yas-text) (funcall func yas-text))} foo${1:$$(concat \
|
2022-05-15 01:05:28 +00:00
|
|
|
|
'(prog-mode))
|
|
|
|
|
emacs-lisp-mode
|
|
|
|
|
and-also-this-one
|
|
|
|
|
- lisp-interaction-mode))
|
|
|
|
|
+ lisp-interaction-mode
|
|
|
|
|
+ ;; `lisp-data-mode' doesn't exist prior to
|
|
|
|
|
+ ;; Emacs 28.
|
|
|
|
|
+ ,@(and (fboundp 'lisp-data-mode)
|
|
|
|
|
+ '(lisp-data-mode))))
|
|
|
|
|
(observed (yas--modes-to-activate)))
|
|
|
|
|
(should (equal expected-first
|
|
|
|
|
(cl-subseq observed 0 (length expected-first))))
|
2022-08-24 21:59:07 +00:00
|
|
|
|
@@ -1657,9 +1666,11 @@ TODO: be meaner"
|
2022-05-15 01:05:28 +00:00
|
|
|
|
"Test expansion of snippets in org source blocks."
|
|
|
|
|
;; org 9+ no longer runs fontification for text-mode, so our hacks
|
|
|
|
|
;; don't work. Note that old ert doesn't have skipping, so we have
|
|
|
|
|
- ;; to expect failure instead.
|
|
|
|
|
+ ;; to expect failure instead. Starting with Org-mode 9.5 this seems
|
|
|
|
|
+ ;; to work again.
|
|
|
|
|
:expected-result (if (and (fboundp 'org-in-src-block-p)
|
|
|
|
|
- (version< (org-version) "9"))
|
|
|
|
|
+ (or (version< (org-version) "9")
|
|
|
|
|
+ (version<= "9.5" (org-version))))
|
|
|
|
|
:passed :failed)
|
|
|
|
|
(let ((text-mode-hook #'yas-minor-mode))
|
|
|
|
|
(do-yas-org-native-tab-in-source-block "text")))
|
2022-08-24 21:59:07 +00:00
|
|
|
|
--
|
|
|
|
|
2.37.2
|
|
|
|
|
|