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
This commit is contained in:
parent
25c310b0dc
commit
688bb59c1a
|
@ -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))
|
||||
|
|
|
@ -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)))]))
|
||||
|
|
Loading…
Reference in New Issue
Block a user