diff --git a/collects/mred/private/dynamic.ss b/collects/mred/private/dynamic.ss index 9e34b14dd3..0ef4b12846 100644 --- a/collects/mred/private/dynamic.ss +++ b/collects/mred/private/dynamic.ss @@ -4,4 +4,8 @@ ;; It is required by mred/mred so that it gets carried ;; along when mred/mred is attached to a new namespace. +(provide kernel-initialized) + (dynamic-require ''#%mred-kernel #f) + +(define kernel-initialized 'done) diff --git a/collects/scheme/gui/dynamic.ss b/collects/scheme/gui/dynamic.ss index 82f310af74..08a259f8c2 100644 --- a/collects/scheme/gui/dynamic.ss +++ b/collects/scheme/gui/dynamic.ss @@ -5,8 +5,8 @@ (define (gui-available?) (with-handlers ([exn:fail? (lambda (exn) #f)]) - (dynamic-require 'mred/private/dynamic #f) - #t)) + (eq? (dynamic-require 'mred/private/dynamic 'kernel-initialized) + 'done))) (define-namespace-anchor anchor) diff --git a/src/mzscheme/src/module.c b/src/mzscheme/src/module.c index e8161e50c9..c02a2f92a6 100644 --- a/src/mzscheme/src/module.c +++ b/src/mzscheme/src/module.c @@ -3045,9 +3045,9 @@ static Scheme_Module *module_load(Scheme_Object *name, Scheme_Env *env, const ch if (!m) { char *mred_note; - if (!strcmp(SCHEME_SYM_VAL(name), "#%mred-kernel") + if (!strcmp(SCHEME_SYM_VAL(SCHEME_PTR_VAL(name)), "#%mred-kernel") && !(scheme_strncmp(scheme_banner(), "Welcome to MzScheme", 19))) - mred_note = "; need to run in MrEd instead of MzScheme"; + mred_note = "; need to run in mred instead of mzscheme"; else mred_note = "";