diff --git a/collects/mzlib/sandbox.ss b/collects/mzlib/sandbox.ss index 0ddc451..e1120f2 100644 --- a/collects/mzlib/sandbox.ss +++ b/collects/mzlib/sandbox.ss @@ -1,10 +1,31 @@ (module sandbox scheme/base (require scheme/sandbox (prefix-in mz: (only-in mzscheme make-namespace))) - (provide (except-out (all-from-out scheme/sandbox) - make-evaluator - make-module-evaluator - gui?) + (provide sandbox-init-hook + sandbox-reader + sandbox-input + sandbox-output + sandbox-error-output + sandbox-propagate-breaks + sandbox-coverage-enabled + sandbox-namespace-specs + sandbox-override-collection-paths + sandbox-security-guard + sandbox-path-permissions + sandbox-network-guard + sandbox-make-inspector + sandbox-eval-limits + kill-evaluator + break-evaluator + set-eval-limits + put-input + get-output + get-error-output + get-uncovered-expressions + call-with-limits + with-limits + exn:fail:resource? + exn:fail:resource-resource (rename-out [*make-evaluator make-evaluator] [gui? mred?])) diff --git a/collects/mzlib/sendevent.ss b/collects/mzlib/sendevent.ss index 15c5fc6..fff2800 100644 --- a/collects/mzlib/sendevent.ss +++ b/collects/mzlib/sendevent.ss @@ -1,16 +1,14 @@ +#lang scheme/base +(require scheme/gui/dynamic) -(module sendevent mzscheme - (require "etc.ss") - (provide send-event) +(provide send-event) - (define send-event - (opt-lambda (who class msg [data (void)] [args null]) - (let ([send-event (with-handlers ([exn:fail? (lambda (x) #f)]) - (dynamic-require '(lib "mred.ss" "mred") - 'send-event))]) - (if send-event - (send-event who class msg data args) - (raise - (make-exn:fail:unsupported - "send-event: only supported in MrEd" - (current-continuation-marks)))))))) +(define send-event + (lambda (who class msg [data (void)] [args null]) + (if (gui-available?) + ((gui-dynamic-require 'send-event) who class msg data args) + (raise + (make-exn:fail:unsupported + "send-event: only supported in MrEd" + (current-continuation-marks)))))) +