#| -*-Scheme-*-
-$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/edwin/edwin.pkg,v 1.93 1992/05/26 16:08:57 jinx Exp $
+$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/edwin/edwin.pkg,v 1.94 1992/06/05 21:39:04 cph Exp $
Copyright (c) 1989-92 Massachusetts Institute of Technology
(files "debug")
(parent (edwin))
(export (edwin)
- continuation-browser
+ continuation-browser-buffer
debug-scheme-error
edwin-command$browse-continuation
+ edwin-command$browse-environment
+ edwin-command$browser-evaluator
+ edwin-command$browser-next-line
+ edwin-command$browser-previous-line
+ edwin-command$browser-quit
+ edwin-command$browser-select-line
+ edwin-command$browser-where
edwin-mode$continuation-browser
- edwin-variable$debugger-confirm-return?
- edwin-variable$debugger-debug-evaluations?
- edwin-variable$debugger-expand-reductions?
- edwin-variable$debugger-hide-system-code?
- edwin-variable$debugger-max-subproblems
+ edwin-mode$environment-browser
edwin-variable$debugger-one-at-a-time?
- edwin-variable$debugger-open-markers?
+ edwin-variable$debugger-start-on-error?
+ edwin-variable$debugger-max-subproblems
+ edwin-variable$debugger-confirm-return?
edwin-variable$debugger-quit-on-restart?
edwin-variable$debugger-quit-on-return?
- edwin-variable$debugger-show-help-message?
- edwin-variable$debugger-split-window?
- edwin-variable$debugger-start-on-error?
- edwin-variable$debugger-verbose-mode?)
- (import (runtime continuation-parser)
- stack-frame/reductions)
+ edwin-variable$environment-browser-package-limit
+ environment-browser-buffer)
(import (runtime debugger)
- command/condition-restart
- command/frame
- command/print-environment-procedure
- command/print-expression
- command/show-all-frames
- command/show-current-frame
debugger-pp
- dstate/environment-list
- dstate/expression
- dstate/number-of-reductions
- dstate/previous-subproblems
- dstate/reduction
- dstate/reduction-number
- dstate/subproblem
- dstate/subproblem-number
- dstate/using-history?
- improper-list-length
- invalid-expression?
- make-initial-dstate
- print-reduction-expression
- print-subproblem-environment
- print-subproblem-expression
- reduction-environment
- reduction-expression
- set-current-subproblem!
- set-dstate/environment-list!
- set-dstate/reduction-number!
- show-environment-name
- stack-frame/compiled-code?
- write-restarts)
+ expression-indentation
+ invalid-expression?)
+ (import (runtime debugger-utilities)
+ print-binding
+ show-environment-name)
(import (runtime error-handler)
hook/invoke-restart))
;;; -*-Scheme-*-
;;;
-;;; $Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/edwin/intmod.scm,v 1.47 1992/05/21 17:59:33 cph Exp $
+;;; $Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/edwin/intmod.scm,v 1.48 1992/06/05 21:38:54 cph Exp $
;;;
;;; Copyright (c) 1986, 1989-92 Massachusetts Institute of Technology
;;;
(let ((port (buffer-interface-port (current-buffer))))
(start-continuation-browser
port
- (let ((cmdl (port/inferior-cmdl port)))
- (if (repl? cmdl)
- (repl/condition cmdl)
- (thread-continuation (port/thread port))))))))
+ (let ((object
+ (let ((cmdl (port/inferior-cmdl port)))
+ (or (and (repl? cmdl)
+ (repl/condition cmdl))
+ (thread-continuation (port/thread port))))))
+ (if (not object)
+ (editor-error "No error condition to debug."))
+ object)))))
(define (start-continuation-browser port condition)
- (let ((browser (continuation-browser condition)))
+ (let ((browser (continuation-browser-buffer condition)))
(buffer-put! browser 'INVOKE-CONTINUATION
(lambda (continuation arguments)
(if (not (buffer-alive? (port/buffer port)))