lostenderman / markdown

:notebook_with_decorative_cover: A package for converting and rendering markdown documents in TeX
http://ctan.org/pkg/markdown
LaTeX Project Public License v1.3c
1 stars 0 forks source link

List items may contain blockquotes #75

Closed lostenderman closed 1 year ago

lostenderman commented 1 year ago

See https://spec.commonmark.org/0.30/#example-320

Witiko commented 1 year ago

The corresponding unit test is testfiles/CommonMark_0.30/lists/020.test:

%   ---RESULT--- "example": 320,
%   
%   <ul>
%   <li><em>a</em>
%   <blockquote>
%   <p><em>b</em></p>
%   </blockquote>
%   </li>
%   <li><em>c</em></li>
%   </ul>
%   
%   ---\RESULT---

<<<
* _a_
  > _b_
  >
* _c_
>>>
documentBegin
ulBeginTight
ulItem
emphasis: a
interblockSeparator
blockQuoteBegin
emphasis: b
blockQuoteEnd
ulItemEnd
ulItem
emphasis: c
ulItemEnd
ulEndTight
documentEnd

Here is the result of running git checkout commonmark; cd tests; ./test.sh "testfiles/CommonMark_0.30/lists/020.test":

Testfile testfiles/CommonMark_0.30/lists/020.test
  Format templates/plain/
    Template templates/plain/input.tex.m4
      Command pdftex   --shell-escape                  --interaction=nonstopmode  test.tex
*** test-expected.log   2022-12-22 11:47:30.969759919 +0100
--- test-actual.log 2022-12-22 11:47:37.619701254 +0100
***************
*** 2,11 ****
  ulBeginTight
  ulItem
  emphasis: a
- interblockSeparator
- blockQuoteBegin
  emphasis: b
- blockQuoteEnd
  ulItemEnd
  ulItem
  emphasis: c
--- 2,8 ----

The issue seems related to the PEG patterns for parsing lists (1, 2) and blockquotes ((3, 4)), which handle indents in lists using the rules for Gruber's Markdown (5, 6) rather than CommonMark (7, 8).