X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcode%2Fsymbol.lisp;h=5ef0d7bbb3225f6eaec4a646ae840c4ec10a2ab5;hb=829ced3e78a23ba153ba4db64e6ea6984c2313b6;hp=6210a6d92083b5ba95bb878fada074f8d5c7e87b;hpb=4d916cef2d46a714ae203aee49e601b9bc81f113;p=sbcl.git diff --git a/src/code/symbol.lisp b/src/code/symbol.lisp index 6210a6d..5ef0d7b 100644 --- a/src/code/symbol.lisp +++ b/src/code/symbol.lisp @@ -23,6 +23,14 @@ (declare (optimize (safety 1))) (symbol-value symbol)) +#-sb-xc-host +(define-compiler-macro symbol-value (&whole form symbol &environment env) + (when (sb!xc:constantp symbol env) + (let ((name (constant-form-value symbol env))) + (when (symbolp name) + (check-deprecated-variable name)))) + form) + (defun boundp (symbol) #!+sb-doc "Return non-NIL if SYMBOL is bound to a value." @@ -52,8 +60,7 @@ distinct from the global value. Can also be SETF." (declaim (inline %makunbound)) (defun %makunbound (symbol) - (%set-symbol-value symbol (%primitive sb!c:make-other-immediate-type - 0 sb!vm:unbound-marker-widetag))) + (%set-symbol-value symbol (%primitive sb!c:make-unbound-marker))) (defun makunbound (symbol) #!+sb-doc @@ -274,7 +281,7 @@ distinct from the global value. Can also be SETF." (multiple-value-bind (prefix int) (etypecase thing (simple-string (values thing old)) - (fixnum (values "G" thing)) + (unsigned-byte (values "G" thing)) (string (values (coerce thing 'simple-string) old))) (declare (simple-string prefix)) (make-symbol (%make-symbol-name prefix int)))))