[slime-cvs] CVS update: slime/swank.lisp
Helmut Eller
heller at common-lisp.net
Mon Sep 13 21:36:13 UTC 2004
Update of /project/slime/cvsroot/slime
In directory common-lisp.net:/tmp/cvs-serv24950
Modified Files:
swank.lisp
Log Message:
(intern-catch-tag): New function.
(read-user-input-from-emacs, take-input): Use it.
(define-special): Set the documentation for the 'variable not for the
'symbol.
Date: Mon Sep 13 23:36:13 2004
Author: heller
Index: slime/swank.lisp
diff -u slime/swank.lisp:1.231 slime/swank.lisp:1.232
--- slime/swank.lisp:1.231 Mon Sep 13 18:42:31 2004
+++ slime/swank.lisp Mon Sep 13 23:36:13 2004
@@ -871,6 +871,10 @@
(defvar *read-input-catch-tag* 0)
+(defun intern-catch-tag (tag)
+ ;; fixnums aren't eq in ABCL, so we use intern to create tags
+ (intern (format nil "~D" tag) :swank))
+
(defun read-user-input-from-emacs ()
(let ((*read-input-catch-tag* (1+ *read-input-catch-tag*)))
(force-output)
@@ -878,7 +882,7 @@
,*read-input-catch-tag*))
(let ((ok nil))
(unwind-protect
- (prog1 (catch *read-input-catch-tag*
+ (prog1 (catch (intern-catch-tag *read-input-catch-tag*)
(loop (read-from-emacs)))
(setq ok t))
(unless ok
@@ -887,7 +891,7 @@
(defslimefun take-input (tag input)
"Return the string INPUT to the continuation TAG."
- (throw tag input))
+ (throw (intern-catch-tag tag) input))
(defslimefun connection-info ()
"Return a list of the form:
@@ -902,10 +906,10 @@
(defmacro define-special (name doc)
"Define a special variable NAME with doc string DOC.
-This is like defvar, but NAME will not initialized."
+This is like defvar, but NAME will not be initialized."
`(progn
(defvar ,name)
- (setf (documentation ',name 'symbol) ',doc)))
+ (setf (documentation ',name 'variable) ',doc)))
(define-special *buffer-package*
"Package corresponding to slime-buffer-package.
More information about the slime-cvs
mailing list