Index: /branches/working-0711/ccl/lib/level-2.lisp
===================================================================
--- /branches/working-0711/ccl/lib/level-2.lisp	(revision 12979)
+++ /branches/working-0711/ccl/lib/level-2.lisp	(revision 12980)
@@ -49,5 +49,4 @@
 ; that have been scarfed out of a macro-like lambda list.
 ; The returned value is supposed to be suitable for splicing ...
-#+not-used
 (defun hoist-special-decls (sym decls)
   (when sym
Index: /branches/working-0711/ccl/lib/macros.lisp
===================================================================
--- /branches/working-0711/ccl/lib/macros.lisp	(revision 12979)
+++ /branches/working-0711/ccl/lib/macros.lisp	(revision 12980)
@@ -197,6 +197,6 @@
               (if ,lstsym (go ,toplab))))
          ,@(if ret `((let ((,varsym nil))
+                       ,@(hoist-special-decls varsym decls)
                        (declare (ignore-if-unused ,varsym))
-                       ,@decls
                        ,ret)))))))
 
