md_analyze_emph: Follow specs changes to the "rule of three".
diff --git a/md4c/md4c.c b/md4c/md4c.c
index 46ac6ed..71daafb 100644
--- a/md4c/md4c.c
+++ b/md4c/md4c.c
@@ -3580,14 +3580,12 @@ md_analyze_emph(MD_CTX* ctx, int mark_index)
/* Apply "rule of three". (This is why we break asterisk opener
* marks into multiple chains.) */
n_opener_chains = 0;
- if((flags & MD_MARK_EMPH_MOD3_MASK) != MD_MARK_EMPH_MOD3_0)
- opener_chains[n_opener_chains++] = &ASTERISK_OPENERS_intraword_mod3_0;
+ opener_chains[n_opener_chains++] = &ASTERISK_OPENERS_intraword_mod3_0;
if((flags & MD_MARK_EMPH_MOD3_MASK) != MD_MARK_EMPH_MOD3_2)
opener_chains[n_opener_chains++] = &ASTERISK_OPENERS_intraword_mod3_1;
if((flags & MD_MARK_EMPH_MOD3_MASK) != MD_MARK_EMPH_MOD3_1)
opener_chains[n_opener_chains++] = &ASTERISK_OPENERS_intraword_mod3_2;
- if(!(flags & MD_MARK_EMPH_INTRAWORD) || (flags & MD_MARK_EMPH_MOD3_MASK) != MD_MARK_EMPH_MOD3_0)
- opener_chains[n_opener_chains++] = &ASTERISK_OPENERS_extraword_mod3_0;
+ opener_chains[n_opener_chains++] = &ASTERISK_OPENERS_extraword_mod3_0;
if(!(flags & MD_MARK_EMPH_INTRAWORD) || (flags & MD_MARK_EMPH_MOD3_MASK) != MD_MARK_EMPH_MOD3_2)
opener_chains[n_opener_chains++] = &ASTERISK_OPENERS_extraword_mod3_1;
if(!(flags & MD_MARK_EMPH_INTRAWORD) || (flags & MD_MARK_EMPH_MOD3_MASK) != MD_MARK_EMPH_MOD3_1)
diff --git a/test/pathological_tests.py b/test/pathological_tests.py
index 515a199..8518032 100755
--- a/test/pathological_tests.py
+++ b/test/pathological_tests.py
@@ -32,7 +32,7 @@ pathological = {
re.compile("(_a ){64999}_a")),
"many 3-emph openers with no closers":
(("a***" * 65000),
- re.compile("(a[*][*][*]){65000}")),
+ re.compile("(a<em><strong>a</strong></em>){32500}")),
"many link closers with no openers":
(("a]" * 65000),
re.compile("(a\]){65000}")),