From 54a25039e53bdc6e3f0115b18ef11d6c38b3d64f Mon Sep 17 00:00:00 2001 From: Matthew Butterick Date: Wed, 6 Apr 2016 18:08:18 -0700 Subject: [PATCH] wave of mutilation --- pollen/private/main-base.rkt | 68 ++++++++++++++++++------------------ pollen/private/ts.rktd | 2 +- 2 files changed, 35 insertions(+), 35 deletions(-) diff --git a/pollen/private/main-base.rkt b/pollen/private/main-base.rkt index c215b7d..f4249b3 100644 --- a/pollen/private/main-base.rkt +++ b/pollen/private/main-base.rkt @@ -7,55 +7,55 @@ (rename-out [dialect-module-begin #%module-begin])) -(define-syntax-rule (dialect-module-begin PARSER-MODE-IN OUTER-EXPR ...) +(define-syntax-rule (dialect-module-begin ...) (#%module-begin (require racket/base) (provide (except-out (all-from-out racket/base) #%module-begin) (rename-out [pollen-module-begin #%module-begin])) (define-syntax (pollen-module-begin stx) (syntax-case stx () - [(_ EXPR (... ...)) - (let-values ([(meta-hash expr-without-metas) (split-metas (syntax->datum #'(EXPR (... ...))) (setup:define-meta-name))]) - (with-syntax ([META-HASH (datum->syntax #f meta-hash)] - [(EXPR-WITHOUT-METAS (... ...)) (datum->syntax #f expr-without-metas)] - [METAS (format-id #f "~a" (setup:meta-export))] - [META-MOD (format-symbol "~a" (setup:meta-export))] - [ROOT (format-id #f "~a" (setup:main-root-node))] - [NEWLINE (datum->syntax #f (setup:newline))] - [MODE-PAGETREE (datum->syntax #f default-mode-pagetree)] - [MODE-MARKUP (datum->syntax #f default-mode-markup)] - [MODE-MARKDOWN (datum->syntax #f default-mode-markdown)] - [SPLICING_TAG (datum->syntax #f (setup:splicing-tag))] - [DOC (format-id #f "~a" (setup:main-export))] - [DOC-RAW (generate-temporary 'pollen-)]); prevents conflicts with other imported Pollen sources - (replace-context #'(EXPR (... ...)) + [(_ (... ...)) + (let-values ([(meta-hash expr-without-metas) (split-metas (syntax->datum #'( (... ...))) (setup:define-meta-name))]) + (with-syntax ([ meta-hash] + [( (... ...)) expr-without-metas] + [ (format-id #f "~a" (setup:meta-export))] + [ (format-symbol "~a" (setup:meta-export))] + [ (format-id #f "~a" (setup:main-root-node))] + [ (datum->syntax #f (setup:newline))] + [ default-mode-pagetree] + [ default-mode-markup] + [ default-mode-markdown] + [ (setup:splicing-tag)] + [ (format-id #f "~a" (setup:main-export))] + [ (generate-temporary 'pollen-)]); prevents conflicts with other imported Pollen sources + (replace-context #'( (... ...)) #'(#%module-begin - (module META-MOD racket/base - (provide METAS) - (define METAS META-HASH)) + (module racket/base + (provide ) + (define )) (module inner pollen/private/doclang-raw - DOC-RAW ; positional arg for doclang-raw that sets name of export. + ; positional arg for doclang-raw that sets name of export. (require pollen/top pollen/setup pollen/core) - (require (submod ".." META-MOD)) - (provide (all-defined-out) #%top (all-from-out (submod ".." META-MOD) pollen/core)) - EXPR-WITHOUT-METAS (... ...)) + (require (submod ".." )) + (provide (all-defined-out) #%top (all-from-out (submod ".." ) pollen/core)) + (... ...)) (require 'inner) - (define DOC + (define (let* ([parser-mode-undefined? (procedure? inner:parser-mode)] ; if undefined, #%top makes it a procedure - [parser-mode (if parser-mode-undefined? PARSER-MODE-IN inner:parser-mode)] - [proc (cond - [(eq? parser-mode 'MODE-PAGETREE) decode-pagetree] - [(eq? parser-mode 'MODE-MARKUP) (λ(xs) (apply ROOT xs))] ; if `root` undefined, it becomes a default tag function - [(eq? parser-mode 'MODE-MARKDOWN) - (λ(xs) (apply ROOT (map strip-empty-attrs ((dynamic-require 'markdown 'parse-markdown) (apply string-append (map to-string xs))))))] + [parser-mode (if parser-mode-undefined? inner:parser-mode)] + [proc (case parser-mode + [() decode-pagetree] + [() (λ(xs) (apply xs))] ; if `root` undefined, it becomes a default tag function + [() + (λ(xs) (apply (map strip-empty-attrs ((dynamic-require 'markdown 'parse-markdown) (apply string-append (map to-string xs))))))] [else (λ(xs) (apply string-append (map to-string xs)))])] ; string output for preprocessor ;; drop leading newlines, as they're often the result of `defines` and `requires` - [doc-elements (or (memf (λ(ln) (not (equal? ln NEWLINE))) DOC-RAW) null)] - [doc-elements-spliced (splice doc-elements 'SPLICING_TAG)]) + [doc-elements (or (memf (λ(ln) (not (equal? ln ))) ) null)] + [doc-elements-spliced (splice doc-elements ')]) (proc doc-elements-spliced))) - (provide DOC METAS (except-out (all-from-out 'inner) DOC-RAW #%top))))))])) - OUTER-EXPR ...)) \ No newline at end of file + (provide (except-out (all-from-out 'inner) #%top))))))])) + ...)) \ No newline at end of file diff --git a/pollen/private/ts.rktd b/pollen/private/ts.rktd index f62fa00..92ee41a 100644 --- a/pollen/private/ts.rktd +++ b/pollen/private/ts.rktd @@ -1 +1 @@ -1459539451 +1459991298