summaryrefslogtreecommitdiff
path: root/module/system/vm/debug.scm
diff options
context:
space:
mode:
authorAndy Wingo <wingo@pobox.com>2010-06-10 13:44:37 +0200
committerAndy Wingo <wingo@pobox.com>2010-06-10 14:15:26 +0200
commit222a2b19a1d8eb25a1dbc3ff52873ee5274d972b (patch)
tree14d2f9b4c4b41225c0fc637533c5639eddefcdbc /module/system/vm/debug.scm
parentc7317beca603d1a43b2490ba91e1a9df9779eafe (diff)
downloadguile-222a2b19a1d8eb25a1dbc3ff52873ee5274d972b.tar.gz
fix error handling when reading debugger args
* module/system/vm/debug.scm (debugger-repl): Errors reading debugger args no longer drop us out of the debugger.
Diffstat (limited to 'module/system/vm/debug.scm')
-rw-r--r--module/system/vm/debug.scm13
1 files changed, 9 insertions, 4 deletions
diff --git a/module/system/vm/debug.scm b/module/system/vm/debug.scm
index be6d0312d..815135647 100644
--- a/module/system/vm/debug.scm
+++ b/module/system/vm/debug.scm
@@ -397,11 +397,16 @@ With an argument, select a frame by index, then show it."
(catch 'quit
(lambda ()
(let loop ()
- (let ((args (save-module-excursion
+ (let ((args (call-with-error-handling
(lambda ()
- (set-current-module commands)
- (read-args prompt)))))
- (apply handle args)
+ (save-module-excursion
+ (lambda ()
+ (set-current-module commands)
+ (read-args prompt))))
+ #:on-error 'pass)))
+ ;; args will be unspecified if there was a read error.
+ (if (not (unspecified? args))
+ (apply handle args))
(loop))))
(lambda (k . args)
(apply values args))))))