[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
What about advising special forms?
- To: COMMON-LISP%SU-AI@SCORE
- Subject: What about advising special forms?
- From: Rem@IMSSS
- Date: Fri, 13 Dec 1985 19:45:00 -0000
A common debugging technique is to advise a function by splicing some
I/O code or case-checking code between the function name and the code
in its function cell. The most common example is tracing a function.
One common implementation is to make up a funny name and copy the code
pointer into that new function cell, and then make the original function
cell point to a piece of code that does the advising and calls the
new-name function. Are we saying in CL we can't ever advise (trace etc.)
a special operator because we can't be sure that
(SETF (FUNCTION-CELL 'FUNNY-NAME) (FUNCTION-CELL 'ORIGINAL-SPECIAL-OPERATOR))
will work at all in the interpretor?