diff --git a/collects/stepper/private/annotate.ss b/collects/stepper/private/annotate.ss index 070d8520ba..3c201cb136 100644 --- a/collects/stepper/private/annotate.ss +++ b/collects/stepper/private/annotate.ss @@ -1146,6 +1146,8 @@ (define (annotate/module-top-level exp) (cond [(stepper-syntax-property exp 'stepper-skip-completely) exp] + ;; for kathy's test engine: + [(syntax-property exp 'test-call) exp] [(stepper-syntax-property exp 'stepper-define-struct-hint) #`(begin #,exp (#,(make-define-struct-break exp)))] diff --git a/collects/stepper/private/macro-unwind.ss b/collects/stepper/private/macro-unwind.ss index ecee85f13f..8e59593e3d 100644 --- a/collects/stepper/private/macro-unwind.ss +++ b/collects/stepper/private/macro-unwind.ss @@ -4,6 +4,7 @@ mzlib/contract "model-settings.ss" "shared.ss" + #;(file "/Users/clements/clements/scheme-scraps/eli-debug.ss") (for-syntax scheme/base)) (provide/contract [unwind (syntax? render-settings? . -> . syntax?)]) @@ -139,7 +140,7 @@ (if define-type (kernel:kernel-syntax-case unwound-body #f - [(#%plain-lambda arglist lam-body ...) + [(lambda arglist lam-body ...) (case define-type [(shortened-proc-define) (let ([proc-define-name @@ -243,6 +244,8 @@ (syntax-case stx (if begin) ;; the else clause disappears when it's a ;; language-inserted else clause + [(if test result) + (list (unwind-cond-clause stx #`test #`result settings))] [(if test result else-clause) (cons (unwind-cond-clause stx #`test #`result settings) (loop (syntax else-clause)))] diff --git a/collects/stepper/private/model.ss b/collects/stepper/private/model.ss index 3ce34ac1e8..9e2531bcf3 100644 --- a/collects/stepper/private/model.ss +++ b/collects/stepper/private/model.ss @@ -66,13 +66,15 @@ boolean? ; track-inferred-names? (or/c object? (symbols 'testing)) ;; FIXME: can do better: subclass of language% ; the language level (procedure? . -> . void?) ; run-on-drscheme-side + boolean? ; disable-error-handling (to allow debugging) . -> . void?)]) ; go starts a stepper instance ; see provide stmt for contract (define (go program-expander receive-result render-settings - show-lambdas-as-lambdas? language-level run-on-drscheme-side) + show-lambdas-as-lambdas? language-level run-on-drscheme-side + disable-error-handling) ;; finished-exps: ;; (listof (list/c syntax-object? (or/c number? false?)( -> any))) @@ -104,7 +106,7 @@ ;; whole be highlighted. Is either one "wrong?" equivalences between ;; reduction semantics? ;; - ;; 2005-11-14: punting. just highlight the whole damn thing if there are + ;; 2005-11-14: punting. just highlight the whole darn thing if there are ;; any differences. In fact, just test for eq?-ness. #; @@ -311,10 +313,8 @@ (program-expander (lambda () - ;; swap these to allow errors to escape (e.g., when debugging) - #;(error-display-handler err-display-handler) - (void) - ) + (unless disable-error-handling + (error-display-handler err-display-handler))) (lambda (expanded continue-thunk) ; iter (r:reset-special-values) (if (eof-object? expanded) diff --git a/collects/stepper/stepper-tool.ss b/collects/stepper/stepper-tool.ss index 3dd7207ec2..ac043e19ca 100644 --- a/collects/stepper/stepper-tool.ss +++ b/collects/stepper/stepper-tool.ss @@ -468,7 +468,8 @@ (send language-level stepper:enable-let-lifting?)) (send language-level stepper:show-lambdas-as-lambdas?) language-level - run-on-drscheme-side) + run-on-drscheme-side + #f) (send s-frame show #t) s-frame)