From 2cf0750a7a507eded4cf3c9a48fd1f924d0ce538 Mon Sep 17 00:00:00 2001 From: John MacFarlane Date: Sun, 7 Sep 2014 08:06:35 -0700 Subject: Fixed #48. - Fixed js and C code. - Added two test cases to spec. --- src/inlines.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/inlines.c b/src/inlines.c index 9e35178..f75c846 100644 --- a/src/inlines.c +++ b/src/inlines.c @@ -425,9 +425,17 @@ static inl* handle_strong_emph(subject* subj, char c) new = make_str(bmidstr(subj->buffer, subj->pos, numdelims)); append_inlines(*last, new); *last = new; - if (numdelims == 3) { + + if (first_close_delims == 1 && numdelims > 2) { + numdelims = 2; + } else if (first_close_delims == 2) { + numdelims = 1; + } else if (numdelims == 3) { + // If we opened with ***, we interpret it as ** followed by * + // giving us numdelims = 1; } + subj->pos += numdelims; if (first_close) { first_head->tag = first_close_delims == 1 ? strong : emph; -- cgit v1.2.3