Index: /branches/working-0711/ccl/lib/setf.lisp
===================================================================
--- /branches/working-0711/ccl/lib/setf.lisp	(revision 9602)
+++ /branches/working-0711/ccl/lib/setf.lisp	(revision 9603)
@@ -84,8 +84,11 @@
                     (vals nil))
                 (dolist (x (cdr form))
+                  ;; Rebinding defeats optimizations, so avoid it if can.
+                  (if (constantp x environment)
+                    (push x args)
                     (let ((var (gensym)))
                       (push var vars)
                       (push var args)
-                      (push x vals)))
+                      (push x vals))))
                 (setq args (nreverse args))
                 (values (nreverse vars) 
