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:
parent
ae8d945ef5
commit
9f848863ff
|
@ -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.})
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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]
|
||||
|
|
Loading…
Reference in New Issue
Block a user