
`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
18 lines
498 B
Racket
18 lines
498 B
Racket
#lang racket/base
|
|
|
|
(require "xml.rkt" "html.rkt" "resource.rkt"
|
|
;; includes all of the scribble/text utilities
|
|
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)))]))
|