@@ -336,7 +336,9 @@ referenceKey = try $ do
336336 notFollowedBy' (() <$ reference)
337337 many1Char $ notFollowedBy space >> litChar
338338 let betweenAngles = try $ char '<' >> manyTillChar litChar (char '>')
339− src <- try betweenAngles <|> sourceURL
339+ rebase <- option False (True <$ guardEnabled Ext_rebase_relative_paths)
340+ src <- (if rebase then rebasePath pos else id) <$>
341+ (try betweenAngles <|> sourceURL)
340342 tit <- option "" referenceTitle
341343 attr <- option nullAttr $ try $
342344 do guardEnabled Ext_link_attributes
@@ -1857,8 +1859,6 @@ referenceLink constructor (lab, raw) = do
18571859 return (mempty, "")))
18581860 <|>
18591861 try ((guardDisabled Ext_spaced_reference_links <|> spnl) >> reference)
1860− rebase <- option False (True <$ guardEnabled Ext_rebase_relative_paths)
1861− pos <- getPosition
18621862 when (raw' == "") $ guardEnabled Ext_shortcut_reference_links
18631863 let labIsRef = raw' == "" || raw' == "[]"
18641864 let key = toKey $ if labIsRef then raw else raw'
@@ -1884,8 +1884,7 @@ referenceLink constructor (lab, raw) = do
18841884 Nothing -> makeFallback
18851885 else makeFallback
18861886 Just ((src,tit), attr) ->
1887− let src' = if rebase then rebasePath pos src else src
1888− in constructor attr src' tit <$> lab
1887+ constructor attr src tit <$> lab
18891888
18901889dropBrackets :: Text -> Text
18911890dropBrackets = dropRB . dropLB