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

SETF expansions on LDB



    Date: 9 July 1981 01:01-EDT
    From: David C. Plummer <DCP at MIT-MC>
	(macroexpand-1 '(setf (ldb 1404 (arraycall fixnum foo-array 0))
			      (+ 3 4)))
	(PROGN ((LAMBDA (G0026 G0027) (STORE (ARRAYCALL FIXNUM G0026 0) G0027))
		FOO-ARRAY
		(DPB (+ 3 4) 1404 (ARRAYCALL FIXNUM FOO-ARRAY 0)))
	       (+ 3 4)) 
    is correct, but
	 (macroexpand-1 '(setf (ldb 1404 (arraycall fixnum foo-array 0))
			       (+ 3 (length '(4))))) 
	 ((LAMBDA (G0030 G0031)
	    (SETQ G0030 (DPB G0031 1404 G0030))
	    G0031)
	  (ARRAYCALL FIXNUM FOO-ARRAY 0)
	  (+ 3 (LENGTH (QUOTE (4))))) 
    .  .  .
RWK will have to look at this -- this is a BUG in the expansion of forms
like (SETF (LDB ...) ...).  I suspect that the SETF info for LDB and LOAD-BYTE
will have to be handled like that for PROGN and ARRAYCALL, namely, DEFSETF
can't be used.