add and use close-eval to reduce memory use when rendering reference and guide
svn: r9981 original commit: 7ae0f500ae236de71c68feec7ea727818a3b6220
This commit is contained in:
parent
e7d056b02d
commit
ef294e47b4
|
@ -23,6 +23,7 @@
|
||||||
as-examples
|
as-examples
|
||||||
|
|
||||||
make-base-eval
|
make-base-eval
|
||||||
|
close-eval
|
||||||
|
|
||||||
scribble-eval-handler)
|
scribble-eval-handler)
|
||||||
|
|
||||||
|
@ -245,6 +246,10 @@
|
||||||
[sandbox-make-inspector current-inspector])
|
[sandbox-make-inspector current-inspector])
|
||||||
(make-evaluator '(begin (require scheme/base)))))
|
(make-evaluator '(begin (require scheme/base)))))
|
||||||
|
|
||||||
|
(define (close-eval e)
|
||||||
|
(kill-evaluator e)
|
||||||
|
"")
|
||||||
|
|
||||||
(define (do-plain-eval ev s catching-exns?)
|
(define (do-plain-eval ev s catching-exns?)
|
||||||
(call-with-values (lambda ()
|
(call-with-values (lambda ()
|
||||||
((scribble-eval-handler)
|
((scribble-eval-handler)
|
||||||
|
|
|
@ -93,6 +93,13 @@ setting sandbox parameters to disable limits, set the outputs to
|
||||||
@scheme['string], and not add extra security guards.}
|
@scheme['string], and not add extra security guards.}
|
||||||
|
|
||||||
|
|
||||||
|
@defproc[(close-eval [eval (any/c . -> . any)]) (one-of/c "")]{
|
||||||
|
|
||||||
|
Shuts down an evaluator produced by @scheme[make-base-eval]. Use
|
||||||
|
@scheme[close-eval] when garbage collection cannot otherwise reclaim
|
||||||
|
an evaluator (e.g., because it is defined in a module body).}
|
||||||
|
|
||||||
|
|
||||||
@defparam[scribble-eval-handler handler
|
@defparam[scribble-eval-handler handler
|
||||||
((any/c . -> . any) any/c boolean? . -> . any)]{
|
((any/c . -> . any) any/c boolean? . -> . any)]{
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user