0.9.10.15:
[sbcl.git] / src / compiler / constantp.lisp
index 41a69d6..97e27a9 100644 (file)
@@ -195,15 +195,18 @@ constantness of the FORM in ENVIRONMENT."
 
  (defconstantp multiple-value-prog1 (first-form &body forms)
    :test (every #'constantp* (cons first-form forms))
-   :test (constant-form-value* first-form))
+   :eval (constant-form-value* first-form))
 
  (defconstantp progv (symbols values &body forms)
    :test (and (constantp* symbols)
               (constantp* values)
-              (let ((*special-constant-variables*
-                     (append (constant-form-value* symbols)
-                              *special-constant-variables*)))
-                (every #'constantp* forms)))
+              (let* ((symbol-values (constant-form-value* symbols))
+                     (*special-constant-variables*
+                      (append symbol-values *special-constant-variables*)))
+                (progv
+                    symbol-values
+                    (constant-form-value* values)
+                  (every #'constantp* forms))))
    :eval (progv
              (constant-form-value* symbols)
              (constant-form-value* values)