# HG changeset patch # User Dan Nicolaescu # Date 1289841068 28800 # Node ID 876a7947c90d9d71563c2cedb0f3f8bf738962bb # Parent fa7baa1af30cb242077359d9905248ced0b8dcea * src/callproc.c (child_setup): Reorder code to simplify #ifdefs. No code changes. diff -r fa7baa1af30c -r 876a7947c90d src/ChangeLog --- a/src/ChangeLog Mon Nov 15 13:27:33 2010 +0100 +++ b/src/ChangeLog Mon Nov 15 09:11:08 2010 -0800 @@ -1,5 +1,8 @@ 2010-11-15 Dan Nicolaescu + * callproc.c (child_setup): Reorder code to simplify #ifdefs. + No code changes. + * process.c: Include unconditionally, keyboard.c already does it. diff -r fa7baa1af30c -r 876a7947c90d src/callproc.c --- a/src/callproc.c Mon Nov 15 13:27:33 2010 +0100 +++ b/src/callproc.c Mon Nov 15 09:11:08 2010 -0800 @@ -1154,6 +1154,14 @@ #ifdef WINDOWSNT prepare_standard_handles (in, out, err, handles); set_process_dir (SDATA (current_dir)); + /* Spawn the child. (See ntproc.c:Spawnve). */ + cpid = spawnve (_P_NOWAIT, new_argv[0], new_argv, env); + reset_standard_handles (in, out, err, handles); + if (cpid == -1) + /* An error occurred while trying to spawn the process. */ + report_file_error ("Spawning child process", Qnil); + return cpid; + #else /* not WINDOWSNT */ /* Make sure that in, out, and err are not actually already in descriptors zero, one, or two; this could happen if Emacs is @@ -1192,34 +1200,15 @@ emacs_close (out); if (err != in && err != out) emacs_close (err); -#endif /* not MSDOS */ -#endif /* not WINDOWSNT */ #if defined(USG) #ifndef SETPGRP_RELEASES_CTTY setpgrp (); /* No arguments but equivalent in this case */ #endif -#else +#else /* not USG */ setpgrp (pid, pid); -#endif /* USG */ +#endif /* not USG */ -#ifdef MSDOS - pid = run_msdos_command (new_argv, pwd_var + 4, in, out, err, env); - xfree (pwd_var); - if (pid == -1) - /* An error occurred while trying to run the subprocess. */ - report_file_error ("Spawning child process", Qnil); - return pid; -#else /* not MSDOS */ -#ifdef WINDOWSNT - /* Spawn the child. (See ntproc.c:Spawnve). */ - cpid = spawnve (_P_NOWAIT, new_argv[0], new_argv, env); - reset_standard_handles (in, out, err, handles); - if (cpid == -1) - /* An error occurred while trying to spawn the process. */ - report_file_error ("Spawning child process", Qnil); - return cpid; -#else /* not WINDOWSNT */ /* setpgrp_of_tty is incorrect here; it uses input_fd. */ tcsetpgrp (0, pid); @@ -1233,8 +1222,15 @@ emacs_write (1, new_argv[0], strlen (new_argv[0])); emacs_write (1, "\n", 1); _exit (1); -#endif /* not WINDOWSNT */ -#endif /* not MSDOS */ + +#else /* MSDOS */ + pid = run_msdos_command (new_argv, pwd_var + 4, in, out, err, env); + xfree (pwd_var); + if (pid == -1) + /* An error occurred while trying to run the subprocess. */ + report_file_error ("Spawning child process", Qnil); + return pid; +#endif /* MSDOS */ } #ifndef WINDOWSNT