* test/lisp/electric-tests.el: Fix switch to lexical-binding.

(define-electric-pair-test): Don't presume that function values are
self-evaluating.
This commit is contained in:
Stefan Monnier 2021-01-29 16:49:12 -05:00
parent 7415c66d8b
commit 295de50329

View file

@ -135,9 +135,11 @@ The buffer's contents should %s:
(length fixture)
fixture
(if fixture-fn (format "\nNow call this:\n\n%s"
(pp-to-string fixture-fn)) "")
(pp-to-string fixture-fn))
"")
(if bindings (format "\nEnsure the following bindings:\n\n%s"
(pp-to-string bindings)) "")
(pp-to-string bindings))
"")
char
(if (string= fixture expected-string) "stay" "become")
(replace-regexp-in-string "\n" "\\\\n" expected-string)
@ -163,8 +165,11 @@ The buffer's contents should %s:
(test-in-comments t)
(test-in-strings t)
(test-in-code t)
(fixture-fn #'(lambda ()
(electric-pair-mode 1))))
;; The semantics of CL's defmacro "default values" is subtle:
;; contrary to the actual arguments, these are evaluated (and
;; are expected to return the "default form").
;; `fixture-fn' contains a form whose evaluation returns a function.
(fixture-fn '#'electric-pair-mode))
`(progn
,@(cl-loop
for mode in (eval modes) ;FIXME: avoid `eval'