diff options
-rw-r--r-- | src/Text/Pandoc/Readers/Man.hs | 14 | ||||
-rw-r--r-- | test/man-reader.man | 6 | ||||
-rw-r--r-- | test/man-reader.native | 4 |
3 files changed, 15 insertions, 9 deletions
diff --git a/src/Text/Pandoc/Readers/Man.hs b/src/Text/Pandoc/Readers/Man.hs index 00a2618ff..cd17e96f3 100644 --- a/src/Text/Pandoc/Readers/Man.hs +++ b/src/Text/Pandoc/Readers/Man.hs @@ -765,20 +765,26 @@ parseDefinitionList = definitionList <$> many1 definitionListItem parseLink :: PandocMonad m => [Arg] -> ManParser m Inlines parseLink args = do contents <- mconcat <$> many lineInl - mmacro "UE" + MMacro _ endargs _ <- mmacro "UE" let url = case args of [] -> "" (x:_) -> linePartsToString x - return $ link url "" contents + return $ link url "" contents <> + case endargs of + [] -> mempty + (x:_) -> linePartsToInlines x parseEmailLink :: PandocMonad m => [Arg] -> ManParser m Inlines parseEmailLink args = do contents <- mconcat <$> many lineInl - mmacro "ME" + MMacro _ endargs _ <- mmacro "ME" let url = case args of [] -> "" (x:_) -> "mailto:" ++ linePartsToString x - return $ link url "" contents + return $ link url "" contents <> + case endargs of + [] -> mempty + (x:_) -> linePartsToInlines x skipUnkownMacro :: PandocMonad m => ManParser m Blocks skipUnkownMacro = do diff --git a/test/man-reader.man b/test/man-reader.man index b633e1e1c..7f0e7d242 100644 --- a/test/man-reader.man +++ b/test/man-reader.man @@ -202,11 +202,11 @@ Minus: \- .UR http://\:example.com some random site -.UE +.UE . .PP .MT me@example.com -my email address. -.ME +my email address +.ME . .SH Macros .de au .B diff --git a/test/man-reader.native b/test/man-reader.native index c8822d61b..a30d1baa0 100644 --- a/test/man-reader.native +++ b/test/man-reader.native @@ -100,7 +100,7 @@ Pandoc (Meta {unMeta = fromList [("date",MetaInlines [Str "Oct",Space,Str "17,", ,Para [Str "Plus:",Space,Str "+"] ,Para [Str "Minus:",Space,Str "-"] ,Header 1 ("",[],[]) [Str "Links"] -,Para [Link ("",[],[]) [Str "some",Space,Str "randomsite"] ("http://example.com","")] -,Para [Link ("",[],[]) [Str "my",Space,Str "email",Space,Str "address."] ("mailto:me@example.com","")] +,Para [Link ("",[],[]) [Str "some",Space,Str "randomsite"] ("http://example.com",""),Str "."] +,Para [Link ("",[],[]) [Str "my",Space,Str "email",Space,Str "address"] ("mailto:me@example.com",""),Str "."] ,Header 1 ("",[],[]) [Str "Macros"] ,Para [Strong [Str "Me",Space,Str "Myself"],Space,Str "and",Space,Str "I.",Space,Emph [Str "The",Space,Str "author",Space,Str "is",Space,Str "John",Space,Str "Jones."],Space,Str "It's",Space,Str "The",Space,Strong [Str "Author"],Str "."]] |