summaryrefslogtreecommitdiff
path: root/src/callproc.c
diff options
context:
space:
mode:
authorStefan Monnier <monnier@iro.umontreal.ca>2010-08-11 07:42:48 +0200
committerStefan Monnier <monnier@iro.umontreal.ca>2010-08-11 07:42:48 +0200
commitc566235d981eba73c88bbff00b6a1d88360b6e9f (patch)
treef8d653add3570fe750a83d1123ed35022e0bf4ef /src/callproc.c
parent0bfdb86f425a88fe43ebc88851c6f9a6418e1862 (diff)
parent490b89acab3e759426ede25c31c94268df55e925 (diff)
downloademacs-c566235d981eba73c88bbff00b6a1d88360b6e9f.tar.gz
emacs-c566235d981eba73c88bbff00b6a1d88360b6e9f.tar.bz2
emacs-c566235d981eba73c88bbff00b6a1d88360b6e9f.zip
Merge from trunk
Diffstat (limited to 'src/callproc.c')
-rw-r--r--src/callproc.c21
1 files changed, 11 insertions, 10 deletions
diff --git a/src/callproc.c b/src/callproc.c
index 4286ab1ae29..ca9ff93a6d9 100644
--- a/src/callproc.c
+++ b/src/callproc.c
@@ -102,8 +102,6 @@ Lisp_Object Vconfigure_info_directory, Vshared_game_score_directory;
/* Pattern used by call-process-region to make temp files. */
static Lisp_Object Vtemp_file_name_pattern;
-extern Lisp_Object Vtemporary_file_directory;
-
Lisp_Object Vshell_file_name;
Lisp_Object Vprocess_environment, Vinitial_environment;
@@ -984,7 +982,9 @@ usage: (call-process-region START END PROGRAM &optional DELETE BUFFER DISPLAY &r
RETURN_UNGCPRO (unbind_to (count, Fcall_process (nargs, args)));
}
+#ifndef WINDOWSNT
static int relocate_fd (int fd, int minfd);
+#endif
static char **
add_env (char **env, char **new_env, char *string)
@@ -1113,7 +1113,7 @@ child_setup (int in, int out, int err, register char **new_argv, int set_pgrp, L
char **p, **q;
register int new_length;
Lisp_Object display = Qnil;
-
+
new_length = 0;
for (tem = Vprocess_environment;
@@ -1149,7 +1149,7 @@ child_setup (int in, int out, int err, register char **new_argv, int set_pgrp, L
but with corrected value. */
if (egetenv ("PWD"))
*new_env++ = pwd_var;
-
+
if (STRINGP (display))
{
int vlen = strlen ("DISPLAY=") + strlen (SDATA (display)) + 1;
@@ -1179,7 +1179,7 @@ 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));
@@ -1265,6 +1265,7 @@ child_setup (int in, int out, int err, register char **new_argv, int set_pgrp, L
#endif /* not MSDOS */
}
+#ifndef WINDOWSNT
/* Move the file descriptor FD so that its number is not less than MINFD.
If the file descriptor is moved at all, the original is freed. */
static int
@@ -1298,6 +1299,7 @@ relocate_fd (int fd, int minfd)
return new;
}
}
+#endif /* not WINDOWSNT */
static int
getenv_internal_1 (const char *var, int varlen, char **value, int *valuelen,
@@ -1526,13 +1528,12 @@ void
set_initial_environment (void)
{
register char **envp;
-#ifndef CANNOT_DUMP
- if (initialized)
- {
+#ifdef CANNOT_DUMP
+ Vprocess_environment = Qnil;
#else
- {
- Vprocess_environment = Qnil;
+ if (initialized)
#endif
+ {
for (envp = environ; *envp; envp++)
Vprocess_environment = Fcons (build_string (*envp),
Vprocess_environment);