0.8.3.82: Make the runtime compile (not necessarily run) on x86/bsd again
[sbcl.git] / src / code / early-setf.lisp
index 8c5235a..6549d41 100644 (file)
@@ -372,14 +372,14 @@ GET-SETF-EXPANSION directly."
                     (%defsetf ,access-form-var ,(length store-variables)
                               (lambda (,arglist-var)
                                 ,@local-decs
-                                (block ,access-fn
-                                  ,body))))
+                                 ,body)))
                   nil
                   ',doc))))))
        (t
         (error "ill-formed DEFSETF for ~S" access-fn))))
 
 (defun %defsetf (orig-access-form num-store-vars expander)
+  (declare (type function expander))
   (let (subforms
        subform-vars
        subform-exprs
@@ -413,8 +413,7 @@ GET-SETF-EXPANSION directly."
   (unless (symbolp access-fn)
     (error "DEFINE-SETF-EXPANDER access-function name ~S is not a symbol."
           access-fn))
-  (let ((whole (gensym "WHOLE-"))
-       (environment (gensym "ENV-")))
+  (with-unique-names (whole environment)
     (multiple-value-bind (body local-decs doc)
        (parse-defmacro lambda-list whole body access-fn
                        'sb!xc:define-setf-expander
@@ -423,7 +422,7 @@ GET-SETF-EXPANSION directly."
         (assign-setf-macro ',access-fn
                            (lambda (,whole ,environment)
                              ,@local-decs
-                             (block ,access-fn ,body))
+                             ,body)
                            nil
                            ',doc)))))