From 186d448f97232629597acb8cd95a6c8ecf430a48 Mon Sep 17 00:00:00 2001 From: Patrick Augusto <ptkato.irl@gmail.com> Date: Tue, 4 May 2021 18:54:05 -0300 Subject: [PATCH] Changing to canonicalizePathNoThrow to prevent exceptions --- .../Distribution/Client/Init/NonInteractive/Heuristics.hs | 2 +- cabal-install/src/Distribution/Client/Init/Types.hs | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/cabal-install/src/Distribution/Client/Init/NonInteractive/Heuristics.hs b/cabal-install/src/Distribution/Client/Init/NonInteractive/Heuristics.hs index 93348ada04..c8e9b9dcee 100644 --- a/cabal-install/src/Distribution/Client/Init/NonInteractive/Heuristics.hs +++ b/cabal-install/src/Distribution/Client/Init/NonInteractive/Heuristics.hs @@ -85,7 +85,7 @@ guessLanguage = do -- | Guess the package name based on the given root directory. guessPackageName :: Interactive m => FilePath -> m PackageName guessPackageName = fmap (mkPackageName . repair . fromMaybe "" . safeLast . splitDirectories) - . tryCanonicalizePath + . canonicalizePathNoThrow where -- Treat each span of non-alphanumeric characters as a hyphen. Each -- hyphenated component of a package name must contain at least one diff --git a/cabal-install/src/Distribution/Client/Init/Types.hs b/cabal-install/src/Distribution/Client/Init/Types.hs index c80a0f8068..3d19b97f5f 100644 --- a/cabal-install/src/Distribution/Client/Init/Types.hs +++ b/cabal-install/src/Distribution/Client/Init/Types.hs @@ -301,7 +301,7 @@ class Monad m => Interactive m where listDirectory :: FilePath -> m [FilePath] doesDirectoryExist :: FilePath -> m Bool doesFileExist :: FilePath -> m Bool - tryCanonicalizePath :: FilePath -> m FilePath + canonicalizePathNoThrow :: FilePath -> m FilePath readProcessWithExitCode :: FilePath -> [String] -> String -> m (ExitCode, String, String) getEnvironment :: m [(String, String)] listFilesInside :: (FilePath -> m Bool) -> FilePath -> m [FilePath] @@ -329,7 +329,7 @@ instance Interactive IO where listDirectory = P.listDirectory doesDirectoryExist = P.doesDirectoryExist doesFileExist = P.doesFileExist - tryCanonicalizePath = P.tryCanonicalizePath + canonicalizePathNoThrow = P.canonicalizePathNoThrow readProcessWithExitCode = P.readProcessWithExitCode getEnvironment = P.getEnvironment listFilesInside = P.listFilesInside @@ -356,7 +356,7 @@ instance Interactive PurePrompt where listDirectory !_ = popList doesDirectoryExist !_ = popBool doesFileExist !_ = popBool - tryCanonicalizePath !_ = popAbsolute + canonicalizePathNoThrow !_ = popAbsolute readProcessWithExitCode !_ !_ !_ = do input <- pop return (ExitSuccess, input, "") -- GitLab