From: Christophe R. <cs...@ca...> - 2005-03-06 10:35:01
|
Jason Dagit <da...@cs...> writes: > I haven't been able to find a simple example to recreate my problem, > but in my program I have code roughly of the form below: > [...] > debugger invoked on a UNDEFINED-FUNCTION in thread 31583: > The function (SETF A-SLOT1) is undefined. In this context, this usually means that you have compiled a call to (setf (a-slot1 ...) ...) before the defsetf has been seen. If no defsetf has been seen, the compiler will generate a call to #'(setf a-slot1). In other words, this: (defsetf a-slot1 set-a-slot1) (defun foo () ... (setf (a-slot1 a) b) ...) is not equivalent to this: (defun foo () ... (setf (a-slot1 a) b) ...) (defsetf a-slot1 set-a-slot1) The first will behave as you expect, while the second will generate a run-time undefined function error. Cheers, Christophe |