From 530bfe5f5afb1098ef8cec46ffe00ff8a6f00a43 Mon Sep 17 00:00:00 2001 From: John MacFarlane <jgm@berkeley.edu> Date: Sun, 3 Nov 2019 12:54:42 -0800 Subject: [PATCH] Docx reader: fix list number resumption for sublists. Closes #4324. The first list item of a sublist should not resume numbering from the number of the last sublist item of the same level, if that sublist was a sublist of a different list item. That is, we should not get: ``` 1. one 1. sub one 2. sub two 2. two 3. sub one ``` --- src/Text/Pandoc/Readers/Docx.hs | 9 ++++++++- test/Tests/Readers/Docx.hs | 4 ++++ test/docx/lists_sublist_reset.docx | Bin 0 -> 12757 bytes test/docx/lists_sublist_reset.native | 8 ++++++++ 4 files changed, 20 insertions(+), 1 deletion(-) create mode 100644 test/docx/lists_sublist_reset.docx create mode 100644 test/docx/lists_sublist_reset.native diff --git a/src/Text/Pandoc/Readers/Docx.hs b/src/Text/Pandoc/Readers/Docx.hs index 9d17ab118..8b0b295ab 100644 --- a/src/Text/Pandoc/Readers/Docx.hs +++ b/src/Text/Pandoc/Readers/Docx.hs @@ -640,7 +640,14 @@ bodyPartToBlocks (ListItem pPr numId lvl (Just levelInfo) parparts) = do , ("text", txt) , ("start", show start) ] - modify $ \st -> st{ docxListState = M.insert (numId, lvl) start listState} + modify $ \st -> st{ docxListState = + -- expire all the continuation data for lists of level > this one: + -- a new level 1 list item resets continuation for level 2+ + let expireKeys = [ (numid', lvl') + | (numid', lvl') <- M.keys listState + , lvl' > lvl + ] + in foldr M.delete (M.insert (numId, lvl) start listState) expireKeys } blks <- bodyPartToBlocks (Paragraph pPr parparts) return $ divWith ("", ["list-item"], kvs) blks bodyPartToBlocks (ListItem pPr _ _ _ parparts) = diff --git a/test/Tests/Readers/Docx.hs b/test/Tests/Readers/Docx.hs index 583a6ec18..e107ff9ee 100644 --- a/test/Tests/Readers/Docx.hs +++ b/test/Tests/Readers/Docx.hs @@ -271,6 +271,10 @@ tests = [ testGroup "document" "lists restarting after interruption" "docx/lists_restarting.docx" "docx/lists_restarting.native" + , testCompare + "sublists reset numbering to 1" + "docx/lists_sublist_reset.docx" + "docx/lists_sublist_reset.native" , testCompare "definition lists" "docx/definition_list.docx" diff --git a/test/docx/lists_sublist_reset.docx b/test/docx/lists_sublist_reset.docx new file mode 100644 index 0000000000000000000000000000000000000000..d4bf738522010d4ad4dc8cf87a99a8011fd8f826 GIT binary patch literal 12757 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 LpoO;4{v7=uV5`M8 literal 0 HcmV?d00001 diff --git a/test/docx/lists_sublist_reset.native b/test/docx/lists_sublist_reset.native new file mode 100644 index 000000000..9ee80b2e8 --- /dev/null +++ b/test/docx/lists_sublist_reset.native @@ -0,0 +1,8 @@ +[OrderedList (1,Decimal,Period) + [[Para [Str "Head",Space,Str "1"] + ,OrderedList (1,Decimal,DefaultDelim) + [[Para [Str "Head",Space,Str "1.1"]] + ,[Para [Str "Head",Space,Str "1.2"]]]] + ,[Para [Str "Head",Space,Str "2"] + ,OrderedList (1,Decimal,DefaultDelim) + [[Para [Str "Head",Space,Str "2.1"]]]]]]