Index: swank-abcl.lisp
===================================================================
RCS file: /project/slime/cvsroot/slime/swank-abcl.lisp,v
retrieving revision 1.44
diff -u -r1.44 swank-abcl.lisp
--- swank-abcl.lisp	22 Oct 2007 08:36:32 -0000	1.44
+++ swank-abcl.lisp	2 Feb 2008 20:12:33 -0000
@@ -426,9 +426,7 @@
 (defimplementation make-default-inspector ()
   (make-instance 'abcl-inspector))
 
-(defmethod inspect-for-emacs ((slot mop::slot-definition) 
-                              (inspector backend-inspector))
-  (declare (ignore inspector))
+(defmethod inspect-for-emacs ((slot mop::slot-definition))
   (values "A slot." 
           `("Name: " (:value ,(mop::%slot-definition-name slot))
             (:newline)
@@ -443,8 +441,7 @@
             "  Function: " (:value ,(mop::%slot-definition-initfunction slot))
             (:newline))))
 
-(defmethod inspect-for-emacs ((f function) (inspector backend-inspector))
-  (declare (ignore inspector))
+(defmethod inspect-for-emacs ((f function))
   (values "A function."
           `(,@(when (function-name f)
                     `("Name: " 
@@ -461,7 +458,7 @@
 
 #|
 
-(defmethod inspect-for-emacs ((o t) (inspector backend-inspector))
+(defmethod inspect-for-emacs ((o t))
   (let* ((class (class-of o))
          (slots (mop::class-slots class)))
     (values (format nil "~A~%   is a ~A" o class)
Index: swank-allegro.lisp
===================================================================
RCS file: /project/slime/cvsroot/slime/swank-allegro.lisp,v
retrieving revision 1.98
diff -u -r1.98 swank-allegro.lisp
--- swank-allegro.lisp	26 Sep 2007 23:15:41 -0000	1.98
+++ swank-allegro.lisp	2 Feb 2008 20:12:34 -0000
@@ -569,8 +569,7 @@
 (defimplementation make-default-inspector ()
   (make-instance 'acl-inspector))
 
-(defmethod inspect-for-emacs ((f function) inspector)
-  inspector
+(defmethod inspect-for-emacs ((f function))
   (values "A function."
           (append
            (label-value-line "Name" (function-name f))
@@ -579,17 +578,13 @@
              (when doc
                `("Documentation:" (:newline) ,doc))))))
 
-(defmethod inspect-for-emacs ((o t) (inspector backend-inspector))
-  inspector
+(defmethod inspect-for-emacs ((o t))
   (values "A value." (allegro-inspect o)))
 
-(defmethod inspect-for-emacs ((o function) (inspector backend-inspector))
-  inspector
+(defmethod inspect-for-emacs ((o function))
   (values "A function." (allegro-inspect o)))
 
-(defmethod inspect-for-emacs ((o standard-object) 
-                              (inspector backend-inspector))
-  inspector
+(defmethod inspect-for-emacs ((o standard-object))
   (values (format nil "~A is a standard-object." o) (allegro-inspect o)))
 
 (defun allegro-inspect (o)
Index: swank-backend.lisp
===================================================================
RCS file: /project/slime/cvsroot/slime/swank-backend.lisp,v
retrieving revision 1.126
diff -u -r1.126 swank-backend.lisp
--- swank-backend.lisp	10 Sep 2007 15:39:05 -0000	1.126
+++ swank-backend.lisp	2 Feb 2008 20:12:34 -0000
@@ -840,19 +840,7 @@
 
 ;;;; Inspector
 
-(defclass inspector ()
-  ()
-  (:documentation "Super class of inspector objects.
-
-Implementations should sub class in order to dispatch off of the
-inspect-for-emacs method."))
-
-(defclass backend-inspector (inspector) ())
-
-(definterface make-default-inspector ()
-  "Return an inspector object suitable for passing to inspect-for-emacs.")
-
-(defgeneric inspect-for-emacs (object inspector)
+(defgeneric inspect-for-emacs (object)
   (:documentation
    "Explain to Emacs how to inspect OBJECT.
 
@@ -880,12 +868,11 @@
 
  NIL - do nothing."))
 
-(defmethod inspect-for-emacs ((object t) (inspector t))
+(defmethod inspect-for-emacs ((object t))
   "Generic method for inspecting any kind of object.
 
 Since we don't know how to deal with OBJECT we simply dump the
 output of CL:DESCRIBE."
-  (declare (ignore inspector))
   (values 
    "A value."
    `("Type: " (:value ,(type-of object)) (:newline)
Index: swank-clisp.lisp
===================================================================
RCS file: /project/slime/cvsroot/slime/swank-clisp.lisp,v
retrieving revision 1.64
diff -u -r1.64 swank-clisp.lisp
--- swank-clisp.lisp	23 Aug 2007 19:03:37 -0000	1.64
+++ swank-clisp.lisp	2 Feb 2008 20:12:35 -0000
@@ -631,8 +631,7 @@
 
 (defimplementation make-default-inspector () (make-instance 'clisp-inspector))
 
-(defmethod inspect-for-emacs ((o t) (inspector backend-inspector))
-  (declare (ignore inspector))
+(defmethod inspect-for-emacs ((o t))
   (let* ((*print-array* nil) (*print-pretty* t)
          (*print-circle* t) (*print-escape* t)
          (*print-lines* custom:*inspect-print-lines*)
Index: swank-cmucl.lisp
===================================================================
RCS file: /project/slime/cvsroot/slime/swank-cmucl.lisp,v
retrieving revision 1.175
diff -u -r1.175 swank-cmucl.lisp
--- swank-cmucl.lisp	30 Nov 2007 13:10:40 -0000	1.175
+++ swank-cmucl.lisp	2 Feb 2008 20:12:36 -0000
@@ -1869,7 +1869,7 @@
                                   :key #'symbol-value)))
           (format t ", type: ~A" type-symbol))))))
 
-(defmethod inspect-for-emacs ((o t) (inspector backend-inspector))
+(defmethod inspect-for-emacs ((o t))
   (cond ((di::indirect-value-cell-p o)
          (values (format nil "~A is a value cell." o)
                  `("Value: " (:value ,(c:value-cell-ref o)))))
@@ -1887,8 +1887,7 @@
                 (loop for value in parts  for i from 0 
                       append (label-value-line i value))))))
 
-(defmethod inspect-for-emacs ((o function) (inspector backend-inspector))
-  (declare (ignore inspector))
+(defmethod inspect-for-emacs ((o function))
   (let ((header (kernel:get-type o)))
     (cond ((= header vm:function-header-type)
            (values (format nil "~A is a function." o)
@@ -1915,9 +1914,7 @@
           (t
            (call-next-method)))))
 
-(defmethod inspect-for-emacs ((o kernel:funcallable-instance)
-                              (i backend-inspector))
-  (declare (ignore i))
+(defmethod inspect-for-emacs ((o kernel:funcallable-instance))
   (values 
    (format nil "~A is a funcallable-instance." o)
    (append (label-value-line* 
@@ -1926,8 +1923,7 @@
             (:layout  (kernel:%funcallable-instance-layout o)))
            (nth-value 1 (cmucl-inspect o)))))
 
-(defmethod inspect-for-emacs ((o kernel:code-component) (_ backend-inspector))
-  (declare (ignore _))
+(defmethod inspect-for-emacs ((o kernel:code-component))
   (values (format nil "~A is a code data-block." o)
           (append 
            (label-value-line* 
@@ -1954,8 +1950,7 @@
                          (ash (kernel:%code-code-size o) vm:word-shift)
                          :stream s))))))))
 
-(defmethod inspect-for-emacs ((o kernel:fdefn) (inspector backend-inspector))
-  (declare (ignore inspector))
+(defmethod inspect-for-emacs ((o kernel:fdefn))
   (values (format nil "~A is a fdenf object." o)
           (label-value-line*
            ("name" (kernel:fdefn-name o))
@@ -1964,8 +1959,7 @@
                         (sys:int-sap (kernel:get-lisp-obj-address o))
                         (* vm:fdefn-raw-addr-slot vm:word-bytes))))))
 
-(defmethod inspect-for-emacs ((o array) (inspector backend-inspector))
-  inspector
+(defmethod inspect-for-emacs ((o array))
   (if (typep o 'simple-array)
       (call-next-method)
       (values (format nil "~A is an array." o)
@@ -1980,8 +1974,7 @@
                (:displaced-p (kernel:%array-displaced-p o))
                (:dimensions (array-dimensions o))))))
 
-(defmethod inspect-for-emacs ((o simple-vector) (inspector backend-inspector))
-  inspector
+(defmethod inspect-for-emacs ((o simple-vector))
   (values (format nil "~A is a simple-vector." o)
           (append 
            (label-value-line*
Index: swank-corman.lisp
===================================================================
RCS file: /project/slime/cvsroot/slime/swank-corman.lisp,v
retrieving revision 1.11
diff -u -r1.11 swank-corman.lisp
--- swank-corman.lisp	23 Aug 2007 19:03:37 -0000	1.11
+++ swank-corman.lisp	2 Feb 2008 20:12:36 -0000
@@ -387,21 +387,13 @@
 ;; Hack to make swank.lisp load, at least
 (defclass file-stream ())
 
-(defclass corman-inspector (backend-inspector)
-  ())
-
-(defimplementation make-default-inspector ()
-  (make-instance 'corman-inspector))
-
 (defun comma-separated (list &optional (callback (lambda (v)
                                                    `(:value ,v))))
   (butlast (loop for e in list
               collect (funcall callback e)
               collect ", ")))
 
-(defmethod inspect-for-emacs ((class standard-class)
-                              (inspector backend-inspector))
-  (declare (ignore inspector))
+(defmethod inspect-for-emacs ((class standard-class))
   (values "A class."
           `("Name: " (:value ,(class-name class))
             (:newline)
@@ -438,9 +430,8 @@
                   '("#<N/A (class not finalized)>"))
             (:newline))))
 
-(defmethod inspect-for-emacs ((slot cons) (inspector backend-inspector))
+(defmethod inspect-for-emacs ((slot cons))
   ;; Inspects slot definitions
-  (declare (ignore inspector))
   (if (eq (car slot) :name)
       (values "A slot." 
               `("Name: " (:value ,(swank-mop:slot-definition-name slot))
@@ -457,9 +448,7 @@
                                              (:newline)))
       (call-next-method)))
   
-(defmethod inspect-for-emacs ((pathname pathnames::pathname-internal)
-                              inspector)
-  (declare (ignore inspector))
+(defmethod inspect-for-emacs ((pathname pathnames::pathname-internal))
   (values (if (wild-pathname-p pathname)
               "A wild pathname."
               "A pathname.")
Index: swank-lispworks.lisp
===================================================================
RCS file: /project/slime/cvsroot/slime/swank-lispworks.lisp,v
retrieving revision 1.93
diff -u -r1.93 swank-lispworks.lisp
--- swank-lispworks.lisp	24 Nov 2007 08:18:59 -0000	1.93
+++ swank-lispworks.lisp	2 Feb 2008 20:12:37 -0000
@@ -629,20 +629,15 @@
 (defimplementation make-default-inspector ()
   (make-instance 'lispworks-inspector))
 
-(defmethod inspect-for-emacs ((o t) (inspector backend-inspector))
-  (declare (ignore inspector))
+(defmethod inspect-for-emacs ((o t))
   (lispworks-inspect o))
 
-(defmethod inspect-for-emacs ((o function) 
-                              (inspector backend-inspector))
-  (declare (ignore inspector))
+(defmethod inspect-for-emacs ((o function))
   (lispworks-inspect o))
 
 ;; FIXME: slot-boundp-using-class in LW works with names so we can't
 ;; use our method in swank.lisp.
-(defmethod inspect-for-emacs ((o standard-object) 
-                              (inspector backend-inspector))
-  (declare (ignore inspector))
+(defmethod inspect-for-emacs ((o standard-object))
   (lispworks-inspect o))
 
 (defun lispworks-inspect (o)
Index: swank-openmcl.lisp
===================================================================
RCS file: /project/slime/cvsroot/slime/swank-openmcl.lisp,v
retrieving revision 1.120
diff -u -r1.120 swank-openmcl.lisp
--- swank-openmcl.lisp	22 Oct 2007 08:19:58 -0000	1.120
+++ swank-openmcl.lisp	2 Feb 2008 20:12:37 -0000
@@ -784,19 +798,13 @@
 
 ;;;; Inspection
 
-(defclass openmcl-inspector (backend-inspector) ())
-
-(defimplementation make-default-inspector ()
-  (make-instance 'openmcl-inspector))
-
 (defimplementation describe-primitive-type (thing)
   (let ((typecode (ccl::typecode thing)))
     (if (gethash typecode *value2tag*)
 	(string (gethash typecode *value2tag*))
 	(string (nth typecode '(tag-fixnum tag-list tag-misc tag-imm))))))
 
-(defmethod inspect-for-emacs ((o t) (inspector backend-inspector))
-  (declare (ignore inspector))
+(defmethod inspect-for-emacs ((o t))
   (let* ((i (inspector::make-inspector o))
 	 (count (inspector::compute-line-count i))
 	 (lines 
@@ -814,18 +822,18 @@
                 (pprint o s)))
             lines)))
 
-(defmethod inspect-for-emacs :around ((o t) (inspector backend-inspector))
+(defmethod inspect-for-emacs :around ((o t))
   (if (or (uvector-inspector-p o)
           (not (ccl:uvectorp o)))
       (call-next-method)
       (multiple-value-bind (title content)
           (call-next-method)
         (values
-         title
-         (append content
-                 `((:newline)
-                   (:value ,(make-instance 'uvector-inspector :object o)
-                           "Underlying UVECTOR")))))))
+          title
+          (append content
+                  `((:newline)
+                    (:value ,(make-instance 'uvector-inspector :object o)
+                            "Underlying UVECTOR")))))))
 
 (defclass uvector-inspector ()
   ((object :initarg :object)))
@@ -834,8 +842,7 @@
   (:method ((object t)) nil)
   (:method ((object uvector-inspector)) t))
 
-(defmethod inspect-for-emacs ((uv uvector-inspector) 
-                              (inspector backend-inspector))
+(defmethod inspect-for-emacs ((uv uvector-inspector))
   (with-slots (object)
       uv
     (values (format nil "The UVECTOR for ~S." object)
@@ -855,8 +862,7 @@
 		(cellp (ccl::closed-over-value-p value)))
 	   (list label (if cellp (ccl::closed-over-value value) value))))))
 
-(defmethod inspect-for-emacs ((c ccl::compiled-lexical-closure) (inspector t))
-  (declare (ignore inspector))
+(defmethod inspect-for-emacs ((c ccl::compiled-lexical-closure))
   (values
    (format nil "A closure: ~a" c)
    `(,@(if (arglist c)
Index: swank-sbcl.lisp
===================================================================
RCS file: /project/slime/cvsroot/slime/swank-sbcl.lisp,v
retrieving revision 1.187
diff -u -r1.187 swank-sbcl.lisp
--- swank-sbcl.lisp	17 Jan 2008 05:53:44 -0000	1.187
+++ swank-sbcl.lisp	2 Feb 2008 20:12:38 -0000
@@ -1006,8 +1006,7 @@
 (defimplementation make-default-inspector ()
   (make-instance 'sbcl-inspector))
 
-(defmethod inspect-for-emacs ((o t) (inspector backend-inspector))
-  (declare (ignore inspector))
+(defmethod inspect-for-emacs ((o t))
   (cond ((sb-di::indirect-value-cell-p o)
          (values "A value cell." (label-value-line*
                                   (:value (sb-kernel:value-cell-ref o)))))
@@ -1019,8 +1018,7 @@
                (values text (loop for value in parts  for i from 0
                                   append (label-value-line i value))))))))
 
-(defmethod inspect-for-emacs ((o function) (inspector backend-inspector))
-  (declare (ignore inspector))
+(defmethod inspect-for-emacs ((o function))
   (let ((header (sb-kernel:widetag-of o)))
     (cond ((= header sb-vm:simple-fun-header-widetag)
 	   (values "A simple-fun."
@@ -1041,8 +1039,7 @@
                                   i (sb-kernel:%closure-index-ref o i))))))
 	  (t (call-next-method o)))))
 
-(defmethod inspect-for-emacs ((o sb-kernel:code-component) (_ backend-inspector))
-  (declare (ignore _))
+(defmethod inspect-for-emacs ((o sb-kernel:code-component))
   (values (format nil "~A is a code data-block." o)
           (append
            (label-value-line*
@@ -1070,22 +1067,18 @@
                          (ash (sb-kernel:%code-code-size o) sb-vm:word-shift)
                          :stream s))))))))
 
-(defmethod inspect-for-emacs ((o sb-ext:weak-pointer) (inspector backend-inspector))
-  (declare (ignore inspector))
+(defmethod inspect-for-emacs ((o sb-ext:weak-pointer))
   (values "A weak pointer."
           (label-value-line*
            (:value (sb-ext:weak-pointer-value o)))))
 
-(defmethod inspect-for-emacs ((o sb-kernel:fdefn) (inspector backend-inspector))
-  (declare (ignore inspector))
-  (values "A fdefn object."
+(defmethod inspect-for-emacs ((o sb-kernel:fdefn))
+  (values "An fdefn object."
           (label-value-line*
            (:name (sb-kernel:fdefn-name o))
            (:function (sb-kernel:fdefn-fun o)))))
 
-(defmethod inspect-for-emacs :around ((o generic-function)
-                                      (inspector backend-inspector))
-  (declare (ignore inspector))
+(defmethod inspect-for-emacs :around ((o generic-function))
   (multiple-value-bind (title contents) (call-next-method)
     (values title
             (append
Index: swank-scl.lisp
===================================================================
RCS file: /project/slime/cvsroot/slime/swank-scl.lisp,v
retrieving revision 1.14
diff -u -r1.14 swank-scl.lisp
--- swank-scl.lisp	22 Dec 2007 13:24:49 -0000	1.14
+++ swank-scl.lisp	2 Feb 2008 20:12:39 -0000
@@ -1740,7 +1740,7 @@
                                   :key #'symbol-value)))
           (format t ", type: ~A" type-symbol))))))
 
-(defmethod inspect-for-emacs ((o t) (inspector backend-inspector))
+(defmethod inspect-for-emacs ((o t))
   (cond ((di::indirect-value-cell-p o)
          (values (format nil "~A is a value cell." o)
                  `("Value: " (:value ,(c:value-cell-ref o)))))
@@ -1759,8 +1759,7 @@
                 (loop for value in parts  for i from 0 
                       append (label-value-line i value))))))
 
-(defmethod inspect-for-emacs ((o function) (inspector backend-inspector))
-  (declare (ignore inspector))
+(defmethod inspect-for-emacs ((o function))
   (let ((header (kernel:get-type o)))
     (cond ((= header vm:function-header-type)
            (values (format nil "~A is a function." o)
@@ -1789,8 +1788,7 @@
            (call-next-method)))))
 
 
-(defmethod inspect-for-emacs ((o kernel:code-component) (_ backend-inspector))
-  (declare (ignore _))
+(defmethod inspect-for-emacs ((o kernel:code-component))
   (values (format nil "~A is a code data-block." o)
           (append 
            (label-value-line* 
@@ -1817,8 +1815,7 @@
                          (ash (kernel:%code-code-size o) vm:word-shift)
                          :stream s))))))))
 
-(defmethod inspect-for-emacs ((o kernel:fdefn) (inspector backend-inspector))
-  (declare (ignore inspector))
+(defmethod inspect-for-emacs ((o kernel:fdefn))
   (values (format nil "~A is a fdenf object." o)
           (label-value-line*
            ("name" (kernel:fdefn-name o))
@@ -1827,8 +1824,7 @@
                         (sys:int-sap (kernel:get-lisp-obj-address o))
                         (* vm:fdefn-raw-addr-slot vm:word-bytes))))))
 
-(defmethod inspect-for-emacs ((o array) (inspector backend-inspector))
-  inspector
+(defmethod inspect-for-emacs ((o array))
   (cond ((kernel:array-header-p o)
          (values (format nil "~A is an array." o)
                  (label-value-line*
@@ -1847,8 +1843,7 @@
                   (:header (describe-primitive-type o))
                   (:length (length o)))))))
 
-(defmethod inspect-for-emacs ((o simple-vector) (inspector backend-inspector))
-  inspector
+(defmethod inspect-for-emacs ((o simple-vector))
   (values (format nil "~A is a vector." o)
           (append 
            (label-value-line*
Index: swank-sbcl.lisp
===================================================================
RCS file: /project/slime/cvsroot/slime/swank-sbcl.lisp,v
retrieving revision 1.187
diff -u -r1.187 swank-sbcl.lisp
--- swank-sbcl.lisp	17 Jan 2008 05:53:44 -0000	1.187
+++ swank-sbcl.lisp	2 Feb 2008 20:12:38 -0000
@@ -1006,8 +1006,7 @@
 (defimplementation make-default-inspector ()
   (make-instance 'sbcl-inspector))
 
-(defmethod inspect-for-emacs ((o t) (inspector backend-inspector))
-  (declare (ignore inspector))
+(defmethod inspect-for-emacs ((o t))
   (cond ((sb-di::indirect-value-cell-p o)
          (values "A value cell." (label-value-line*
                                   (:value (sb-kernel:value-cell-ref o)))))
@@ -1019,8 +1018,7 @@
                (values text (loop for value in parts  for i from 0
                                   append (label-value-line i value))))))))
 
-(defmethod inspect-for-emacs ((o function) (inspector backend-inspector))
-  (declare (ignore inspector))
+(defmethod inspect-for-emacs ((o function))
   (let ((header (sb-kernel:widetag-of o)))
     (cond ((= header sb-vm:simple-fun-header-widetag)
 	   (values "A simple-fun."
@@ -1041,8 +1039,7 @@
                                   i (sb-kernel:%closure-index-ref o i))))))
 	  (t (call-next-method o)))))
 
-(defmethod inspect-for-emacs ((o sb-kernel:code-component) (_ backend-inspector))
-  (declare (ignore _))
+(defmethod inspect-for-emacs ((o sb-kernel:code-component))
   (values (format nil "~A is a code data-block." o)
           (append
            (label-value-line*
@@ -1070,22 +1067,18 @@
                          (ash (sb-kernel:%code-code-size o) sb-vm:word-shift)
                          :stream s))))))))
 
-(defmethod inspect-for-emacs ((o sb-ext:weak-pointer) (inspector backend-inspector))
-  (declare (ignore inspector))
+(defmethod inspect-for-emacs ((o sb-ext:weak-pointer))
   (values "A weak pointer."
           (label-value-line*
            (:value (sb-ext:weak-pointer-value o)))))
 
-(defmethod inspect-for-emacs ((o sb-kernel:fdefn) (inspector backend-inspector))
-  (declare (ignore inspector))
-  (values "A fdefn object."
+(defmethod inspect-for-emacs ((o sb-kernel:fdefn))
+  (values "An fdefn object."
           (label-value-line*
            (:name (sb-kernel:fdefn-name o))
            (:function (sb-kernel:fdefn-fun o)))))
 
-(defmethod inspect-for-emacs :around ((o generic-function)
-                                      (inspector backend-inspector))
-  (declare (ignore inspector))
+(defmethod inspect-for-emacs :around ((o generic-function))
   (multiple-value-bind (title contents) (call-next-method)
     (values title
             (append
Index: swank.lisp
===================================================================
RCS file: /project/slime/cvsroot/slime/swank.lisp,v
retrieving revision 1.523
diff -u -r1.523 swank.lisp
--- swank.lisp	20 Dec 2007 10:33:37 -0000	1.523
+++ swank.lisp	2 Feb 2008 20:12:41 -0000
@@ -2750,8 +2753,7 @@
     (set-pprint-dispatch '(cons (member function)) nil)
     (princ-to-string list)))
 
-(defmethod inspect-for-emacs ((object cons) inspector)
-  (declare (ignore inspector))
+(defmethod inspect-for-emacs ((object cons))
   (if (consp (cdr object))
       (inspect-for-emacs-list object)
       (inspect-for-emacs-simple-cons object)))
@@ -2811,8 +2813,7 @@
  a hash table or array to show by default. If table has more than
  this then offer actions to view more. Set to nil for no limit." )
 
-(defmethod inspect-for-emacs ((ht hash-table) inspector)
-  (declare (ignore inspector))
+(defmethod inspect-for-emacs ((ht hash-table))
   (values (prin1-to-string ht)
           (append
            (label-value-line*
@@ -2864,8 +2865,7 @@
 		      (progn (format t "How many elements should be shown? ") (read))))
 		 (swank::inspect-object thing)))))
 
-(defmethod inspect-for-emacs ((array array) inspector)
-  (declare (ignore inspector))
+(defmethod inspect-for-emacs ((array array))
   (values "An array."
           (append
            (label-value-line*
@@ -2883,8 +2883,7 @@
            (loop for i below (or *slime-inspect-contents-limit* (array-total-size array))
                  append (label-value-line i (row-major-aref array i))))))
 
-(defmethod inspect-for-emacs ((char character) inspector)
-  (declare (ignore inspector))
+(defmethod inspect-for-emacs ((char character))
   (values "A character."
           (append 
            (label-value-line*
@@ -2903,7 +2902,6 @@
 (defvar *inspector-history* (make-array 10 :adjustable t :fill-pointer 0))
 (declaim (type vector *inspector-history*))
 (defvar *inspect-length* 30)
-(defvar *default-inspector* (make-default-inspector))
 
 (defun reset-inspector ()
   (setq *inspectee* nil
@@ -2960,17 +2958,18 @@
   (list :action label (assign-index (list lambda refreshp)
                                     *inspectee-actions*)))
 
-(defun inspect-object (object &optional (inspector *default-inspector*))
+(defun inspect-object (object)
   (push (setq *inspectee* object) *inspector-stack*)
   (unless (find object *inspector-history*)
     (vector-push-extend object *inspector-history*))
   (let ((*print-pretty* nil)            ; print everything in the same line
         (*print-circle* t)
         (*print-readably* nil))
-    (multiple-value-bind (_ content) (inspect-for-emacs object inspector)
-      (declare (ignore _))
-      (list :title (with-output-to-string (s)
-                     (print-unreadable-object (object s :type t :identity t)))
+    (multiple-value-bind (title content)
+        (inspect-for-emacs object)
+      (list :title (or title
+                       (with-output-to-string (s)
+                         (print-unreadable-object (object s :type t :identity t))))
             :id (assign-index object *inspectee-parts*)
             :content (inspector-content-for-emacs content)))))
 
Index: contrib/swank-fancy-inspector.lisp
===================================================================
RCS file: /project/slime/cvsroot/slime/contrib/swank-fancy-inspector.lisp,v
retrieving revision 1.5
diff -u -r1.5 swank-fancy-inspector.lisp
--- contrib/swank-fancy-inspector.lisp	20 Nov 2007 21:29:41 -0000	1.5
+++ contrib/swank-fancy-inspector.lisp	2 Feb 2008 20:12:42 -0000
@@ -8,10 +8,8 @@
 
 ;; Subclass `backend-inspector' so that backend specific methods are
 ;; also considered.
-(defclass fancy-inspector (backend-inspector) ())
 
-(defmethod inspect-for-emacs ((symbol symbol) (inspector fancy-inspector))
-  (declare (ignore inspector))
+(defmethod inspect-for-emacs ((symbol symbol))
   (let ((package (symbol-package symbol)))
     (multiple-value-bind (_symbol status) 
 	(and package (find-symbol (string symbol) package))
@@ -94,8 +92,7 @@
 	  (t 
 	   (list label ": " '(:newline) "  " docstring '(:newline))))))
 
-(defmethod inspect-for-emacs ((f function) inspector)
-  (declare (ignore inspector))
+(defmethod inspect-for-emacs ((f function))
   (values "A function."
 	  (append 
 	   (label-value-line "Name" (function-name f))
@@ -128,12 +125,11 @@
 	  (swank-mop:method-qualifiers method)
 	  (method-specializers-for-inspect method)))
 
-(defmethod inspect-for-emacs ((object standard-object) 
-			      (inspector fancy-inspector))
+(defmethod inspect-for-emacs ((object standard-object))
   (let ((class (class-of object)))
     (values "An object."
             `("Class: " (:value ,class) (:newline)
-              ,@(all-slots-for-inspector object inspector)))))
+              ,@(all-slots-for-inspector object)))))
 
 (defvar *gf-method-getter* 'methods-by-applicability
   "This function is called to get the methods of a generic function.
@@ -193,8 +189,8 @@
                    `(" " (:action "[make unbound]"
                           ,(lambda () (swank-mop:slot-makunbound-using-class class object slot)))))))))
 
-(defgeneric all-slots-for-inspector (object inspector)
-  (:method ((object standard-object) inspector)
+(defgeneric all-slots-for-inspector (object)
+  (:method ((object standard-object))
     (declare (ignore inspector))
     (append '("--------------------" (:newline)
               "All Slots:" (:newline))
@@ -231,8 +227,7 @@
                   append slot-presentation
                   collect '(:newline))))))
 
-(defmethod inspect-for-emacs ((gf standard-generic-function) 
-                              (inspector fancy-inspector)) 
+(defmethod inspect-for-emacs ((gf standard-generic-function)) 
   (flet ((lv (label value) (label-value-line label value)))
     (values 
      "A generic function."
@@ -255,10 +250,9 @@
                             (remove-method gf m))))
 	      (:newline)))
       `((:newline))
-      (all-slots-for-inspector gf inspector)))))
+      (all-slots-for-inspector gf)))))
 
-(defmethod inspect-for-emacs ((method standard-method) 
-                              (inspector fancy-inspector))
+(defmethod inspect-for-emacs ((method standard-method))
   (values "A method." 
           `("Method defined on the generic function " 
 	    (:value ,(swank-mop:method-generic-function method)
@@ -276,10 +270,9 @@
             (:newline)
             "Method function: " (:value ,(swank-mop:method-function method))
             (:newline)
-            ,@(all-slots-for-inspector method inspector))))
+            ,@(all-slots-for-inspector method))))
 
-(defmethod inspect-for-emacs ((class standard-class) 
-                              (inspector fancy-inspector))
+(defmethod inspect-for-emacs ((class standard-class))
   (values "A class."
           `("Name: " (:value ,(class-name class))
             (:newline)
@@ -336,10 +329,9 @@
                                `(:value ,(swank-mop:class-prototype class))
                                '"#<N/A (class not finalized)>")
             (:newline)
-            ,@(all-slots-for-inspector class inspector))))
+            ,@(all-slots-for-inspector class))))
 
-(defmethod inspect-for-emacs ((slot swank-mop:standard-slot-definition) 
-                              (inspector fancy-inspector))
+(defmethod inspect-for-emacs ((slot swank-mop:standard-slot-definition))
   (values "A slot."
           `("Name: " (:value ,(swank-mop:slot-definition-name slot))
             (:newline)
@@ -353,7 +345,7 @@
                              "#<unspecified>") (:newline)
             "Init function: " (:value ,(swank-mop:slot-definition-initfunction slot))            
             (:newline)
-            ,@(all-slots-for-inspector slot inspector))))
+            ,@(all-slots-for-inspector slot))))
 
 
 ;; Wrapper structure over the list of symbols of a package that should
@@ -445,8 +437,7 @@
                         (:newline)
                         )))))
 
-(defmethod inspect-for-emacs ((%container %package-symbols-container) 
-                              (inspector fancy-inspector))
+(defmethod inspect-for-emacs ((%container %package-symbols-container))
   (declare (ignore inspector))
   (with-struct (%container. title description symbols grouping-kind) %container
     (values title
@@ -465,8 +456,7 @@
               ,@(make-symbols-listing grouping-kind symbols)))))
 
 
-(defmethod inspect-for-emacs ((package package) 
-                              (inspector fancy-inspector))
+(defmethod inspect-for-emacs ((package package))
   (declare (ignore inspector))
   (let ((package-name         (package-name package))
         (package-nicknames    (package-nicknames package))
@@ -561,8 +551,7 @@
                            :description nil)))))))
 
 
-(defmethod inspect-for-emacs ((pathname pathname) 
-                              (inspector fancy-inspector))
+(defmethod inspect-for-emacs ((pathname pathname))
   (declare (ignore inspector))
   (values (if (wild-pathname-p pathname)
               "A wild pathname."
@@ -579,8 +568,7 @@
                               (not (probe-file pathname)))
                     (label-value-line "Truename" (truename pathname))))))
 
-(defmethod inspect-for-emacs ((pathname logical-pathname) 
-                              (inspector fancy-inspector))
+(defmethod inspect-for-emacs ((pathname logical-pathname))
   (declare (ignore inspector))
   (values "A logical pathname."
           (append 
@@ -601,8 +589,7 @@
             ("Truename" (if (not (wild-pathname-p pathname))
                             (probe-file pathname)))))))
 
-(defmethod inspect-for-emacs ((n number) 
-                              (inspector fancy-inspector))
+(defmethod inspect-for-emacs ((n number))
   (declare (ignore inspector))
   (values "A number." `("Value: " ,(princ-to-string n))))
 
@@ -626,8 +613,7 @@
               year month day hour minute second
               include-timezone-p (format-iso8601-timezone zone)))))
 
-(defmethod inspect-for-emacs ((i integer) 
-                              (inspector fancy-inspector))
+(defmethod inspect-for-emacs ((i integer))
   (declare (ignore inspector))
   (values "A number."
           (append
@@ -640,16 +626,14 @@
            (ignore-errors
              (label-value-line "Universal-time" (format-iso8601-time i t))))))
 
-(defmethod inspect-for-emacs ((c complex) 
-                              (inspector fancy-inspector))
+(defmethod inspect-for-emacs ((c complex))
   (declare (ignore inspector))
   (values "A complex number."
           (label-value-line* 
            ("Real part" (realpart c))
            ("Imaginary part" (imagpart c)))))
 
-(defmethod inspect-for-emacs ((r ratio) 
-                              (inspector fancy-inspector))
+(defmethod inspect-for-emacs ((r ratio))
   (declare (ignore inspector))
   (values "A non-integer ratio."
           (label-value-line*
@@ -657,8 +641,7 @@
            ("Denominator" (denominator r))
            ("As float" (float r)))))
 
-(defmethod inspect-for-emacs ((f float) 
-                              (inspector fancy-inspector))
+(defmethod inspect-for-emacs ((f float))
   (declare (ignore inspector))
   (values "A floating point number."
           (cond
@@ -679,8 +662,7 @@
                 (label-value-line "Digits" (float-digits f))
                 (label-value-line "Precision" (float-precision f))))))))
 
-(defmethod inspect-for-emacs ((stream file-stream) 
-                              (inspector fancy-inspector))
+(defmethod inspect-for-emacs ((stream file-stream))
   (declare (ignore inspector))
   (multiple-value-bind (title content)
       (call-next-method)
@@ -699,8 +681,7 @@
                (:newline))
              content))))
 
-(defmethod inspect-for-emacs ((condition stream-error) 
-                              (inspector fancy-inspector))
+(defmethod inspect-for-emacs ((condition stream-error))
   (declare (ignore inspector))
   (multiple-value-bind (title content)
       (call-next-method)
@@ -724,14 +705,10 @@
 (defvar *fancy-inpector-undo-list* nil)
 
 (defslimefun fancy-inspector-init ()
-  (let ((i *default-inspector*))
-    (push (lambda () (setq *default-inspector* i))
-	  *fancy-inpector-undo-list*))
-  (setq *default-inspector* (make-instance 'fancy-inspector))
   t)
 
 (defslimefun fancy-inspector-unload ()
   (loop while *fancy-inpector-undo-list* do
 	(funcall (pop *fancy-inpector-undo-list*))))
 
-(provide :swank-fancy-inspector)
\ No newline at end of file
+(provide :swank-fancy-inspector)
