From 1dfaa5e7c06bfa2618fe57acd4e8ae82e26cdda2 Mon Sep 17 00:00:00 2001 From: Matthew Butterick Date: Tue, 4 Jun 2019 15:03:10 -0700 Subject: [PATCH] why not para-breaks in markdown? --- quad/quadwriter/layout.rkt | 4 +++- quad/quadwriter/markdown.rkt | 6 +++--- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/quad/quadwriter/layout.rkt b/quad/quadwriter/layout.rkt index b5a0c272..057ca48e 100644 --- a/quad/quadwriter/layout.rkt +++ b/quad/quadwriter/layout.rkt @@ -203,6 +203,7 @@ (define hung-word-sublists (match word-sublists [(list sublists ... (list prev-qs ... last-q)) + #:when (pair? (quad-elems last-q)) (define last-char-str (regexp-match #rx"[.,:;’-]$" (car (quad-elems last-q)))) (match last-char-str [#false word-sublists] @@ -213,7 +214,8 @@ (match-define (list x y) (force p)) (pt (- x) y)))])) (define last-sublist (append prev-qs (list last-q hanger-q))) - (append sublists (list last-sublist))])])) + (append sublists (list last-sublist))])] + [_ word-sublists])) (define word-width (sum-of-widths hung-word-sublists)) (define word-space-width (sum-of-widths word-space-sublists)) (define empty-hspace (- line-width diff --git a/quad/quadwriter/markdown.rkt b/quad/quadwriter/markdown.rkt index c610aff6..9530d4be 100644 --- a/quad/quadwriter/markdown.rkt +++ b/quad/quadwriter/markdown.rkt @@ -23,9 +23,9 @@ ;; markdown parser returns list of paragraphs (root null (match strs [(list str) strs] - [_ (add-between strs (list para-break) - #:before-first (list para-break) - #:after-last (list para-break) + [_ (add-between strs (list q:para-break) + #:before-first (list q:para-break) + #:after-last (list q:para-break) #:splice? #true)]))) (make-module-begin doc-proc)