[slime-cvs] CVS update: slime/swank-lispworks.lisp

Helmut Eller heller at common-lisp.net
Mon Nov 29 17:33:05 UTC 2004


Update of /project/slime/cvsroot/slime
In directory common-lisp.net:/tmp/cvs-serv2411

Modified Files:
	swank-lispworks.lisp 
Log Message:
(list-callers-internal): Return the function if dspec:object-dspec
returns nil.
(xref-results): Previously, functions for which
dspec:dspec-definition-locations returned nil were ignored.
Include them with a unknown source-location.

(accept-connection): Add default for external-format.

Date: Mon Nov 29 18:33:05 2004
Author: heller

Index: slime/swank-lispworks.lisp
diff -u slime/swank-lispworks.lisp:1.62 slime/swank-lispworks.lisp:1.63
--- slime/swank-lispworks.lisp:1.62	Wed Nov 24 20:50:49 2004
+++ slime/swank-lispworks.lisp	Mon Nov 29 18:33:04 2004
@@ -70,7 +70,8 @@
 (defimplementation close-socket (socket)
   (comm::close-socket (socket-fd socket)))
 
-(defimplementation accept-connection (socket &key external-format)
+(defimplementation accept-connection (socket 
+                                      &key (external-format :iso-latin-1-unix))
   (assert (eq external-format :iso-latin-1-unix))
   (let* ((fd (comm::get-fd-from-socket socket)))
     (assert (/= fd -1))
@@ -543,7 +544,7 @@
     (loop for object across callers
           collect (if (symbolp object)
 		      (list 'function object)
-                      (dspec:object-dspec object)))))
+                      (or (dspec:object-dspec object) object)))))
 
 ;; only for lispworks 4.2 and above
 #-lispworks4.1
@@ -557,13 +558,14 @@
     (xref-results (mapcar #'dspec:object-dspec methods))))
 
 (defun xref-results (dspecs)
-  (loop for dspec in dspecs
-        nconc (loop for (dspec location) 
-                    in (dspec:dspec-definition-locations dspec)
-                    collect (list dspec 
-                                  (make-dspec-location dspec location)))))
+  (flet ((frob-locs (dspec locs)
+           (cond (locs
+                  (loop for (name loc) in locs
+                        collect (list name (make-dspec-location name loc))))
+                 (t `((,dspec (:error "Source location not available")))))))
+    (loop for dspec in dspecs
+          append (frob-locs dspec (dspec:dspec-definition-locations dspec)))))
 ;;; Inspector
-
 (defclass lispworks-inspector (inspector)
   ())
 




More information about the slime-cvs mailing list