[Openmcl-devel] defsetf question
bryan-openmcl at lunch.org
Thu Jan 20 23:52:50 UTC 2005
the spec says that the long form of defsetf encloses the body
in a block named after the access function.
i think openmcl is doing the wrong thing and putting the block
around the eventual setf-expansion instead of the body that's
evaluated to generate the setf-expansion.
i wanted to make sure i was interpreting the spec correctly before
? (defsetf foo (x) (y) (return-from foo `(setf (car ,x) ,y)))
> Error in process listener(1): While compiling an anonymous function :
> Can't RETURN-FROM block : FOO.
? (defsetf foo (x) (y) `(return-from foo (setf (car ,x) ,y)))
? (get-setf-expansion '(foo x))
((LAMBDA (#:X) (BLOCK FOO (RETURN-FROM FOO (SETF (CAR #:X) #:G72))))
More information about the Openmcl-devel