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
This commit is contained in:
Stephen Chang 2011-04-07 12:48:18 -04:00
parent ae8d945ef5
commit 9f848863ff
3 changed files with 8 additions and 3 deletions

View File

@ -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.})

View File

@ -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)

View File

@ -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]