Use `call-with-sandbox-context'.
This should make it possible to avoid serialization.
This commit is contained in:
parent
7775779e6a
commit
aa235ac959
|
@ -2,7 +2,8 @@
|
||||||
|
|
||||||
(require racket/class racket/gui/base racket/match racket/port racket/serialize
|
(require racket/class racket/gui/base racket/match racket/port racket/serialize
|
||||||
unstable/syntax unstable/port racket/sandbox
|
unstable/syntax unstable/port racket/sandbox
|
||||||
typed-scheme/optimizer/logging)
|
typed-scheme/optimizer/logging
|
||||||
|
(prefix-in tr: typed-scheme/typed-reader))
|
||||||
|
|
||||||
(provide (struct-out report-entry)
|
(provide (struct-out report-entry)
|
||||||
(struct-out sub-report-entry)
|
(struct-out sub-report-entry)
|
||||||
|
@ -61,17 +62,15 @@
|
||||||
[sandbox-input input]
|
[sandbox-input input]
|
||||||
[sandbox-make-code-inspector current-code-inspector]
|
[sandbox-make-code-inspector current-code-inspector]
|
||||||
[sandbox-eval-limits #f])
|
[sandbox-eval-limits #f])
|
||||||
(make-evaluator 'racket/base
|
(make-evaluator 'racket/base)))
|
||||||
'(require (prefix-in tr: typed-scheme/typed-reader)
|
(call-in-sandbox-context sandbox
|
||||||
typed-scheme/optimizer/logging)
|
(lambda ()
|
||||||
`(define portname ,portname))))
|
(with-intercepted-tr-logging
|
||||||
(sandbox
|
write
|
||||||
'(with-intercepted-tr-logging
|
(lambda ()
|
||||||
write
|
(parameterize ([current-namespace (make-base-namespace)]
|
||||||
(lambda ()
|
[read-accept-reader #t])
|
||||||
(parameterize ([current-namespace (make-base-namespace)]
|
(void (expand (tr:read-syntax portname (current-input-port)))))))))
|
||||||
[read-accept-reader #t])
|
|
||||||
(void (expand (tr:read-syntax portname (current-input-port))))))))
|
|
||||||
(for/list ([x (with-input-from-string (get-output sandbox) read-all)]
|
(for/list ([x (with-input-from-string (get-output sandbox) read-all)]
|
||||||
#:when (right-file? x))
|
#:when (right-file? x))
|
||||||
(cdr (vector-ref x 2)))) ; get the log-entry part
|
(cdr (vector-ref x 2)))) ; get the log-entry part
|
||||||
|
|
Loading…
Reference in New Issue
Block a user