@@ -65,6 +65,16 @@ getModuleFiles ts = nub $ execState (modList ts) [] where
65 then getSrc x : updateToSrc path xs
65 then getSrc x : updateToSrc path xs
66 else x : updateToSrc path xs
66 else x : updateToSrc path xs
68+-- Strip quotes and the backslash escapes that Haskeline adds
69+extractFileName :: String -> String
70+extractFileName ('"':xs) = takeWhile (/= '"') xs
71+extractFileName ('\'':xs) = takeWhile (/= '\'') xs
72+extractFileName x = build x []
74+ build [] acc = reverse acc
75+ build ('\\':' ':xs) acc = build xs (' ':acc)
76+ build (x:xs) acc = build xs (x:acc)
68getIModTime (IBC i _) = getModificationTime i
78getIModTime (IBC i _) = getModificationTime i
69getIModTime (IDR i) = getModificationTime i
79getIModTime (IDR i) = getModificationTime i
70getIModTime (LIDR i) = getModificationTime i
80getIModTime (LIDR i) = getModificationTime i
@@ -79,7 +89,7 @@ buildTree built fp = btree [] fp
80 btree done f =
90 btree done f =
81 do i <- getIState
91 do i <- getIState
82− let file = takeWhile (/= ' ') f
92+ let file = extractFileName f
83 iLOG $ "CHASING " ++ show file
93 iLOG $ "CHASING " ++ show file
84 ibcsd <- valIBCSubDir i
94 ibcsd <- valIBCSubDir i
85 ids <- allImportDirs
95 ids <- allImportDirs