From 1712dfb7f5710bbfba14ca537ec4317bc6afaaaa Mon Sep 17 00:00:00 2001 From: Matthew Flatt Date: Mon, 7 Jun 2010 20:04:29 -0400 Subject: [PATCH] fix make-gui-namespace from scheme/gui/base and racket/gui/base so that the namespace starts with scheme/base or racket/base respectively --- collects/mred/mred.rkt | 7 +++- collects/racket/gui/base.rkt | 27 ++++++++++-- collects/scheme/gui/base.rkt | 27 +++++++++++- collects/scribblings/gui/common.rkt | 26 ++++++------ collects/scribblings/gui/miscwin-funcs.scrbl | 4 +- collects/scribblings/scheme/scheme.scrbl | 43 +++++++++++++++++++- 6 files changed, 111 insertions(+), 23 deletions(-) diff --git a/collects/mred/mred.rkt b/collects/mred/mred.rkt index 3309ac0506..3127506fae 100644 --- a/collects/mred/mred.rkt +++ b/collects/mred/mred.rkt @@ -1,5 +1,5 @@ (module mred mzscheme - (require (only scheme/base + (require (only racket/base define-namespace-anchor namespace-anchor->empty-namespace make-base-empty-namespace) @@ -57,6 +57,9 @@ (wx:set-dialogs get-file put-file get-ps-setup-from-user message-box) ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + ;; These functions are re-implemented in scheme/gui/base + ;; and racket/gui/base to attach those names, instead of + ;; just 'mred. (define-namespace-anchor anchor) @@ -75,6 +78,8 @@ (namespace-require 'scheme/class)) ns)) + ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + (define (make-eventspace) (parameterize ([wx:the-snip-class-list (wx:make-the-snip-class-list)] [wx:the-editor-data-class-list (wx:make-the-editor-data-class-list)]) diff --git a/collects/racket/gui/base.rkt b/collects/racket/gui/base.rkt index dd18b64540..dcdad62068 100644 --- a/collects/racket/gui/base.rkt +++ b/collects/racket/gui/base.rkt @@ -1,4 +1,25 @@ -#lang scheme/base +#lang racket/base +(require (except-in mred + make-gui-namespace + make-gui-empty-namespace)) -(require mred) -(provide (all-from-out mred)) +(provide (all-from-out mred) + make-gui-namespace + make-gui-empty-namespace) + +(define-namespace-anchor anchor) + +(define (make-gui-empty-namespace) + (let ([ns (make-base-empty-namespace)]) + (namespace-attach-module (namespace-anchor->empty-namespace anchor) + 'racket/gui/base + ns) + ns)) + +(define (make-gui-namespace) + (let ([ns (make-gui-empty-namespace)]) + (parameterize ([current-namespace ns]) + (namespace-require 'racket/base) + (namespace-require 'racket/gui/base) + (namespace-require 'racket/class)) + ns)) diff --git a/collects/scheme/gui/base.rkt b/collects/scheme/gui/base.rkt index 25deaa3701..3a8c89773f 100644 --- a/collects/scheme/gui/base.rkt +++ b/collects/scheme/gui/base.rkt @@ -1,2 +1,25 @@ -#lang scheme/private/provider -racket/gui/base +#lang scheme/base +(require (except-in mred + make-gui-namespace + make-gui-empty-namespace)) + +(provide (all-from-out mred) + make-gui-namespace + make-gui-empty-namespace) + +(define-namespace-anchor anchor) + +(define (make-gui-empty-namespace) + (let ([ns (make-base-empty-namespace)]) + (namespace-attach-module (namespace-anchor->empty-namespace anchor) + 'scheme/gui/base + ns) + ns)) + +(define (make-gui-namespace) + (let ([ns (make-gui-empty-namespace)]) + (parameterize ([current-namespace ns]) + (namespace-require 'scheme/base) + (namespace-require 'scheme/gui/base) + (namespace-require 'scheme/class)) + ns)) diff --git a/collects/scribblings/gui/common.rkt b/collects/scribblings/gui/common.rkt index 8868619e7d..4ead8e0677 100644 --- a/collects/scribblings/gui/common.rkt +++ b/collects/scribblings/gui/common.rkt @@ -1,24 +1,24 @@ -(module common scheme/base +(module common racket/base (require scribble/manual scribble/basic - scheme/class - scheme/contract + racket/class + racket/contract "blurbs.ss" (only-in "../reference/mz.ss" AllUnix exnraise)) (provide (all-from-out scribble/manual) (all-from-out scribble/basic) - (all-from-out scheme/class) - (all-from-out scheme/contract) + (all-from-out racket/class) + (all-from-out racket/contract) (all-from-out "blurbs.ss") (all-from-out "../reference/mz.ss")) - (require (for-label scheme/gui/base - scheme/class - scheme/contract - scheme/base)) - (provide (for-label (all-from-out scheme/gui/base) - (all-from-out scheme/class) - (all-from-out scheme/contract) - (all-from-out scheme/base)))) + (require (for-label racket/gui/base + racket/class + racket/contract + racket/base)) + (provide (for-label (all-from-out racket/gui/base) + (all-from-out racket/class) + (all-from-out racket/contract) + (all-from-out racket/base)))) diff --git a/collects/scribblings/gui/miscwin-funcs.scrbl b/collects/scribblings/gui/miscwin-funcs.scrbl index 525620cf8e..c32cf3a21f 100644 --- a/collects/scribblings/gui/miscwin-funcs.scrbl +++ b/collects/scribblings/gui/miscwin-funcs.scrbl @@ -267,12 +267,12 @@ Strips shortcut ampersands from @racket[label], removes parenthesized @defproc[(make-gui-empty-namespace) namespace?]{ Like @racket[make-base-empty-namespace], but with -@racket[racket/class] and @racketmodname[racket/gui/base] also +@racketmodname[racket/class] and @racketmodname[racket/gui/base] also attached to the result namespace.} @defproc[(make-gui-namespace) namespace?]{ -Like @racket[make-base-namespace], but with @racket[racket/class] and +Like @racket[make-base-namespace], but with @racketmodname[racket/class] and @racketmodname[racket/gui/base] also required into the top-level environment of the result namespace.} diff --git a/collects/scribblings/scheme/scheme.scrbl b/collects/scribblings/scheme/scheme.scrbl index 3c0b4c47a3..b226a7f0ce 100644 --- a/collects/scribblings/scheme/scheme.scrbl +++ b/collects/scribblings/scheme/scheme.scrbl @@ -6,6 +6,7 @@ (only-in scheme/class printable<%>) (only-in racket/class writable<%>) (only-in racket/base struct hash hasheq hasheqv in-directory local-require) + (only-in scheme/gui/base make-gui-namespace make-gui-empty-namespace) scheme/gui/base scheme/sandbox)) @@ -143,13 +144,36 @@ must occur after all the @scheme[provide*] forms to which it refers.} @compat[scheme/function racket/function] @compat[scheme/future racket/future] @compat[scheme/generator racket/generator] + +@; ---------------------------------------------------------------------- + @compat-except[scheme/gui racket/gui]{, except that it builds on +@schememodname[scheme/gui/base] instead of @schememodname[racket/gui/base]} + +@compat-except[scheme/gui/base racket/gui/base]{, except that it builds on @schememodname[scheme] instead of @schememodname[racket]} -@compat[scheme/gui/base racket/gui/base] + +@defproc[(make-gui-empty-namespace) namespace?]{ + +Like @racket[make-base-empty-namespace], but with +@racketmodname[scheme/class] and @racketmodname[scheme/gui/base] also +attached to the result namespace.} + +@defproc[(make-gui-namespace) namespace?]{ + +Like @racket[make-base-namespace], but with @racketmodname[scheme/class] and +@racketmodname[scheme/gui/base] also required into the top-level +environment of the result namespace.} + +@; ---------------------------------------------------------------------- + @compat[scheme/gui/dynamic racket/gui/dynamic] @compat[scheme/help racket/help] @compat[scheme/include racket/include] -@compat[scheme/init racket/init] +@; ---------------------------------------------------------------------- + +@compat-except[scheme/init racket/init]{, except that it builds on +@racketmodname[scheme] instead pf @racketmodname[racket]} @;------------------------------------------------------------------------ @@ -319,4 +343,19 @@ and @|make-module-evaluator-id| from @racketmodname[racket/sandbox].} @; ---------------------------------------- +@section[@schememodname[mred]] +@defmodule[mred] + +The @schememodname[mred] library is like +@schememodname[scheme/gui/base], except that it provides variants of +@racket[make-gui-namespace] and @racket[make-gui-empty-namespace] that +attach @schememodname[mred] instead of +@schememodname[scheme/gui/base]. + +Both @schememodname[scheme/gui/base] and +@schememodname[racket/gui/base] depend on @schememodname[mred], so it +is attached by all variants of @racket[make-gui-empty-namespace]. + +@; ---------------------------------------- + @include-section["compat.scrbl"]