(child_setup): Use IS_DIRECTORY_SEP.
[WINDOWSNT]: Call prepare_standard_handles. Use spawnve.
Use reset_standard_handles.
(Fcall_process_region): Test DOS_NT, not MSDOS.
(Fcall_process) [WINDOWSNT]: Call pipe_with_inherited_out.
Use the return value of child_setup to get the child's pid;
don't call vfork etc. explicitly.
[WINDOWSNT]: Add includes. Defone NOMINMAX, _P_NOWAIT.
(Vbinary_process_input, Vbinary_process_output)
(Qbuffer_file_type): Test DOS_NT, not MSDOS.
(syms_of_callproc): Test DOS_NT, not MSDOS.
(init_callproc): Test DOS_NT, not MSDOS.
(syms_of_callproc) [MSDOS]: Rename lisp variable binary-process to
binary-process-output.
(Fcall_process, syms_of_callproc) [MSDOS]: Use new names.
(Vbinary_process_input) [MSDOS]: New variable.
(syms_of_callproc) [MSDOS]: Declare binary-process-input.
(Fcall_process_region) [MSDOS]: Bind binary-process-input temporarily
to buffer-file-type.
(init_callproc) [MSDOS]: Don't add lib-src as the wrapped binaries are in bin.
(init_callproc) [MSDOS]: Initialize binary-process.
[MSDOS]: Declare binary-process.
[MSDOS]: Include <fcntl.h>, <sys/stat.h>, <sys/param.h>,
and <errno.h> needed for the next changes.
(Fcall_process) [MSDOS]: Create temporary file for process output.
Run the subprocess using `run_msdos_command' instead of forking.
Arrange for cleanup to erase temporary file.
(Fcall_process) [not subprocesses]: Barf if zero buffer argument.
(call_process_cleanup) [MSDOS]: Close and erase temporary file
instead of the pid-stuff.
(Fcall_process_region) [MSDOS]: Create temporary file in $TMP or $TEMP.
(Fchild_setup) [MSDOS]: #if 0, as it is not used.
* s/irix4-0.h: Get rid of our fake definitions for setpgrp and
getpgrp.
* callproc.c (Fcall_process): Go ahead and use the USG calling
convention for setpgrp.
* ymakefile (pre-crt0.o): Add rule for this. Perhaps it will help
separate-source-directory compilation.
* emacs.c (shut_down_emacs): Some USG systems #define
EMACS_HAVE_TTY_PGRP; call getpgrp as appropriate for such systems.
* sysdep.c (sys_suspend): Call getpgrp as appropriate for USG and
non-USG.
* process.c [IRIX] (create_process): Don't put child in process
group zero before opening the tty; Irix is like USG in this
regard.
now calling the BSD[sg]etpgrp functions directly, so this library
is not needed; it just provides the BSD[sg]etpgrp functions under
the [sg]etpgrp names.
* callproc.c [IRIX] (child_setup): Don't call setpgrp this time.
It's already been called up in Fcall_process, and create_process.
call setpgrp with arguments, even if USG is #defined.
* process.c [IRIX] (create_process): Don't call setpgrp before
opening the pty. Call it after doing the TIOCNOTTY ioctl.
equivalent of /dev/null, and the suffixes used by executable
files. This is simple, and helps people porting Emacs to other
operating systems.
* process.h (NULL_DEVICE): Give this a default value.
* process.c (Fstart_process): Pass EXEC_SUFFIXES to openp.
(Fprocess_send_eof): Use NULL_DEVICE instead of "/dev/null".
* callproc.c (Fcall_process): Pass EXEC_SUFFIXES to openp.
Use NULL_DEVICE instead of "/dev/null".
Lisp_Object, to smooth type-checking.
* callproc.c (init_callproc): Move the initialization of
Vprocess_environment to its own function.
(set_process_environment): This is that.
* emacs.c (main): Call set_process_environment earlier than
init_callproc.
for subprocesses when the buffer's default-directory is a handled
name.
* fileio.c (Funhandled_file_name_directory): New function.
(Qunhandled_file_name_directory): New file-name-handler operation.
(syms_of_fileio): Defsubr Sunhandled_file_name_directory, and
initialize and staticpro Qunhandled_file_name_directory.
* callproc.c (Fcall_process): Call Funhandled_file_name_directory
on the buffer's default directory. Do it earlier in the function
so there's less to GCPRO.
* process.c (create_process): Don't check the validity of the
buffer's default directory here...
(Fstart_process): Instead, do it here; if we call
Funhandled_file_name_directory here, there's less GCPROing to do.
* callproc.c (Fcall_process_region): Return the value returned by
Fcall_process.