cmark

My personal build of CMark ✏️

Commit
f672460d6c6b9ab66afa69c783bcae9315e2c71b
Parent
3a5ed08c6a233aecb66e5e3c7d22e19998f94087
Author
John MacFarlane <jgm@berkeley.edu>
Date

Updated test/spec.txt.

Diffstat

1 file changed, 56 insertions, 4 deletions

Status File Name N° Changes Insertions Deletions
Modified test/spec.txt 60 56 4
diff --git a/test/spec.txt b/test/spec.txt
@@ -225,8 +225,8 @@ A line containing no characters, or a line containing only spaces
 The following definitions of character classes will be used in this spec:
 
 A [whitespace character](@whitespace-character) is a space
-(`U+0020`), tab (`U+0009`), carriage return (`U+000D`), or
-newline (`U+000A`).
+(`U+0020`), tab (`U+0009`), newline (`U+000A`), line tabulation (`U+000B`),
+form feed (`U+000C`), or carriage return (`U+000D`).
 
 [Whitespace](@whitespace) is a sequence of one or more [whitespace
 character]s.
@@ -1872,6 +1872,20 @@ line2
 ">foo</a></p>
 .
 
+However, it may not contain a [blank line]:
+
+.
+[foo]: /url 'title
+
+with blank line'
+
+[foo]
+.
+<p>[foo]: /url 'title</p>
+<p>with blank line'</p>
+<p>[foo]</p>
+.
+
 The title may be omitted:
 
 .
@@ -2984,8 +2998,42 @@ the above case:
 </ul>
 .
 
-3. **Empty list item.**  A [list marker] followed by a
-line containing only [whitespace] is a list item with no contents.
+3.  **Item starting with a blank line.**  If a sequence of lines *Ls*
+    starting with a single [blank line] constitute a (possibly empty)
+    sequence of blocks *Bs*, not separated from each other by more than
+    one blank line, and *M* is a list marker *M* of width *W*,
+    then the result of prepending *M* to the first line of *Ls*, and
+    indenting subsequent lines of *Ls* by *W + 1* spaces, is a list
+    item with *Bs* as its contents.
+    If a line is empty, then it need not be indented.  The type of the
+    list item (bullet or ordered) is determined by the type of its list
+    marker.  If the list item is ordered, then it is also assigned a
+    start number, based on the ordered list marker.
+
+Here are some list items that start with a blank line but are not empty:
+
+.
+-
+  foo
+-
+  ```
+  bar
+  ```
+-
+      baz
+.
+<ul>
+<li>foo</li>
+<li>
+<pre><code>bar
+</code></pre>
+</li>
+<li>
+<pre><code>baz
+</code></pre>
+</li>
+</ul>
+.
 
 Here is an empty bullet list item:
 
@@ -3039,6 +3087,7 @@ A list may start or end with an empty list item:
 </ul>
 .
 
+
 4.  **Indentation.**  If a sequence of lines *Ls* constitutes a list item
     according to rule #1, #2, or #3, then the result of indenting each line
     of *L* by 1-3 spaces (the same for each line) also constitutes a
@@ -5670,6 +5719,9 @@ A [link title](@link-title)  consists of either
 - a sequence of zero or more characters between matching parentheses
   (`(...)`), including a `)` character only if it is backslash-escaped.
 
+Although [link title]s may span multiple lines, they may not contain
+a [blank line].
+
 An [inline link](@inline-link) consists of a [link text] followed immediately
 by a left parenthesis `(`, optional [whitespace], an optional
 [link destination], an optional [link title] separated from the link