diff options
author | Stefan Monnier <monnier@iro.umontreal.ca> | 2022-09-03 22:38:28 -0400 |
---|---|---|
committer | Stefan Monnier <monnier@iro.umontreal.ca> | 2022-09-03 22:38:28 -0400 |
commit | 2dd1c2ab19f7fb99ecee60e27e63b2fb045f6970 (patch) | |
tree | 07ef5fd76165ec05f4ec43c2a99fec424476779c /test/lisp | |
parent | 1d1158397bce41466078e384eed2d1e214e206de (diff) | |
download | emacs-2dd1c2ab19f7fb99ecee60e27e63b2fb045f6970.tar.gz emacs-2dd1c2ab19f7fb99ecee60e27e63b2fb045f6970.tar.bz2 emacs-2dd1c2ab19f7fb99ecee60e27e63b2fb045f6970.zip |
gv.el and cl-macs.el: Fix bug#57397
* lisp/emacs-lisp/gv.el (gv-get): Obey symbol macros.
* lisp/emacs-lisp/cl-macs.el (cl--letf): Remove workaround placed to
try and handle symbol macros.
* test/lisp/emacs-lisp/cl-macs-tests.el (cl-macs-test--symbol-macrolet):
Add new testcase.
Diffstat (limited to 'test/lisp')
-rw-r--r-- | test/lisp/emacs-lisp/cl-macs-tests.el | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/test/lisp/emacs-lisp/cl-macs-tests.el b/test/lisp/emacs-lisp/cl-macs-tests.el index 19ede627a13..2a647e08305 100644 --- a/test/lisp/emacs-lisp/cl-macs-tests.el +++ b/test/lisp/emacs-lisp/cl-macs-tests.el @@ -539,7 +539,20 @@ collection clause." ((p (gv-synthetic-place cl (lambda (v) `(setcar l ,v))))) (cl-incf p))) l) - '(1)))) + '(1))) + ;; Make sure `gv-synthetic-place' isn't macro-expanded before + ;; `cl-letf' gets to see its `gv-expander'. + (should (equal + (condition-case err + (let ((x 1)) + (list x + (cl-letf (((gv-synthetic-place (+ 1 2) + (lambda (v) `(setq x ,v))) + 7)) + x) + x)) + (error err)) + '(1 7 3)))) (ert-deftest cl-macs-loop-conditional-step-clauses () "These tests failed under the initial fixes in #bug#29799." |