summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander Krotov <ilabdsf@gmail.com>2018-03-03 03:32:37 +0300
committerAlexander Krotov <ilabdsf@gmail.com>2018-03-03 03:33:02 +0300
commita71a1fec69104f35b3722e423a741dc68076f3db (patch)
tree9b58508d10a626553ea1e222acd56cf8ea573ce7
parent7507117f150dd6d36835cf86ae0872b8af302af1 (diff)
Muse reader: fix indentation requirements for footnote continuations
-rw-r--r--src/Text/Pandoc/Readers/Muse.hs4
-rw-r--r--test/Tests/Readers/Muse.hs10
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]."