diff options
-rw-r--r-- | src/inlines.c | 3 | ||||
-rw-r--r-- | test/smart_punct.txt | 9 |
2 files changed, 11 insertions, 1 deletions
diff --git a/src/inlines.c b/src/inlines.c index 6bf82e2..2d7f385 100644 --- a/src/inlines.c +++ b/src/inlines.c @@ -345,7 +345,8 @@ static int scan_delims(subject *subj, unsigned char c, bool *can_open, *can_close = right_flanking && (!left_flanking || cmark_utf8proc_is_punctuation(after_char)); } else if (c == '\'' || c == '"') { - *can_open = left_flanking && !right_flanking; + *can_open = left_flanking && !right_flanking && + before_char != ']' && before_char != ')'; *can_close = right_flanking; } else { *can_open = left_flanking; diff --git a/test/smart_punct.txt b/test/smart_punct.txt index 3522c94..fd55e62 100644 --- a/test/smart_punct.txt +++ b/test/smart_punct.txt @@ -78,6 +78,15 @@ left double quote, to facilitate this style: <p>“Second paragraph by same speaker, in fiction.”</p> ```````````````````````````````` +A quote following a `]` or `)` character cannot +be an open quote: + +```````````````````````````````` example +[a]'s b' +. +<p>[a]’s b’</p> +```````````````````````````````` + Quotes that are escaped come out as literal straight quotes: |