[slime-cvs] CVS slime/contrib

CVS User sboukarev sboukarev at common-lisp.net
Mon Apr 19 00:42:29 UTC 2010


Update of /project/slime/cvsroot/slime/contrib
In directory cl-net:/tmp/cvs-serv4205/contrib

Modified Files:
	swank-fancy-inspector.lisp swank-fuzzy.lisp 
Log Message:
* swank.lisp (symbol-classification-string): New function to
replace (symbol-classification->string (classify-symbol
symbol)). It's faster and conses much less, while it is called
many times by fuzzy completion and fancy inspector.
(symbol-classification->string): Removed.
(list-threads): Exclude the current thread only if its name is
"worker".


--- /project/slime/cvsroot/slime/contrib/swank-fancy-inspector.lisp	2010/03/08 16:35:06	1.25
+++ /project/slime/cvsroot/slime/contrib/swank-fancy-inspector.lisp	2010/04/19 00:42:29	1.26
@@ -527,29 +527,25 @@
   "Returns an object renderable by Emacs' inspector side that
 alphabetically lists all the symbols in SYMBOLS together with a
 concise string representation of what each symbol
-represents (cf. CLASSIFY-SYMBOL & Fuzzy Completion.)"
+represents (see SYMBOL-CLASSIFICATION-STRING)"
   (let ((max-length (loop for s in symbols maximizing (length (symbol-name s))))
         (distance 10)) ; empty distance between name and classification
     (flet ((string-representations (symbol)
              (let* ((name (symbol-name symbol))
                     (length (length name))
-                    (padding (- max-length length))                    
-                    (classification (classify-symbol symbol)))
+                    (padding (- max-length length)))
                (values
                 (concatenate 'string
                              name
                              (make-string (+ padding distance) :initial-element #\Space))
-                (symbol-classification->string classification)))))
+                (symbol-classification-string symbol)))))
       `(""                           ; 8 is (length "Symbols:")
         "Symbols:" ,(make-string (+ -8 max-length distance) :initial-element #\Space) "Flags:"
         (:newline)
         ,(concatenate 'string        ; underlining dashes
                       (make-string (+ max-length distance -1) :initial-element #\-)
                       " "
-                      (let* ((dummy (classify-symbol :foo))
-                             (dummy (symbol-classification->string dummy))
-                             (classification-length (length dummy)))
-                        (make-string classification-length :initial-element #\-)))
+                      (symbol-classification-string '#:foo))
         (:newline)          
         ,@(loop for symbol in symbols appending
                (multiple-value-bind (symbol-string classification-string)
--- /project/slime/cvsroot/slime/contrib/swank-fuzzy.lisp	2009/07/22 11:25:28	1.9
+++ /project/slime/cvsroot/slime/contrib/swank-fuzzy.lisp	2010/04/19 00:42:29	1.10
@@ -37,7 +37,7 @@
     (OFFSET SUBSTRING)
 
 and FLAGS is short string describing properties of the symbol (see
-CLASSIFY-SYMBOL and STRING-CLASSIFICATION->STRING).
+SYMBOL-CLASSIFICATION-STRING).
 
 E.g., completing \"mvb\" in a package that uses COMMON-LISP would
 return something like:
@@ -148,7 +148,7 @@
 				(let ((offset (first chunk)) (string (second chunk)))
 				  (list (+ added-length offset) string))) 
 			    symbol-chunks))
-	    (symbol-classification->string (classify-symbol symbol))))))
+	    (symbol-classification-string symbol)))))
 
 (defun fuzzy-completion-set (string default-package-name &key limit time-limit-in-msec)
   "Returns two values: an array of completion objects, sorted by





More information about the slime-cvs mailing list