@@ -29,7 +29,9 @@ import qualified Data.Set as Set
2929import Data.Text (Text)
3030import qualified Data.Text as T
3131import qualified Data.ByteString.Lazy as BL
32−import System.FilePath (addExtension, takeExtension, isAbsolute, takeDirectory)
32+import System.FilePath (addExtension, takeExtension, takeDirectory)
33+import qualified System.FilePath.Windows as Windows
34+import qualified System.FilePath.Posix as Posix
3335import Text.HTML.TagSoup hiding (Row)
3436import Text.Pandoc.Builder (Blocks, Inlines)
3537import qualified Text.Pandoc.Builder as B
@@ -1924,9 +1926,8 @@ rebasePath :: SourcePos -> Text -> Text
19241926rebasePath pos path = do
19251927 let fp = sourceName pos
19261928 isFragment = T.take 1 path == "#"
1927− -- check for leading / because on Windows this won't be
1928− -- recognized as absolute by isAbsolute
1929− isAbsolutePath = isAbsolute (T.unpack path) || T.take 1 path == "/"
1929+ path' = T.unpack path
1930+ isAbsolutePath = Posix.isAbsolute path' || Windows.isAbsolute path'
19301931 in if T.null path || isFragment || isAbsolutePath || isURI path
19311932 then path
19321933 else