emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: master 2dd1c2ab19: gv.el and cl-macs.el: Fix bug#57397


From: Lars Ingebrigtsen
Subject: Re: master 2dd1c2ab19: gv.el and cl-macs.el: Fix bug#57397
Date: Sun, 04 Sep 2022 20:51:55 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux)

Stefan Kangas <stefankangas@gmail.com> writes:

>>     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.
>
> I'm not sure if it's this or something else, but I'm seeing:

Yes, it looks like this makes the cl-letf case fail:

(ert-deftest cl-lib-symbol-macrolet-hide ()
  ;; bug#26325, bug#26073
  (should (equal (let ((y 5))
                   (cl-symbol-macrolet ((x y))
                     (list x
                           (let ((x 6)) (list x y))
                           (cl-letf ((x 6)) (list x y))
                           (apply (lambda (x) (+ x 1)) (list 8)))))
                 '(5 (6 5) (6 6) 9))))

It now returns (6 5).  But...  I'm not actually sure what the semantics
with cl-symbol-macrolet + cl-letf are supposed to be, really.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]