From ac69f11a584588d1726623f98e6c6b900e43f185 Mon Sep 17 00:00:00 2001 From: Robby Findler Date: Tue, 1 Jun 2010 20:58:19 -0500 Subject: [PATCH] improved the backwards compatibility documentation for the drscheme: names --- collects/drracket/private/drsig.rkt | 1 + collects/drracket/private/link.rkt | 23 +++++++++++++++-- collects/drracket/tool-lib.rkt | 10 +++----- collects/scribblings/tools/common.rkt | 18 +++++++++----- collects/scribblings/tools/tools.scrbl | 34 ++++++++++++++++++++++++++ 5 files changed, 71 insertions(+), 15 deletions(-) diff --git a/collects/drracket/private/drsig.rkt b/collects/drracket/private/drsig.rkt index b6e5c857ae..565683f674 100644 --- a/collects/drracket/private/drsig.rkt +++ b/collects/drracket/private/drsig.rkt @@ -338,6 +338,7 @@ (open (prefix language: drracket:language-cm^)) (open (prefix help-desk: drracket:help-desk-cm^)) (open (prefix eval: drracket:eval-cm^)) + (open (prefix font: drracket:font-cm^)) (open (prefix modes: drracket:modes-cm^)) (open (prefix tracing: drracket:tracing-cm^)) (open (prefix module-language: drracket:module-language-cm^)) diff --git a/collects/drracket/private/link.rkt b/collects/drracket/private/link.rkt index deb716681a..ec0b53cc40 100644 --- a/collects/drracket/private/link.rkt +++ b/collects/drracket/private/link.rkt @@ -47,8 +47,13 @@ help-desk@ tracing@ app@ main@)) +(define-signature drscheme/drracket:tool^ + ((open drracket:tool^) + (open drscheme:tool^))) + (define-unit/new-import-export drracket@ - (import) (export drracket:tool^) + (import) + (export drscheme/drracket:tool^) (((prefix drracket:debug: drracket:debug^) (prefix drracket:unit: drracket:unit^) (prefix drracket:rep: drracket:rep^) @@ -61,5 +66,19 @@ (prefix drracket:modes: drracket:modes^) (prefix drracket:tracing: drracket:tracing^) (prefix drracket:module-language: drracket:module-language^) - (prefix drracket:module-language-tools: drracket:module-language-tools^)) + (prefix drracket:module-language-tools: drracket:module-language-tools^) + + (prefix drscheme:debug: drracket:debug^) + (prefix drscheme:unit: drracket:unit^) + (prefix drscheme:rep: drracket:rep^) + (prefix drscheme:frame: drracket:frame^) + (prefix drscheme:get/extend: drracket:get/extend^) + (prefix drscheme:language-configuration: drracket:language-configuration^) + (prefix drscheme:language: drracket:language^) + (prefix drscheme:help-desk: drracket:help-desk^) + (prefix drscheme:eval: drracket:eval^) + (prefix drscheme:modes: drracket:modes^) + (prefix drscheme:tracing: drracket:tracing^) + (prefix drscheme:module-language: drracket:module-language^) + (prefix drscheme:module-language-tools: drracket:module-language-tools^)) drracket-unit@)) diff --git a/collects/drracket/tool-lib.rkt b/collects/drracket/tool-lib.rkt index de8fa24dac..f53a89bc2c 100644 --- a/collects/drracket/tool-lib.rkt +++ b/collects/drracket/tool-lib.rkt @@ -1,12 +1,11 @@ #lang at-exp racket/base #| - This first time this is loaded, it loads all of DrRacket and invokes the main unit, starting up DrRacket. After that, it just provides all of the names in the tools library, for use defining keybindings - |# + (require racket/class racket/gui/base (except-in scheme/unit struct) @@ -36,6 +35,7 @@ all of the names in the tools library, for use defining keybindings (define-values/invoke-unit/infer drracket@) (provide-signature-elements drracket:tool-cm^) ;; provide all of the classes & interfaces +(provide-signature-elements drscheme:tool-cm^) ;; provide the classes & interfaces w/ drscheme: prefix (provide drracket:unit:program-editor-mixin) (define-syntax (drracket:unit:program-editor-mixin stx) @@ -54,7 +54,6 @@ all of the names in the tools library, for use defining keybindings (string->symbol (regexp-replace #rx"^drracket:" (symbol->string (syntax-e stx)) "drscheme:")) stx))] - [definitions '()] [defthings (syntax-case stx () [(_ case ...) @@ -71,14 +70,11 @@ all of the names in the tools library, for use defining keybindings [_ (raise-syntax-error 'provide/dr/doc "unknown thing" case)])]) (with-syntax ([mid (munge-id #'id)]) - (set! definitions (cons #`(define mid id) definitions)) #'(thing-doc mid ctc ("This is provided for backwards compatibility; new code should use " (scheme id) " instead."))))) (syntax->list #'(case ...)))])]) (syntax-case stx () [(_ rst ...) - #`(begin - #,@definitions - (provide/doc #,@defthings rst ...))]))) + #`(provide/doc #,@defthings rst ...)]))) (provide/dr/doc diff --git a/collects/scribblings/tools/common.rkt b/collects/scribblings/tools/common.rkt index 5bffcc6e28..58931e7639 100644 --- a/collects/scribblings/tools/common.rkt +++ b/collects/scribblings/tools/common.rkt @@ -27,19 +27,25 @@ (all-from-out mrlib/switchable-button) (all-from-out framework))) -(provide tools-title tools-include) +(provide tools-title tools-include tools-include/drs) (define (tools-title name) (title (tt (format "drracket:~a" name)))) + (define-syntax (tools-include stx) (syntax-case stx () [(_ name) (string? (syntax-e #'name)) (let ([name (syntax-e #'name)]) - (with-syntax ([rx-drr (regexp (format "^~a" (regexp-quote (format "drracket:~a:" name))))] - [rx-drs (regexp (format "^~a" (regexp-quote (format "drscheme:~a:" name))))]) - #'(begin - (include-previously-extracted scribblings/tools/tool-lib-extracts rx-drr) - (include-previously-extracted scribblings/tools/tool-lib-extracts rx-drs))))])) + (with-syntax ([rx-drr (regexp (format "^~a" (regexp-quote (format "drracket:~a:" name))))]) + #'(include-previously-extracted scribblings/tools/tool-lib-extracts rx-drr)))])) + +(define-syntax (tools-include/drs stx) + (syntax-case stx () + [(_ name) + (string? (syntax-e #'name)) + (let ([name (syntax-e #'name)]) + (with-syntax ([rx-drs (regexp (format "^~a" (regexp-quote (format "drscheme:~a:" name))))]) + #'(include-previously-extracted scribblings/tools/tool-lib-extracts rx-drs)))])) (provide docs-get/extend) (define-syntax (docs-get/extend stx) diff --git a/collects/scribblings/tools/tools.scrbl b/collects/scribblings/tools/tools.scrbl index e5e4c9b050..24917fd341 100644 --- a/collects/scribblings/tools/tools.scrbl +++ b/collects/scribblings/tools/tools.scrbl @@ -1,6 +1,7 @@ #lang scribble/doc @(begin (require scribble/manual + "common.rkt" (for-label scheme/gui/base) (for-label drracket/tool-lib) (for-label scheme/unit scheme/contract scheme/class) @@ -518,4 +519,37 @@ Check Syntax is a part of the DrRacket collection, but is implemented via the to @include-section["module-language-tools.scrbl"] @include-section["module-language.scrbl"] +@section{Backwards compatibility} + +This section lists the bindings that begin with @tt{drscheme:} provided by the tools +library; they are here for backwards compatibility and to provide links to the +@tt{drracket:} versions of the names. + +@(require drracket/private/drsig + (for-syntax racket/base + racket/unit-exptime)) +@(define-syntax (drs-compat stx) + (let-values ([(drs-parent drs-vars drs-var-defs-in-sig drs-stx-defs-in-sig) (signature-members #'drscheme:tool-cm^ #'here)] + [(drr-parent drr-vars drr-var-defs-in-sig drr-stx-defs-in-sig) (signature-members #'drracket:tool-cm^ #'here)]) + (with-syntax ([(drs-id ...) drs-vars] + [(drr-id ...) drr-vars]) + #'(begin + (defthing drs-id any/c + "This is provided for backwards compatibility; new code should use " (scheme drr-id) " instead.") + ...)))) +@drs-compat[] + +@(tools-include/drs "debug") +@(tools-include/drs "eval") +@(tools-include/drs "frame") +@(tools-include/drs "get/extend") +@(tools-include/drs "help-desk") +@(tools-include/drs "language-configuration") +@(tools-include/drs "language") +@(tools-include/drs "modes") +@(tools-include/drs "module-language-tools") +@(tools-include/drs "module-language") +@(tools-include/drs "rep") +@(tools-include/drs "unit") + @index-section[]