X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcode%2Fsymbol.lisp;h=978074e9c7634a17b58d6515e64a56e2c1350ce3;hb=18dc0069cd514c976042766ab9a785c970fe1603;hp=703177625dc57a466c5d2eb6c1fa1ab0fc4fd2b2;hpb=35f68f481cbea35889d2488c476cbc28898e82f4;p=sbcl.git diff --git a/src/code/symbol.lisp b/src/code/symbol.lisp index 7031776..978074e 100644 --- a/src/code/symbol.lisp +++ b/src/code/symbol.lisp @@ -15,7 +15,7 @@ (in-package "SB!IMPL") -(declaim (maybe-inline get get2 get3 %put getf remprop %putf get-properties keywordp)) +(declaim (maybe-inline get get3 %put getf remprop %putf get-properties keywordp)) (defun symbol-value (symbol) #!+sb-doc @@ -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 @@ -116,20 +123,6 @@ distinct from the global value. Can also be SETF." is found, return the associated value, else return DEFAULT." (get3 symbol indicator default)) -(defun get2 (symbol indicator) - (get3 symbol indicator nil)) -#| - (let (cdr-pl) - (do ((pl (symbol-plist symbol) (cdr cdr-pl))) - ((atom pl) nil) - (setf cdr-pl (cdr pl)) - (cond ((atom cdr-pl) - (error "~S has an odd number of items in its property list." - symbol)) - ((eq (car pl) indicator) - (return (car cdr-pl))))))) -|# - (defun get3 (symbol indicator default) (let (cdr-pl) (do ((pl (symbol-plist symbol) (cdr cdr-pl)))