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

Peter Scott pscott at common-lisp.net
Fri Feb 4 20:17:44 UTC 2005


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

Modified Files:
	inspector.lisp clouseau.asd 
Log Message:
Added :new-process argument to INSPECTOR, and changed this to do it 
properly as suggested by Paolo Amoroso. Exported INSPECT-OBJECT and 
INSPECT-OBJECT-BRIEFLY to make extending the inspector easier for users. 
Made EQL specializers show up informatively.

Date: Fri Feb  4 21:17:43 2005
Author: pscott

Index: mcclim/Apps/Inspector/inspector.lisp
diff -u mcclim/Apps/Inspector/inspector.lisp:1.11 mcclim/Apps/Inspector/inspector.lisp:1.12
--- mcclim/Apps/Inspector/inspector.lisp:1.11	Thu Feb  3 23:15:21 2005
+++ mcclim/Apps/Inspector/inspector.lisp	Fri Feb  4 21:17:42 2005
@@ -52,11 +52,17 @@
    pane
    :height (bounding-rectangle-height (stream-output-history pane))))
 
-(defun inspector (obj)
-  (let ((*print-length* 10)
-	(*print-level* 10))
-    (run-frame-top-level
-     (make-application-frame 'inspector :obj obj))))
+(defun inspector (obj &key (new-process nil))
+  (flet ((run ()
+	   (let ((*print-length* 10)
+		 (*print-level* 10))
+	     (run-frame-top-level
+	      (make-application-frame 'inspector :obj obj)))))
+    (if new-process
+	(clim-sys:make-process #'run
+			       :name (format nil "Inspector Clouseau: ~S"
+					     obj))
+	(run))))
 
 (defparameter *inspected-objects* '()
   "A list of objects which are currently being inspected with
@@ -286,7 +292,9 @@
                          (format pane "~a "
 				 (if (typep specializer
 					    'clim-mop:eql-specializer)
-				     "EQL specializer" ; FIXME: says nothing
+				     (format nil "(EQL ~S)"
+					     (clim-mop:eql-specializer-object
+					      specializer))
 				     (class-name specializer))))))))))
 
 (defun pretty-print-function (fun)
@@ -446,8 +454,7 @@
 
 (define-inspector-command (com-inspect :name t) ()
   (let ((obj (accept t :prompt "Select an object")))
-    (clim-sys:make-process #'(lambda () (inspector obj))
-			   :name "Inspector Clouseau")))
+    (inspector obj :new-process t)))
 
 (define-inspector-command (com-toggle-show-list-cells :name t)
   ((obj 'cons :gesture :select :prompt "Select a cons or list"))


Index: mcclim/Apps/Inspector/clouseau.asd
diff -u mcclim/Apps/Inspector/clouseau.asd:1.1 mcclim/Apps/Inspector/clouseau.asd:1.2
--- mcclim/Apps/Inspector/clouseau.asd:1.1	Wed Feb  2 10:33:49 2005
+++ mcclim/Apps/Inspector/clouseau.asd	Fri Feb  4 21:17:42 2005
@@ -22,7 +22,9 @@
 
 (defpackage :clouseau
   (:use :clim-lisp :clim)
-  (:export #:inspector))
+  (:export #:inspector
+	   #:inspect-object
+	   #:inspect-object-briefly))
 
 (asdf::defsystem clouseau
     :serial t




More information about the Mcclim-cvs mailing list