From 9e61117542916ddf7d6a04c6c3b9a3556cd94c19 Mon Sep 17 00:00:00 2001 From: Matthew Butterick Date: Thu, 14 May 2020 07:31:32 -0700 Subject: [PATCH] tutorial render bug (fixes #61) --- quad/qtest/test-fancy-sauce-tester.pdf | Bin 0 -> 6734 bytes quad/qtest/test-fancy-sauce.rkt | 10 ++++++++++ quad/quadwriter/render.rkt | 3 ++- 3 files changed, 12 insertions(+), 1 deletion(-) create mode 100644 quad/qtest/test-fancy-sauce-tester.pdf create mode 100644 quad/qtest/test-fancy-sauce.rkt diff --git a/quad/qtest/test-fancy-sauce-tester.pdf b/quad/qtest/test-fancy-sauce-tester.pdf new file mode 100644 index 0000000000000000000000000000000000000000..7a7b6e223a22145278626fe38cdb685f5122081b GIT binary patch literal 6734 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 literal 0 HcmV?d00001 diff --git a/quad/qtest/test-fancy-sauce.rkt b/quad/qtest/test-fancy-sauce.rkt new file mode 100644 index 00000000..740b9eb2 --- /dev/null +++ b/quad/qtest/test-fancy-sauce.rkt @@ -0,0 +1,10 @@ +#lang racket +(require quadwriter) + +(define doc + '(q + (q "Brennan likes fancy sauce.") + (para-break) + (q "Dale hates fancy sauce."))) + +(provide doc) diff --git a/quad/quadwriter/render.rkt b/quad/quadwriter/render.rkt index 2e8f2283..d745aee1 100644 --- a/quad/quadwriter/render.rkt +++ b/quad/quadwriter/render.rkt @@ -8,6 +8,7 @@ racket/dict pitfall quad + (only-in txexpr txexpr) ; matcher hyphenate pollen/decode sugar/coerce @@ -177,7 +178,7 @@ #:string-proc (compose1 smart-ellipses smart-dashes) #:txexpr-proc smart-quotes)]) (match qx - [(list tag attrs elements ...) + [(txexpr tag attrs elements) ;; we insert a dummy element "." ;; (could be anything, but we want to use something obvious ;; so we don't trigger a fallback font)