X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Fproclaim.lisp;h=93de83517a747ae157e2a21c244ffe7727c9ce0d;hb=74a1797f60e26c7adbc491840f89bbaab08e504d;hp=57ad8243e0f76c25def4d4e4926a8065f8c8a0da;hpb=b9a1b17b079d315c1eec194eb4f93f7d058b24cf;p=sbcl.git diff --git a/src/compiler/proclaim.lisp b/src/compiler/proclaim.lisp index 57ad824..93de835 100644 --- a/src/compiler/proclaim.lisp +++ b/src/compiler/proclaim.lisp @@ -172,12 +172,10 @@ (dolist (name args) (unless (symbolp name) (error "can't declare a non-symbol as SPECIAL: ~S" name)) - (when (sb!xc:constantp name) - (error "can't declare a constant as SPECIAL: ~S" name)) (with-single-package-locked-error - (:symbol name "globally declaring ~A special")) - (clear-info :variable :constant-value name) - (setf (info :variable :kind name) :special))) + (:symbol name "globally declaring ~A special") + (about-to-modify-symbol-value name "proclaim ~S as SPECIAL") + (setf (info :variable :kind name) :special)))) (type (if *type-system-initialized* (let ((type (specifier-type (first args))))