[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
- To: ALAN at MIT-MC
- Subject: SETF
- From: Robert W. Kerns <RWK at MIT-MC>
- Date: Thu, 18 Sep 80 07:16:00 GMT
- Cc: BUG-LISP at MIT-MC
- Original-date: 18 September 1980 03:16-EDT
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
(SETF (FOO G0259) (DPB 0603 (FOO G0259))))
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.