[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: bogus change(s) in cl-macs.el
>>>>>> In [emacs-w3m : No.07180] Miles Bader wrote:
>> Please describe this "breakage" in greater detail.
>>>>> In [emacs-w3m : No.07182] Katsumi Yamaoka wrote:
> From yesterday I'm looking for a simpler way rather than to use
> emacs-w3m to reproduce the bug. However, it has not been
> achieved so far. I'll post it when I found it.
I found the simplest way to explain the bug:
(macroexpand
'(labels ((FOO nil FOO-BODY)
(BAR nil BAR-BODY))
(FOO)
(BAR)))
(let ((--cl---cl-var---- nil)
(--cl---cl-var---- nil))
(progn
(progn
(set '--cl---cl-var---- #'(lambda nil BAR-BODY))
(set '--cl---cl-var---- #'(lambda nil FOO-BODY)))
(funcall (symbol-value '--cl---cl-var----))
(funcall (symbol-value '--cl---cl-var----))))
One of two functions FOO and BAR is disregarded as you see.
When the patch I posted is applied, it will be corrected as
follows:
(let ((--cl-G79813-- nil)
(--cl-G79812-- nil))
(progn
(progn
(set '--cl-G79813-- #'(lambda nil BAR-BODY))
(set '--cl-G79812-- #'(lambda nil FOO-BODY)))
(funcall (symbol-value '--cl-G79812--))
(funcall (symbol-value '--cl-G79813--))))