From 12e610e89e2a3ae9de569e12a57d310102952ce6 Mon Sep 17 00:00:00 2001 From: Dan Nicolaescu Date: Sun, 14 Nov 2010 22:10:35 -0800 Subject: Clean up src/systty.h macros. * systty.h (EMACS_GET_TTY_PGRP, EMACS_SET_TTY_PGRP, EMACS_GET_TTY) (EMACS_SET_TTY): Remove unneeded abstraction, instead inline the definition in all uses. (EMACS_TTY_TABS_OK): Remove, it has a single user. * src/sysdep.c (discard_tty_input, child_setup_tty) (init_sys_modes, tabs_safe_p, reset_sys_modes): * src/emacs.c (shut_down_emacs): * src/callproc.c (child_setup): * src/term.c (dissociate_if_controlling_tty): Inline removed macros. --- src/callproc.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) (limited to 'src/callproc.c') diff --git a/src/callproc.c b/src/callproc.c index ee0872b5562..5941f8180ff 100644 --- a/src/callproc.c +++ b/src/callproc.c @@ -1221,7 +1221,7 @@ child_setup (int in, int out, int err, register char **new_argv, int set_pgrp, L return cpid; #else /* not WINDOWSNT */ /* setpgrp_of_tty is incorrect here; it uses input_fd. */ - EMACS_SET_TTY_PGRP (0, &pid); + tcsetpgrp (0, pid); /* execvp does not accept an environment arg so the only way to pass this environment is to set environ. Our caller @@ -1609,5 +1609,3 @@ See `setenv' and `getenv'. */); defsubr (&Scall_process_region); } -/* arch-tag: 769b8045-1df7-4d2b-8968-e3fb49017f95 - (do not change this comment) */ -- cgit v1.2.1 From 678029433d360cf1e5a95de28168b69ed1c6f9a7 Mon Sep 17 00:00:00 2001 From: Dan Nicolaescu Date: Mon, 15 Nov 2010 09:11:08 -0800 Subject: * src/callproc.c (child_setup): Reorder code to simplify #ifdefs. No code changes. --- src/callproc.c | 42 +++++++++++++++++++----------------------- 1 file changed, 19 insertions(+), 23 deletions(-) (limited to 'src/callproc.c') diff --git a/src/callproc.c b/src/callproc.c index 5941f8180ff..8838ccb7680 100644 --- a/src/callproc.c +++ b/src/callproc.c @@ -1154,6 +1154,14 @@ child_setup (int in, int out, int err, register char **new_argv, int set_pgrp, L #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 @@ child_setup (int in, int out, int err, register char **new_argv, int set_pgrp, L 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 @@ child_setup (int in, int out, int err, register char **new_argv, int set_pgrp, L 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 -- cgit v1.2.1 From ae76d9e11eb93c91766baa5cfb2eb52e8ff481b9 Mon Sep 17 00:00:00 2001 From: Dan Nicolaescu Date: Mon, 15 Nov 2010 10:11:52 -0800 Subject: * src/callproc.c (child_setup): Fix previous change. --- src/callproc.c | 1 + 1 file changed, 1 insertion(+) (limited to 'src/callproc.c') diff --git a/src/callproc.c b/src/callproc.c index 8838ccb7680..ef086020e71 100644 --- a/src/callproc.c +++ b/src/callproc.c @@ -1231,6 +1231,7 @@ child_setup (int in, int out, int err, register char **new_argv, int set_pgrp, L report_file_error ("Spawning child process", Qnil); return pid; #endif /* MSDOS */ +#endif /* not WINDOWSNT */ } #ifndef WINDOWSNT -- cgit v1.2.1 From dde990a0f97fee13deaedf324db1d100362ca362 Mon Sep 17 00:00:00 2001 From: Dan Nicolaescu Date: Thu, 18 Nov 2010 08:59:12 -0800 Subject: * src/callproc.c (syms_of_callproc): Use intern_c_string. --- src/callproc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/callproc.c') diff --git a/src/callproc.c b/src/callproc.c index ef086020e71..59067040fd9 100644 --- a/src/callproc.c +++ b/src/callproc.c @@ -1516,7 +1516,7 @@ void syms_of_callproc (void) { #ifdef DOS_NT - Qbuffer_file_type = intern ("buffer-file-type"); + Qbuffer_file_type = intern_c_string ("buffer-file-type"); staticpro (&Qbuffer_file_type); #endif /* DOS_NT */ -- cgit v1.2.1