Don't burp if process sentinel/filter kills the current buffer.

* process.c (read_process_output, exec_sentinel): Don't burp if the
sentinel/filter kills the current buffer.

Fixes: debbugs:6060
This commit is contained in:
Stefan Monnier 2010-04-29 10:29:09 -04:00
parent f9dddf5291
commit d2630aefd3
2 changed files with 5 additions and 2 deletions

View file

@ -1,5 +1,8 @@
2010-04-29 Stefan Monnier <monnier@iro.umontreal.ca>
* process.c (read_process_output, exec_sentinel): Don't burp if the
sentinel/filter kills the current buffer (bug#6060).
Fix wrong-docstring problem introduced with hash-consing. (Bug#6008)
* eval.c (Fautoload): Set doc to a unique number rather than to 0.
Remove unused var `args'.

View file

@ -5396,7 +5396,7 @@ read_process_output (proc, channel)
/* There's no good reason to let process filters change the current
buffer, and many callers of accept-process-output, sit-for, and
friends don't expect current-buffer to be changed from under them. */
record_unwind_protect (Fset_buffer, Fcurrent_buffer ());
record_unwind_protect (set_buffer_if_live, Fcurrent_buffer ());
/* Read and dispose of the process output. */
outstream = p->filter;
@ -6814,7 +6814,7 @@ exec_sentinel (proc, reason)
/* There's no good reason to let sentinels change the current
buffer, and many callers of accept-process-output, sit-for, and
friends don't expect current-buffer to be changed from under them. */
record_unwind_protect (Fset_buffer, Fcurrent_buffer ());
record_unwind_protect (set_buffer_if_live, Fcurrent_buffer ());
sentinel = p->sentinel;
if (NILP (sentinel))