diff --git a/code/symbol.lisp b/code/symbol.lisp index 2b0d03d09c80d6202690d2b158512bbfebf5a12a..a0f225a93b2787cfa219a2ef61fc4b73a4ee429d 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.10 1992/03/02 17:22:49 wlott Exp $") + "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/code/symbol.lisp,v 1.11 1992/03/08 18:33:57 wlott Exp $") ;;; ;;; ********************************************************************** ;;; @@ -26,8 +26,7 @@ boundp set)) (in-package "KERNEL") -(export '(%set-symbol-value %set-symbol-definition %set-symbol-plist - %set-symbol-package fset)) +(export '(%set-symbol-value %set-symbol-plist %set-symbol-package fset)) (in-package "LISP") @@ -70,19 +69,12 @@ (defun symbol-function (variable) "VARIABLE must evaluate to a symbol. This symbol's current definition - is returned." - (declare (optimize (safety 1))) - (symbol-function variable)) + is returned. Settable with SETF." + (raw-definition variable)) (defun fset (symbol new-value) (declare (type symbol symbol) (type function new-value)) - (if symbol - (%set-symbol-function symbol new-value) - (error "Can't define NIL."))) - -(defun %set-symbol-function (symbol new-value) - (declare (type symbol symbol) (type function new-value)) - (%set-symbol-function symbol new-value)) + (setf (raw-definition variable) new-value)) (defun symbol-plist (variable)