diff options
author | John MacFarlane <jgm@berkeley.edu> | 2015-01-18 10:41:54 -0800 |
---|---|---|
committer | John MacFarlane <jgm@berkeley.edu> | 2015-01-18 10:47:08 -0800 |
commit | 14b997d9350b3ee3f6d67fb12b470bf406d4a31b (patch) | |
tree | b9a1416f18c27458849d48b8769c53100f55d008 /spec.txt | |
parent | b34e19cd2f32342fafd6ae76de4e537240784f71 (diff) |
Changed rule for `_` emphasis and strong emphasis.
To prevent intra-word emphasis, we used to check to see if
the delimiter was followed/preceded by an ASCII alphanumeric.
We now do something more elegant: whereas an opening `*` must
be left-flanking, an opening `_` must be left-flanking *and not
right-flanking*. And so on for the other cases.
All the original tests passed except some tests with Russian
text with internal `_`, which formerly created emphasis but no
longer do with the new rule. These tests have been adjusted.
A few new test cases have been added to illustrate the rule.
The C and JS implementations have both been updated.
Diffstat (limited to 'spec.txt')
-rw-r--r-- | spec.txt | 40 |
1 files changed, 28 insertions, 12 deletions
@@ -4547,28 +4547,28 @@ The following rules define emphasis and strong emphasis: 2. A single `_` character [can open emphasis] iff it is part of a [left-flanking delimiter run] - and is not preceded by an ASCII alphanumeric character. + and not part of a [right-flanking delimiter run]. 3. A single `*` character [can close emphasis](@can-close-emphasis) iff it is part of a [right-flanking delimiter run]. 4. A single `_` character [can close emphasis] - iff it is part of a [right-flanking delimiter run]. - and it is not followed by an ASCII alphanumeric character. + iff it is part of a [right-flanking delimiter run] + and not part of a [left-flanking delimiter run]. 5. A double `**` [can open strong emphasis](@can-open-strong-emphasis) iff it is part of a [left-flanking delimiter run]. 6. A double `__` [can open strong emphasis] iff it is part of a [left-flanking delimiter run] - and is not preceded by an ASCII alphanumeric character. + and not part of a [right-flanking delimiter run]. 7. A double `**` [can close strong emphasis](@can-close-strong-emphasis) iff it is part of a [right-flanking delimiter run]. 8. A double `__` [can close strong emphasis] iff it is part of a [right-flanking delimiter run] - and is not followed by an ASCII alphanumeric character. + and not part of a [left-flanking delimiter run]. 9. Emphasis begins with a delimiter that [can open emphasis] and ends with a delimiter that [can close emphasis], and that uses the same @@ -4701,7 +4701,7 @@ a_"foo"_ <p>a_"foo"_</p> . -Emphasis with `_` is not allowed inside ASCII words: +Emphasis with `_` is not allowed inside words: . foo_bar_ @@ -4715,12 +4715,28 @@ foo_bar_ <p>5_6_78</p> . -But it is permitted inside non-ASCII words: - . пристаням_стремятся_ . -<p>пристаням<em>стремятся</em></p> +<p>пристаням_стремятся_</p> +. + +Here `_` does not generate emphasis, because the first delimiter run +is right-flanking and the second left-flanking: + +. +aa_"bb"_cc +. +<p>aa_"bb"_cc</p> +. + +Here there is no emphasis, because the delimiter runs are +both left- and right-flanking: + +. +"aa"_"bb"_"cc" +. +<p>"aa"_"bb"_"cc"</p> . Rule 3: @@ -4810,7 +4826,7 @@ _foo_bar . _пристаням_стремятся . -<p><em>пристаням</em>стремятся</p> +<p>_пристаням_стремятся</p> . . @@ -4897,7 +4913,7 @@ foo__bar__ . пристаням__стремятся__ . -<p>пристаням<strong>стремятся</strong></p> +<p>пристаням__стремятся__</p> . . @@ -5000,7 +5016,7 @@ __foo__bar . __пристаням__стремятся . -<p><strong>пристаням</strong>стремятся</p> +<p>__пристаням__стремятся</p> . . |