[Openmcl-devel] defsetf question

bryan o'connor bryan-openmcl at lunch.org
Thu Jan 20 15:52:50 PST 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
changing it.

an example:

? (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))
(FOO #:G73)


More information about the Openmcl-devel mailing list