[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

SETF



I have moved the DEFSETFs for LDB and LOAD-BYTE back to
LODBYT where they belong.  There is nothing unsafe or hairy
about this.  I also fixed the bug in the DEFSETFS where it
tried to do stuff by hand rather than using the functions
provided for the purpose, and did it wrong.

I am NOT amazed that it requires that you CONS up a 12-hunk.
It needs an intermediate datastructure, and that's what
DEFVST uses.  The reason you end up with a (lambda (()) 'x)
is simply that (setf (ldb 0603 (foo (bar))) y) has to turn into
((LAMBDA (G0259)
   (SETF (FOO G0259) (DPB 0603 (FOO G0259))))
 (BAR))
and the (lambda (()) 'x) is just a piece of code that
returns the way to access the frob being SETF'd.  Normally
it's just a piece of constant code, but for LDB it is consed
on the fly.