From 9f848863ff59ffcecccbb937454a1fc6c148ce86 Mon Sep 17 00:00:00 2001 From: Stephen Chang Date: Thu, 7 Apr 2011 12:48:18 -0400 Subject: [PATCH] fix lazy stepper to work with print and write output-styles in stepper/stepper-tool.rkt - in simple-module-based-language-convert-value, add print and trad-write case in stepper/private/macro-unwind.rkt - in fall-through, add to procedure-extract-target case in drracket/tool-lib.rkt - in contract for drracket:language:simple-settings-printing-style, add 'trad-write --- collects/drracket/tool-lib.rkt | 2 +- collects/stepper/private/macro-unwind.rkt | 6 +++++- collects/stepper/stepper-tool.rkt | 3 ++- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/collects/drracket/tool-lib.rkt b/collects/drracket/tool-lib.rkt index b733d675dd..45ad30d265 100644 --- a/collects/drracket/tool-lib.rkt +++ b/collects/drracket/tool-lib.rkt @@ -1603,7 +1603,7 @@ all of the names in the tools library, for use defining keybindings drracket:language:simple-settings-printing-style (drracket:language:simple-settings? . -> . - (symbols 'constructor 'quasiquote 'write 'print)) + (symbols 'constructor 'quasiquote 'write 'trad-write 'print)) (simple-settings) @{Extracts the printing-style setting from a simple-settings.}) diff --git a/collects/stepper/private/macro-unwind.rkt b/collects/stepper/private/macro-unwind.rkt index 1bbb9cdbb7..3513bc10e3 100644 --- a/collects/stepper/private/macro-unwind.rkt +++ b/collects/stepper/private/macro-unwind.rkt @@ -62,7 +62,11 @@ ; procedure-extract-target - can't hide this in lazy.rkt bc it's needed ; to distinguish the general lazy application [(#%plain-app proc-extract p) - (eq? (syntax->datum #'proc-extract) 'procedure-extract-target) + (or (eq? (syntax->datum #'proc-extract) 'procedure-extract-target) + (eq? (with-handlers ; for print output-style + ([(λ (e) #t) (λ (e) #f)]) + (syntax-e (second (syntax-e #'proc-extract)))) + procedure-extract-target)) (unwind #'p settings)] ; lazy #%app special case: force [(#%plain-app force arg) diff --git a/collects/stepper/stepper-tool.rkt b/collects/stepper/stepper-tool.rkt index b41cdada26..3b142e312c 100644 --- a/collects/stepper/stepper-tool.rkt +++ b/collects/stepper/stepper-tool.rkt @@ -330,7 +330,8 @@ ;; simple-module-based-language-convert-value : TST STYLE boolean -> TST (define (simple-module-based-language-convert-value value settings) (case (drscheme:language:simple-settings-printing-style settings) - [(write) value] + [(print) value] + [(write trad-write) value] [(constructor) (parameterize ([constructor-style-printing #t]