diff options
-rw-r--r-- | src/Text/Pandoc/Readers/Muse.hs | 4 | ||||
-rw-r--r-- | test/Tests/Readers/Muse.hs | 10 |
2 files changed, 12 insertions, 2 deletions
diff --git a/src/Text/Pandoc/Readers/Muse.hs b/src/Text/Pandoc/Readers/Muse.hs index 8bb087629..4a9523e84 100644 --- a/src/Text/Pandoc/Readers/Muse.hs +++ b/src/Text/Pandoc/Readers/Muse.hs @@ -470,10 +470,10 @@ amuseNoteBlockUntil :: PandocMonad m -> MuseParser m (F Blocks, a) amuseNoteBlockUntil end = try $ do guardEnabled Ext_amuse - pos <- getPosition ref <- noteMarker <* spaceChar + pos <- getPosition updateState (\st -> st { museInPara = False }) - (content, e) <- listItemContentsUntil (sourceColumn pos) (fail "x") end + (content, e) <- listItemContentsUntil (sourceColumn pos - 1) (fail "x") end oldnotes <- museNotes <$> getState case M.lookup ref oldnotes of Just _ -> logMessage $ DuplicateNoteReference ref pos diff --git a/test/Tests/Readers/Muse.hs b/test/Tests/Readers/Muse.hs index 4528ac4b1..508d79e18 100644 --- a/test/Tests/Readers/Muse.hs +++ b/test/Tests/Readers/Muse.hs @@ -637,6 +637,16 @@ tests = text " footnotes" <> note (para "Second footnote")) <> para (text "Not a note") + + -- Verse requires precise indentation, so it is good to test indentation requirements + , "Note continuation with verse" =: + T.unlines [ "Foo[1]" + , "" + , "[1] Bar" + , "" + , " > Baz" + ] =?> + para ("Foo" <> note (para "Bar" <> lineBlock ["Baz"])) , test emacsMuse "Emacs multiparagraph footnotes" (T.unlines [ "First footnote reference[1] and second footnote reference[2]." |