racket/collects/macro-debugger/view/debug.ss
Ryan Culpepper a2ebc93bd8 macro stepper:
fixed bug with opaque result of syntax-local-expand-expression
  fixed debug-file support

svn: r14395
2009-04-01 02:15:09 +00:00

35 lines
859 B
Scheme

#lang scheme/base
(require scheme/pretty
scheme/class
macro-debugger/util/class-iop
"interfaces.ss"
"debug-format.ss"
"prefs.ss"
"view.ss")
(provide debug-file)
(define (widget-mixin %)
(class %
(define/override (top-interaction-kw? x)
(eq? (syntax-e x) '#%top-interaction))
(super-new)))
(define stepper-frame%
(class macro-stepper-frame%
(define/override (get-macro-stepper-widget%)
(widget-mixin (super get-macro-stepper-widget%)))
(super-new)))
(define (make-stepper)
(define director (new macro-stepper-director%))
(send director new-stepper))
(define (debug-file file)
(let-values ([(events msg ctx) (load-debug-file file)])
(pretty-print msg)
(pretty-print ctx)
(let* ([w (make-stepper)])
(send: w widget<%> add-trace events)
w)))