Skip to content

Commit 74b23b0

Browse files
committed
Follow the changes to the stepper.
See racket/htdp#246.
1 parent ef2da43 commit 74b23b0

2 files changed

Lines changed: 34 additions & 1 deletion

File tree

deinprogramm-lib/deinprogramm/sdp/private/stepper-button.rkt

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,13 +42,27 @@
4242
(define (stepper:show-consumed-and/or-clauses?) #t)
4343

4444
(public stepper:render-to-sexp)
45-
(define (stepper:render-to-sexp val settings language-level)
45+
(define (stepper:render-to-sexp val language-level)
4646
(when (boolean? val)
4747
(log-stepper-debug "render-to-sexp got a boolean: ~v\n" val))
4848
(or (and (procedure? val)
4949
(object-name val))
5050
(print-convert val)))
5151

52+
(public stepper:pretty-print-hooks)
53+
(define (stepper:pretty-print-hooks settings previous-size-hook previous-print-hook)
54+
;; avoid mutating the parameters in the current thread
55+
;; (the stepper will typically run in the same thread on subsequent invocations)
56+
(thread-wait
57+
(thread
58+
(lambda ()
59+
(parameterize ((pretty-print-size-hook previous-size-hook)
60+
(pretty-print-print-hook previous-print-hook))
61+
(configure/settings settings)
62+
(values (pretty-print-size-hook)
63+
(pretty-print-print-hook))))
64+
#:keep 'results)))
65+
5266
(public render-value)
5367
(define (render-value val settings port)
5468
(parameterize ([print-value-columns +inf.0])

deinprogramm-tool/deinprogramm/sdp/private/sdp-langs.rkt

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -736,6 +736,25 @@
736736
(init-field stepper:supported)
737737
(define/override (stepper:supported?) stepper:supported)
738738
(define/override (stepper:print-boolean-long-form?) #f)
739+
(define/override (stepper:pretty-print-hooks settings previous-size-hook previous-print-hook)
740+
;; avoid mutating the parameters in the current thread
741+
;; (the stepper will typically run in the same thread on subsequent invocations)
742+
(thread-wait
743+
(thread
744+
(lambda ()
745+
(parameterize ((pretty-print-size-hook previous-size-hook)
746+
(pretty-print-print-hook previous-print-hook))
747+
(configure/settings
748+
(sdp-runtime-settings (drscheme:language:simple-settings-printing-style settings)
749+
(deinprogramm-lang-settings-writing-style settings)
750+
(drscheme:language:simple-settings-fraction-style settings)
751+
(drscheme:language:simple-settings-show-sharing settings)
752+
(drscheme:language:simple-settings-insert-newlines settings)
753+
(deinprogramm-lang-settings-tracing? settings)))
754+
(values (pretty-print-size-hook)
755+
(pretty-print-print-hook))))
756+
#:keep 'results)))
757+
739758
(super-new))
740759
(class* % ()
741760
(init stepper:supported)

0 commit comments

Comments
 (0)