1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-01 09:51:22 -08:00

New macros NULL_DEVICE and EXEC_SUFFIXES, to give the name of the

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".
This commit is contained in:
Jim Blandy 1993-03-30 23:05:56 +00:00
parent 9115e9389c
commit 5437e9f97e
3 changed files with 16 additions and 9 deletions

View file

@ -151,11 +151,7 @@ If you quit, the process is killed with SIGINT, or SIGKILL if you quit again.")
CHECK_STRING (infile, 1);
}
else
#ifdef VMS
infile = build_string ("NLA0:");
#else
infile = build_string ("/dev/null");
#endif /* not VMS */
infile = build_string (NULL_DEVICE);
if (nargs >= 3)
{
@ -220,7 +216,7 @@ If you quit, the process is killed with SIGINT, or SIGKILL if you quit again.")
report_file_error ("Opening process input file", Fcons (infile, Qnil));
}
/* Search for program; barf if not found. */
openp (Vexec_path, args[0], "", &path, 1);
openp (Vexec_path, args[0], EXEC_SUFFIXES, &path, 1);
if (NILP (path))
{
close (filefd);
@ -229,7 +225,7 @@ If you quit, the process is killed with SIGINT, or SIGKILL if you quit again.")
new_argv[0] = XSTRING (path)->data;
if (XTYPE (buffer) == Lisp_Int)
fd[1] = open ("/dev/null", O_WRONLY), fd[0] = -1;
fd[1] = open (NULL_DEVICE, O_WRONLY), fd[0] = -1;
else
{
pipe (fd);

View file

@ -1034,7 +1034,7 @@ Remaining arguments are strings to give program as arguments.")
if (new_argv[0][0] != '/')
{
tem = Qnil;
openp (Vexec_path, program, "", &tem, 1);
openp (Vexec_path, program, EXEC_SUFFIXES, &tem, 1);
if (NILP (tem))
report_file_error ("Searching for program", Fcons (program, Qnil));
new_argv[0] = XSTRING (tem)->data;
@ -2597,7 +2597,7 @@ nil, indicating the current buffer's process.")
else
{
close (XPROCESS (proc)->outfd);
XFASTINT (XPROCESS (proc)->outfd) = open ("/dev/null", O_WRONLY);
XFASTINT (XPROCESS (proc)->outfd) = open (NULL_DEVICE, O_WRONLY);
}
#endif /* VMS */
#endif /* did not do TOICREMOTE */

View file

@ -91,3 +91,14 @@ extern char *synch_process_death;
this is exit code of synchronous subprocess. */
extern int synch_process_retcode;
/* The name of the file open to get a null file, or a data sink.
VMS, MS-DOS, and OS/2 redefine this. */
#ifndef NULL_DEVICE
#define NULL_DEVICE "/dev/null"
#endif
/* A string listing the possible suffixes used for executable files,
separated by colons. VMS, MS-DOS, and OS/2 redefine this. */
#ifndef EXEC_SUFFIXES
#define EXEC_SUFFIXES ""
#endif