diff options
author | Andy Wingo <wingo@pobox.com> | 2010-06-10 13:44:37 +0200 |
---|---|---|
committer | Andy Wingo <wingo@pobox.com> | 2010-06-10 14:15:26 +0200 |
commit | 222a2b19a1d8eb25a1dbc3ff52873ee5274d972b (patch) | |
tree | 14d2f9b4c4b41225c0fc637533c5639eddefcdbc /module/system/vm/debug.scm | |
parent | c7317beca603d1a43b2490ba91e1a9df9779eafe (diff) | |
download | guile-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.scm | 13 |
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)))))) |