summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/Text/Pandoc/Writers/Org.hs6
-rw-r--r--test/command/4171.md11
2 files changed, 16 insertions, 1 deletions
diff --git a/src/Text/Pandoc/Writers/Org.hs b/src/Text/Pandoc/Writers/Org.hs
index f73822b86..b2f9bbc53 100644
--- a/src/Text/Pandoc/Writers/Org.hs
+++ b/src/Text/Pandoc/Writers/Org.hs
@@ -308,7 +308,11 @@ blockListToOrg blocks = vcat <$> mapM blockToOrg blocks
inlineListToOrg :: PandocMonad m
=> [Inline]
-> Org m Doc
-inlineListToOrg lst = hcat <$> mapM inlineToOrg lst
+inlineListToOrg lst = hcat <$> mapM inlineToOrg (fixNotes lst)
+ where fixNotes [] = [] -- prevent note ref from wrapping, see #4171
+ fixNotes (Space : n@Note{} : rest) =
+ Str " " : n : fixNotes rest
+ fixNotes (x : rest) = x : fixNotes rest
-- | Convert Pandoc inline element to Org.
inlineToOrg :: PandocMonad m => Inline -> Org m Doc
diff --git a/test/command/4171.md b/test/command/4171.md
new file mode 100644
index 000000000..649263638
--- /dev/null
+++ b/test/command/4171.md
@@ -0,0 +1,11 @@
+```
+% pandoc -f org -t org
+Aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa [fn:1] a
+
+[fn:1] b
+^D
+Aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa [fn:1]
+a
+
+[fn:1] b
+```