Commit 0959975a8c2d91cfca4ab46f4c2686aacacbfd11

Martin Mitas 2019-03-26T14:01:02

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}")),