[slime-devel] Tiny patch for the SLIME inspector

Matthias Koeppe mkoeppe+slime at mail.math.uni-magdeburg.de
Sun Jul 17 15:15:14 UTC 2005


Hi, 

I am sending a tiny patch for the SLIME inspector.  Because Emacs
merges adjacent text properties of the same value, adjacent "action"
buttons are glued together, so they are all highlighted when mouse is
over one of them.  (This can be seen, for instance, when one inspects
an internal symbol.)

The patch below fixes this bug by separating all "action" buttons by
whitespace without the `highlight' text property.

Cheers,
Matthias

2005-07-17  Matthias Koeppe  <mkoeppe at mail.math.uni-magdeburg.de>

	* swank.lisp (inspect-for-emacs): Don't make whitespace
	surrounding :action buttons part of the highlighted region.  

--- swank.lisp.~1.309.~	2005-06-26 20:38:06.000000000 +0200
+++ swank.lisp	2005-07-17 16:58:41.000000000 +0200
@@ -3342,9 +3343,11 @@
                        " to the package: "
                        (:value ,package ,(package-name package))
                        ,@(if (eq :internal status) 
-                             `((:action " [export it]"
+                             `(" "
+                               (:action "[export it]"
                                         ,(lambda () (export symbol package)))))
-                       (:action " [unintern it]"
+                       " "
+                       (:action "[unintern it]"
                                 ,(lambda () (unintern symbol package)))
                        (:newline))
             '("It is a non-interned symbol." (:newline)))
@@ -3356,7 +3359,8 @@
 	(if (find-class symbol nil)
 	    `("It names the class " 
 	      (:value ,(find-class symbol) ,(string symbol))
-	      (:action " [remove]"
+              " "
+	      (:action "[remove]"
 		       ,(lambda () (setf (find-class symbol) nil)))
 	      (:newline)))
 	;;
@@ -3477,7 +3481,8 @@
 	    `((:value ,method ,(inspector-princ
 			       ;; drop the name of the GF
 			       (cdr (method-for-inspect-value method))))
-	      (:action " [remove method]" 
+              " "
+	      (:action "[remove method]" 
                        ,(let ((m method)) ; LOOP reassigns method
                           (lambda () 
                             (remove-method gf m))))

-- 
Matthias Koeppe -- http://www.math.uni-magdeburg.de/~mkoeppe



More information about the slime-devel mailing list