From: Peter G. <pe...@ar...> - 2004-09-04 14:42:23
|
On Fri, 3 Sep 2004 at 11:00:26 +0200, Gabor Melis wrote: > When the following is compiled and loaded: > > CL-USER(3): (test) > Debugger invoked on condition of type ERROR: > The function (SETF X) is undefined. > > (defun x (l) > (car l)) > > (defsetf x rplaca) > > (defun test() > (let ((l (list 1 2 3))) > (setf (x l) :a) > l)) > > With eval-when around the defsetf it works. The hyperspec says: > "If a defsetf form appears as a top level form, the compiler must > make the setf expander available so that it may be used to expand > calls to setf later on in the file. " I've checked in a fix for this. Thanks! -Peter |