[bknr-cvs] r2452 - in branches/trunk-reorg/thirdparty/slime: . CVS contrib contrib/CVS doc/CVS

hhubner at common-lisp.net hhubner at common-lisp.net
Thu Feb 7 08:33:05 UTC 2008


Author: hhubner
Date: Thu Feb  7 03:32:58 2008
New Revision: 2452

Removed:
   branches/trunk-reorg/thirdparty/slime/CVS/Entries.Log
Modified:
   branches/trunk-reorg/thirdparty/slime/CVS/Entries
   branches/trunk-reorg/thirdparty/slime/ChangeLog
   branches/trunk-reorg/thirdparty/slime/contrib/CVS/Entries
   branches/trunk-reorg/thirdparty/slime/contrib/ChangeLog
   branches/trunk-reorg/thirdparty/slime/contrib/swank-arglists.lisp
   branches/trunk-reorg/thirdparty/slime/contrib/swank-fancy-inspector.lisp
   branches/trunk-reorg/thirdparty/slime/contrib/swank-presentation-streams.lisp
   branches/trunk-reorg/thirdparty/slime/doc/CVS/Entries
   branches/trunk-reorg/thirdparty/slime/slime-autoloads.el
   branches/trunk-reorg/thirdparty/slime/slime.el
   branches/trunk-reorg/thirdparty/slime/swank-abcl.lisp
   branches/trunk-reorg/thirdparty/slime/swank-allegro.lisp
   branches/trunk-reorg/thirdparty/slime/swank-backend.lisp
   branches/trunk-reorg/thirdparty/slime/swank-clisp.lisp
   branches/trunk-reorg/thirdparty/slime/swank-cmucl.lisp
   branches/trunk-reorg/thirdparty/slime/swank-corman.lisp
   branches/trunk-reorg/thirdparty/slime/swank-ecl.lisp
   branches/trunk-reorg/thirdparty/slime/swank-lispworks.lisp
   branches/trunk-reorg/thirdparty/slime/swank-loader.lisp
   branches/trunk-reorg/thirdparty/slime/swank-openmcl.lisp
   branches/trunk-reorg/thirdparty/slime/swank-sbcl.lisp
   branches/trunk-reorg/thirdparty/slime/swank-scl.lisp
   branches/trunk-reorg/thirdparty/slime/swank.lisp
Log:
delete unwanted file

Modified: branches/trunk-reorg/thirdparty/slime/CVS/Entries
==============================================================================
--- branches/trunk-reorg/thirdparty/slime/CVS/Entries	(original)
+++ branches/trunk-reorg/thirdparty/slime/CVS/Entries	Thu Feb  7 03:32:58 2008
@@ -1,35 +1,35 @@
 D/contrib////
 D/doc////
-/.cvsignore/1.5/Sun Apr  8 19:23:57 2007//
-/ChangeLog/1.1274/Sun Jan 27 22:03:20 2008//
-/HACKING/1.8/Sun Jan 27 22:03:20 2008//
-/NEWS/1.9/Sun Jan 27 22:03:20 2008//
-/PROBLEMS/1.8/Sun Jan 27 22:03:20 2008//
-/README/1.14/Sun Jan 27 22:03:20 2008//
-/hyperspec.el/1.11/Sun Jan 27 22:03:20 2008//
-/metering.lisp/1.4/Sun Jan 27 22:03:20 2008//
-/mkdist.sh/1.7/Sun Jan 27 22:03:20 2008//
-/nregex.lisp/1.4/Sun Jan 27 22:03:20 2008//
-/sbcl-pprint-patch.lisp/1.1/Sun Jan 27 22:03:20 2008//
-/slime-autoloads.el/1.3/Sun Jan 27 22:03:20 2008//
-/slime.el/1.896/Sun Jan 27 22:03:20 2008//
-/swank-abcl.lisp/1.44/Sun Jan 27 22:03:20 2008//
-/swank-allegro.lisp/1.98/Sun Jan 27 22:03:20 2008//
-/swank-backend.lisp/1.126/Sun Jan 27 22:03:21 2008//
-/swank-clisp.lisp/1.64/Sun Jan 27 22:03:21 2008//
-/swank-cmucl.lisp/1.175/Sun Jan 27 22:03:21 2008//
-/swank-corman.lisp/1.11/Sun Jan 27 22:03:21 2008//
-/swank-ecl.lisp/1.11/Sun Jan 27 22:03:21 2008//
-/swank-gray.lisp/1.10/Sun Jan 27 22:03:21 2008//
-/swank-lispworks.lisp/1.93/Sun Jan 27 22:03:21 2008//
-/swank-loader.lisp/1.75/Sun Jan 27 22:03:21 2008//
-/swank-openmcl.lisp/1.120/Sun Jan 27 22:03:21 2008//
-/swank-sbcl.lisp/1.187/Sun Jan 27 22:03:21 2008//
-/swank-scl.lisp/1.14/Sun Jan 27 22:03:21 2008//
-/swank-source-file-cache.lisp/1.8/Sun Jan 27 22:03:21 2008//
-/swank-source-path-parser.lisp/1.18/Sun Jan 27 22:03:21 2008//
-/swank.asd/1.5/Sun Jan 27 22:03:21 2008//
-/swank.lisp/1.523/Sun Jan 27 22:03:21 2008//
-/test-all.sh/1.2/Sun Jan 27 22:03:21 2008//
-/test.sh/1.9/Sun Jan 27 22:03:21 2008//
-/xref.lisp/1.2/Sun Jan 27 22:03:21 2008//
+/.cvsignore/1.5/Thu Oct 11 14:10:25 2007//
+/ChangeLog/1.1282/Thu Feb  7 08:07:30 2008//
+/HACKING/1.8/Thu Oct 11 14:10:25 2007//
+/NEWS/1.9/Sun Dec  2 04:22:09 2007//
+/PROBLEMS/1.8/Thu Oct 11 14:10:25 2007//
+/README/1.14/Thu Oct 11 14:10:25 2007//
+/hyperspec.el/1.11/Thu Oct 11 14:10:25 2007//
+/metering.lisp/1.4/Thu Oct 11 14:10:25 2007//
+/mkdist.sh/1.7/Thu Oct 11 14:10:25 2007//
+/nregex.lisp/1.4/Thu Oct 11 14:10:25 2007//
+/sbcl-pprint-patch.lisp/1.1/Thu Oct 11 14:10:25 2007//
+/slime-autoloads.el/1.4/Thu Feb  7 08:07:30 2008//
+/slime.el/1.901/Thu Feb  7 08:07:31 2008//
+/swank-abcl.lisp/1.45/Thu Feb  7 08:07:31 2008//
+/swank-allegro.lisp/1.99/Thu Feb  7 08:07:31 2008//
+/swank-backend.lisp/1.127/Thu Feb  7 08:07:31 2008//
+/swank-clisp.lisp/1.65/Thu Feb  7 08:07:31 2008//
+/swank-cmucl.lisp/1.176/Thu Feb  7 08:07:31 2008//
+/swank-corman.lisp/1.13/Thu Feb  7 08:07:31 2008//
+/swank-ecl.lisp/1.12/Thu Feb  7 08:07:31 2008//
+/swank-gray.lisp/1.10/Thu Oct 11 14:10:25 2007//
+/swank-lispworks.lisp/1.94/Thu Feb  7 08:07:31 2008//
+/swank-loader.lisp/1.77/Thu Feb  7 08:07:31 2008//
+/swank-openmcl.lisp/1.122/Thu Feb  7 08:07:31 2008//
+/swank-sbcl.lisp/1.189/Thu Feb  7 08:07:31 2008//
+/swank-scl.lisp/1.15/Thu Feb  7 08:07:31 2008//
+/swank-source-file-cache.lisp/1.8/Thu Oct 11 14:10:25 2007//
+/swank-source-path-parser.lisp/1.18/Thu Feb  7 07:59:36 2008//
+/swank.asd/1.5/Thu Oct 11 14:10:25 2007//
+/swank.lisp/1.527/Thu Feb  7 08:07:31 2008//
+/test-all.sh/1.2/Thu Oct 11 14:10:25 2007//
+/test.sh/1.9/Thu Oct 11 14:10:25 2007//
+/xref.lisp/1.2/Thu Oct 11 14:10:25 2007//

