X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcode%2Fearly-setf.lisp;h=ee40cbd251fa2c0673e62210fe290ce6e43f123c;hb=9b1fade83db8453b75b8c7380eb12ce41b5b889c;hp=0f6396588bdd4dec883d5c740933f30b34c4531b;hpb=6ecf5b74d7bc31f534fb784ad2c380e62976ac11;p=sbcl.git diff --git a/src/code/early-setf.lisp b/src/code/early-setf.lisp index 0f63965..ee40cbd 100644 --- a/src/code/early-setf.lisp +++ b/src/code/early-setf.lisp @@ -307,8 +307,9 @@ GET-SETF-EXPANSION directly." "Creates a new read-modify-write macro like PUSH or INCF." (let ((other-args nil) (rest-arg nil) - (env (gensym)) - (reference (gensym))) + (env (make-symbol "ENV")) ; To beautify resulting arglist. + (reference (make-symbol "PLACE"))) ; Note that these will be nonexistent + ; in the final expansion anyway. ;; Parse out the variable names and &REST arg from the lambda list. (do ((ll lambda-list (cdr ll)) (arg nil)) @@ -405,10 +406,9 @@ GET-SETF-EXPANSION directly." (assign-setf-macro ',access-fn (lambda (,access-form-var ,env-var) - (declare (ignorable ,env-var)) + ,@local-decs (%defsetf ,access-form-var ,(length store-variables) (lambda (,whole-var) - ,@local-decs ,body))) nil ',doc))))))