[slime-cvs] CVS slime

CVS User trittweiler trittweiler at common-lisp.net
Sat Oct 24 11:05:15 UTC 2009


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

Modified Files:
	swank.lisp ChangeLog 
Log Message:
	* swank.lisp (xref): Deal with non-yet-interned names gracefully.


--- /project/slime/cvsroot/slime/swank.lisp	2009/10/19 23:23:45	1.665
+++ /project/slime/cvsroot/slime/swank.lisp	2009/10/24 11:05:15	1.666
@@ -1968,7 +1968,7 @@
   "Read string in the *BUFFER-PACKAGE*"
   (with-buffer-syntax ()
     (let ((*read-suppress* nil))
-      (read-from-string string))))
+      (values (read-from-string string)))))
 
 (defun parse-string (string package)
   "Read STRING in PACKAGE."
@@ -3231,7 +3231,7 @@
 (defslimefun find-definitions-for-emacs (name)
   "Return a list ((DSPEC LOCATION) ...) of definitions for NAME.
 DSPEC is a string and LOCATION a source location. NAME is a string."
-  (multiple-value-bind (sexp error) (ignore-errors (values (from-string name)))
+  (multiple-value-bind (sexp error) (ignore-errors (from-string name))
     (unless error
       (mapcar #'xref>elisp (find-definitions sexp)))))
 
@@ -3248,12 +3248,12 @@
     (:callees (list-callees symbol))))
 
 (defslimefun xref (type name)
-  (with-buffer-syntax ()
-    (let* ((symbol (parse-symbol-or-lose name))
-           (xrefs  (xref-doit type symbol)))
-      (if (eq xrefs :not-implemented)
-          :not-implemented
-          (mapcar #'xref>elisp xrefs)))))
+  (multiple-value-bind (sexp error) (ignore-errors (from-string name))
+    (unless error
+      (let ((xrefs  (xref-doit type sexp)))
+        (if (eq xrefs :not-implemented)
+            :not-implemented
+            (mapcar #'xref>elisp xrefs))))))
 
 (defslimefun xrefs (types name)
   (loop for type in types
--- /project/slime/cvsroot/slime/ChangeLog	2009/10/24 09:47:46	1.1885
+++ /project/slime/cvsroot/slime/ChangeLog	2009/10/24 11:05:15	1.1886
@@ -1,5 +1,9 @@
 2009-10-24  Tobias C. Rittweiler <tcr at freebits.de>
 
+	* swank.lisp (xref): Deal with non-yet-interned names gracefully.
+
+2009-10-24  Tobias C. Rittweiler <tcr at freebits.de>
+
 	* slime.el (slime-search-property): Add parameter to get value at
 	point propery changed.
 	(slime-find-next-note): Use it.





More information about the slime-cvs mailing list