diff --git a/src/cmp/cmpopt-constant.lsp b/src/cmp/cmpopt-constant.lsp index cbd511088..d8a8d2849 100644 --- a/src/cmp/cmpopt-constant.lsp +++ b/src/cmp/cmpopt-constant.lsp @@ -17,12 +17,12 @@ (defun constant-expression-p (form &optional (env *cmp-env*)) (or (constantp form env) (and (consp form) - (loop for c in (rest form) - always (constant-expression-p c env)) - (let ((head (car form))) + (let ((head (car form))) (or (member head '(IF OR AND NULL NOT PROGN)) (and (get-sysprop head 'pure) - (inline-possible head))))))) + (inline-possible head)))) + (loop for c in (rest form) + always (constant-expression-p c env))))) (defun extract-constant-value (form &optional failure (env *cmp-env*)) (if (constant-expression-p form env)