aboutsummaryrefslogtreecommitdiffstats
path: root/test/src
diff options
context:
space:
mode:
authorStefan Kangas2021-11-20 12:54:48 +0100
committerStefan Kangas2021-11-20 12:55:37 +0100
commita3a3d3dd074850a11ade229fc65a07aaa3e44320 (patch)
tree67bb2909c87b4e55448806ddaed0a9c5f1cd738b /test/src
parent244baa550beb3ca6f6b87cf86e2dae4465a87cbd (diff)
downloademacs-a3a3d3dd074850a11ade229fc65a07aaa3e44320.tar.gz
emacs-a3a3d3dd074850a11ade229fc65a07aaa3e44320.zip
Make 'eval' use lexical scoping in most tests
* test/lisp/electric-tests.el (electric-pair-define-test-form) (define-electric-pair-test): * test/lisp/emacs-lisp/backtrace-tests.el (backtrace-tests--uncompiled-functions): * test/lisp/emacs-lisp/cl-macs-tests.el (cl-macs-test--symbol-macrolet): * test/lisp/emacs-lisp/let-alist-tests.el (let-alist-list-to-sexp): * test/lisp/emacs-lisp/lisp-tests.el (elisp-tests-with-temp-buffer, core-elisp-tests-3-backquote): * test/lisp/emacs-lisp/testcover-resources/testcases.el (testcover-testcase-nth-case): * test/lisp/ffap-tests.el (ffap-ido-mode): * test/lisp/files-tests.el (file-test--do-local-variables-test): * test/lisp/net/tramp-tests.el (tramp--test-utf8): * test/lisp/progmodes/elisp-mode-tests.el (find-defs-defgeneric-eval, find-defs-defun-eval) (find-defs-defvar-eval, find-defs-face-eval) (find-defs-feature-eval): Give 'eval' non-nil LEXICAL argument. * test/lisp/subr-tests.el (subr-tests--dolist--wrong-number-of-args): * test/src/eval-tests.el (eval-tests--if-dot-string) (eval-tests--mutating-cond) (eval-tests-19790-backquote-comma-dot-substitution): Test 'eval' using LEXICAL as both nil and non-nil. (eval-tests--let-with-circular-defs): Give explicit nil to 'eval'.
Diffstat (limited to 'test/src')
-rw-r--r--test/src/eval-tests.el17
1 files changed, 11 insertions, 6 deletions
diff --git a/test/src/eval-tests.el b/test/src/eval-tests.el
index 4f05d99136b..727c98aa5fa 100644
--- a/test/src/eval-tests.el
+++ b/test/src/eval-tests.el
@@ -86,23 +86,27 @@ Bug#24912."
86 86
87(ert-deftest eval-tests--if-dot-string () 87(ert-deftest eval-tests--if-dot-string ()
88 "Check that Emacs rejects (if . \"string\")." 88 "Check that Emacs rejects (if . \"string\")."
89 (should-error (eval '(if . "abc")) :type 'wrong-type-argument) 89 (should-error (eval '(if . "abc") nil) :type 'wrong-type-argument)
90 (should-error (eval '(if . "abc") t) :type 'wrong-type-argument)
90 (let ((if-tail (list '(setcdr if-tail "abc") t))) 91 (let ((if-tail (list '(setcdr if-tail "abc") t)))
91 (should-error (eval (cons 'if if-tail)))) 92 (should-error (eval (cons 'if if-tail) nil) :type 'void-variable)
93 (should-error (eval (cons 'if if-tail) t) :type 'void-variable))
92 (let ((if-tail (list '(progn (setcdr if-tail "abc") nil) t))) 94 (let ((if-tail (list '(progn (setcdr if-tail "abc") nil) t)))
93 (should-error (eval (cons 'if if-tail))))) 95 (should-error (eval (cons 'if if-tail) nil) :type 'void-variable)
96 (should-error (eval (cons 'if if-tail) t) :type 'void-variable)))
94 97
95(ert-deftest eval-tests--let-with-circular-defs () 98(ert-deftest eval-tests--let-with-circular-defs ()
96 "Check that Emacs reports an error for (let VARS ...) when VARS is circular." 99 "Check that Emacs reports an error for (let VARS ...) when VARS is circular."
97 (let ((vars (list 'v))) 100 (let ((vars (list 'v)))
98 (setcdr vars vars) 101 (setcdr vars vars)
99 (dolist (let-sym '(let let*)) 102 (dolist (let-sym '(let let*))
100 (should-error (eval (list let-sym vars)))))) 103 (should-error (eval (list let-sym vars) nil)))))
101 104
102(ert-deftest eval-tests--mutating-cond () 105(ert-deftest eval-tests--mutating-cond ()
103 "Check that Emacs doesn't crash on a cond clause that mutates during eval." 106 "Check that Emacs doesn't crash on a cond clause that mutates during eval."
104 (let ((clauses (list '((progn (setcdr clauses "ouch") nil))))) 107 (let ((clauses (list '((progn (setcdr clauses "ouch") nil)))))
105 (should-error (eval (cons 'cond clauses))))) 108 (should-error (eval (cons 'cond clauses) nil))
109 (should-error (eval (cons 'cond clauses) t))))
106 110
107(defun eval-tests--exceed-specbind-limit () 111(defun eval-tests--exceed-specbind-limit ()
108 (defvar eval-tests--var1) 112 (defvar eval-tests--var1)
@@ -184,7 +188,8 @@ are found on the stack and therefore not garbage collected."
184Don't handle destructive splicing in backquote expressions (like 188Don't handle destructive splicing in backquote expressions (like
185in Common Lisp). Instead, make sure substitution in backquote 189in Common Lisp). Instead, make sure substitution in backquote
186expressions works for identifiers starting with period." 190expressions works for identifiers starting with period."
187 (should (equal (let ((.x 'identity)) (eval `(,.x 'ok))) 'ok))) 191 (should (equal (let ((.x 'identity)) (eval `(,.x 'ok) nil)) 'ok))
192 (should (equal (let ((.x 'identity)) (eval `(,.x 'ok) t)) 'ok)))
188 193
189(ert-deftest eval-tests/backtrace-in-batch-mode () 194(ert-deftest eval-tests/backtrace-in-batch-mode ()
190 (let ((emacs (expand-file-name invocation-name invocation-directory))) 195 (let ((emacs (expand-file-name invocation-name invocation-directory)))