[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