@@ -40,6 +40,7 @@ import System.IO (Handle)
40import System.IO.Streams (InputStream, handleToInputStream)
40import System.IO.Streams (InputStream, handleToInputStream)
41import qualified System.IO.Streams as Streams
41import qualified System.IO.Streams as Streams
42import System.IO.Streams.Concurrent (concurrentMerge)
42import System.IO.Streams.Concurrent (concurrentMerge)
43+import System.Posix.Escape (escape)
43import System.Process (CreateProcess, ProcessHandle, StdStream (CreatePipe), cmdspec, std_err, std_out,
44import System.Process (CreateProcess, ProcessHandle, StdStream (CreatePipe), cmdspec, std_err, std_out,
44 waitForProcess)
45 waitForProcess)
45import qualified System.Process as Process
46import qualified System.Process as Process
@@ -182,5 +183,4 @@ reconstructCommand :: Process.CmdSpec -> Text
182reconstructCommand (Process.ShellCommand str) = T.pack str
183reconstructCommand (Process.ShellCommand str) = T.pack str
183reconstructCommand (Process.RawCommand c as) = processToShellString c as
184reconstructCommand (Process.RawCommand c as) = processToShellString c as
185− processToShellString cmd args = T.unwords $ map quoteAndEscape (cmd : args)
186+ processToShellString cmd args = T.pack $ unwords $ map escape (cmd : args)
186− quoteAndEscape x = "'" <> T.replace "'" "'\''" (T.pack x) <> "'"