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

Helmut Eller heller at common-lisp.net
Thu Nov 27 00:40:36 UTC 2003


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

Modified Files:
	swank.lisp 
Log Message:
(briefly-describe-symbol-for-emacs): Don't return unbound symbols.
(load-file): The result of LOAD may be a pathname. Turn it into a
string.
(describe-symbol, describe-function): Support package-qualified strings.
Date: Wed Nov 26 19:40:35 2003
Author: heller

Index: slime/swank.lisp
diff -u slime/swank.lisp:1.66 slime/swank.lisp:1.67
--- slime/swank.lisp:1.66	Wed Nov 26 18:39:07 2003
+++ slime/swank.lisp	Wed Nov 26 19:40:35 2003
@@ -16,12 +16,6 @@
 
 (in-package :swank)
 
-;; Directly exported backend functions.
-(export '(arglist-string backtrace function-source-location-for-emacs
-          frame-locals frame-catch-tags frame-source-position
-          frame-source-location-for-emacs
-          eval-in-frame eval-string-in-frame))
-
 (defvar *swank-io-package*
   (let ((package (make-package "SWANK-IO-PACKAGE")))
     (import '(nil t quote) package)
@@ -239,6 +233,7 @@
 Sends a message to Emacs declaring that the debugger has been entered,
 then waits to handle further requests from Emacs. Eventually returns
 after Emacs causes a restart to be invoked."
+  (declare (ignore hook))
   (let ((*swank-debugger-condition* condition)
         (*package* *buffer-package*))
     (let ((*sldb-level* (1+ *sldb-level*)))
@@ -586,8 +581,10 @@
   (flet ((first-line (string) 
            (let ((pos (position #\newline string)))
              (if (null pos) string (subseq string 0 pos)))))
-    (list* :designator (to-string symbol)
-           (map-if #'stringp #'first-line (describe-symbol-for-emacs symbol)))))
+    (let ((desc (map-if #'stringp #'first-line 
+                        (describe-symbol-for-emacs symbol))))
+      (if desc 
+          (list* :designator (to-string symbol) desc)))))
 
 (defun map-if (test fn &rest lists)
   "Like (mapcar FN . LISTS) but only call FN on objects satisfying TEST.
@@ -635,11 +632,11 @@
   (print-output-to-string (lambda () (describe object))))
 
 (defslimefun describe-symbol (symbol-name)
-  (print-description-to-string (symbol-from-string symbol-name)))
+  (print-description-to-string (find-symbol-designator symbol-name)))
 
 (defslimefun describe-function (symbol-name)
   (print-description-to-string
-   (symbol-function (symbol-from-string symbol-name))))
+   (symbol-function (find-symbol-designator symbol-name))))
 
 (defslimefun documentation-symbol (symbol-name)
   (let ((*package* *buffer-package*))
@@ -661,7 +658,7 @@
   (untrace))
 
 (defslimefun load-file (filename)
-  (load filename))
+  (to-string (load filename)))
 
 (defslimefun throw-to-toplevel ()
   (throw 'slime-toplevel nil))





More information about the slime-cvs mailing list