From: Stefan Monnier Date: Fri, 29 Jan 2021 21:49:12 +0000 (-0500) Subject: * test/lisp/electric-tests.el: Fix switch to lexical-binding. X-Git-Tag: emacs-28.0.90~4038 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=295de50329a584c588c44a8485f576a33d12044c;p=emacs.git * test/lisp/electric-tests.el: Fix switch to lexical-binding. (define-electric-pair-test): Don't presume that function values are self-evaluating. --- diff --git a/test/lisp/electric-tests.el b/test/lisp/electric-tests.el index 05a6989664d..62a42b7fe44 100644 --- a/test/lisp/electric-tests.el +++ b/test/lisp/electric-tests.el @@ -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'