[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: address@hidden: RE: weird defadvice bug withbyte-compilation]
From: |
Drew Adams |
Subject: |
RE: address@hidden: RE: weird defadvice bug withbyte-compilation] |
Date: |
Sun, 11 Dec 2005 13:35:46 -0800 |
Does this make sense?
It does, as far as I can tell. I don't understand all of it, however, I
admit. I still don't understand, for instance:
1. why byte-compiling the defadvice in bar.el would eval my-mode (my-mode
does not even appear in bar.el)
2. why evaling the defadvice in foo.el would eval my-mode (the BODY of
defadvice is not supposed to be quoted)
3. what the interaction is between the two defadvice's in the two files, and
how they relate to byte-compiling
4. how to use define-minor-mode in connection with the menu-enable keymap
stuff
5. why selecting (require 'foo) and doing eval-region does not manifest the
bug, but putting the cursor after (require 'foo) and doing `C-x C-e' does
manifest the bug.
Wrt #3, only the defadvice in bar.el has `compile', and that defadvice evals
without error. It is when you eval the (require 'foo) that the unbound error
occurs. Also, neither advised function is actually called.
Wrt #4, the original context uses define-minor-mode to define variable
my-mode. I also forgot to mention that I turn on the minor mode in my .emacs
(by calling the my-mode function), before loading the libraries in question,
and the library that corresponds to foo.el does this at the end:
;; Apparently, this is needed if the initial value is non-nil.
;; Otherwise, the lighter shows the mode as on, but it is not on.
(if my-mode (my-mode 1))
----
BTW (doc bug?) -
The doc string for defadvice does not really explain what BODY is for - it
says only this: "Any s-expression". Neither the doc string nor the Info
explanation of BODY-FORMS explains that it should not be quoted (it is not
evaled by defadvice). I would expect both doc string and Info to make
reference to the body forms when describing the overall effect and perhaps
also when describing the other individual args.
- Re: address@hidden: RE: weird defadvicebugwithbyte-compilation], (continued)
- Re: address@hidden: RE: weird defadvicebugwithbyte-compilation], Richard M. Stallman, 2005/12/13
- RE: address@hidden: RE: weirddefadvicebugwithbyte-compilation], Drew Adams, 2005/12/13
- Re: address@hidden: RE: weirddefadvicebugwithbyte-compilation], Johan Bockgård, 2005/12/13
- RE: address@hidden: RE:weirddefadvicebugwithbyte-compilation], Drew Adams, 2005/12/13
- RE: address@hidden:RE:weirddefadvicebugwithbyte-compilation], Drew Adams, 2005/12/13
- Re: address@hidden: RE:weirddefadvicebugwithbyte-compilation], Johan Bockgård, 2005/12/14
- RE: address@hidden:RE:weirddefadvicebugwithbyte-compilation], Drew Adams, 2005/12/14
- Re: address@hidden:RE:weirddefadvicebugwithbyte-compilation], Johan Bockgård, 2005/12/14
- RE: address@hidden:RE:weirddefadvicebugwithbyte-compilation], Drew Adams, 2005/12/14
- Re: address@hidden: RE: weird defadvice bug with byte-compilation], Eli Zaretskii, 2005/12/11
- RE: address@hidden: RE: weird defadvice bug withbyte-compilation],
Drew Adams <=
- Re: address@hidden: RE: weird defadvice bug withbyte-compilation], Eli Zaretskii, 2005/12/12
- RE: address@hidden: RE: weird defadvice bugwithbyte-compilation], Drew Adams, 2005/12/12
- RE: address@hidden: RE: weird defadvicebugwithbyte-compilation], Drew Adams, 2005/12/12
- Re: address@hidden: RE: weird defadvicebugwithbyte-compilation], Eli Zaretskii, 2005/12/12
- RE: address@hidden: RE: weirddefadvicebugwithbyte-compilation], Drew Adams, 2005/12/12
- Re: address@hidden: RE: weirddefadvicebugwithbyte-compilation], Eli Zaretskii, 2005/12/12
- RE: address@hidden: RE:weirddefadvicebugwithbyte-compilation], Drew Adams, 2005/12/13
- Re: address@hidden: RE: weird defadvice bug with byte-compilation], Richard M. Stallman, 2005/12/12
- Re: address@hidden: RE: weird defadvice bug with byte-compilation], Eli Zaretskii, 2005/12/12
- Re: address@hidden: RE: weird defadvice bug with byte-compilation], Richard M. Stallman, 2005/12/12