commit 3ce3c33b954e707ecf1cdf27df73696cadf6c9b9
parent f612916a6b9027a9c9256f4a71701b8ca7845361
Author: Ryan Culpepper <ryanc@racket-lang.org>
Date: Wed, 24 Feb 2010 21:39:16 +0000
macro-debugger:
fixed internal error in reporting internal errors
made debug files more readable
fixed wrong ordering of local contexts
svn: r18328
original commit: e6c4518ae8dba118e03632a0cfc66c939a75755e
Diffstat:
3 files changed, 20 insertions(+), 16 deletions(-)
diff --git a/collects/macro-debugger/view/debug-format.ss b/collects/macro-debugger/view/debug-format.ss
@@ -7,13 +7,15 @@
(define (write-debug-file file exn events)
(with-output-to-file file
(lambda ()
- (write `(list ,@(map (lambda (e) (serialize-datum e)) events)))
+ (pretty-print
+ `(list ,@(map (lambda (e) (serialize-datum e)) events)))
(newline)
(write (exn-message exn))
(newline)
- (write (map serialize-context-frame
- (continuation-mark-set->context
- (exn-continuation-marks exn)))))
+ (pretty-print
+ (map serialize-context-frame
+ (continuation-mark-set->context
+ (exn-continuation-marks exn)))))
#:exists 'replace))
(define (serialize-datum d)
diff --git a/collects/macro-debugger/view/step-display.ss b/collects/macro-debugger/view/step-display.ss
@@ -119,17 +119,15 @@
(define/private (show-lctx step shift-table)
(define state (protostep-s1 step))
(define lctx (state-lctx state))
- (when (pair? lctx)
- (send: sbview sb:syntax-browser<%> add-text "\n")
- (for ([bf (reverse lctx)])
- (send: sbview sb:syntax-browser<%> add-text
- "while executing macro transformer in:\n")
- (insert-syntax/redex (bigframe-term bf)
- (bigframe-foci bf)
- (state-binders state)
- shift-table
- (state-uses state)
- (state-frontier state)))))
+ (for ([bf lctx])
+ (send: sbview sb:syntax-browser<%> add-text
+ "\nwhile executing macro transformer in:\n")
+ (insert-syntax/redex (bigframe-term bf)
+ (bigframe-foci bf)
+ (state-binders state)
+ shift-table
+ (state-uses state)
+ (state-frontier state))))
;; separator : Step -> void
(define/private (separator step)
diff --git a/collects/macro-debugger/view/term-record.ss b/collects/macro-debugger/view/term-record.ss
@@ -275,7 +275,11 @@
;; display-initial-term : -> void
(define/public (display-initial-term)
- (send: displayer step-display<%> add-syntax (wderiv-e1 deriv)))
+ (cond [raw-deriv-oops
+ (send: displayer step-display<%> add-internal-error
+ "derivation" raw-deriv-oops #f events)]
+ [else
+ (send: displayer step-display<%> add-syntax (wderiv-e1 deriv))]))
;; display-final-term : -> void
(define/public (display-final-term)