diff options
Diffstat (limited to 'src/callproc.c')
| -rw-r--r-- | src/callproc.c | 19 |
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 | ||
| 987 | static int relocate_fd (int fd, int minfd); | 988 | static int relocate_fd (int fd, int minfd); |
| 989 | #endif | ||
| 988 | 990 | ||
| 989 | static char ** | 991 | static char ** |
| 990 | add_env (char **env, char **new_env, char *string) | 992 | add_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. */ |
| 1270 | static int | 1273 | static 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 | ||
| 1302 | static int | 1306 | static int |
| 1303 | getenv_internal_1 (const char *var, int varlen, char **value, int *valuelen, | 1307 | getenv_internal_1 (const char *var, int varlen, char **value, int *valuelen, |
| @@ -1526,13 +1530,12 @@ void | |||
| 1526 | set_initial_environment (void) | 1530 | set_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); |