projects
/
sbcl.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
1.0.20.2: Fewer XC/reader-conditional confusions
[sbcl.git]
/
src
/
code
/
symbol.lisp
diff --git
a/src/code/symbol.lisp
b/src/code/symbol.lisp
index
39f89a7
..
58f3fc1
100644
(file)
--- a/
src/code/symbol.lisp
+++ b/
src/code/symbol.lisp
@@
-32,20
+32,23
@@
#!+sb-doc
"Set SYMBOL's value cell to NEW-VALUE."
(declare (type symbol symbol))
#!+sb-doc
"Set SYMBOL's value cell to NEW-VALUE."
(declare (type symbol symbol))
- (about-to-modify-symbol-value symbol)
+ (about-to-modify-symbol-value symbol "set SYMBOL-VALUE of ~S" new-value)
(%set-symbol-value symbol new-value))
(defun %set-symbol-value (symbol new-value)
(%set-symbol-value symbol new-value))
(%set-symbol-value symbol new-value))
(defun %set-symbol-value (symbol new-value)
(%set-symbol-value symbol new-value))
+(declaim (inline %makunbound))
+(defun %makunbound (symbol)
+ (%set-symbol-value symbol (%primitive sb!c:make-other-immediate-type
+ 0 sb!vm:unbound-marker-widetag)))
+
(defun makunbound (symbol)
#!+sb-doc
"Make SYMBOL unbound, removing any value it may currently have."
(with-single-package-locked-error (:symbol symbol "unbinding the symbol ~A")
(defun makunbound (symbol)
#!+sb-doc
"Make SYMBOL unbound, removing any value it may currently have."
(with-single-package-locked-error (:symbol symbol "unbinding the symbol ~A")
- (set symbol
- (%primitive sb!c:make-other-immediate-type
- 0
- sb!vm:unbound-marker-widetag))
+ (about-to-modify-symbol-value symbol "make ~S unbound")
+ (%makunbound symbol)
symbol))
;;; Return the built-in hash value for SYMBOL.
symbol))
;;; Return the built-in hash value for SYMBOL.
@@
-88,7
+91,10
@@
(defun make-symbol (string)
#!+sb-doc
"Make and return a new symbol with the STRING as its print name."
(defun make-symbol (string)
#!+sb-doc
"Make and return a new symbol with the STRING as its print name."
- (make-symbol string))
+ (declare (type string string))
+ (%make-symbol (if (simple-string-p string)
+ string
+ (subseq string 0))))
(defun get (symbol indicator &optional (default nil))
#!+sb-doc
(defun get (symbol indicator &optional (default nil))
#!+sb-doc