Sat Jul 25 22:20:19 BST 2009  Ian Lynagh <igloo@earth.li>
  * Make the code compatible with the stricter labelled-field parsing rules
diff -rN -u old-process/System/Process/Internals.hs new-process/System/Process/Internals.hs
--- old-process/System/Process/Internals.hs	2009-07-25 23:10:59.000000000 +0100
+++ new-process/System/Process/Internals.hs	2009-07-25 23:10:59.000000000 +0100
@@ -213,13 +213,13 @@
 -- -----------------------------------------------------------------------------
 -- POSIX runProcess with signal handling in the child
 
-runGenProcess_ fun CreateProcess{ cmdspec = cmdsp,
-                                  cwd = mb_cwd,
-                                  env = mb_env,
-                                  std_in = mb_stdin,
-                                  std_out = mb_stdout,
-                                  std_err = mb_stderr,
-                                  close_fds = mb_close_fds }
+runGenProcess_ fun (CreateProcess{ cmdspec = cmdsp,
+                                   cwd = mb_cwd,
+                                   env = mb_env,
+                                   std_in = mb_stdin,
+                                   std_out = mb_stdout,
+                                   std_err = mb_stderr,
+                                   close_fds = mb_close_fds })
                mb_sigint mb_sigquit
  = do
   let (cmd,args) = commandToProcess cmdsp
@@ -444,7 +444,7 @@
 #if __GLASGOW_HASKELL__ < 611
   withHandle_ fun hdl $ return . haFD
 #else
-  withHandle fun hdl $ \h@Handle__{haDevice=dev,..} ->
+  withHandle fun hdl $ \h@(Handle__{haDevice=dev,..}) ->
     case cast dev of
       Just fd -> do
          -- clear the O_NONBLOCK flag on this FD, if it is set, since
diff -rN -u old-process/System/Process.hs new-process/System/Process.hs
--- old-process/System/Process.hs	2009-07-25 23:10:59.000000000 +0100
+++ new-process/System/Process.hs	2009-07-25 23:10:59.000000000 +0100
@@ -135,11 +135,11 @@
 runProcess cmd args mb_cwd mb_env mb_stdin mb_stdout mb_stderr = do
   (_,_,_,ph) <-
       runGenProcess_ "runProcess"
-         (proc cmd args){ cwd = mb_cwd,
-                          env = mb_env,
-                          std_in  = mbToStd mb_stdin,
-                          std_out = mbToStd mb_stdout,
-                          std_err = mbToStd mb_stderr }
+         ((proc cmd args){ cwd = mb_cwd,
+                           env = mb_env,
+                           std_in  = mbToStd mb_stdin,
+                           std_out = mbToStd mb_stdout,
+                           std_err = mbToStd mb_stderr })
 	  Nothing Nothing
   maybeClose mb_stdin
   maybeClose mb_stdout
@@ -273,7 +273,7 @@
 
 runInteractiveProcess cmd args mb_cwd mb_env = do
   runInteractiveProcess1 "runInteractiveProcess" 
-        (proc cmd args){ cwd = mb_cwd, env = mb_env }
+        ((proc cmd args){ cwd = mb_cwd, env = mb_env })
 
 runInteractiveProcess1
   :: String
@@ -282,9 +282,9 @@
 runInteractiveProcess1 fun cmd = do
   (mb_in, mb_out, mb_err, p) <- 
       runGenProcess_ fun
-           cmd{ std_in  = CreatePipe,
-                std_out = CreatePipe,
-                std_err = CreatePipe } 
+           (cmd{ std_in  = CreatePipe,
+                 std_out = CreatePipe,
+                 std_err = CreatePipe })
            Nothing Nothing
   return (fromJust mb_in, fromJust mb_out, fromJust mb_err, p)
 
@@ -351,9 +351,9 @@
     -> IO String                -- ^ stdout + stderr
 readProcess cmd args input = do
     (Just inh, Just outh, _, pid) <-
-        createProcess (proc cmd args){ std_in  = CreatePipe,
-                                       std_out = CreatePipe,
-                                       std_err = Inherit }
+        createProcess ((proc cmd args){ std_in  = CreatePipe,
+                                        std_out = CreatePipe,
+                                        std_err = Inherit })
 
     -- fork off a thread to start consuming the output
     output  <- hGetContents outh
@@ -398,9 +398,9 @@
     -> IO (ExitCode,String,String) -- ^ exitcode, stdout, stderr
 readProcessWithExitCode cmd args input = do
     (Just inh, Just outh, Just errh, pid) <-
-        createProcess (proc cmd args){ std_in  = CreatePipe,
-                                       std_out = CreatePipe,
-                                       std_err = CreatePipe }
+        createProcess ((proc cmd args){ std_in  = CreatePipe,
+                                        std_out = CreatePipe,
+                                        std_err = CreatePipe })
 
     outMVar <- newEmptyMVar
 