Modified: branches/trunk-reorg/thirdparty/slime/ChangeLog
==============================================================================
--- branches/trunk-reorg/thirdparty/slime/ChangeLog	(original)
+++ branches/trunk-reorg/thirdparty/slime/ChangeLog	Thu Feb  7 03:32:58 2008
@@ -1,7 +1,73 @@
+2008-02-05  Marco Baringer  <mb at bese.it>
+
+	* slime.el (slime-search-buffer-package): Ask the lisp to read the
+	in-package form so that we properly deal with #+foo and |WHATEVER|
+	package names.
+	(slime-repl-set-package): Only prompt with a default package if
+	the repl's package is different from the current package.
+
+2008-02-04  Marco Baringer  <mb at bese.it>
+
+	* swank-openmcl.lisp (ccl::advise ccl::break): advise the
+	lower-level ccl::cbreak-loop instead of cl:break.
+	(frame-locals): If the value is a value-cell (a closed over value)
+	show the closed over value and not the value cell.
+	(disassemble-frame): add in x86-64 code.
+
+	* slime-autoloads.el (slime-setup-contribs): Add contribs
+	directory to load-path.
+
+	* slime.el (slime-setup): Add contribs directory to load-path.
+
+	* swank-abcl.lisp, swank-allegro.lisp, swank-backend.lisp,
+	swank-clisp.lisp, swank-cmucl.lisp, swank-corman.lisp,
+	swank-ecl.lisp, swank-lispworks.lisp, swank-openmcl.lisp,
+	swank-sbcl.lisp, swank-scl.lisp, swank.lisp,
+	contrib/swank-fancy-inspector.lisp: Remove second argument from
+	swank:inspect-for-emacs. This functionality, choosing an inspector
+	at runtime, was never actually used and is, now, needless
+	complexity.
+
+2008-02-04  Helmut Eller  <heller at common-lisp.net>
+
+	Simpler code to bind 0-9 in the debugger.
+
+	* slime.el (sldb-mode-map): When binding the keys 0-9, use eval
+	instead of two macros.
+
+2008-02-04  Helmut Eller  <heller at common-lisp.net>
+
+	Move some functions to swank-arglist.lisp.
+
+	* swank.lisp (length=, ensure-list, recursively-empty-p)
+	(maybecall, exactly-one-p, read-softly-from-string)
+	(unintern-in-home-package, valid-function-name-p): Moved to
+	contrib/swank-arglist.lisp.
+
+2008-02-03  Marco Baringer  <mb at bese.it>
+
+	* swank.lisp (*sldb-condition-printer*): New variable.
+	(safe-condition-message): Use the current binding
+	of *sldb-condition-printer* to print the condition to a string.
+
+	* slime.el (sldb-invoke-restart-by-name): New function. Invokes a
+	restart by name, uses completion to read restart's name.
+	(slime-define-keys sldb-mode-map): Bind
+	sldb-invoke-restart-by-name to I in sldb buffers.
+
+	* swank-loader.lisp: When loading swank delete all swank packages
+	first. This protects the lisp from broken reloads of swank. Leave
+	the swank-loader package so that users can set *fasl-directory*
+	and *source-directory* as per the documentation.
+	(lisp-version-string): On openmcl use the full
+	cl:lisp-implementation-version, ccl::*openmcl-major-version* and
+	ccl::*openmcl-minor-version* aren't sufficently precise to notice
+	changes in openmcl's cvs.
+
 2008-01-27  Helmut Eller  <heller at common-lisp.net>
 
 	Make it easier to start a non-default Lisp from ELisp code.
-	
+
 	* slime.el (slime): If the argument is a symbol start the
 	corresponding entry in slime-lisp-implementations.
 	Typical use is something like:
@@ -15,7 +81,7 @@
 	(suppress-sharp-dot): unused, delete it.
 
 	* slime.el (test compile-defun): test with #+#.'(:and).
-	
+
 2008-01-21  Helmut Eller  <heller at common-lisp.net>
 
 	* slime.el (sldb-mode): Don't throw to toplevel in the

