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

Helmut Eller heller at common-lisp.net
Wed Oct 29 23:54:36 UTC 2003


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

Modified Files:
	swank-openmcl.lisp 
Log Message:
(serve-request): Handle slime-read-errors.

(sldb-continue, throw-to-toplevel): Moved to swank.lisp.

Date: Wed Oct 29 18:54:36 2003
Author: heller

Index: slime/swank-openmcl.lisp
diff -u slime/swank-openmcl.lisp:1.13 slime/swank-openmcl.lisp:1.14
--- slime/swank-openmcl.lisp:1.13	Tue Oct 28 14:11:58 2003
+++ slime/swank-openmcl.lisp	Wed Oct 29 18:54:36 2003
@@ -13,7 +13,7 @@
 ;;; The LLGPL is also available online at
 ;;; http://opensource.franz.com/preamble.html
 ;;;
-;;;   $Id: swank-openmcl.lisp,v 1.13 2003/10/28 19:11:58 jbielman Exp $
+;;;   $Id: swank-openmcl.lisp,v 1.14 2003/10/29 23:54:36 heller Exp $
 ;;;
 
 ;;;
@@ -84,23 +84,18 @@
   "Thread function for a single Swank connection.  Processes requests
 until the remote Emacs goes away."
   (unwind-protect
-       (loop
-        (catch 'slime-toplevel
-          (with-simple-restart (abort "Return to Slime event loop.")
-            (let ((completed nil))
-              (let* ((*slime-output* (make-instance 'slime-output-stream))
-                     (*slime-input* *standard-input*)
-                     (*slime-io* (make-two-way-stream *slime-input* 
-                                                      *slime-output*)))
-                (let ((condition (catch 'serve-request-catcher
-                                   (read-from-emacs)
-                                   (setq completed t))))
-                  (unless completed
+       (let* ((*slime-output* (make-instance 'slime-output-stream))
+              (*slime-input* *standard-input*)
+              (*slime-io* (make-two-way-stream *slime-input* *slime-output*)))
+         (loop
+            (catch 'slime-toplevel
+              (with-simple-restart (abort "Return to Slime event loop.")
+                (handler-case (read-from-emacs)
+                  (slime-read-error (e)
                     (when *swank-debug-p*
                       (format *debug-io*
-                              "~&;; Connection to Emacs lost.~%;; [~A]~%"
-                              condition))
-                    (return))))))))
+                              "~&;; Connection to Emacs lost.~%;; [~A]~%" e))
+                    (return)))))))
     (format *terminal-io* "~&;; Swank: Closed connection: ~A~%" *emacs-io*)
     (close *emacs-io*)))
 
@@ -382,14 +377,8 @@
   (let ((restart (nth-restart index)))
     (invoke-restart restart)))
 
-(defslimefun sldb-continue ()
-  (continue *swank-debugger-condition*))
-
 (defslimefun sldb-abort ()
   (invoke-restart (find 'abort *sldb-restarts* :key #'restart-name)))
-
-(defslimefun throw-to-toplevel ()
-  (throw 'slime-toplevel nil))
 
 ;;; Utilities
 





More information about the slime-cvs mailing list