[mcclim-cvs] CVS update: mcclim/Apps/Inspector/inspector.lisp

Peter Scott pscott at common-lisp.net
Fri Mar 4 21:32:09 UTC 2005


Update of /project/mcclim/cvsroot/mcclim/Apps/Inspector
In directory common-lisp.net:/tmp/cvs-serv3338

Modified Files:
	inspector.lisp 
Log Message:
Fixed a bunch of little bugs. Added some comments. Package display was
ugly in one place I forgot to change earlier, so I changed it. Numbers
and strings had some weird display problems, which I've mostly fixed
(and I can only hope that I didn't introduce minor bugs in some other
part of the program). I think this is ready for the Mothering Sunday
release!

Date: Fri Mar  4 22:32:09 2005
Author: pscott

Index: mcclim/Apps/Inspector/inspector.lisp
diff -u mcclim/Apps/Inspector/inspector.lisp:1.22 mcclim/Apps/Inspector/inspector.lisp:1.23
--- mcclim/Apps/Inspector/inspector.lisp:1.22	Wed Feb 16 00:12:07 2005
+++ mcclim/Apps/Inspector/inspector.lisp	Fri Mar  4 22:32:08 2005
@@ -304,9 +304,10 @@
           (formatting-cell (pane) (inspect-object car pane)))))))
 
 (defmethod inspect-object ((object cons) pane)
+  ;; Decide how to display the cons by looking in cons-cell-dico
   (if (gethash object (cons-cell-dico *application-frame*))
-        (inspect-cons-as-cells object pane)
-        (inspect-cons-as-list object pane)))
+      (inspect-cons-as-cells object pane)
+      (inspect-cons-as-list object pane)))
 
 
 (defmethod inspect-object-briefly ((object hash-table) pane)
@@ -383,9 +384,13 @@
     (print-documentation object pane)))
 
 (defmethod inspect-object-briefly ((object package) pane)
+  ;; Display as 'Package: "PACKAGE-NAME"'. We're doing something a
+  ;; little unusual here by not bolding the "Package:" part. This may
+  ;; be a tad inconsistent, but the other way looks very odd.
   (with-output-as-presentation
       (pane object (presentation-type-of object))
     (format pane "Package: ~S" (package-name object))))
+
 (defmethod inspect-object ((object package) pane)
   (inspector-table
     (format pane "Package: ~S" (package-name object))
@@ -408,7 +413,8 @@
     (inspector-table-row
       (princ "Uses:")
       (dolist (uses (package-use-list object))
-          (inspect-object uses pane)))))
+	(fresh-line pane)
+	(inspect-object uses pane)))))
 
 (defmethod inspect-object ((object vector) pane)
   (with-output-as-presentation
@@ -423,15 +429,27 @@
         (formatting-cell (pane)
           (princ ")" pane))))))
 
+;; For some strange reason, objects that are displayed with PRINT are
+;; slightly wider than those displayed with PRIN1. Generally, PRIN1 is
+;; what you want, and to prevent strings and numbers from getting
+;; slightly wider when they're toggled to full inspection, the
+;; INSPECT-OBJECT methods for them call the INSPECT-OBJECT-BRIEFLY
+;; methods which do the right thing.
 (defmethod inspect-object-briefly ((object string) pane)
   (with-output-as-presentation
       (pane object (presentation-type-of object))
-    (print object)))
+    (prin1 object)))
+
+(defmethod inspect-object ((object string) pane)
+  (inspect-object-briefly object pane))
 
 (defmethod inspect-object-briefly ((object number) pane)
   (with-output-as-presentation
       (pane object (presentation-type-of object))
-    (print object)))
+    (prin1 object)))
+
+(defmethod inspect-object ((object number) pane)
+  (inspect-object-briefly object pane))
 
 (defun inspect-complex (object pane)
   "Inspect a complex number. Since complex numbers should be inspected




More information about the Mcclim-cvs mailing list