cleanTempFilesExcept :: Int -> [FilePath] -> IO ()
cleanTempFilesExcept verb dont_delete
- = do fs <- readIORef v_FilesToClean
- let leftovers = filter (`notElem` dont_delete) fs
- removeTmpFiles verb leftovers
- writeIORef v_FilesToClean dont_delete
+ = do files <- readIORef v_FilesToClean
+ let (to_keep, to_delete) = partition (`elem` dont_delete) files
+ removeTmpFiles verb to_delete
+ writeIORef v_FilesToClean to_keep
-- find a temporary name that doesn't already exist.
-----------------------------------------------------------------------------
-- Convert filepath into platform / MSDOS form.
--- platformPath does two things
--- a) change '/' to '\'
--- b) remove initial '/cygdrive/'
-
normalisePath :: String -> String
--- Just change '\' to '/'
+-- Just changes '\' to '/'
pgmPath :: String -- Directory string in Unix format
-> String -- Program name with no directory separators