[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.