# Blank lines before lists, revisited

**URL:** <https://talk.commonmark.org/t/blank-lines-before-lists-revisited/1990>\
**Category:** Spec\
**Tags:** release-1.0\
**Created:** [January 15, 2016, 6:21am UTC](https://talk.commonmark.org/t/blank-lines-before-lists-revisited/1990 "2016-01-15T06:21:20Z")\
**Posts on this page:** 1\
**Showing post:** 16

<div class="post-metadata">

**Author:** ![shoogle](https://talk.commonmark.org/user_avatar/talk.commonmark.org/shoogle/32/1259_2.png) [@shoogle](https://talk.commonmark.org/u/shoogle)\
**Post date:** [November 3, 2017, 3:33pm UTC](https://talk.commonmark.org/t/blank-lines-before-lists-revisited/1990/16 "2017-11-03T15:33:26Z")

</div>

The solutions suggested so far seem to deal with wrapping issues in paragraphs, but not in lists.

Consider this example:

```markdown
This sentence has been wrapped by
1. This is not a new list item.
1. An actual new list item.
2. Another new list item.

```

As already noted, this ambiguity can be solved by requiring a blank line before the list.

Now consider the case where the opening paragraph _is itself a list item_ at the **same level** as the other list items:

```markdown
1. This sentence has been wrapped by
1. This is not a separate list item.
2. An actual new list item.
3. Another new list item.

```

Solving this ambiguity requires a blank line before **every** new list item, not just the first item in the list, or even the first item at each new sublist level, like this:

```markdown
1. This sentence has been wrapped by
1. This is not a separate list item.

2. An actual new list item.

3. Another new list item.

```

Perhaps the choice should be between:

1. **Always** requiring a blank line before **every** new item in a list, including the first one.
  - This obeys the Principle of Uniformity and avoids ambiguity with line wrapping, setex, etc.
  - However, it is clearly a major change to current practise, and interferes with the definition of [loose lists](http://spec.commonmark.org/0.28/#loose).

2. **Never** requiring a blank line before **any** new list item, not even the first one.
  - This obeys the Principle of Uniformity and is consistent with current practise.
  - However, it requires escape characters or special heuristics to resolve issues with wrapping and setex.

My preference would be to **never** require blank lines before list items, and to use heuristics to determine whether something is a new list item or a continuation of the previous paragraph/list item. I know you guys are (understandably) reluctant to use heuristics, but they do have these benefits:

1. A human reading the text is essentially using heuristics to determine what is and is not a new list item. Commonmark would essentially just be codifying this process.
2. The heuristics don’t have to be perfect and can be improved over time as more edge cases are revealed.
3. If there are exceptional cases where the heuristics get it wrong people can always use blank lines and escaping to get the result they intended.
4. Heuristics can obey the Principal of Uniformity. The _same heuristics_ can be applied _at any sublist level_ to determine whether a new line is:
  - A) a continuation of the previous line.
  - B) a new list item at the same level of the previous item.
  - C) a child of the previous list item (i.e. a new sublist item)

---

_[View the full topic](https://talk.commonmark.org/t/blank-lines-before-lists-revisited/1990)._
