aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn MacFarlane <jgm@berkeley.edu>2019-04-06 10:17:49 -0700
committerJohn MacFarlane <jgm@berkeley.edu>2019-04-06 10:17:49 -0700
commitd6a7872def52b31a0cad70667fcc88985d2d8abd (patch)
tree81139524711bacb17ac6357903e79cd797dd8b5f
parent37eaf9daba17f9fbca7c674136fa24524c49ef1e (diff)
Clarify that entities can't be used to indicate structure.
For example, you can't use `&#42;` instead of `*` for a bullet list, or `&#10;` to create a new paragraph. Closes #474.
-rw-r--r--spec.txt69
1 files changed, 62 insertions, 7 deletions
diff --git a/spec.txt b/spec.txt
index 9bf428d..4ca3aa0 100644
--- a/spec.txt
+++ b/spec.txt
@@ -5601,13 +5601,23 @@ foo
## Entity and numeric character references
-All valid HTML entity references and numeric character
-references, except those occurring in code blocks and code spans,
-are recognized as such and treated as equivalent to the
-corresponding Unicode characters. Conforming CommonMark parsers
-need not store information about whether a particular character
-was represented in the source using a Unicode character or
-an entity reference.
+Valid HTML entity references and numeric character references
+can be used in place of the corresponding Unicode character,
+with the following exceptions:
+
+- Entity and character references are not recognized in code
+ blocks and code spans.
+
+- Entity and character references cannot stand in place of
+ special characters that define structural elements in
+ CommonMark. For example, although `&#42;` can be used
+ in place of a literal `*` character, `&#42;` cannot replace
+ `*` in emphasis delimiters, bullet list markers, or thematic
+ breaks.
+
+Conforming CommonMark parsers need not store information about
+whether a particular character was represented in the source
+using a Unicode character or an entity reference.
[Entity references](@) consist of `&` + any of the valid
HTML5 entity names + `;`. The
@@ -5745,6 +5755,51 @@ text in code spans and code blocks:
````````````````````````````````
+Entity and numeric character references cannot be used
+in place of symbols indicating structure in CommonMark
+documents.
+
+```````````````````````````````` example
+&#42;foo&#42;
+*foo*
+.
+<p>*foo*
+<em>foo</em></p>
+````````````````````````````````
+
+```````````````````````````````` example
+&#42; foo
+
+* foo
+.
+<p>* foo</p>
+<ul>
+<li>foo</li>
+</ul>
+````````````````````````````````
+
+```````````````````````````````` example
+foo&#10;&#10;bar
+.
+<p>foo
+
+bar</p>
+````````````````````````````````
+
+```````````````````````````````` example
+&#9;foo
+.
+<p>→foo</p>
+````````````````````````````````
+
+
+```````````````````````````````` example
+[a](url &quot;tit&quot;)
+.
+<p>[a](url &quot;tit&quot;)</p>
+````````````````````````````````
+
+
## Code spans
A [backtick string](@)