Mercurial > emacs
diff src/callproc.c @ 56135:5407da499273
Update copyright.
| author | Kim F. Storm <storm@cua.dk> |
|---|---|
| date | Wed, 16 Jun 2004 15:10:55 +0000 |
| parents | 659b9b404c02 |
| children | 80340a31718d |
line wrap: on
line diff
--- a/src/callproc.c Wed Jun 16 14:17:01 2004 +0000 +++ b/src/callproc.c Wed Jun 16 15:10:55 2004 +0000 @@ -1,5 +1,5 @@ /* Synchronous subprocess invocation for GNU Emacs. - Copyright (C) 1985,86,87,88,93,94,95,99, 2000, 2001 + Copyright (C) 1985,86,87,88,93,94,95,99, 2000,01,02,03,04 Free Software Foundation, Inc. This file is part of GNU Emacs. @@ -130,6 +130,8 @@ this is exit code of synchronous subprocess. */ int synch_process_retcode; +extern Lisp_Object Qredisplay_dont_pause; + extern Lisp_Object Vdoc_file_name; extern Lisp_Object Vfile_name_coding_system, Vdefault_file_name_coding_system; @@ -220,9 +222,9 @@ int fd[2]; int filefd; register int pid; - char buf[16384]; + char buf[16384*4]; char *bufptr = buf; - int bufsize = 16384; + int bufsize = sizeof buf; int count = SPECPDL_INDEX (); register const unsigned char **new_argv @@ -771,6 +773,7 @@ if (this_read == 0) { +// fprintf(stderr, "read 0, total=%d\n", total_read); process_coding.mode |= CODING_MODE_LAST_BLOCK; break; } @@ -778,6 +781,8 @@ nread += this_read; total_read += this_read; +// fprintf(stderr, "read %d+%d of %d, total=%d\n", nread, this_read, bufsize, total_read); + if (display_on_the_fly) break; } @@ -830,6 +835,8 @@ continue; } +// fprintf(stderr, "produced %d\n", process_coding.produced); + if (process_coding.produced > 0) insert_1_both (decoding_buf, process_coding.produced_char, process_coding.produced, 0, 1, 0); @@ -929,10 +936,15 @@ if (!NILP (display) && INTERACTIVE) { + extern int windows_or_buffers_changed; + int count = SPECPDL_INDEX (); + if (first) prepare_menu_bars (); first = 0; + specbind (Qredisplay_dont_pause, Qt); redisplay_preserve_echo_area (1); + unbind_to (count, Qnil); } immediate_quit = 1; QUIT;
