projects
/
sbcl.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
0.8.6.28:
[sbcl.git]
/
contrib
/
sb-aclrepl
/
inspect.lisp
diff --git
a/contrib/sb-aclrepl/inspect.lisp
b/contrib/sb-aclrepl/inspect.lisp
index
ce7031d
..
2a7f83f
100644
(file)
--- a/
contrib/sb-aclrepl/inspect.lisp
+++ b/
contrib/sb-aclrepl/inspect.lisp
@@
-1,4
+1,4
@@
-/nick;;;; Inspector for sb-aclrepl
+;;;; Inspector for sb-aclrepl
;;;;
;;;; The documentation, which may or may not apply in its entirety at
;;;; any given time, for this functionality is on the ACL website:
;;;;
;;;; The documentation, which may or may not apply in its entirety at
;;;; any given time, for this functionality is on the ACL website:
@@
-58,12
+58,10
@@
The commands are:
(defun inspector-fun (object input-stream output-stream)
(defun inspector-fun (object input-stream output-stream)
- (declare (ignore input-stream))
(let ((*current-inspect* nil)
(*inspect-raw* nil)
(*inspect-length* *inspect-length*)
(*skip-address-display* nil))
(let ((*current-inspect* nil)
(*inspect-raw* nil)
(*inspect-length* *inspect-length*)
(*skip-address-display* nil))
- (setq object (eval object))
(setq *current-inspect* (make-inspect))
(reset-stack object "(inspect ...)")
(redisplay output-stream)
(setq *current-inspect* (make-inspect))
(reset-stack object "(inspect ...)")
(redisplay output-stream)
@@
-599,7
+597,7
@@
position with the label if the label is a string."
cons cells and LIST-TYPE is :normal, :dotted, or :cyclic"
(do ((length 1 (1+ length))
(lst (cdr object) (cdr lst)))
cons cells and LIST-TYPE is :normal, :dotted, or :cyclic"
(do ((length 1 (1+ length))
(lst (cdr object) (cdr lst)))
- ((or (not(consp lst))
+ ((or (not (consp lst))
(eq object lst))
(cond
((null lst)
(eq object lst))
(cond
((null lst)
@@
-615,10
+613,9
@@
cons cells and LIST-TYPE is :normal, :dotted, or :cyclic"
(multiple-value-bind (length list-type) (cons-safe-length object)
(format nil "a ~A list with ~D element~:*~P~A"
(string-downcase (symbol-name list-type)) length
(multiple-value-bind (length list-type) (cons-safe-length object)
(format nil "a ~A list with ~D element~:*~P~A"
(string-downcase (symbol-name list-type)) length
- (case list-type
+ (ecase list-type
((:dotted :cyclic) "+tail")
((:dotted :cyclic) "+tail")
- (t "")))))
-
+ (:normal "")))))
(defun ref32-hexstr (obj &optional (offset 0))
(format nil "~8,'0X" (ref32 obj offset)))
(defun ref32-hexstr (obj &optional (offset 0))
(format nil "~8,'0X" (ref32 obj offset)))
@@
-651,7
+648,7
@@
cons cells and LIST-TYPE is :normal, :dotted, or :cyclic"
(defmethod inspected-description ((object fixnum))
(description-maybe-internals "fixnum ~W" (list object)
"[#x~8,'0X]"
(defmethod inspected-description ((object fixnum))
(description-maybe-internals "fixnum ~W" (list object)
"[#x~8,'0X]"
- (sb-kernel:get-lisp-obj-address object)))
+ (ash object (1- sb-vm:n-lowtag-bits))))
(defmethod inspected-description ((object complex))
(format nil "complex number ~W" object))
(defmethod inspected-description ((object complex))
(format nil "complex number ~W" object))
@@
-678,10
+675,14
@@
cons cells and LIST-TYPE is :normal, :dotted, or :cyclic"
(format nil "ratio ~W" object))
(defmethod inspected-description ((object character))
(format nil "ratio ~W" object))
(defmethod inspected-description ((object character))
- (description-maybe-internals "character ~W char-code #x~4,'0X"
+ ;; FIXME: This will need to change as and when we get more characters
+ ;; than just the 256 we have today.
+ (description-maybe-internals "character ~W char-code #x~2,'0X"
(list object (char-code object))
"[#x~8,'0X]"
(list object (char-code object))
"[#x~8,'0X]"
- (sb-kernel:get-lisp-obj-address object)))
+ (logior sb-vm:base-char-widetag
+ (ash (char-code object)
+ sb-vm:n-widetag-bits))))
(defmethod inspected-description ((object t))
(format nil "a generic object ~W" object))
(defmethod inspected-description ((object t))
(format nil "a generic object ~W" object))