diff --git a/collects/stepper/internal-docs.txt b/collects/stepper/internal-docs.txt index 1e582a0d33..6e162eaa4b 100644 --- a/collects/stepper/internal-docs.txt +++ b/collects/stepper/internal-docs.txt @@ -224,6 +224,10 @@ stepper-fake-exp : this expression does not occur directly in the source; reconstruct specially. used for begin. +args-of-call [ADDED BY RECONSTRUCTOR] : + this reconstructed (...) expression is the result of a call with these args. + used by the check-expect unwinder to figure out the expected values. + STEPPER-HINT COLLISIONS The major concern with the stepper-hint is that two of them may @@ -249,3 +253,4 @@ collision can occur. 2) the intermediate let* expands into the beginner let; both add a stepper-hint. To resolve this, the expansion of let allows an existing stepper-hint to stand. + diff --git a/collects/stepper/private/annotate.ss b/collects/stepper/private/annotate.ss index 4d0dfca048..9b3012118d 100644 --- a/collects/stepper/private/annotate.ss +++ b/collects/stepper/private/annotate.ss @@ -28,7 +28,7 @@ (list?) . opt->* . (any/c)) ; procedure for runtime break - boolean? ; track-inferred-name? + boolean? ; show-lambdas-as-lambdas? (union any/c (symbols 'testing)); language-level . -> . syntax?)] ; results @@ -40,7 +40,7 @@ (list?) . opt->* . (any/c)) ; procedure for runtime break - boolean? ; track-inferred-name? + boolean? ; show-lambdas-as-lambdas? (union any/c (symbols 'testing)); language-level . -> . syntax?)] ; results @@ -270,7 +270,7 @@ - (define ((annotate/master input-is-top-level?) main-exp break track-inferred-names? language-level) + (define ((annotate/master input-is-top-level?) main-exp break show-lambdas-as-lambdas? language-level) #;(define _ (>>> (syntax-object->datum main-exp))) (define binding-indexer @@ -495,11 +495,12 @@ (lambda (annotated-lambda free-varrefs) (let*-2vals ([closure-info (make-debug-info-app 'all free-varrefs 'none)] - [closure-name (if track-inferred-names? + ;; if we manually disable the storage of names, lambdas get rendered as lambdas. + [closure-name (if show-lambdas-as-lambdas? + #f (cond [(syntax? procedure-name-info) procedure-name-info] [(pair? procedure-name-info) (car procedure-name-info)] - [else #f]) - #f)] + [else #f]))] [closure-storing-proc (opt-lambda (closure debug-info [lifted-index #f]) (closure-table-put! closure (make-closure-record diff --git a/collects/stepper/private/model.ss b/collects/stepper/private/model.ss index 9445de3f87..0c3a1f0bdd 100644 --- a/collects/stepper/private/model.ss +++ b/collects/stepper/private/model.ss @@ -72,7 +72,7 @@ ; go starts a stepper instance ; see provide stmt for contract (define (go program-expander receive-result render-settings - track-inferred-names? language-level run-on-drscheme-side) + show-lambdas-as-lambdas? language-level run-on-drscheme-side) ;; finished-exps: ;; (listof (list/c syntax-object? (or/c number? false?)( -> any))) @@ -295,7 +295,7 @@ (lambda (stx dont-care) (list stx)))) (define (step-through-expression expanded expand-next-expression) - (let* ([annotated (a:annotate expanded break track-inferred-names? + (let* ([annotated (a:annotate expanded break show-lambdas-as-lambdas? language-level)]) (eval-syntax annotated) (expand-next-expression))) diff --git a/collects/stepper/stepper-tool.ss b/collects/stepper/stepper-tool.ss index 51fc409481..d83b25aa3c 100644 --- a/collects/stepper/stepper-tool.ss +++ b/collects/stepper/stepper-tool.ss @@ -464,9 +464,11 @@ program-expander-prime receive-result (get-render-settings render-to-string render-to-sexp (send language-level stepper:enable-let-lifting?)) - (not (member language-level-name - (list (string-constant intermediate-student/lambda) - (string-constant advanced-student)))) + ;; coerce to boolean to satisfy contract checker: + (if (member language-level-name + (list (string-constant intermediate-student/lambda) + (string-constant advanced-student))) + #t #f) language-level run-on-drscheme-side) (send s-frame show #t) @@ -607,13 +609,12 @@ (super-new))) - ;; apply the mixins dynamically to the drscheme unit frame and - ;; definitions text: - (drscheme:get/extend:extend-unit-frame stepper-unit-frame-mixin) - (drscheme:get/extend:extend-definitions-text - stepper-definitions-text-mixin) + ;; apply the mixins dynamically to the drscheme unit frame and + ;; definitions text: + (drscheme:get/extend:extend-unit-frame stepper-unit-frame-mixin) + (drscheme:get/extend:extend-definitions-text stepper-definitions-text-mixin) - ) + ) ;; COPIED FROM drscheme/private/language.ss ;; simple-module-based-language-convert-value : TST STYLE boolean -> TST