(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)