From 688bb59c1ac8bea389eb9a961856c7a601ef42f9 Mon Sep 17 00:00:00 2001 From: Eli Barzilay Date: Thu, 28 Oct 2010 17:27:30 -0400 Subject: [PATCH] Move the `#%top' binding that makes `foo:' keywords self evaluating from `scribble/html/lang' to `scribble/html'. Since `foo:' keywords are very common in any code that uses `scribble/html', it is much more convenient to have it provide the custom `#%top'. It simplifies code that uses it, for example, files in `meta/web/common' now use #lang at-exp racket/base (require scribble/html) instead of the (only-in scribble/html/lang #%top) which it used before, or instead of explicitly quoting all `foo:'s. original commit: 58febe21a02ff7c7447ee75bf5edd34c99ee6f1c --- collects/scribble/html/lang.rkt | 17 +++++------------ collects/scribble/html/main.rkt | 12 +++++++++++- 2 files changed, 16 insertions(+), 13 deletions(-) diff --git a/collects/scribble/html/lang.rkt b/collects/scribble/html/lang.rkt index 258dd15f..3caefb4a 100644 --- a/collects/scribble/html/lang.rkt +++ b/collects/scribble/html/lang.rkt @@ -1,20 +1,13 @@ #lang racket/base -(require "main.rkt" scribble/text/lang scribble/text/syntax-utils - (for-syntax racket/base)) +(require "main.rkt" (except-in scribble/text/lang #%top) + scribble/text/syntax-utils) -(provide (except-out (all-from-out scribble/text/lang) #%top #%module-begin) - (rename-out [top #%top] [module-begin #%module-begin]) +(provide (except-out (all-from-out scribble/text/lang) #%module-begin) + (rename-out [module-begin #%module-begin]) (all-from-out "main.rkt")) -(define-syntax (top stx) - (syntax-case stx () - [(_ . x) - (let ([x* (syntax-e #'x)]) - (if (and (symbol? x*) (regexp-match? #rx":$" (symbol->string x*))) - #''x - #'(#%top . x)))])) - +(require (for-syntax racket/base)) (define-syntax-rule (module-begin expr ...) (#%plain-module-begin (port-count-lines! (current-output-port)) diff --git a/collects/scribble/html/main.rkt b/collects/scribble/html/main.rkt index 0ab3b2aa..789c4fe3 100644 --- a/collects/scribble/html/main.rkt +++ b/collects/scribble/html/main.rkt @@ -4,4 +4,14 @@ ;; includes all of the scribble/text utilities scribble/text) -(provide (all-from-out "xml.rkt" "html.rkt" "resource.rkt" scribble/text)) +(provide (all-from-out "xml.rkt" "html.rkt" "resource.rkt" scribble/text) + (rename-out [top #%top])) + +(require (for-syntax racket/base)) +(define-syntax (top stx) + (syntax-case stx () + [(_ . x) + (let ([x* (syntax-e #'x)]) + (if (and (symbol? x*) (regexp-match? #rx":$" (symbol->string x*))) + #''x + #'(#%top . x)))]))