aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn MacFarlane <jgm@berkeley.edu>2017-08-01 16:16:18 -0700
committerJohn MacFarlane <jgm@berkeley.edu>2017-08-01 16:16:18 -0700
commit98fd3aaa18f7a53ca6b32dc22d4465f2f14a1ba1 (patch)
treee25548a6b6784d28c33158a1eca924df753675e4
parente7e2b3071c32589dea1f4adca69edbd2a79c7b3c (diff)
parent45e0c72a183916744ffa95b43ce8d0ef013de07c (diff)
Merge branch 'master' of github.com:jgm/CommonMark
-rw-r--r--spec.txt31
1 files changed, 31 insertions, 0 deletions
diff --git a/spec.txt b/spec.txt
index f0ba350..b6badd7 100644
--- a/spec.txt
+++ b/spec.txt
@@ -2042,6 +2042,37 @@ or [closing tag] (with any [tag name] other than `script`,
or the end of the line.\
**End condition:** line is followed by a [blank line].
+HTML blocks continue until they are closed by their appropriate
+[end condition], or the last line of the document or other [container block].
+This means any HTML **within an HTML block** that might otherwise be recognised
+as a start condition will be ignored by the parser and passed through as-is,
+without changing the parser's state.
+
+For instance, `<pre>` within a HTML block started by `<table>` will not affect
+the parser state; as the HTML block was started in by start condition 6, it
+will end at any blank line. This can be surprising:
+
+```````````````````````````````` example
+<table><tr><td>
+<pre>
+**Hello**,
+
+_world_.
+</pre>
+</td></tr></table>
+.
+<table><tr><td>
+<pre>
+**Hello**,
+<p><em>world</em>.
+</pre></p>
+</td></tr></table>
+````````````````````````````````
+
+In this case, the HTML block is terminated by the newline — the `**hello**`
+text remains verbatim — and regular parsing resumes, with a paragraph,
+emphasised `world` and inline and block HTML following.
+
All types of [HTML blocks] except type 7 may interrupt
a paragraph. Blocks of type 7 may not interrupt a paragraph.
(This restriction is intended to prevent unwanted interpretation