Commit 0706cd1
committed
Fix blockquote parsing to match GFM behavior
Two changes to the BlockQuoteRaw rule in the PEG grammar:
1. Stop lazy continuation from consuming block-level elements by adding
negative lookaheads for headings, list markers, and code fences.
2. End blockquotes at unquoted blank lines. Previously, all blank lines
were consumed and the parser continued matching subsequent > lines as
part of the same blockquote. Now only blank lines prefixed with >
continue the blockquote, matching GFM where an unquoted blank line
separates two distinct blockquotes.1 parent c59a7a8 commit 0706cd1
3 files changed
Lines changed: 168 additions & 29 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
617 | 617 | | |
618 | 618 | | |
619 | 619 | | |
620 | | - | |
621 | | - | |
| 620 | + | |
| 621 | + | |
622 | 622 | | |
623 | 623 | | |
624 | 624 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1656 | 1656 | | |
1657 | 1657 | | |
1658 | 1658 | | |
1659 | | - | |
| 1659 | + | |
1660 | 1660 | | |
1661 | 1661 | | |
1662 | 1662 | | |
| |||
1718 | 1718 | | |
1719 | 1719 | | |
1720 | 1720 | | |
| 1721 | + | |
| 1722 | + | |
| 1723 | + | |
| 1724 | + | |
| 1725 | + | |
| 1726 | + | |
| 1727 | + | |
| 1728 | + | |
| 1729 | + | |
| 1730 | + | |
| 1731 | + | |
| 1732 | + | |
| 1733 | + | |
| 1734 | + | |
| 1735 | + | |
| 1736 | + | |
| 1737 | + | |
| 1738 | + | |
| 1739 | + | |
| 1740 | + | |
| 1741 | + | |
| 1742 | + | |
| 1743 | + | |
| 1744 | + | |
| 1745 | + | |
| 1746 | + | |
| 1747 | + | |
| 1748 | + | |
| 1749 | + | |
| 1750 | + | |
| 1751 | + | |
| 1752 | + | |
1721 | 1753 | | |
1722 | 1754 | | |
1723 | 1755 | | |
| |||
1741 | 1773 | | |
1742 | 1774 | | |
1743 | 1775 | | |
1744 | | - | |
| 1776 | + | |
1745 | 1777 | | |
| 1778 | + | |
| 1779 | + | |
| 1780 | + | |
| 1781 | + | |
| 1782 | + | |
1746 | 1783 | | |
1747 | 1784 | | |
1748 | 1785 | | |
1749 | | - | |
| 1786 | + | |
1750 | 1787 | | |
1751 | 1788 | | |
1752 | 1789 | | |
1753 | 1790 | | |
1754 | 1791 | | |
1755 | | - | |
| 1792 | + | |
1756 | 1793 | | |
1757 | 1794 | | |
1758 | 1795 | | |
| |||
1769 | 1806 | | |
1770 | 1807 | | |
1771 | 1808 | | |
1772 | | - | |
| 1809 | + | |
1773 | 1810 | | |
1774 | 1811 | | |
1775 | 1812 | | |
1776 | | - | |
| 1813 | + | |
1777 | 1814 | | |
1778 | 1815 | | |
1779 | | - | |
| 1816 | + | |
1780 | 1817 | | |
1781 | 1818 | | |
1782 | 1819 | | |
1783 | | - | |
| 1820 | + | |
1784 | 1821 | | |
1785 | 1822 | | |
1786 | | - | |
| 1823 | + | |
1787 | 1824 | | |
1788 | 1825 | | |
1789 | 1826 | | |
1790 | 1827 | | |
1791 | 1828 | | |
1792 | | - | |
| 1829 | + | |
1793 | 1830 | | |
1794 | 1831 | | |
1795 | 1832 | | |
1796 | 1833 | | |
1797 | 1834 | | |
1798 | | - | |
| 1835 | + | |
1799 | 1836 | | |
1800 | 1837 | | |
1801 | 1838 | | |
1802 | 1839 | | |
1803 | | - | |
| 1840 | + | |
1804 | 1841 | | |
1805 | | - | |
| 1842 | + | |
1806 | 1843 | | |
1807 | 1844 | | |
1808 | | - | |
| 1845 | + | |
1809 | 1846 | | |
1810 | | - | |
| 1847 | + | |
1811 | 1848 | | |
1812 | 1849 | | |
1813 | | - | |
| 1850 | + | |
1814 | 1851 | | |
1815 | 1852 | | |
1816 | | - | |
| 1853 | + | |
| 1854 | + | |
| 1855 | + | |
| 1856 | + | |
| 1857 | + | |
| 1858 | + | |
| 1859 | + | |
| 1860 | + | |
| 1861 | + | |
| 1862 | + | |
| 1863 | + | |
| 1864 | + | |
| 1865 | + | |
| 1866 | + | |
| 1867 | + | |
| 1868 | + | |
| 1869 | + | |
| 1870 | + | |
| 1871 | + | |
| 1872 | + | |
| 1873 | + | |
| 1874 | + | |
| 1875 | + | |
| 1876 | + | |
| 1877 | + | |
| 1878 | + | |
| 1879 | + | |
| 1880 | + | |
| 1881 | + | |
| 1882 | + | |
| 1883 | + | |
| 1884 | + | |
| 1885 | + | |
1817 | 1886 | | |
1818 | | - | |
| 1887 | + | |
1819 | 1888 | | |
1820 | 1889 | | |
1821 | 1890 | | |
1822 | 1891 | | |
1823 | 1892 | | |
1824 | | - | |
| 1893 | + | |
1825 | 1894 | | |
1826 | 1895 | | |
1827 | 1896 | | |
1828 | 1897 | | |
1829 | 1898 | | |
1830 | | - | |
| 1899 | + | |
1831 | 1900 | | |
1832 | 1901 | | |
1833 | 1902 | | |
| |||
1836 | 1905 | | |
1837 | 1906 | | |
1838 | 1907 | | |
1839 | | - | |
| 1908 | + | |
1840 | 1909 | | |
1841 | 1910 | | |
1842 | 1911 | | |
1843 | 1912 | | |
1844 | | - | |
| 1913 | + | |
1845 | 1914 | | |
| 1915 | + | |
| 1916 | + | |
| 1917 | + | |
| 1918 | + | |
| 1919 | + | |
1846 | 1920 | | |
1847 | 1921 | | |
1848 | 1922 | | |
1849 | | - | |
| 1923 | + | |
1850 | 1924 | | |
1851 | 1925 | | |
1852 | 1926 | | |
1853 | 1927 | | |
1854 | 1928 | | |
1855 | | - | |
| 1929 | + | |
1856 | 1930 | | |
1857 | 1931 | | |
1858 | 1932 | | |
| |||
1861 | 1935 | | |
1862 | 1936 | | |
1863 | 1937 | | |
1864 | | - | |
| 1938 | + | |
1865 | 1939 | | |
1866 | 1940 | | |
1867 | 1941 | | |
| |||
16457 | 16531 | | |
16458 | 16532 | | |
16459 | 16533 | | |
16460 | | - | |
| 16534 | + | |
16461 | 16535 | | |
16462 | 16536 | | |
16463 | 16537 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
120 | 120 | | |
121 | 121 | | |
122 | 122 | | |
123 | | - | |
| 123 | + | |
| 124 | + | |
124 | 125 | | |
125 | 126 | | |
126 | 127 | | |
127 | 128 | | |
128 | 129 | | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
| 156 | + | |
| 157 | + | |
| 158 | + | |
| 159 | + | |
| 160 | + | |
| 161 | + | |
| 162 | + | |
| 163 | + | |
| 164 | + | |
| 165 | + | |
| 166 | + | |
| 167 | + | |
| 168 | + | |
| 169 | + | |
| 170 | + | |
| 171 | + | |
| 172 | + | |
| 173 | + | |
| 174 | + | |
| 175 | + | |
| 176 | + | |
| 177 | + | |
| 178 | + | |
| 179 | + | |
| 180 | + | |
| 181 | + | |
| 182 | + | |
| 183 | + | |
| 184 | + | |
| 185 | + | |
| 186 | + | |
| 187 | + | |
| 188 | + | |
| 189 | + | |
| 190 | + | |
| 191 | + | |
| 192 | + | |
| 193 | + | |
129 | 194 | | |
130 | 195 | | |
131 | 196 | | |
| |||
0 commit comments