markdown-fill-paragraph bugs out with blockquotes and lists
Consider the following markdown:
> 1. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas arcu
> velit, vehicula vitae euismod a, pretium nec mauris. Aliquam fringilla
> imperdiet finibus. Ut rhoncus diam nec convallis tempus. Lorem ipsum dolor
> sit amet, consectetur adipiscing elit. Nunc mauris metus, tempor et erat
> quis, mattis sagittis nibh. Praesent vitae vulputate nunc. Morbi vel ante
> semper erat convallis eleifend. Aliquam sapien tortor, iaculis ac mi sit
> amet, lobortis euismod orci. Suspendisse luctus massa ligula, at consequat
> arcu sodales nec.
> 2. Interdum et malesuada fames ac ante ipsum primis in faucibus. Vivamus purus
> ipsum, tincidunt convallis lacinia non, tempor ut orci. Nulla
> facilisi. Duis luctus condimentum elementum. Praesent sit amet ante nec
> felis pretium pellentesque quis in neque. In sed ullamcorper ex. Phasellus
> felis nibh, ultrices ut pellentesque vel, vulputate eget augue. Donec
> vehicula semper diam ut accumsan. Duis in justo placerat, porttitor orci
> pharetra, luctus ligula. Duis ac ultrices enim.
> 3. Integer volutpat placerat fermentum. Vestibulum in nisl nec nisl lacinia
> congue eget at neque. Maecenas bibendum eros vehicula, volutpat mi eu,
> convallis arcu. Aliquam at felis est. Nulla a odio at est blandit
> dapibus. Pellentesque sollicitudin sem risus, vitae blandit sapien
> pharetra eu. Donec in mauris id magna tristique laoreet ut at
> turpis. Donec elementum, est quis egestas dapibus, ante urna auctor est,
> interdum fermentum ante neque quis odio. Cras quis nisi eleifend,
> consectetur mauris accumsan, imperdiet ligula. Integer vitae mauris
> metus. Vivamus sed tortor ultricies, vehicula orci ut, tincidunt
> enim. Phasellus fringilla metus id ante venenatis, porta tempus nisl
> rutrum. Morbi auctor bibendum felis eget varius. Phasellus nulla tellus,
> blandit sit amet faucibus quis, ullamcorper eu arcu.
This is a blockquote with a numbered list inside. If you call markdown-fill-paragraph on the first list item, you'll get this:
View Unexpected Behavior
> 1. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas arcu
> velit, vehicula vitae euismod a, pretium nec mauris. Aliquam fringilla
> imperdiet finibus. Ut rhoncus diam nec convallis tempus. Lorem ipsum dolor
> sit amet, consectetur adipiscing elit. Nunc mauris metus, tempor et erat
> quis, mattis sagittis nibh. Praesent vitae vulputate nunc. Morbi vel ante
> semper erat convallis eleifend. Aliquam sapien tortor, iaculis ac mi sit
> amet, lobortis euismod orci. Suspendisse luctus massa ligula, at consequat
> arcu sodales nec. 2. Interdum et malesuada fames ac ante ipsum primis in
> faucibus. Vivamus purus ipsum, tincidunt convallis lacinia non, tempor ut
> orci. Nulla facilisi. Duis luctus condimentum elementum. Praesent sit amet
> ante nec felis pretium pellentesque quis in neque. In sed ullamcorper
> ex. Phasellus felis nibh, ultrices ut pellentesque vel, vulputate eget
> augue. Donec vehicula semper diam ut accumsan. Duis in justo placerat,
> porttitor orci pharetra, luctus ligula. Duis ac ultrices enim. 3. Integer
> volutpat placerat fermentum. Vestibulum in nisl nec nisl lacinia congue
> eget at neque. Maecenas bibendum eros vehicula, volutpat mi eu, convallis
> arcu. Aliquam at felis est. Nulla a odio at est blandit
> dapibus. Pellentesque sollicitudin sem risus, vitae blandit sapien pharetra
> eu. Donec in mauris id magna tristique laoreet ut at turpis. Donec
> elementum, est quis egestas dapibus, ante urna auctor est, interdum
> fermentum ante neque quis odio. Cras quis nisi eleifend, consectetur mauris
> accumsan, imperdiet ligula. Integer vitae mauris metus. Vivamus sed tortor
> ultricies, vehicula orci ut, tincidunt enim. Phasellus fringilla metus id
> ante venenatis, porta tempus nisl rutrum. Morbi auctor bibendum felis eget
> varius. Phasellus nulla tellus, blandit sit amet faucibus quis, ullamcorper
> eu arcu.
... however, remove the blockquote and you'll see the intended behavior:
View expected behavior
1. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas arcu velit,
vehicula vitae euismod a, pretium nec mauris. Aliquam fringilla imperdiet
finibus. Ut rhoncus diam nec convallis tempus. Lorem ipsum dolor sit amet,
consectetur adipiscing elit. Nunc mauris metus, tempor et erat quis, mattis
sagittis nibh. Praesent vitae vulputate nunc. Morbi vel ante semper erat
convallis eleifend. Aliquam sapien tortor, iaculis ac mi sit amet, lobortis
euismod orci. Suspendisse luctus massa ligula, at consequat arcu sodales nec.
2. Interdum et malesuada fames ac ante ipsum primis in faucibus. Vivamus purus
ipsum, tincidunt convallis lacinia non, tempor ut orci. Nulla
facilisi. Duis luctus condimentum elementum. Praesent sit amet ante nec
felis pretium pellentesque quis in neque. In sed ullamcorper ex. Phasellus
felis nibh, ultrices ut pellentesque vel, vulputate eget augue. Donec
vehicula semper diam ut accumsan. Duis in justo placerat, porttitor orci
pharetra, luctus ligula. Duis ac ultrices enim.
3. Integer volutpat placerat fermentum. Vestibulum in nisl nec nisl lacinia
congue eget at neque. Maecenas bibendum eros vehicula, volutpat mi eu,
convallis arcu. Aliquam at felis est. Nulla a odio at est blandit
dapibus. Pellentesque sollicitudin sem risus, vitae blandit sapien
pharetra eu. Donec in mauris id magna tristique laoreet ut at
turpis. Donec elementum, est quis egestas dapibus, ante urna auctor est,
interdum fermentum ante neque quis odio. Cras quis nisi eleifend,
consectetur mauris accumsan, imperdiet ligula. Integer vitae mauris
metus. Vivamus sed tortor ultricies, vehicula orci ut, tincidunt
enim. Phasellus fringilla metus id ante venenatis, porta tempus nisl
rutrum. Morbi auctor bibendum felis eget varius. Phasellus nulla tellus,
blandit sit amet faucibus quis, ullamcorper eu arcu.
It appears that only the first list element is respected by the parser. The same behavior occurs with unordered lists.
TBH, blockquotes seem to make everything go haywire, which is a shame, because I use them pretty consistently.
It also breaks setext/underline style headers:
Headline
--------
becomes
Headline--------
This might be more widespread than I thought, because I'm just now realizing that list bullets fail to syntax-highlight entirely when placed in blockquotes, implying that they're no longer even recognized as lists. Maybe this is a syntax definition issue?