From 2f92261d877c50d1909ae58c135700b35ffc111e Mon Sep 17 00:00:00 2001 From: Albert Krewinkel Date: Tue, 1 Jan 2019 22:06:44 +0100 Subject: Org reader: fix self-link parsing regression Fixes a regression introduced by the previous commit. --- src/Text/Pandoc/Readers/Org/Inlines.hs | 11 ++++++----- test/Tests/Readers/Org/Inline.hs | 4 ++++ 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/src/Text/Pandoc/Readers/Org/Inlines.hs b/src/Text/Pandoc/Readers/Org/Inlines.hs index b8aee0322..6560def7e 100644 --- a/src/Text/Pandoc/Readers/Org/Inlines.hs +++ b/src/Text/Pandoc/Readers/Org/Inlines.hs @@ -448,11 +448,12 @@ selflinkOrImage :: PandocMonad m => OrgParser m (F Inlines) selflinkOrImage = try $ do target <- char '[' *> linkTarget <* char ']' case cleanLinkString target of - Nothing -> return $ internalLink target (B.str target) - Just nonDocTgt -> returnF $ - if isImageFilename nonDocTgt - then B.image nonDocTgt "" "" - else B.link nonDocTgt "" (B.str target) + Nothing -> case target of + '#':_ -> returnF $ B.link target "" (B.str target) + _ -> return $ internalLink target (B.str target) + Just nonDocTgt -> if isImageFilename nonDocTgt + then returnF $ B.image nonDocTgt "" "" + else returnF $ B.link nonDocTgt "" (B.str target) plainLink :: PandocMonad m => OrgParser m (F Inlines) plainLink = try $ do diff --git a/test/Tests/Readers/Org/Inline.hs b/test/Tests/Readers/Org/Inline.hs index 7f8873642..e5996d4d8 100644 --- a/test/Tests/Readers/Org/Inline.hs +++ b/test/Tests/Readers/Org/Inline.hs @@ -215,6 +215,10 @@ tests = "[[http://zeitlens.com/]]" =?> para (link "http://zeitlens.com/" "" "http://zeitlens.com/") + , "Internal self-link (reference)" =: + "[[#rabbit]]" =?> + para (link "#rabbit" "" "#rabbit") + , "Absolute file link" =: "[[/url][hi]]" =?> para (link "file:///url" "" "hi") -- cgit v1.2.3