diff src/callproc.c @ 440:8de8e3f6228a r21-2-28

Import from CVS: tag r21-2-28
author cvs
date Mon, 13 Aug 2007 11:33:38 +0200
parents 3a7e78e1142d
children abe6d1db359e
line wrap: on
line diff
--- a/src/callproc.c	Mon Aug 13 11:32:27 2007 +0200
+++ b/src/callproc.c	Mon Aug 13 11:33:38 2007 +0200
@@ -43,7 +43,6 @@
 
 #ifdef WINDOWSNT
 #define _P_NOWAIT 1	/* from process.h */
-#include <windows.h>
 #include "nt.h"
 #endif
 
@@ -102,11 +101,8 @@
 static Lisp_Object
 call_process_cleanup (Lisp_Object fdpid)
 {
-  int fd = XINT (Fcar (fdpid));
+  int fd  = XINT (Fcar (fdpid));
   int pid = XINT (Fcdr (fdpid));
-#ifdef WINDOWSNT
-  HANDLE pHandle;
-#endif
 
   if (!call_process_exited &&
       EMACS_KILLPG (pid, SIGINT) == 0)
@@ -118,13 +114,14 @@
     message ("Waiting for process to die...(type C-g again to kill it instantly)");
 
 #ifdef WINDOWSNT
-    pHandle = OpenProcess(PROCESS_ALL_ACCESS, 0, pid);
-    if (pHandle == NULL)
-      {
+    {
+      HANDLE pHandle = OpenProcess (PROCESS_ALL_ACCESS, 0, pid);
+      if (pHandle == NULL)
 	warn_when_safe (Qprocess, Qwarning,
 			"cannot open process (PID %d) for cleanup", pid);
-      }
-    wait_for_termination (pHandle);
+      else
+	wait_for_termination (pHandle);
+    }
 #else
     wait_for_termination (pid);
 #endif
@@ -504,10 +501,12 @@
 	if (nread == 0)
 	  break;
 
+#if 0
 #ifdef DOS_NT
        /* Until we pull out of MULE things like
 	  make_decoding_input_stream(), we do the following which is
 	  less elegant. --marcpa */
+	/* We did. -- kkm */
        {
 	 int lf_count = 0;
 	 if (NILP (Vbinary_process_output)) {
@@ -515,6 +514,7 @@
          }
        }
 #endif
+#endif
 
 	total_read += nread;
 
@@ -684,9 +684,10 @@
     {
       char **ep = env;
       char *envvar_external;
-      Bufbyte *envvar_internal = XSTRING_DATA (XCAR (tail));
 
-      GET_C_CHARPTR_EXT_FILENAME_DATA_ALLOCA (envvar_internal, envvar_external);
+      TO_EXTERNAL_FORMAT (LISP_STRING, XCAR (tail),
+			  C_STRING_ALLOCA, envvar_external,
+			  Qfile_name);
 
       /* See if envvar_external duplicates any string already in the env.
 	 If so, don't put it in.
@@ -868,10 +869,8 @@
     char **envp;
     Vprocess_environment = Qnil;
     for (envp = environ; envp && *envp; envp++)
-      {
-	Vprocess_environment = Fcons (build_ext_string (*envp, FORMAT_OS),
-				      Vprocess_environment);
-      }
+      Vprocess_environment =
+	Fcons (build_ext_string (*envp, Qfile_name), Vprocess_environment);
   }
 
   {