Modified: branches/trunk-reorg/thirdparty/slime/contrib/CVS/Entries
==============================================================================
--- branches/trunk-reorg/thirdparty/slime/contrib/CVS/Entries	(original)
+++ branches/trunk-reorg/thirdparty/slime/contrib/CVS/Entries	Thu Feb  7 03:32:58 2008
@@ -1,33 +1,37 @@
-/ChangeLog/1.82/Sun Jan 27 22:03:21 2008//
-/README/1.3/Sun Jan 27 22:03:21 2008//
-/bridge.el/1.1/Sun Jan 27 22:03:22 2008//
-/inferior-slime.el/1.2/Sun Jan 27 22:03:22 2008//
-/slime-asdf.el/1.3/Sun Jan 27 22:03:22 2008//
-/slime-autodoc.el/1.7/Sun Jan 27 22:03:22 2008//
-/slime-banner.el/1.4/Sun Jan 27 22:03:22 2008//
-/slime-c-p-c.el/1.8/Sun Jan 27 22:03:22 2008//
-/slime-editing-commands.el/1.6/Sun Jan 27 22:03:22 2008//
-/slime-fancy-inspector.el/1.2/Sun Jan 27 22:03:22 2008//
-/slime-fancy.el/1.4/Sun Jan 27 22:03:22 2008//
-/slime-fuzzy.el/1.6/Sun Jan 27 22:03:22 2008//
-/slime-highlight-edits.el/1.3/Sun Jan 27 22:03:22 2008//
-/slime-parse.el/1.10/Sun Jan 27 22:03:22 2008//
-/slime-presentation-streams.el/1.2/Sun Jan 27 22:03:22 2008//
-/slime-presentations.el/1.12/Sun Jan 27 22:03:22 2008//
-/slime-references.el/1.4/Sun Jan 27 22:03:22 2008//
-/slime-scheme.el/1.1/Wed Jan  9 18:30:26 2008//
-/slime-scratch.el/1.4/Sun Jan 27 22:03:22 2008//
-/slime-tramp.el/1.2/Sun Jan 27 22:03:22 2008//
-/slime-typeout-frame.el/1.6/Sun Jan 27 22:03:22 2008//
-/slime-xref-browser.el/1.1/Sun Jan 27 22:03:22 2008//
-/swank-arglists.lisp/1.18/Sun Jan 27 22:03:22 2008//
-/swank-asdf.lisp/1.1/Sun Jan 27 22:03:22 2008//
-/swank-c-p-c.lisp/1.2/Sun Jan 27 22:03:22 2008//
-/swank-fancy-inspector.lisp/1.5/Sun Jan 27 22:03:22 2008//
-/swank-fuzzy.lisp/1.7/Sun Jan 27 22:03:22 2008//
-/swank-goo.goo/1.1/Sat Jan 19 14:08:27 2008//
-/swank-kawa.scm/1.1/Sat Jan 19 14:08:27 2008//
-/swank-listener-hooks.lisp/1.1/Sun Jan 27 22:03:22 2008//
-/swank-presentation-streams.lisp/1.4/Sun Jan 27 22:03:22 2008//
-/swank-presentations.lisp/1.4/Sun Jan 27 22:03:22 2008//
+/ChangeLog/1.87/Thu Feb  7 08:07:31 2008//
+/README/1.3/Thu Oct 11 14:10:25 2007//
+/bridge.el/1.1/Thu Oct 11 14:10:25 2007//
+/inferior-slime.el/1.2/Thu Oct 11 14:10:25 2007//
+/slime-asdf.el/1.3/Thu Oct 11 14:10:25 2007//
+/slime-autodoc.el/1.7/Thu Feb  7 07:59:35 2008//
+/slime-banner.el/1.4/Thu Oct 11 14:10:25 2007//
+/slime-c-p-c.el/1.8/Thu Oct 11 14:10:25 2007//
+/slime-editing-commands.el/1.6/Thu Feb  7 07:59:35 2008//
+/slime-fancy-inspector.el/1.2/Thu Oct 11 14:10:25 2007//
+/slime-fancy.el/1.4/Thu Oct 11 14:10:25 2007//
+/slime-fuzzy.el/1.6/Thu Feb  7 07:59:35 2008//
+/slime-highlight-edits.el/1.3/Thu Oct 11 14:10:25 2007//
+/slime-indentation.el/1.1/Sun Feb  3 18:45:14 2008//
+/slime-motd.el/1.1/Sun Feb  3 18:39:23 2008//
+/slime-parse.el/1.10/Thu Feb  7 07:59:35 2008//
+/slime-presentation-streams.el/1.2/Thu Oct 11 14:10:25 2007//
+/slime-presentations.el/1.12/Thu Feb  7 07:59:35 2008//
+/slime-references.el/1.4/Thu Oct 11 14:10:25 2007//
+/slime-scheme.el/1.1/Thu Feb  7 08:07:31 2008//
+/slime-scratch.el/1.4/Thu Oct 11 14:10:25 2007//
+/slime-tramp.el/1.2/Thu Oct 11 14:10:25 2007//
+/slime-typeout-frame.el/1.6/Thu Feb  7 07:59:35 2008//
+/slime-xref-browser.el/1.1/Thu Oct 11 14:10:25 2007//
+/swank-arglists.lisp/1.20/Thu Feb  7 08:07:31 2008//
+/swank-asdf.lisp/1.1/Thu Oct 11 14:10:25 2007//
+/swank-c-p-c.lisp/1.2/Thu Oct 11 14:10:25 2007//
+/swank-fancy-inspector.lisp/1.7/Thu Feb  7 08:07:32 2008//
+/swank-fuzzy.lisp/1.7/Thu Feb  7 07:59:35 2008//
+/swank-goo.goo/1.1/Thu Feb  7 08:07:32 2008//
+/swank-indentation.lisp/1.1/Sun Feb  3 18:45:14 2008//
+/swank-kawa.scm/1.1/Thu Feb  7 08:07:32 2008//
+/swank-listener-hooks.lisp/1.1/Thu Oct 11 14:10:25 2007//
+/swank-motd.lisp/1.1/Sun Feb  3 18:39:23 2008//
+/swank-presentation-streams.lisp/1.5/Thu Feb  7 08:07:32 2008//
+/swank-presentations.lisp/1.4/Thu Oct 11 14:10:25 2007//
 D

Modified: branches/trunk-reorg/thirdparty/slime/contrib/ChangeLog
==============================================================================
--- branches/trunk-reorg/thirdparty/slime/contrib/ChangeLog	(original)
+++ branches/trunk-reorg/thirdparty/slime/contrib/ChangeLog	Thu Feb  7 03:32:58 2008
@@ -1,7 +1,37 @@
+2008-02-04  Marco Baringer  <mb at bese.it>
+
+	* swank-presentation-streams.lisp (presenting-object-1): Add
+	declare special *record-repl-results* to silence compiler
+	warnings.
+
+	* swank-arglists.lisp (arglist-dispatch): Specialize operator-type
+	so openmcl doesn't warn about unused arguments.
+	(arglist-dispatch): add declare ignore form.
+
+2008-02-04  Helmut Eller  <heller at common-lisp.net>
+
+	Move some functions to swank-arglist.lisp.
+
+	* swank-arglist.lisp (length=, ensure-list, recursively-empty-p)
+	(maybecall, exactly-one-p, read-softly-from-string)
+	(unintern-in-home-package, valid-function-name-p): Moved from
+	swank.lisp. to contrib/swank-arglist.lisp.
+
+2008-02-03  Marco Baringer  <mb at bese.it>
+
+	* swank-motd.lisp, slime-motd.el: Message Of The Day printing for
+	slime.
+
+	* slime-indentation.el: Integrate cl-indent.el into slime's
+	contrib infrastructure. Fix bug in &rest.
+
+	* swank-indentation.lisp: Allow an application runnig under slime
+	to update emacs' indentation notes.
+
 2008-01-27  Helmut Eller  <heller at common-lisp.net>
 
 	Make autodoc use the correct width of the typeout-window.
-	
+
 	* slime-autodoc.el (slime-autodoc-dimensions-function): New
 	variable.
 	(slime-autodoc-message-dimensions): Use it.
@@ -13,7 +43,7 @@
 2008-01-27  Helmut Eller  <heller at common-lisp.net>
 
 	Use slime-require instead of a connected-hook.
-	
+
 	* slime-autodoc.el (slime-autodoc-on-connect): Deleted.
 
 2008-01-20  Matthias Koeppe  <mkoeppe at mail.math.uni-magdeburg.de>

Modified: branches/trunk-reorg/thirdparty/slime/contrib/swank-arglists.lisp
==============================================================================
--- branches/trunk-reorg/thirdparty/slime/contrib/swank-arglists.lisp	(original)
+++ branches/trunk-reorg/thirdparty/slime/contrib/swank-arglists.lisp	Thu Feb  7 03:32:58 2008
@@ -12,6 +12,40 @@
 (eval-when (:compile-toplevel :load-toplevel :execute)
   (swank-require :swank-c-p-c))
 
