aboutsummaryrefslogtreecommitdiffstats
path: root/src/callproc.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/callproc.c')
-rw-r--r--src/callproc.c19
1 files changed, 11 insertions, 8 deletions
diff --git a/src/callproc.c b/src/callproc.c
index 4286ab1ae29..7019d741b34 100644
--- a/src/callproc.c
+++ b/src/callproc.c
@@ -984,7 +984,9 @@ usage: (call-process-region START END PROGRAM &optional DELETE BUFFER DISPLAY &r
984 RETURN_UNGCPRO (unbind_to (count, Fcall_process (nargs, args))); 984 RETURN_UNGCPRO (unbind_to (count, Fcall_process (nargs, args)));
985} 985}
986 986
987#ifndef WINDOWSNT
987static int relocate_fd (int fd, int minfd); 988static int relocate_fd (int fd, int minfd);
989#endif
988 990
989static char ** 991static char **
990add_env (char **env, char **new_env, char *string) 992add_env (char **env, char **new_env, char *string)
@@ -1113,7 +1115,7 @@ child_setup (int in, int out, int err, register char **new_argv, int set_pgrp, L
1113 char **p, **q; 1115 char **p, **q;
1114 register int new_length; 1116 register int new_length;
1115 Lisp_Object display = Qnil; 1117 Lisp_Object display = Qnil;
1116 1118
1117 new_length = 0; 1119 new_length = 0;
1118 1120
1119 for (tem = Vprocess_environment; 1121 for (tem = Vprocess_environment;
@@ -1149,7 +1151,7 @@ child_setup (int in, int out, int err, register char **new_argv, int set_pgrp, L
1149 but with corrected value. */ 1151 but with corrected value. */
1150 if (egetenv ("PWD")) 1152 if (egetenv ("PWD"))
1151 *new_env++ = pwd_var; 1153 *new_env++ = pwd_var;
1152 1154
1153 if (STRINGP (display)) 1155 if (STRINGP (display))
1154 { 1156 {
1155 int vlen = strlen ("DISPLAY=") + strlen (SDATA (display)) + 1; 1157 int vlen = strlen ("DISPLAY=") + strlen (SDATA (display)) + 1;
@@ -1179,7 +1181,7 @@ child_setup (int in, int out, int err, register char **new_argv, int set_pgrp, L
1179 } 1181 }
1180 } 1182 }
1181 1183
1182 1184
1183#ifdef WINDOWSNT 1185#ifdef WINDOWSNT
1184 prepare_standard_handles (in, out, err, handles); 1186 prepare_standard_handles (in, out, err, handles);
1185 set_process_dir (SDATA (current_dir)); 1187 set_process_dir (SDATA (current_dir));
@@ -1265,6 +1267,7 @@ child_setup (int in, int out, int err, register char **new_argv, int set_pgrp, L
1265#endif /* not MSDOS */ 1267#endif /* not MSDOS */
1266} 1268}
1267 1269
1270#ifndef WINDOWSNT
1268/* Move the file descriptor FD so that its number is not less than MINFD. 1271/* Move the file descriptor FD so that its number is not less than MINFD.
1269 If the file descriptor is moved at all, the original is freed. */ 1272 If the file descriptor is moved at all, the original is freed. */
1270static int 1273static int
@@ -1298,6 +1301,7 @@ relocate_fd (int fd, int minfd)
1298 return new; 1301 return new;
1299 } 1302 }
1300} 1303}
1304#endif /* not WINDOWSNT */
1301 1305
1302static int 1306static int
1303getenv_internal_1 (const char *var, int varlen, char **value, int *valuelen, 1307getenv_internal_1 (const char *var, int varlen, char **value, int *valuelen,
@@ -1526,13 +1530,12 @@ void
1526set_initial_environment (void) 1530set_initial_environment (void)
1527{ 1531{
1528 register char **envp; 1532 register char **envp;
1529#ifndef CANNOT_DUMP 1533#ifdef CANNOT_DUMP
1530 if (initialized) 1534 Vprocess_environment = Qnil;
1531 {
1532#else 1535#else
1533 { 1536 if (initialized)
1534 Vprocess_environment = Qnil;
1535#endif 1537#endif
1538 {
1536 for (envp = environ; *envp; envp++) 1539 for (envp = environ; *envp; envp++)
1537 Vprocess_environment = Fcons (build_string (*envp), 1540 Vprocess_environment = Fcons (build_string (*envp),
1538 Vprocess_environment); 1541 Vprocess_environment);