(unless (symbolp name)
(error "The constant name is not a symbol: ~S" name))
(when (looks-like-name-of-special-var-p name)
- (style-warn "defining ~S as a constant, even though the name follows~@
-the usual naming convention (names like *FOO*) for special variables"
- name))
+ (style-warn 'sb!kernel:asterisks-around-constant-variable-name
+ :format-control "defining ~S as a constant"
+ :format-arguments (list name)))
(sb!c:with-source-location (source-location)
(setf (info :source-location :constant name) source-location))
(let ((kind (info :variable :kind name)))
(if (boundp name)
(if (typep name '(or boolean keyword))
;; Non-continuable error.
- (about-to-modify-symbol-value name "define ~S as a constant")
+ (about-to-modify-symbol-value name 'defconstant)
(let ((old (symbol-value name)))
(unless (eql value old)
(multiple-value-bind (ignore aborted)
(when aborted
(return-from sb!c::%defconstant name))))))
(warn "redefining a MAKUNBOUND constant: ~S" name)))
- (:global
+ (:unknown
;; (This is OK -- undefined variables are of this kind. So we
;; don't warn or error or anything, just fall through.)
)