@@ -936,15 +936,6 @@ inlineParsers = [ whitespace
937 , ltSign ]
937 , ltSign ]
939−inlineNonLink :: GenParser Char ParserState Inline
940−inlineNonLink = (choice $
941− map (\parser -> try (parser >>= failIfLink)) inlineParsers)
942− <?> "inline (non-link)"
944−failIfLink :: Inline -> GenParser tok st Inline
945−failIfLink (Link _ _) = pzero
946−failIfLink elt = return elt
948escapedChar' :: GenParser Char ParserState Char
939escapedChar' :: GenParser Char ParserState Char
949escapedChar' = try $ do
940escapedChar' = try $ do
950 char '\\'
941 char '\\'
@@ -1146,7 +1137,7 @@ endline = try $ do
1146-- a reference label for a link
1137-- a reference label for a link
1147reference :: GenParser Char ParserState [Inline]
1138reference :: GenParser Char ParserState [Inline]
1148reference = do notFollowedBy' (string "[^") -- footnote reference
1139reference = do notFollowedBy' (string "[^") -- footnote reference
1149− result <- inlinesInBalancedBrackets inlineNonLink
1140+ result <- inlinesInBalancedBrackets inline
1150 return $ normalizeSpaces result
1141 return $ normalizeSpaces result
1152-- source for a link, with optional title
1143-- source for a link, with optional title
@@ -1187,7 +1178,12 @@ link :: GenParser Char ParserState Inline
1187link = try $ do
1178link = try $ do
1188 lab <- reference
1179 lab <- reference
1189 (src, tit) <- source <|> referenceLink lab
1180 (src, tit) <- source <|> referenceLink lab
1190− return $ Link lab (src, tit)
1181+ return $ Link (delinkify lab) (src, tit)
1183+delinkify :: [Inline] -> [Inline]
1184+delinkify = bottomUp $ concatMap go
1185+ where go (Link lab _) = lab
1192-- a link like [this][ref] or [this][] or [this]
1188-- a link like [this][ref] or [this][] or [this]
1193referenceLink :: [Inline]
1189referenceLink :: [Inline]
@@ -1214,8 +1210,9 @@ autoLink = try $ do
1214image :: GenParser Char ParserState Inline
1210image :: GenParser Char ParserState Inline
1215image = try $ do
1211image = try $ do
1216 char '!'
1212 char '!'
1217− (Link lab src) <- link
1213+ lab <- reference
1214+ (src, tit) <- source <|> referenceLink lab
1218− return $ Image lab src
1215+ return $ Image lab (src,tit)
1220note :: GenParser Char ParserState Inline
1217note :: GenParser Char ParserState Inline
1221note = try $ do
1218note = try $ do