@@ -305,8 +305,9 @@ inlineToRST Space = return $ char ' '
305305inlineToRST (Link [Code str] (src, _)) | src == str ||
306306 src == "mailto:" ++ str = do
307307 let srcSuffix = if isPrefixOf "mailto:" src then drop 7 src else src
308− return $ text srcSuffix
309−inlineToRST (Link txt (src, tit)) = do
308+ return $ text $ unescapeURI srcSuffix
309+inlineToRST (Link txt (src', tit)) = do
310+ let src = unescapeURI src'
310311 useReferenceLinks <- get >>= (return . writerReferenceLinks . stOptions)
311312 linktext <- inlineListToRST $ normalizeSpaces txt
312313 if useReferenceLinks
@@ -317,7 +318,8 @@ inlineToRST (Link txt (src, tit)) = do
317318 modify $ \st -> st { stLinks = refs' }
318319 return $ char '`' <> linktext <> text "`_"
319320 else return $ char '`' <> linktext <> text " <" <> text src <> text ">`_"
320−inlineToRST (Image alternate (source, tit)) = do
321+inlineToRST (Image alternate (source', tit)) = do
322+ let source = unescapeURI source'
321323 pics <- get >>= (return . stImages)
322324 let labelsUsed = map fst pics
323325 let txt = if null alternate || alternate == [Str ""] ||