Mercurial > emacs
changeset 22550:4ec5c343db1f
(Fcall_process): Handle third argument BUFFER
consistently when it is an integer or a list.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Tue, 23 Jun 1998 03:07:05 +0000 |
parents | bb42066bb94a |
children | 10770ff8e88f |
files | src/callproc.c |
diffstat | 1 files changed, 6 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/src/callproc.c Tue Jun 23 01:55:31 1998 +0000 +++ b/src/callproc.c Tue Jun 23 03:07:05 1998 +0000 @@ -227,7 +227,8 @@ #ifndef subprocesses /* Without asynchronous processes we cannot have BUFFER == 0. */ - if (nargs >= 3 && INTEGERP (args[2])) + if (nargs >= 3 + && (INTEGERP (CONSP (args[2]) ? XCAR (args[2]) : args[2]) error ("Operating system cannot handle asynchronous subprocesses"); #endif /* subprocesses */ @@ -271,9 +272,10 @@ /* If BUFFER is nil, we must read process output once and then discard it, so setup coding system but with nil. If BUFFER is an integer, we can discard it without reading. */ - if (nargs < 3 || NILP (args[2])) + if (nargs < 3 || NILP (args[2]) + || (CONSP (args[2]) && NILP (XCAR (args[2])))) setup_coding_system (Qnil, &process_coding); - else if (!INTEGERP (args[2])) + else if (!INTEGERP (CONSP (args[2]) ? XCAR (args[2]) : args[2])) { val = Qnil; if (!NILP (Vcoding_system_for_read)) @@ -333,7 +335,7 @@ if (!(EQ (buffer, Qnil) || EQ (buffer, Qt) - || XFASTINT (buffer) == 0)) + || INTEGERP (buffer))) { Lisp_Object spec_buffer; spec_buffer = buffer;