0.pre7.49:
[sbcl.git] / src / compiler / ir2tran.lisp
index e0ca8fc..ff4ef10 100644 (file)
 (def-ir1-translator progv ((vars vals &body body) start cont)
   (ir1-convert
    start cont
-   (if (byte-compiling)
-       `(%progv ,vars ,vals #'(lambda () ,@body))
-       (once-only ((n-save-bs '(%primitive current-binding-pointer)))
-        `(unwind-protect
-             (progn
-               (mapc #'(lambda (var val)
-                         (%primitive bind val var))
-                     ,vars
-                     ,vals)
-               ,@body)
-           (%primitive unbind-to-here ,n-save-bs))))))
+   (once-only ((n-save-bs '(%primitive current-binding-pointer)))
+     `(unwind-protect
+         (progn
+           (mapc #'(lambda (var val)
+                     (%primitive bind val var))
+                 ,vars
+                 ,vals)
+           ,@body)
+       (%primitive unbind-to-here ,n-save-bs)))))
 \f
 ;;;; non-local exit