From 3992809b7483133e818619769f0e3cc9933686df Mon Sep 17 00:00:00 2001 From: wlott <wlott> Date: Mon, 2 Mar 1992 17:22:49 +0000 Subject: [PATCH] Protected SET against *KEYWORD-PACKAGE* being unbound, which can happen while running initial top-level forms. --- code/symbol.lisp | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/code/symbol.lisp b/code/symbol.lisp index cb2a7bf82..2b0d03d09 100644 --- a/code/symbol.lisp +++ b/code/symbol.lisp @@ -7,7 +7,7 @@ ;;; Scott Fahlman or slisp-group@cs.cmu.edu. ;;; (ext:file-comment - "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/code/symbol.lisp,v 1.9 1992/02/24 01:46:19 wlott Exp $") + "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/code/symbol.lisp,v 1.10 1992/03/02 17:22:49 wlott Exp $") ;;; ;;; ********************************************************************** ;;; @@ -48,15 +48,15 @@ "VARIABLE must evaluate to a symbol. This symbol's special value cell is set to the specified new value." (declare (type symbol variable)) - (etypecase variable - (null - (error "Nilhil ex nilhil (Can't set NIL).")) - ((member t) - (error "Can't set T.")) - (keyword - (error "Can't set keywords.")) - (symbol - (%set-symbol-value variable new-value)))) + (cond ((null variable) + (error "Nihil ex nihil, can't set NIL.")) + ((eq variable t) + (error "Veritas aeterna, can't set T.")) + ((and (boundp '*keyword-package*) + (keywordp variable)) + (error "Can't set keywords.")) + (t + (%set-symbol-value variable new-value)))) (defun %set-symbol-value (symbol new-value) (%set-symbol-value symbol new-value)) -- GitLab