bkyk8rc3zvpnsf5inmcqq4n3k98cv6hj-my-site-hyper-literate-git.test.suzanne.soy-0.0.1

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README | LICENSE

commit 81c244f607757625543a82fa996fde88d7cb0e68
parent 6bf60b5dcc05bedd853a35d0d6143fe6d571a122
Author: Matthew Flatt <mflatt@racket-lang.org>
Date:   Tue, 10 Jul 2007 07:08:16 +0000

doc work: reference on syntax objects

svn: r6882

original commit: 8470b614669a3c57f11f329e07c86459ab588e45

Diffstat:
Mcollects/scribble/manual.ss | 21+++++++++++++++++++--
Mcollects/scribble/scheme.ss | 1+
2 files changed, 20 insertions(+), 2 deletions(-)

diff --git a/collects/scribble/manual.ss b/collects/scribble/manual.ss @@ -192,6 +192,7 @@ (provide defproc defproc* defstruct defthing defparam defboolparam defform defform* defform/subs defform*/subs defform/none + defidform specform specform/subs specsubform specsubform/subs specspecsubform specspecsubform/subs specsubform/inline schemegrammar schemegrammar* @@ -311,6 +312,15 @@ '(spec) (list (lambda (ignored) (schemeblock0 spec))) null null (lambda () (list desc ...)))])) + (define-syntax (defidform stx) + (syntax-case stx () + [(_ spec-id desc ...) + #'(*defforms (quote-syntax spec-id) null + '(spec-id) + (list (lambda (x) (make-paragraph (list x)))) + null + null + (lambda () (list desc ...)))])) (define-syntax specsubform (syntax-rules () [(_ #:literals (lit ...) spec desc ...) @@ -837,7 +847,11 @@ (apply append (map (lambda (form) - (let loop ([form (cons (if kw-id (cdr form) form) + (let loop ([form (cons (if kw-id + (if (pair? form) + (cdr form) + null) + form) subs)]) (cond [(symbol? form) (if (or (meta-symbol? form) @@ -869,7 +883,10 @@ (eq? form (car forms)) (make-target-element #f - (list (to-element (make-just-context (car form) kw-id))) + (list (to-element (make-just-context (if (pair? form) + (car form) + form) + kw-id))) (register-scheme-form-definition kw-id)))))))) forms form-procs) (if (null? sub-procs) diff --git a/collects/scribble/scheme.ss b/collects/scribble/scheme.ss @@ -363,6 +363,7 @@ (let ([c (syntax-e c)]) (let ([s (format "~s" c)]) (if (and (symbol? c) + ((string-length s) . > . 1) (char=? (string-ref s 0) #\_)) (values (substring s 1) #t #f) (values s #f #f))))]