From 1f1f7075a2bcb3cc9edb9b32ed5e74630cd02d71 Mon Sep 17 00:00:00 2001 From: Matthew Butterick Date: Mon, 25 May 2020 23:31:54 -0700 Subject: [PATCH] make splicing-tag nonsettable --- pollen/core.rkt | 6 +++--- pollen/private/external/output.rkt | 4 ++-- pollen/private/main-base.rkt | 3 ++- pollen/scribblings/setup.scrbl | 3 --- pollen/setup.rkt | 2 -- pollen/template/html.rkt | 2 +- 6 files changed, 8 insertions(+), 12 deletions(-) diff --git a/pollen/core.rkt b/pollen/core.rkt index 250e1d2..46a2dfe 100644 --- a/pollen/core.rkt +++ b/pollen/core.rkt @@ -1,7 +1,7 @@ #lang racket/base (require (for-syntax racket/base - "setup.rkt") + "private/splice.rkt") racket/match txexpr/base xml/path @@ -120,7 +120,7 @@ (define-syntax (when/splice stx) (syntax-case stx () [(_ COND . BODY) - (with-syntax ([SPLICING-TAG (datum->syntax stx (setup:splicing-tag))]) + (with-syntax ([SPLICING-TAG (datum->syntax stx splice-signal-tag)]) #'(if COND (SPLICING-TAG . BODY) (SPLICING-TAG)))])) @@ -130,7 +130,7 @@ (define-syntax (for/splice/base stx) (syntax-case stx () [(_ ITERATORS . BODY) - (with-syntax ([SPLICING-TAG (datum->syntax stx (setup:splicing-tag))] + (with-syntax ([SPLICING-TAG (datum->syntax stx splice-signal-tag)] [FORM (or (syntax-property stx 'form) #'for/list)]) #'(apply SPLICING-TAG (FORM ITERATORS (SPLICING-TAG . BODY))))])) diff --git a/pollen/private/external/output.rkt b/pollen/private/external/output.rkt index c3ad429..ddc462f 100644 --- a/pollen/private/external/output.rkt +++ b/pollen/private/external/output.rkt @@ -1,7 +1,7 @@ #lang racket/base (require racket/promise racket/contract/base - pollen/setup) ; to get splicing char + pollen/private/splice) ; to get splicing char #| 161017: This is a slightly amended version of scribble/text/output @@ -129,7 +129,7 @@ This version will also splice lists that begin with the splicing char. (define npfx (pfx+col (pfx+ pfx lpfx))) (set-mcar! pfxs npfx) (set-mcdr! pfxs 0) (if (list? c) - (let ([c (if (eq? (setup:splicing-tag) (car c)) ; patch to cooperate with splicing char + (let ([c (if (eq? splice-signal-tag (car c)) ; patch to cooperate with splicing char (cdr c) c)]) (for ([c (in-list c)]) (loop c))) diff --git a/pollen/private/main-base.rkt b/pollen/private/main-base.rkt index 9ce4929..1b293bb 100644 --- a/pollen/private/main-base.rkt +++ b/pollen/private/main-base.rkt @@ -2,6 +2,7 @@ (require (for-syntax racket/base syntax/strip-context "../setup.rkt" + "splice.rkt" "split-metas.rkt") racket/list "to-string.rkt" @@ -23,7 +24,7 @@ (define (stringify xs) (apply string-append (map to-string xs))) (define (parse xs-in parser-mode root-proc) - (define xs (splice (strip-leading-newlines xs-in) (setup:splicing-tag))) + (define xs (splice (strip-leading-newlines xs-in) splice-signal-tag)) (cond [(eq? parser-mode default-mode-pagetree) (decode-pagetree xs)] [(eq? parser-mode default-mode-markup) (apply root-proc (remove-voids xs))] diff --git a/pollen/scribblings/setup.scrbl b/pollen/scribblings/setup.scrbl index 62c3f88..2d10473 100644 --- a/pollen/scribblings/setup.scrbl +++ b/pollen/scribblings/setup.scrbl @@ -147,9 +147,6 @@ Both the names and the values of environment variables are case-insensitive, so @history[#:added "1.1"]} -@defoverridable[splicing-tag symbol?]{Key used to signal that an X-expression should be spliced into its containing X-expression.} - - @defoverridable[poly-source-ext symbol?]{Extension that indicates a source file can target multiple output types.} diff --git a/pollen/setup.rkt b/pollen/setup.rkt index ee4e471..bc9662e 100644 --- a/pollen/setup.rkt +++ b/pollen/setup.rkt @@ -141,8 +141,6 @@ (define-settable here-path-key 'here-path) -(define+provide splicing-tag '@) - (define-settable poly-source-ext 'poly) ; extension that signals source can be used for multiple output targets (define-settable poly-targets '(html)) ; current target applied to multi-output source files (define+provide current-poly-target (make-parameter (car (poly-targets)))) diff --git a/pollen/template/html.rkt b/pollen/template/html.rkt index 58f11ca..5db1303 100644 --- a/pollen/template/html.rkt +++ b/pollen/template/html.rkt @@ -6,7 +6,7 @@ (define paren-match (cadr matches)) paren-match) -(define splicing-tag (setup:splicing-tag)) +(define splicing-tag splice-signal-tag) (define (has-outer-splice-tag? x) (and (pair? x) (eq? (get-tag x) splicing-tag)))