[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Tracing macros
- To: MOON at MIT-MC
- Subject: Tracing macros
- From: GLS at MIT-AI (Guy L. Steele, Jr.)
- Date: Thu ,3 Apr 80 08:39:00 EDT
CC: GLS at MIT-AI, (BUG LISPM) at MIT-AI
MOON@MIT-MC 04/02/80 23:27:19 Re: Tracing macros
Well, it isn't brain damaged, it just didn't have any code to do it.
I have fixed it in the source, however it may or may not do what you want;
you have to be aware that most macros in the Lisp machine are displacing,
so the macro will only get traced when it really is expanded (the first time).
Well, sorry for the flaming, but I wasted a great deal of time on it.
The brain damage is not that it can't handle them (though that fact
is very annoying, as MacLISP has long handled that case); it is that
it makes you think it has won when it hasn't. If it can't handle macros,
it should at least say "Barf! I can't trace a macro!", not just blithely
do something which not only doesn't trace but breaks the code which calls
the macro.
As for displacing, maybe that bad interaction could be fixed. Either DISPLACE
could know about tracing (after all, GRINDEF does too), or TRACE could
maybe fake out the displacer by handing the real macro a copy of the
list cell which is the macro call.