emacs-devel
[Top][All Lists]
Advanced

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

Re: bogus change(s) in cl-macs.el


From: Katsumi Yamaoka
Subject: Re: bogus change(s) in cl-macs.el
Date: Fri, 19 Nov 2004 14:55:07 +0900
User-agent: Gnus/5.110003 (No Gnus v0.3) Emacs/21.3.50 (gnu/linux)

>>>>>> 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--))))




reply via email to

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