+(defun length= (seq n)
+  "Test for whether SEQ contains N number of elements. I.e. it's equivalent
+ to (= (LENGTH SEQ) N), but besides being more concise, it may also be more
+ efficiently implemented."
+  (etypecase seq 
+    (list (do ((i n (1- i))
+               (list seq (cdr list)))
+              ((or (<= i 0) (null list))
+               (and (zerop i) (null list)))))
+    (sequence (= (length seq) n))))
+
+(defun ensure-list (thing)
+  (if (listp thing) thing (list thing)))
+
+(defun recursively-empty-p (list)
+  "Returns whether LIST consists only of arbitrarily nested empty lists."
+  (cond ((not (listp list)) nil)
+	((null list) t)
+	(t (every #'recursively-empty-p list))))
+
+(defun maybecall (bool fn &rest args)
+  "Call FN with ARGS if BOOL is T. Otherwise return ARGS as multiple values."
+  (if bool (apply fn args) (values-list args)))
+
+(defun exactly-one-p (&rest values)
+  "If exactly one value in VALUES is non-NIL, this value is returned.
+Otherwise NIL is returned."
+  (let ((found nil))
+    (dolist (v values)
+      (when v (if found
+                  (return-from exactly-one-p nil)
+                  (setq found v))))
+    found))
+
 (defun valid-operator-symbol-p (symbol)
   "Is SYMBOL the name of a function, a macro, or a special-operator?"
   (or (fboundp symbol)
@@ -24,6 +58,14 @@
   (let ((symbol (parse-symbol string)))
     (valid-operator-symbol-p symbol)))
 
+(defun valid-function-name-p (form)
+  (or (symbolp form)
+      (and (consp form)
+           (second form)
+           (not (third form))
+           (eq (first form) 'setf)
+           (symbolp (second form)))))
+
 (defslimefun arglist-for-echo-area (raw-specs &key arg-indices
                                                    print-right-margin print-lines)
   "Return the arglist for the first valid ``form spec'' in
@@ -243,6 +285,29 @@
     (assert (= pos (length string)))
     (values sexp interned?)))
 
+(defun read-softly-from-string (string)
+  "Returns three values:
+
+     1. the object resulting from READing STRING.
+
+     2. The index of the first character in STRING that was not read.
+
+     3. T if the object is a symbol that had to be newly interned
+        in some package. (This does not work for symbols in
+        compound forms like lists or vectors.)"
+  (multiple-value-bind (symbol found? symbol-name package) (parse-symbol string)
+    (if found?
+        (values symbol (length string) nil)
+        (multiple-value-bind (sexp pos) (read-from-string string)
+          (values sexp pos
+                  (when (symbolp sexp)
+                    (prog1 t
+                      ;; assert that PARSE-SYMBOL didn't parse incorrectly.
+                      (assert (and (equal symbol-name (symbol-name sexp))
+                                   (eq package (symbol-package sexp)))))))))))
+
+(defun unintern-in-home-package (symbol)
+  (unintern symbol (symbol-package symbol)))
 
 (defstruct (arglist (:conc-name arglist.) (:predicate arglist-p))
   provided-args         ; list of the provided actual arguments
@@ -1022,7 +1087,7 @@
 
 (defgeneric arglist-dispatch (operator-type operator arguments &key remove-args))
   
-(defmethod arglist-dispatch (operator-type operator arguments &key (remove-args t))
+(defmethod arglist-dispatch ((operator-type t) operator arguments &key (remove-args t))
   (when (and (symbolp operator)
              (valid-operator-symbol-p operator))
     (multiple-value-bind (decoded-arglist determining-args any-enrichment)
@@ -1075,7 +1140,7 @@
 (defmethod arglist-dispatch ((operator-type (eql :function)) (operator (eql 'declare))
                              arguments &key (remove-args t))
   ;; Catching 'DECLARE before SWANK-BACKEND:ARGLIST can barf.
-  (declare (ignore remove-args))
+  (declare (ignore remove-args arguments))
   (make-arglist :rest '#:decl-specifiers))
 
 (defmethod arglist-dispatch ((operator-type (eql :declaration))

Modified: branches/trunk-reorg/thirdparty/slime/contrib/swank-fancy-inspector.lisp
==============================================================================
--- branches/trunk-reorg/thirdparty/slime/contrib/swank-fancy-inspector.lisp	(original)
+++ branches/trunk-reorg/thirdparty/slime/contrib/swank-fancy-inspector.lisp	Thu Feb  7 03:32:58 2008
@@ -6,12 +6,7 @@
 
 (in-package :swank)
 
-;; 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 +89,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 +122,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 +186,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 +224,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 +247,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 +267,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 +326,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 +342,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,9 +434,7 @@
                         (:newline)
                         )))))
 
-(defmethod inspect-for-emacs ((%container %package-symbols-container) 
-                              (inspector fancy-inspector))
-  (declare (ignore inspector))
+(defmethod inspect-for-emacs ((%container %package-symbols-container))
   (with-struct (%container. title description symbols grouping-kind) %container
     (values title
             `(, at description
@@ -464,10 +451,7 @@
               (:newline) (:newline)
               ,@(make-symbols-listing grouping-kind symbols)))))
 
-
-(defmethod inspect-for-emacs ((package package) 
-                              (inspector fancy-inspector))
-  (declare (ignore inspector))
+(defmethod inspect-for-emacs ((package package))
   (let ((package-name         (package-name package))
         (package-nicknames    (package-nicknames package))
         (package-use-list     (package-use-list package))
@@ -561,9 +545,7 @@
                            :description nil)))))))
 
 
-(defmethod inspect-for-emacs ((pathname pathname) 
-                              (inspector fancy-inspector))
-  (declare (ignore inspector))
+(defmethod inspect-for-emacs ((pathname pathname))
   (values (if (wild-pathname-p pathname)
               "A wild pathname."
               "A pathname.")
@@ -579,9 +561,7 @@
                               (not (probe-file pathname)))
                     (label-value-line "Truename" (truename pathname))))))
 
-(defmethod inspect-for-emacs ((pathname logical-pathname) 
-                              (inspector fancy-inspector))
-  (declare (ignore inspector))
+(defmethod inspect-for-emacs ((pathname logical-pathname))
   (values "A logical pathname."
           (append 
            (label-value-line*
@@ -601,9 +581,7 @@
             ("Truename" (if (not (wild-pathname-p pathname))
                             (probe-file pathname)))))))
 
-(defmethod inspect-for-emacs ((n number) 
-                              (inspector fancy-inspector))
-  (declare (ignore inspector))
+(defmethod inspect-for-emacs ((n number))
   (values "A number." `("Value: " ,(princ-to-string n))))
 
 (defun format-iso8601-time (time-value &optional include-timezone-p)
@@ -626,9 +604,7 @@
               year month day hour minute second
               include-timezone-p (format-iso8601-timezone zone)))))
 
-(defmethod inspect-for-emacs ((i integer) 
-                              (inspector fancy-inspector))
-  (declare (ignore inspector))
+(defmethod inspect-for-emacs ((i integer))
   (values "A number."
           (append
            `(,(format nil "Value: ~D = #x~8,'0X = #o~O = #b~,,' ,8:B~@[ = ~E~]"
@@ -640,26 +616,20 @@
            (ignore-errors
              (label-value-line "Universal-time" (format-iso8601-time i t))))))
 
-(defmethod inspect-for-emacs ((c complex) 
-                              (inspector fancy-inspector))
-  (declare (ignore inspector))
+(defmethod inspect-for-emacs ((c complex))
   (values "A complex number."
           (label-value-line* 
            ("Real part" (realpart c))
            ("Imaginary part" (imagpart c)))))
 
-(defmethod inspect-for-emacs ((r ratio) 
-                              (inspector fancy-inspector))
-  (declare (ignore inspector))
+(defmethod inspect-for-emacs ((r ratio))
   (values "A non-integer ratio."
           (label-value-line*
            ("Numerator" (numerator r))
            ("Denominator" (denominator r))
            ("As float" (float r)))))
 
-(defmethod inspect-for-emacs ((f float) 
-                              (inspector fancy-inspector))
-  (declare (ignore inspector))
+(defmethod inspect-for-emacs ((f float))
   (values "A floating point number."
           (cond
             ((> f most-positive-long-float)
@@ -679,9 +649,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))
-  (declare (ignore inspector))
+(defmethod inspect-for-emacs ((stream file-stream))
   (multiple-value-bind (title content)
       (call-next-method)
     (declare (ignore title))
@@ -699,9 +667,7 @@
                (:newline))
              content))))
 
-(defmethod inspect-for-emacs ((condition stream-error) 
-                              (inspector fancy-inspector))
-  (declare (ignore inspector))
+(defmethod inspect-for-emacs ((condition stream-error))
   (multiple-value-bind (title content)
       (call-next-method)
     (let ((stream (stream-error-stream condition)))
@@ -724,14 +690,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)

Modified: branches/trunk-reorg/thirdparty/slime/contrib/swank-presentation-streams.lisp
==============================================================================
--- branches/trunk-reorg/thirdparty/slime/contrib/swank-presentation-streams.lisp	(original)
+++ branches/trunk-reorg/thirdparty/slime/contrib/swank-presentation-streams.lisp	Thu Feb  7 03:32:58 2008
@@ -210,6 +210,9 @@
 (defun presenting-object-1 (object stream continue)
   "Uses the bridge mechanism with two messages >id and <id. The first one
 says that I am starting to print an object with this id. The second says I am finished"
+  ;; this declare special is to let the compiler know that *record-repl-results* will eventually be
+  ;; a global special, even if it isn't when this file is compiled/loaded.
+  (declare (special *record-repl-results*))
   (let ((slime-stream-p 
 	 (and *record-repl-results* (slime-stream-p stream))))
     (if slime-stream-p

Modified: branches/trunk-reorg/thirdparty/slime/doc/CVS/Entries
==============================================================================
--- branches/trunk-reorg/thirdparty/slime/doc/CVS/Entries	(original)
+++ branches/trunk-reorg/thirdparty/slime/doc/CVS/Entries	Thu Feb  7 03:32:58 2008
@@ -1,9 +1,9 @@
-/.cvsignore/1.1/Mon Jul 24 14:13:23 2006//
-/Makefile/1.12/Sun Jan 27 22:03:22 2008//
-/slime-refcard.pdf/1.1/Sun Jan 27 22:03:22 2008//
-/slime-refcard.tex/1.1/Sun Jan 27 22:03:22 2008//
-/slime-small.eps/1.1/Sun Jan 27 22:03:22 2008//
-/slime-small.pdf/1.1/Sun Jan 27 22:03:22 2008//
-/slime.texi/1.64/Sun Jan 27 22:03:22 2008//
-/texinfo-tabulate.awk/1.2/Sun Jan 27 22:03:22 2008//
+/.cvsignore/1.1/Thu Oct 11 14:10:24 2007//
+/Makefile/1.12/Thu Oct 11 14:10:24 2007//
+/slime-refcard.pdf/1.1/Thu Oct 11 14:10:24 2007//
+/slime-refcard.tex/1.1/Thu Oct 11 14:10:24 2007//
+/slime-small.eps/1.1/Thu Oct 11 14:10:24 2007//
+/slime-small.pdf/1.1/Thu Oct 11 14:10:24 2007//
+/slime.texi/1.64/Thu Feb  7 07:59:33 2008//
+/texinfo-tabulate.awk/1.2/Thu Oct 11 14:10:24 2007//
 D

Modified: branches/trunk-reorg/thirdparty/slime/slime-autoloads.el
==============================================================================
--- branches/trunk-reorg/thirdparty/slime/slime-autoloads.el	(original)
+++ branches/trunk-reorg/thirdparty/slime/slime-autoloads.el	Thu Feb  7 03:32:58 2008
@@ -39,11 +39,16 @@
 (defvar slime-setup-contribs nil)
 
 (defun slime-setup-contribs () 
-  (dolist (c slime-setup-contribs)
-    (require c)
-    (let ((init (intern (format "%s-init" c))))
-      (when (fboundp init)
-        (funcall init)))))
+  (when slime-setup-contribs
+    (pushnew (file-name-as-directory
+              (expand-file-name (concat slime-path "contribs")))
+             load-path
+             :test 'string=)    
+    (dolist (c slime-setup-contribs)
+      (require c)
+      (let ((init (intern (format "%s-init" c))))
+        (when (fboundp init)
+          (funcall init))))))
 
 (provide 'slime-autoloads)
 

Modified: branches/trunk-reorg/thirdparty/slime/slime.el
==============================================================================
--- branches/trunk-reorg/thirdparty/slime/slime.el	(original)
+++ branches/trunk-reorg/thirdparty/slime/slime.el	Thu Feb  7 03:32:58 2008
@@ -71,11 +71,16 @@
 CONTRIBS is a list of contrib packages to load."
   (when (member 'lisp-mode slime-lisp-modes)
     (add-hook 'lisp-mode-hook 'slime-lisp-mode-hook))
-  (dolist (c contribs)
-    (require c)
-    (let ((init (intern (format "%s-init" c))))
-      (when (fboundp init)
-        (funcall init)))))
+  (when contribs
+    (pushnew (file-name-as-directory
+              (expand-file-name (concat slime-path "contribs")))
+             load-path
+             :test 'string=)
+    (dolist (c contribs)
+      (require c)
+      (let ((init (intern (format "%s-init" c))))
+        (when (fboundp init)
+          (funcall init))))))
 
 (defun slime-lisp-mode-hook ()
   (slime-mode 1)
@@ -2262,7 +2267,11 @@
     (save-excursion
       (when (or (re-search-backward regexp nil t)
                 (re-search-forward regexp nil t))
-        (match-string-no-properties 2)))))
+        ;; package name can be a string designator, convert it to a string.
+        ;;(slime-eval `(cl:string (cl:second (cl:read-from-string ,(match-string-no-properties 0))))
+        ;;            "COMMON-LISP-USER")
+        (match-string-no-properties 2)
+        ))))
 
 ;;; Synchronous requests are implemented in terms of asynchronous
 ;;; ones. We make an asynchronous request with a continuation function
@@ -3312,8 +3321,12 @@
 
 (defun slime-repl-set-package (package)
   "Set the package of the REPL buffer to PACKAGE."
-  (interactive (list (slime-read-package-name
-                      "Package: " (slime-pretty-find-buffer-package))))
+  (interactive (list (slime-read-package-name "Package: "
+                                              (if (string= (slime-current-package)
+                                                           (with-current-buffer (slime-repl-buffer)
+                                                             (slime-current-package)))
+                                                nil
+                                                (slime-pretty-find-buffer-package)))))
   (with-current-buffer (slime-output-buffer)
     (let ((unfinished-input (slime-repl-current-input)))
       (destructuring-bind (name prompt-string)
@@ -6551,6 +6564,7 @@
   (">"    'sldb-end-of-backtrace)
   ("t"    'sldb-toggle-details)
   ("r"    'sldb-restart-frame)
+  ("I"    'sldb-invoke-restart-by-name)
   ("R"    'sldb-return-from-frame)
   ("c"    'sldb-continue)
   ("s"    'sldb-step)
@@ -6573,23 +6587,14 @@
         (define-key sldb-mode-map key command)))))
 
 ;; Keys 0-9 are shortcuts to invoke particular restarts.
-(defmacro define-sldb-invoke-restart-key (number key)
+(dotimes (number 10)
   (let ((fname (intern (format "sldb-invoke-restart-%S" number)))
         (docstring (format "Invoke restart numbered %S." number)))
-    `(progn
-       (defun ,fname ()
-         ,docstring
-	 (interactive)
-	 (sldb-invoke-restart ,number))
-       (define-key sldb-mode-map ,key ',fname))))
-
-(defmacro define-sldb-invoke-restart-keys (from to)
-  `(progn
-     ,@(loop for n from from to to
-	     collect `(define-sldb-invoke-restart-key ,n
-			,(number-to-string n)))))
-
-(define-sldb-invoke-restart-keys 0 9)
+    (eval `(defun ,fname ()
+             ,docstring
+             (interactive)
+             (sldb-invoke-restart ,number)))
+    (define-key sldb-mode-map (number-to-string number) fname)))
 
 

 ;;;;; SLDB buffer creation & update
@@ -7223,6 +7228,14 @@
       ((:ok value) (message "Restart returned: %s" value))
       ((:abort)))))
 
+(defun sldb-invoke-restart-by-name (restart-name)
+  (interactive (list (completing-read "Restart: "
+                                      sldb-restarts nil t
+                                      ""
+                                      'sldb-invoke-restart-by-name)))
+  (sldb-invoke-restart (position restart-name sldb-restarts 
+                                 :test 'string= :key 'first)))
+
 (defun sldb-break-with-default-debugger ()
   "Enter default debugger."
   (interactive)

Modified: branches/trunk-reorg/thirdparty/slime/swank-abcl.lisp
==============================================================================
--- branches/trunk-reorg/thirdparty/slime/swank-abcl.lisp	(original)
+++ branches/trunk-reorg/thirdparty/slime/swank-abcl.lisp	Thu Feb  7 03:32:58 2008
@@ -421,14 +421,7 @@
 
 ;;;; Inspecting
 
-(defclass abcl-inspector (backend-inspector) ())
-
-(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 +436,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 +453,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)

Modified: branches/trunk-reorg/thirdparty/slime/swank-allegro.lisp
==============================================================================
--- branches/trunk-reorg/thirdparty/slime/swank-allegro.lisp	(original)
+++ branches/trunk-reorg/thirdparty/slime/swank-allegro.lisp	Thu Feb  7 03:32:58 2008
@@ -564,13 +564,7 @@
 
 ;;;; Inspecting
 
-(defclass acl-inspector (backend-inspector) ())
-
-(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 +573,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)

Modified: branches/trunk-reorg/thirdparty/slime/swank-backend.lisp
==============================================================================
--- branches/trunk-reorg/thirdparty/slime/swank-backend.lisp	(original)
+++ branches/trunk-reorg/thirdparty/slime/swank-backend.lisp	Thu Feb  7 03:32:58 2008
@@ -840,26 +840,10 @@
 

 ;;;; 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.
 
-The argument INSPECTOR is an object representing how to get at
-the internals of OBJECT, it is usually an implementation specific
-class used simply for dispatching to the proper method.
-
 Returns two values: a string which will be used as the title of
 the inspector buffer and a list specifying how to render the
 object for inspection.
@@ -880,12 +864,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)

Modified: branches/trunk-reorg/thirdparty/slime/swank-clisp.lisp
==============================================================================
--- branches/trunk-reorg/thirdparty/slime/swank-clisp.lisp	(original)
+++ branches/trunk-reorg/thirdparty/slime/swank-clisp.lisp	Thu Feb  7 03:32:58 2008
@@ -627,12 +627,7 @@
 
 ;;;; Inspecting
 
-(defclass clisp-inspector (backend-inspector) ())
-
-(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*)

Modified: branches/trunk-reorg/thirdparty/slime/swank-cmucl.lisp
==============================================================================
--- branches/trunk-reorg/thirdparty/slime/swank-cmucl.lisp	(original)
+++ branches/trunk-reorg/thirdparty/slime/swank-cmucl.lisp	Thu Feb  7 03:32:58 2008
@@ -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*

Modified: branches/trunk-reorg/thirdparty/slime/swank-corman.lisp
==============================================================================
--- branches/trunk-reorg/thirdparty/slime/swank-corman.lisp	(original)
+++ branches/trunk-reorg/thirdparty/slime/swank-corman.lisp	Thu Feb  7 03:32:58 2008
@@ -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.")
@@ -475,7 +464,7 @@
                               (not (probe-file pathname)))
                     (label-value-line "Truename" (truename pathname))))))
 
-(defmethod inspect-for-emacs ((o t) (inspector backend-inspector))
+(defmethod inspect-for-emacs ((o t))
   (cond ((cl::structurep o) (inspect-structure o))
 	(t (call-next-method))))
 

Modified: branches/trunk-reorg/thirdparty/slime/swank-ecl.lisp
==============================================================================
--- branches/trunk-reorg/thirdparty/slime/swank-ecl.lisp	(original)
+++ branches/trunk-reorg/thirdparty/slime/swank-ecl.lisp	Thu Feb  7 03:32:58 2008
@@ -248,13 +248,7 @@
 
 ;;;; Inspector
 
-(defclass ecl-inspector (inspector)
-  ())
-
-(defimplementation make-default-inspector ()
-  (make-instance 'ecl-inspector))
-
-(defmethod inspect-for-emacs ((o t) (inspector backend-inspector))
+(defmethod inspect-for-emacs ((o t))
   ; ecl clos support leaves some to be desired
   (cond
     ((streamp o)

Modified: branches/trunk-reorg/thirdparty/slime/swank-lispworks.lisp
==============================================================================
--- branches/trunk-reorg/thirdparty/slime/swank-lispworks.lisp	(original)
+++ branches/trunk-reorg/thirdparty/slime/swank-lispworks.lisp	Thu Feb  7 03:32:58 2008
@@ -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)

Modified: branches/trunk-reorg/thirdparty/slime/swank-loader.lisp
==============================================================================
--- branches/trunk-reorg/thirdparty/slime/swank-loader.lisp	(original)
+++ branches/trunk-reorg/thirdparty/slime/swank-loader.lisp	Thu Feb  7 03:32:58 2008
@@ -18,6 +18,12 @@
 ;;   (defparameter swank-loader::*fasl-directory* "/tmp/fasl/")
 ;;   (load ".../swank-loader.lisp")
 
+(eval-when (:compile-toplevel :load-toplevel :execute)
+  (when (find-package :swank)
+    (delete-package :swank)
+    (delete-package :swank-io-package)
+    (delete-package :swank-backend)))
+
 (cl:defpackage :swank-loader
   (:use :cl)
   (:export :load-swank
@@ -60,14 +66,9 @@
     :sparc64 :sparc :hppa64 :hppa))
 
 (defun lisp-version-string ()
-  #+cmu       (substitute-if #\_ (lambda (x) (find x " /"))
+  #+(or openmcl cmu)       (substitute-if #\_ (lambda (x) (find x " /"))
                              (lisp-implementation-version))
-  #+scl       (lisp-implementation-version)
-  #+sbcl      (lisp-implementation-version)
-  #+ecl       (lisp-implementation-version)
-  #+openmcl   (format nil "~d.~d"
-                      ccl::*openmcl-major-version*
-                      ccl::*openmcl-minor-version*)
+  #+(or cormanlisp scl sbcl ecl)       (lisp-implementation-version)
   #+lispworks (lisp-implementation-version)
   #+allegro   (format nil
                       "~A~A~A"
@@ -76,8 +77,7 @@
                       (if (member :64bit *features*) "-64bit" ""))
   #+clisp     (let ((s (lisp-implementation-version)))
                 (subseq s 0 (position #\space s)))
-  #+armedbear (lisp-implementation-version)
-  #+cormanlisp (lisp-implementation-version))
+  #+armedbear (lisp-implementation-version))
 
 (defun unique-directory-name ()
   "Return a name that can be used as a directory name that is

Modified: branches/trunk-reorg/thirdparty/slime/swank-openmcl.lisp
==============================================================================
--- branches/trunk-reorg/thirdparty/slime/swank-openmcl.lisp	(original)
+++ branches/trunk-reorg/thirdparty/slime/swank-openmcl.lisp	Thu Feb  7 03:32:58 2008
@@ -211,14 +211,18 @@
 
 (defvar *break-in-sldb* t)
 
+
 (let ((ccl::*warn-if-redefine-kernel* nil))
-  (ccl::advise 
-   cl::break 
+  (ccl::advise
+   ccl::cbreak-loop
    (if (and *break-in-sldb* 
-            (find ccl::*current-process* (symbol-value (intern "*CONNECTIONS*" 'swank))
-                  :key (intern "CONNECTION.REPL-THREAD" 'swank)))
+            (find ccl::*current-process*
+                  (symbol-value (intern (string :*connections*) :swank))
+                  :key (intern (string :connection.repl-thread) :swank)))
        (apply 'break-in-sldb ccl::arglist)
-       (:do-it)) :when :around :name sldb-break))
+       (:do-it))
+   :when :around
+   :name sldb-break))
 
 (defun break-in-sldb (&optional string &rest args)
   (let ((c (make-condition 'simple-condition
@@ -335,8 +339,7 @@
                      for (value nil name) = (multiple-value-list (ccl::nth-value-in-frame p count context lfun pc vsp parent-vsp))
                      when name do (incf varcount)
                      until (= varcount var)
-                     finally (return value))
-               )))))))
+                     finally (return value)))))))))
 
 (defun xref-locations (relation name &optional (inverse nil))
   (flet ((function-source-location (entry)
@@ -345,8 +348,8 @@
                 (ccl::%db-key-from-xref-entry entry)
                 (if (eql (ccl::xref-entry-type entry)
                          'macro)
-                    'function
-                    (ccl::xref-entry-type entry)))
+                  'function
+                  (ccl::xref-entry-type entry)))
              (cond ((not info)
                     (list :error
                           (format nil "No source info available for ~A"
@@ -466,7 +469,8 @@
   (setq ccl::*fasl-save-definitions* nil)
   (setq ccl::*fasl-save-doc-strings* t)
   (setq ccl::*fasl-save-local-symbols* t)
-  (setq ccl::*ppc2-compiler-register-save-label* t) 
+  #+ppc (setq ccl::*ppc2-compiler-register-save-label* t)
+  #+x86-64 (setq ccl::*x862-compiler-register-save-label* t)
   (setq ccl::*save-arglist-info* t)
   (setq ccl::*save-definitions* nil)
   (setq ccl::*save-doc-strings* t)
@@ -513,9 +517,8 @@
 
 (defun frame-arguments (p context lfun pc)
   "Returns a string representing the arguments of a frame."
-  (multiple-value-bind (args types names count nclosed)
+  (multiple-value-bind (args types names)
       (ccl::frame-supplied-args p lfun pc nil context)
-    (declare (ignore count nclosed))
     (let ((result nil))
       (loop named loop
          for var = (cond
@@ -575,7 +578,9 @@
                    (push (list 
                           :name name
                           :id 0
-                          :value var)
+                          :value (if (typep var 'ccl::value-cell)
+                                     (ccl::uvref var 0)
+                                     var))
                          result))))
              (return-from frame-locals (nreverse result)))))))))
 
@@ -610,19 +615,24 @@
          (when (= frame-number the-frame-number)
            (setq function-to-disassemble lfun)
            (return-from find-frame)))))
-    (ccl::print-ppc-instructions 
-     *standard-output* 
-     (ccl::function-to-dll-header function-to-disassemble) nil)))
+    #+ppc (ccl::print-ppc-instructions 
+           *standard-output* 
+           (ccl::function-to-dll-header function-to-disassemble)
+           nil)
+    #+x86-64 (ccl::x8664-xdisassemble function-to-disassemble)))
 
 ;;;
 
-(defun canonicalize-location (file symbol)
+(defun canonicalize-location (file symbol &optional snippet)
   (etypecase file
     ((or string pathname)
      (multiple-value-bind (truename c) (ignore-errors (namestring (truename file)))
        (cond (c (list :error (princ-to-string c)))
              (t (make-location (list :file (remove-filename-quoting truename))
-                               (list :function-name (princ-to-string symbol)))))))))
+                               (list :function-name (princ-to-string symbol))
+                               (if snippet
+                                   (list :snippet snippet)
+                                   '()))))))))
 
 (defun remove-filename-quoting (string)
   (if (search "\\" string)
@@ -644,20 +654,20 @@
                       (list (list type symbol) 
                             (canonicalize-location file symbol))))))
 
-
 (defun function-source-location (function)
-  (multiple-value-bind (info name) (ccl::edit-definition-p function)
+  (multiple-value-bind (info name)
+      (ccl::edit-definition-p function)
     (cond ((not info) (list :error (format nil "No source info available for ~A" function)))
           ((typep (caar info) 'ccl::method)
            `(:location 
              (:file ,(remove-filename-quoting (namestring (translate-logical-pathname (cdr (car info))) )))
              (:method  ,(princ-to-string (ccl::method-name (caar info)))
-               ,(mapcar 'princ-to-string
-                        (mapcar #'specializer-name
-                                (ccl::method-specializers (caar info))))
-               ,@(mapcar 'princ-to-string (ccl::method-qualifiers (caar info))))
+                       ,(mapcar 'princ-to-string
+                                (mapcar #'specializer-name
+                                        (ccl::method-specializers (caar info))))
+                       ,@(mapcar 'princ-to-string (ccl::method-qualifiers (caar info))))
              nil))
-          (t (canonicalize-location (cdr (first info)) name)))))
+          (t (canonicalize-location (second (first info)) name (third (first info)))))))
 
 (defimplementation frame-source-location-for-emacs (index)
   "Return to Emacs the location of the source code for the
@@ -693,6 +703,7 @@
                         ,form)))
              )))))))
 
+#+ppc
 (defimplementation return-from-frame (index form)
   (let ((values (multiple-value-list (eval-in-frame form index))))
     (map-backtrace
@@ -700,7 +711,8 @@
        (declare (ignore context lfun pc))
        (when (= frame-number index)
          (ccl::apply-in-frame p #'values values))))))
- 
+
+#+ppc
 (defimplementation restart-frame (index)
   (map-backtrace
    (lambda (frame-number p context lfun pc)
@@ -784,19 +796,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,7 +820,7 @@
                 (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)
@@ -834,8 +840,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 +860,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)

Modified: branches/trunk-reorg/thirdparty/slime/swank-sbcl.lisp
==============================================================================
--- branches/trunk-reorg/thirdparty/slime/swank-sbcl.lisp	(original)
+++ branches/trunk-reorg/thirdparty/slime/swank-sbcl.lisp	Thu Feb  7 03:32:58 2008
@@ -1001,13 +1001,7 @@
 

 ;;;; Inspector
 
-(defclass sbcl-inspector (backend-inspector) ())
-
-(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 +1013,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 +1034,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 +1062,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))
+(defmethod inspect-for-emacs ((o sb-kernel:fdefn))
   (values "A 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

Modified: branches/trunk-reorg/thirdparty/slime/swank-scl.lisp
==============================================================================
--- branches/trunk-reorg/thirdparty/slime/swank-scl.lisp	(original)
+++ branches/trunk-reorg/thirdparty/slime/swank-scl.lisp	Thu Feb  7 03:32:58 2008
@@ -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*

Modified: branches/trunk-reorg/thirdparty/slime/swank.lisp
==============================================================================
--- branches/trunk-reorg/thirdparty/slime/swank.lisp	(original)
+++ branches/trunk-reorg/thirdparty/slime/swank.lisp	Thu Feb  7 03:32:58 2008
@@ -415,43 +415,6 @@
   (<= (char-code c) 127))
 
 

-;;;;; Misc
-
-(defun length= (seq n)
-  "Test for whether SEQ contains N number of elements. I.e. it's equivalent
- to (= (LENGTH SEQ) N), but besides being more concise, it may also be more
- efficiently implemented."
-  (etypecase seq 
-    (list (do ((i n (1- i))
-               (list seq (cdr list)))
-              ((or (<= i 0) (null list))
-               (and (zerop i) (null list)))))
-    (sequence (= (length seq) n))))
-
-(defun ensure-list (thing)
-  (if (listp thing) thing (list thing)))
-
-(defun recursively-empty-p (list)
-  "Returns whether LIST consists only of arbitrarily nested empty lists."
-  (cond ((not (listp list)) nil)
-	((null list) t)
-	(t (every #'recursively-empty-p list))))
-
-(defun maybecall (bool fn &rest args)
-  "Call FN with ARGS if BOOL is T. Otherwise return ARGS as multiple values."
-  (if bool (apply fn args) (values-list args)))
-
-(defun exactly-one-p (&rest values)
-  "If exactly one value in VALUES is non-NIL, this value is returned.
-Otherwise NIL is returned."
-  (let ((found nil))
-    (dolist (v values)
-      (when v (if found
-                  (return-from exactly-one-p nil)
-                  (setq found v))))
-    found))
-
-

 ;;;;; Symbols
 
 (defun symbol-status (symbol &optional (package (symbol-package symbol)))
@@ -1569,30 +1532,6 @@
     (let ((*read-suppress* nil))
       (read-from-string string))))
 
-(defun read-softly-from-string (string)
-  "Returns three values:
-
-     1. the object resulting from READing STRING.
-
-     2. The index of the first character in STRING that was not read.
-
-     3. T if the object is a symbol that had to be newly interned
-        in some package. (This does not work for symbols in
-        compound forms like lists or vectors.)"
-  (multiple-value-bind (symbol found? symbol-name package) (parse-symbol string)
-    (if found?
-        (values symbol (length string) nil)
-        (multiple-value-bind (sexp pos) (read-from-string string)
-          (values sexp pos
-                  (when (symbolp sexp)
-                    (prog1 t
-                      ;; assert that PARSE-SYMBOL didn't parse incorrectly.
-                      (assert (and (equal symbol-name (symbol-name sexp))
-                                   (eq package (symbol-package sexp)))))))))))
-
-(defun unintern-in-home-package (symbol)
-  (unintern symbol (symbol-package symbol)))
-
 ;; FIXME: deal with #\| etc.  hard to do portably.
 (defun tokenize-symbol (string)
   "STRING is interpreted as the string representation of a symbol
@@ -1755,7 +1694,7 @@
   (with-buffer-syntax ()
     (let ((*print-readably* nil))
       (cond ((null values) "; No value")
-            ((and (length= values 1)  (integerp (car values)))
+            ((and (integerp (car values)) (null (cdr values)))
              (let ((i (car values)))
                (format nil "~A~D (#x~X, #o~O, #b~B)" 
                        *echo-area-prefix* i i i i)))
@@ -2056,12 +1995,15 @@
                                       ,(princ-to-string real-condition))))
   (throw 'sldb-loop-catcher nil))
 
+(defvar *sldb-condition-printer* #'format-sldb-condition
+  "Function called to print a condition to an SLDB buffer.")
+
 (defun safe-condition-message (condition)
   "Safely print condition to a string, handling any errors during
 printing."
   (let ((*print-pretty* t) (*print-right-margin* 65))
     (handler-case
-        (format-sldb-condition condition)
+        (funcall *sldb-condition-printer* condition)
       (error (cond)
         ;; Beware of recursive errors in printing, so only use the condition
         ;; if it is printable itself:
@@ -2750,8 +2692,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 +2752,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 +2804,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 +2822,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 +2841,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
@@ -2912,14 +2849,6 @@
         *inspectee-actions* (make-array 10 :adjustable t :fill-pointer 0)
         *inspector-history* (make-array 10 :adjustable t :fill-pointer 0)))
 
-(defun valid-function-name-p (form)
-  (or (symbolp form)
-      (and (consp form)
-           (second form)
-           (not (third form))
-           (eq (first form) 'setf)
-           (symbolp (second form)))))
-
 (defslimefun init-inspector (string)
   (with-buffer-syntax ()
     (reset-inspector)
@@ -2960,14 +2889,14 @@
   (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)
+    (multiple-value-bind (_ content) (inspect-for-emacs object)
       (declare (ignore _))
       (list :title (with-output-to-string (s)
                      (print-unreadable-object (object s :type t :identity t)))



More information about the Bknr-cvs mailing list