From 0c92a22e8cc8b75bf029f559fae23d8bf8eb1260 Mon Sep 17 00:00:00 2001
From: wlott <wlott>
Date: Sun, 8 Mar 1992 18:33:57 +0000
Subject: [PATCH] Changed SYMBOL-FUNCTION to map to RAW-DEFINITION instead of
 being a primitive.

---
 code/symbol.lisp | 18 +++++-------------
 1 file changed, 5 insertions(+), 13 deletions(-)

diff --git a/code/symbol.lisp b/code/symbol.lisp
index 2b0d03d09..a0f225a93 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)
-- 
GitLab