[movitz-cvs] CVS update: movitz/losp/lib/repl.lisp

Frode Vatvedt Fjeld ffjeld at common-lisp.net
Mon Oct 31 09:19:16 UTC 2005


Update of /project/movitz/cvsroot/movitz/losp/lib
In directory common-lisp.net:/tmp/cvs-serv28380

Modified Files:
	repl.lisp 
Log Message:
Catch serious-conditions during readline, since readline is used for
by the debugger. This to avoid recursive errors.

Date: Mon Oct 31 10:19:15 2005
Author: ffjeld

Index: movitz/losp/lib/repl.lisp
diff -u movitz/losp/lib/repl.lisp:1.16 movitz/losp/lib/repl.lisp:1.17
--- movitz/losp/lib/repl.lisp:1.16	Sun Aug 28 23:12:27 2005
+++ movitz/losp/lib/repl.lisp	Mon Oct 31 10:19:15 2005
@@ -10,7 +10,7 @@
 ;;;; Author:        Frode Vatvedt Fjeld <frodef at acm.org>
 ;;;; Created at:    Wed Mar 19 14:58:12 2003
 ;;;;                
-;;;; $Id: repl.lisp,v 1.16 2005/08/28 21:12:27 ffjeld Exp $
+;;;; $Id: repl.lisp,v 1.17 2005/10/31 09:19:15 ffjeld Exp $
 ;;;;                
 ;;;;------------------------------------------------------------------
 
@@ -53,9 +53,14 @@
   (handler-case
       (let ((previous-package *package*)
 	    (buffer-string
-	     (if *repl-readline-context*
-		 (muerte.readline:contextual-readline *repl-readline-context*)
-	       (muerte.readline:readline (make-string 256) *terminal-io*))))
+	     (handler-bind
+		 ((serious-condition
+		   (lambda (c)
+		     (backtrace :frame (muerte:current-stack-frame))
+		     (format *terminal-io* "~&Error during readline (~S): ~A" 
+			     *repl-readline-context* c)
+		     (muerte:halt-cpu))))
+	       (muerte.readline:contextual-readline *repl-readline-context*))))
 	(when (plusp (length buffer-string))
 	  (terpri)
 	  (multiple-value-bind (form buffer-pointer)




More information about the Movitz-cvs mailing list