[slime-cvs] CVS update: slime/slime.el

Helmut Eller heller at common-lisp.net
Sun Oct 30 15:12:52 UTC 2005


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

Modified Files:
	slime.el 
Log Message:
(slime-eval): Ensure that the connection is open before waiting for
input.

Date: Sun Oct 30 16:12:51 2005
Author: heller

Index: slime/slime.el
diff -u slime/slime.el:1.558 slime/slime.el:1.559
--- slime/slime.el:1.558	Sun Oct 23 10:52:59 2005
+++ slime/slime.el	Sun Oct 30 16:12:51 2005
@@ -724,7 +724,7 @@
              (define-key slime-doc-map (string key) command)
              (unless (equal key ?h)     ; But don't bind C-h
                (let ((modified (slime-control-modified-char key)))
-                 (define-key slime-doc-map (string modified) command)))))
+                 (define-key slime-doc-map (vector modified) command)))))
   ;; C-c C-d is the prefix for the doc map.
   (slime-define-key "\C-d" slime-doc-map :prefixed t :inferior t)
   ;; Who-xref
@@ -734,14 +734,14 @@
              ;; We bind both unmodified and with control.
              (define-key slime-who-map (string key) command)
              (let ((modified (slime-control-modified-char key)))
-                 (define-key slime-who-map (string modified) command))))
+                 (define-key slime-who-map (vector modified) command))))
   ;; C-c C-w is the prefix for the who-xref map.
   (slime-define-key "\C-w" slime-who-map :prefixed t :inferior t))
 
 (defun slime-control-modified-char (char)
   "Return the control-modified version of CHAR."
   ;; Maybe better to just bitmask it?
-  (car (read-from-string (format "?\\C-%c" char))))
+  (read (format "?\\C-%c" char)))
 
 (slime-init-keymaps)
 
@@ -2272,8 +2272,12 @@
          ((:abort)
           (throw tag (list #'error "Synchronous Lisp Evaluation aborted."))))
        (let ((debug-on-quit t)
-             (inhibit-quit nil))
-         (while t (accept-process-output nil 0 10000)))))))
+             (inhibit-quit nil)
+             (conn (slime-connection)))
+         (while t 
+           (unless (eq (process-status conn) 'open)
+             (error "Lisp connection closed unexpectedly"))
+           (accept-process-output nil 0 10000)))))))
 
 (defun slime-eval-async (sexp &optional cont package)
   "Evaluate EXPR on the superior Lisp and call CONT with the result."




More information about the slime-cvs mailing list