diff --git a/src/markdown.c b/src/markdown.c index abe4a1d..3cc6490 100644 --- a/src/markdown.c +++ b/src/markdown.c @@ -1180,7 +1180,7 @@ char_superscript(struct buf *ob, struct sd_markdown *rndr, uint8_t *data, size_t if (data[1] == '(') { sup_start = sup_len = 2; - while (sup_len < size && data[sup_len] != ')' && data[sup_len - 1] != '\\') + while (sup_len < size && !(data[sup_len] == ')' && data[sup_len - 1] != '\\')) sup_len++; if (sup_len == size) diff --git a/test_snudown.py b/test_snudown.py index fa9568f..98735e6 100644 --- a/test_snudown.py +++ b/test_snudown.py @@ -72,6 +72,9 @@ r'~~normal strikethrough~~': '

normal strikethrough

\n', + '^((\^Grouped superscript\))': + '

(^Grouped superscript)

\n', + r'\~~escaped strikethrough~~': '

~~escaped strikethrough~~

\n',