aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander Krotov <ilabdsf@gmail.com>2018-04-26 12:29:45 +0300
committerAlexander Krotov <ilabdsf@gmail.com>2018-04-26 12:38:17 +0300
commit4d89a1db7f1ad9d64db7c9e2c294351821ff3993 (patch)
tree8e31334d362359c0e9f6428fb386b482803e192d
parent73463b823929ce4930ed60e576d13a148ffb573c (diff)
downloadpandoc-4d89a1db7f1ad9d64db7c9e2c294351821ff3993.tar.gz
Muse reader: allow nested footnotes
-rw-r--r--src/Text/Pandoc/Readers/Muse.hs2
-rw-r--r--test/Tests/Readers/Muse.hs9
2 files changed, 10 insertions, 1 deletions
diff --git a/src/Text/Pandoc/Readers/Muse.hs b/src/Text/Pandoc/Readers/Muse.hs
index f21a169fd..fe6b3698c 100644
--- a/src/Text/Pandoc/Readers/Muse.hs
+++ b/src/Text/Pandoc/Readers/Muse.hs
@@ -821,7 +821,7 @@ footnote = try $ do
Nothing -> return $ B.str $ "[" ++ ref ++ "]"
Just (_pos, contents) -> do
st <- askF
- let contents' = runF contents st { museNotes = M.empty }
+ let contents' = runF contents st { museNotes = M.delete ref (museNotes st) }
return $ B.note contents'
whitespace :: PandocMonad m => MuseParser m (F Inlines)
diff --git a/test/Tests/Readers/Muse.hs b/test/Tests/Readers/Muse.hs
index a7eb9d0eb..ecdd5fdb0 100644
--- a/test/Tests/Readers/Muse.hs
+++ b/test/Tests/Readers/Muse.hs
@@ -659,6 +659,15 @@ tests =
] =?>
para (text "Start recursion here" <>
note (para "Recursion continues here[1]"))
+ , "Nested footnotes" =:
+ T.unlines [ "Footnote: [1]"
+ , ""
+ , "[1] Nested: [2]"
+ , ""
+ , "[2] No recursion: [1]"
+ ] =?>
+ para (text "Footnote: " <>
+ note (para (text "Nested: " <> note (para $ text "No recursion: [1]"))))
, "No zero footnotes" =:
T.unlines [ "Here is a footnote[0]."
, ""