From: Kalle O. N. <ko...@ik...> - 2004-11-21 20:55:09
|
I'm using CLISP 2.33.2-2 from Debian, with Linux 2.4.23 on i686. Running clisp -ansi: [1]> (defun foo () (values)) FOO [2]> (defsetf foo () () (values)) *** - DEFSETF: Missing store variable. Break 1 [3]> According to the DEFSETF dictionary entry in the CLHS, the long form has this syntax: defsetf access-fn lambda-list (store-variable*) [[declaration* | documentation]] form* As the asterisk means zero or more, store variables should not be required. Another, CLISP-specific issue: [4]> (macroexpand-1 '(letf (((progn (values)) 42)) t)) *** - SETF place (PROGN (VALUES)) produces more than one store variable. Break 1 [5]> (get-setf-expansion '(progn (values))) NIL ; NIL ; NIL ; (VALUES) ; (VALUES) Break 1 [5]> Because the list of store variables in this setf expansion is empty, it is not true that the place "produces more than one store variable." Please correct the error message or make the LETF form expand without an error. |