0.7.10.15:
[sbcl.git] / src / code / inspect.lisp
index 834bf34..f143295 100644 (file)
@@ -11,8 +11,6 @@
 
 (in-package "SB-IMPL") ;(SB-IMPL, not SB!IMPL, since we're built in warm load.)
 
-(declaim #.*optimize-byte-compilation*)
-
 (defparameter *inspect-length* 10)
 
 ;;; When *INSPECT-UNBOUND-OBJECT-MARKER* occurs in a parts list, it
@@ -20,7 +18,6 @@
 (defvar *inspect-unbound-object-marker* (gensym "INSPECT-UNBOUND-OBJECT-"))
 
 (defun inspect (object)
-  (declare #.*optimize-external-despite-byte-compilation*)
   (catch 'quit-inspect
     (%inspect object *standard-output*))
   (values))
@@ -44,7 +41,7 @@ evaluated expressions.
 ")
 
 (defun %inspect (*inspected* s)
-  (named-let redisplay () ; "lambda, the ultimate GOTO":-|
+  (named-let redisplay () ; "LAMBDA, the ultimate GOTO":-|
     (multiple-value-bind (description named-p elements)
        (inspected-parts *inspected*)
       (tty-display-inspected-parts description named-p elements s)
@@ -60,6 +57,7 @@ evaluated expressions.
             ;; thing to do (as opposed to e.g. handling it as U), we
             ;; could document it. Meanwhile, it seems more Unix-y to
             ;; do this than to signal an error.
+            (/show0 "THROWing QUIT-INSPECT for EOF")
             (throw 'quit-inspect nil))
            (integer
             (let ((elements-length (length elements)))
@@ -78,12 +76,13 @@ evaluated expressions.
                      (format s "~%The object contains nothing to inspect.~%")
                      (return-from %inspect (reread)))
                     (t
-                     (format s "~%Enter a valid index (~:[0-~D~;0~]).~%"
+                     (format s "~%Enter a valid index (~:[0-~W~;0~]).~%"
                              (= elements-length 1) (1- elements-length))
                      (return-from %inspect (reread))))))
            (symbol
             (case (find-symbol (symbol-name command) *keyword-package*)
               ((:q :e)
+               (/show0 "THROWing QUIT-INSPECT for :Q or :E")
                (throw 'quit-inspect nil))
               (:u
                (return-from %inspect))
@@ -165,7 +164,7 @@ evaluated expressions.
     (when (sb-kernel::defstruct-description-p info)
       (dolist (dd-slot (dd-slots info) (nreverse parts-list))
         (push (cons (dsd-%name dd-slot)
-                    (funcall (dsd-accessor dd-slot) object))
+                    (funcall (dsd-accessor-name dd-slot) object))
               parts-list)))))
 
 (defmethod inspected-parts ((object structure-object))
@@ -197,12 +196,12 @@ evaluated expressions.
          (inspected-structure-elements object)))
 
 (defmethod inspected-parts ((object function))
-  (let* ((type (sb-kernel:get-type object))
-        (object (if (= type sb-vm:closure-header-type)
-                    (sb-kernel:%closure-function object)
+  (let* ((type (sb-kernel:widetag-of object))
+        (object (if (= type sb-vm:closure-header-widetag)
+                    (sb-kernel:%closure-fun object)
                     object)))
     (values (format nil "FUNCTION ~S.~@[~%Argument List: ~A~]." object
-                   (sb-kernel:%function-arglist object)
+                   (sb-kernel:%simple-fun-arglist object)
                    ;; Defined-from stuff used to be here. Someone took
                    ;; it out. FIXME: We should make it easy to get
                    ;; to DESCRIBE from the inspector.
@@ -212,7 +211,7 @@ evaluated expressions.
 
 (defmethod inspected-parts ((object vector))
   (values (format nil
-                 "The object is a ~:[~;displaced ~]VECTOR of length ~D.~%"
+                 "The object is a ~:[~;displaced ~]VECTOR of length ~W.~%"
                  (and (array-header-p object)
                       (%array-displaced-p object))
                  (length object))
@@ -229,7 +228,7 @@ evaluated expressions.
          (multiple-value-bind (q r) (floor index dim)
            (setq index q)
            (push r list)))
-       (format nil "[~D~{,~D~}]" (car list) (cdr list)))))
+       (format nil "[~W~{,~W~}]" (car list) (cdr list)))))
 
 (defmethod inspected-parts ((object array))
   (let* ((length (min (array-total-size object) *inspect-length*))