Mercurial > emacs
changeset 2432:17a84e60603b
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".
author | Jim Blandy <jimb@redhat.com> |
---|---|
date | Tue, 30 Mar 1993 23:05:56 +0000 |
parents | 03e538cb97b8 |
children | 06fcbff9d381 |
files | src/callproc.c src/process.c src/process.h |
diffstat | 3 files changed, 16 insertions(+), 9 deletions(-) [+] |
line wrap: on
line diff
--- a/src/callproc.c Tue Mar 30 22:21:03 1993 +0000 +++ b/src/callproc.c Tue Mar 30 23:05:56 1993 +0000 @@ -151,11 +151,7 @@ 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 @@ 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 @@ 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);
--- a/src/process.c Tue Mar 30 22:21:03 1993 +0000 +++ b/src/process.c Tue Mar 30 23:05:56 1993 +0000 @@ -1034,7 +1034,7 @@ 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 @@ 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 */
--- a/src/process.h Tue Mar 30 22:21:03 1993 +0000 +++ b/src/process.h Tue Mar 30 23:05:56 1993 +0000 @@ -91,3 +91,14 @@ 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