X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcode%2Fsymbol.lisp;h=2ba65581e01e002b46f071e5eaf3f9c64073f5f9;hb=b8f63d9b4e978bec3bfc1f4fc471e5ed946781fd;hp=c0292ac763e919d567758449a743828e8be9163f;hpb=a530bbe337109d898d5b4a001fc8f1afa3b5dc39;p=sbcl.git diff --git a/src/code/symbol.lisp b/src/code/symbol.lisp index c0292ac..2ba6558 100644 --- a/src/code/symbol.lisp +++ b/src/code/symbol.lisp @@ -15,9 +15,6 @@ (in-package "SB!IMPL") -(file-comment - "$Header$") - (declaim (maybe-inline get %put getf remprop %putf get-properties keywordp)) (defun symbol-value (variable) @@ -38,15 +35,8 @@ "VARIABLE must evaluate to a symbol. This symbol's special value cell is set to the specified new value." (declare (type symbol variable)) - (cond ((null variable) - (error "Nihil ex nihil, NIL can't be set.")) - ((eq variable t) - (error "Veritas aeterna, T can't be set.")) - ((and (boundp '*keyword-package*) - (keywordp variable)) - (error "Keywords can't be set.")) - (t - (%set-symbol-value variable new-value)))) + (about-to-modify variable) + (%set-symbol-value variable new-value)) (defun %set-symbol-value (symbol new-value) (%set-symbol-value symbol new-value)) @@ -203,6 +193,7 @@ (setf (symbol-function new-symbol) (symbol-function symbol)))) new-symbol) +;;; FIXME: This declaration should be redundant. (declaim (special *keyword-package*)) (defun keywordp (object) @@ -247,9 +238,9 @@ (defvar *gentemp-counter* 0) (declaim (type unsigned-byte *gentemp-counter*)) -(defun gentemp (&optional (prefix "T") (package *package*)) +(defun gentemp (&optional (prefix "T") (package (sane-package))) #!+sb-doc - "Creates a new symbol interned in package Package with the given Prefix." + "Creates a new symbol interned in package PACKAGE with the given PREFIX." (declare (type string prefix)) (loop (let ((*print-base* 10)