[21.5] bytecomp bug
Katsumi Yamaoka
yamaoka at jpl.org
Wed Dec 14 00:37:20 EST 2011
Aidan Kehoe <kehoea at parhasard.net> wrote:
> I’ve just committed:
> https://bitbucket.org/xemacs/xemacs/changeset/2c20bc575989
> which addresses the problem you reported. I’ve also committed:
> https://bitbucket.org/xemacs/xemacs/changeset/a944c124b2d3
> which addresses a separate problem that I need to fix in order to get
> emacs-w3m to compile (fair enough, glad to have the opportunity to fix it).
Thanks. I verified the problem I brought up goes away.
> I, however, also need the following change to W3M to get it to compile, I’m
> surprised you’re not seeing it (the problem was an interaction of
> lexical-let and compile-time defsetf expansion).
Oh, I didn't know it. Because I abandoned trying emacs-w3m with
XEmacs 21.5 because of the first compilation error. ;-) But now
I confirmed this form doesn't work with XEmacs 21.5 regardless of
the byte-compilation:
(cl-macroexpand-all
'(let ((url "FOO"))
(lexical-let ((orig url)
(url "BAR"))
(setf (w3m-arrived-time (w3m-url-strip-authinfo orig))
(w3m-arrived-time url))))
)
I didn't see how this goes wrong but I guessed symbols used for
two `url's conflict.
> -(defsetf w3m-arrived-time (url) (value)
> - (list 'w3m-arrived-add url nil nil value))
> +(defsetf w3m-arrived-time (url-) (value)
> + (list 'w3m-arrived-add url- nil nil value))
I used this patch locally and saw no error when compiling emacs-w3m,
and saw it works fine. It is unnecessary to add this patch, that
only XEmacs 21.5 currently requires, to emacs-w3m, isn't it?
More information about the XEmacs-Beta
mailing list