The issue with macros defined in an external file is independent
of advice.
Here is the problem:
Macros get expanded in-line, functions do not.
Now, when you compile a call of the form
(foo a b)
where foo's definition is not available at compile time,
then the compiled code will work correctly later on when foo's
definition is available as a function.
However, if it's a macro, the compiled code will break.
>>>>> "Tim" == Tim Cross <tcross@xxxxxxxxxxx> writes:
Tim> Can someone expand on why the use of macros is a
Tim> problem? I'm interested as I've been looking at
Tim> providing emacspeak support for an application and have
Tim> been experiencing problems with advising one of the
Tim> functions. I really wanted to know if there is an issue
Tim> with using defadvice and macros that I may not be aware
Tim> of and I'm always intrested in knowing more about elisp
Tim> and possible limitations/issues that may exist with
Tim> using things like macros.
Tim>
Tim> In my current problem, there is a function which
Tim> controls display of some data in another window. I
Tim> originally thought I could advise this function so that
Tim> after it was called, emacspeak would speak the contents
Tim> of the window. However, its not turned out to be that
Tim> simple. As soon as I advise the function, it stops
Tim> working correctly - it no longer scrolls the information
Tim> in the other window. Even if I just advise the function
Tim> without doing anything but essentially putting a
Tim> defadvice wrapper around it, the behavior of the
Tim> function changes.
Tim>
Tim> I then tried to be a bit clever and redefined the key
Tim> the function was bound to to another function which just
Tim> calls the display function and then emacspeak to speak
Tim> the window. This also changes the behavior of the
Tim> original display function. The window will get spoken,
Tim> but it does not scroll when you hit the key as it is
Tim> supposed to.
Tim>
Tim> The function in question is definitely a function, but
Tim> it does use a number of macros and I'm wondering if
Tim> there is some weird macro expansion going on that I'm
Tim> not understanding.
Tim>
Tim> Tim
Tim>
>>
> I'm not on the w3m lists -- so at least I've not made them
>> aware of this. If you and others use w3m heavily, I
>> suggest you join their mailing list and contribute -- I'm
>> sure they will be receptive.
>>
>> >>>>> "Robert" == Robert D Crawford <rdc1x@xxxxxxxxxxx>
>> writes:
Robert> "T. V. Raman" <raman@xxxxxxxxxxx> writes:
>> >> many of these errors are because things that shouldn't
>> be >> macros are defined as macros in w3m --- see my
>> earlier >> message about cleaning up w3m itself and
>> changing those to >> defsubst where appropriate.
Robert>
Robert> OK, as long as I know it wasn't something I did.
Robert>
Robert> Have the developers of w3m been made aware of their
Robert> errors? I have no idea what is appropriate where, so
Robert> it wouldn't do any good for me to post a message to
Robert> them.
Robert>
Robert> Thanks, rdc -- Robert D. Crawford rdc1x@xxxxxxxxxxx
Robert>
Robert> "The only real way to look younger is not to be born
Robert> so soon." -- Charles Schulz, "Things I've Had to
Robert> Learn Over and Over and Over"
Robert>
Robert> -----------------------------------------------------------------------------
Robert> To unsubscribe from the emacspeak list or change your
Robert> address on the emacspeak list send mail to
Robert> "emacspeak-request@xxxxxxxxxxx" with a subject of
Robert> "unsubscribe" or "help"
>>
>> --
>> Best Regards, --raman
>>
>>
>> Email: raman@xxxxxxxxxxx WWW:
>> http://emacspeak.sf.net/raman/ AIM: emacspeak GTalk:
>> tv.raman.tv@xxxxxxxxxxx PGP:
>> http://emacspeak.sf.net/raman/raman-almaden.asc Google:
>> tv+raman IRC: irc://irc.freenode.net/#emacs
>>
>> -----------------------------------------------------------------------------
>> To unsubscribe from the emacspeak list or change your
>> address on the emacspeak list send mail to
>> "emacspeak-request@xxxxxxxxxxx" with a subject of
>> "unsubscribe" or "help"
>>
--
Best Regards,
--raman
Email: raman@xxxxxxxxxxx
WWW: http://emacspeak.sf.net/raman/
AIM: emacspeak GTalk: tv.raman.tv@xxxxxxxxxxx
PGP: http://emacspeak.sf.net/raman/raman-almaden.asc
Google: tv+raman
IRC: irc://irc.freenode.net/#emacs
-----------------------------------------------------------------------------
To unsubscribe from the emacspeak list or change your address on the
emacspeak list send mail to "emacspeak-request@xxxxxxxxxxx" with a
subject of "unsubscribe" or "help"
If you have questions about this archive or had problems using it, please send mail to:
priestdo@xxxxxxxxxxx No Soliciting!Emacspeak List Archive | 2007 | 2006 | 2005 | 2004 | 2003 | 2002 | 2001 | 2000 | 1999 | 1998 | Pre 1998