projects
/
sbcl.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
0.8.18.3:
[sbcl.git]
/
src
/
code
/
symbol.lisp
diff --git
a/src/code/symbol.lisp
b/src/code/symbol.lisp
index
dadd1a0
..
557141b
100644
(file)
--- a/
src/code/symbol.lisp
+++ b/
src/code/symbol.lisp
@@
-41,22
+41,17
@@
(defun makunbound (symbol)
#!+sb-doc
"Make SYMBOL unbound, removing any value it may currently have."
(defun makunbound (symbol)
#!+sb-doc
"Make SYMBOL unbound, removing any value it may currently have."
- (set symbol
- (%primitive sb!c:make-other-immediate-type
- 0
- sb!vm:unbound-marker-widetag))
- symbol)
+ (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))
+ symbol))
;;; Return the built-in hash value for SYMBOL.
;;; Return the built-in hash value for SYMBOL.
-#!+(or x86 mips) ;; only backends for which a SYMBOL-HASH vop exists
(defun symbol-hash (symbol)
(symbol-hash symbol))
(defun symbol-hash (symbol)
(symbol-hash symbol))
-;;; Compute the hash value for SYMBOL.
-#!-(or x86 mips)
-(defun symbol-hash (symbol)
- (%sxhash-simple-string (symbol-name symbol)))
-
(defun symbol-function (symbol)
#!+sb-doc
"Return SYMBOL's current function definition. Settable with SETF."
(defun symbol-function (symbol)
#!+sb-doc
"Return SYMBOL's current function definition. Settable with SETF."
@@
-64,7
+59,9
@@
(defun (setf symbol-function) (new-value symbol)
(declare (type symbol symbol) (type function new-value))
(defun (setf symbol-function) (new-value symbol)
(declare (type symbol symbol) (type function new-value))
- (setf (%coerce-name-to-fun symbol) new-value))
+ (with-single-package-locked-error
+ (:symbol symbol "setting the symbol-function of ~A")
+ (setf (%coerce-name-to-fun symbol) new-value)))
(defun symbol-plist (symbol)
#!+sb-doc
(defun symbol-plist (symbol)
#!+sb-doc
@@
-149,8
+146,11
@@
(do ((plist place (cddr plist)))
((null plist) default)
(cond ((atom (cdr plist))
(do ((plist place (cddr plist)))
((null plist) default)
(cond ((atom (cdr plist))
- (error "~S is a malformed property list."
- place))
+ (error 'simple-type-error
+ :format-control "malformed property list: ~S."
+ :format-arguments (list place)
+ :datum (cdr plist)
+ :expected-type 'cons))
((eq (car plist) indicator)
(return (cadr plist))))))
((eq (car plist) indicator)
(return (cadr plist))))))
@@
-171,8
+171,11
@@
(do ((plist place (cddr plist)))
((null plist) (values nil nil nil))
(cond ((atom (cdr plist))
(do ((plist place (cddr plist)))
((null plist) (values nil nil nil))
(cond ((atom (cdr plist))
- (error "~S is a malformed proprty list."
- place))
+ (error 'simple-type-error
+ :format-control "malformed property list: ~S."
+ :format-arguments (list place)
+ :datum (cdr plist)
+ :expected-type 'cons))
((memq (car plist) indicator-list)
(return (values (car plist) (cadr plist) plist))))))
((memq (car plist) indicator-list)
(return (values (car plist) (cadr plist) plist))))))