]> git.eshelyaron.com Git - emacs.git/commitdiff
Don't burp if process sentinel/filter kills the current buffer.
authorStefan Monnier <monnier@iro.umontreal.ca>
Thu, 29 Apr 2010 14:29:09 +0000 (10:29 -0400)
committerStefan Monnier <monnier@iro.umontreal.ca>
Thu, 29 Apr 2010 14:29:09 +0000 (10:29 -0400)
* process.c (read_process_output, exec_sentinel): Don't burp if the
sentinel/filter kills the current buffer.

Fixes: debbugs:6060
src/ChangeLog
src/process.c

index 0f15ed95e0afc08c30680a05b48a5d5f3236b5a0..c24493293e845e3378ac935d5c5477938e3d622e 100644 (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'.
index 7e8f4cc57bc3dd2fba47fa2de2fe1bb26ca9869a..29983b2285838c5c2f1b3938ab43d636e15913b3 100644 (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))