0.6.8.9:
[sbcl.git] / src / code / symbol.lisp
index 3ceba16..5bf53d8 100644 (file)
   "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))
       (setf (symbol-function new-symbol) (symbol-function symbol))))
   new-symbol)
 
+;;; FIXME: This declaration should be redundant.
 (declaim (special *keyword-package*))
 
 (defun keywordp (object)