[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] /srv/bzr/emacs/trunk r99871: * process.c (exec_sentinel):
From: |
Stefan Monnier |
Subject: |
[Emacs-diffs] /srv/bzr/emacs/trunk r99871: * process.c (exec_sentinel): Preserve current-buffer. |
Date: |
Sun, 11 Apr 2010 12:15:09 -0400 |
User-agent: |
Bazaar (2.0.3) |
------------------------------------------------------------
revno: 99871
committer: Stefan Monnier <address@hidden>
branch nick: trunk
timestamp: Sun 2010-04-11 12:15:09 -0400
message:
* process.c (exec_sentinel): Preserve current-buffer.
modified:
src/ChangeLog
src/process.c
=== modified file 'src/ChangeLog'
--- a/src/ChangeLog 2010-04-11 15:53:13 +0000
+++ b/src/ChangeLog 2010-04-11 16:15:09 +0000
@@ -1,5 +1,7 @@
2010-04-11 Stefan Monnier <address@hidden>
+ * process.c (exec_sentinel): Preserve current-buffer.
+
* process.c (read_process_output): Move the save-current-buffer to
apply to both the filter and the non-filter branches.
=== modified file 'src/process.c'
--- a/src/process.c 2010-04-11 15:53:13 +0000
+++ b/src/process.c 2010-04-11 16:15:09 +0000
@@ -6840,6 +6840,11 @@
XSETBUFFER (obuffer, current_buffer);
okeymap = current_buffer->keymap;
+ /* 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 ());
+
sentinel = p->sentinel;
if (NILP (sentinel))
return;
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] /srv/bzr/emacs/trunk r99871: * process.c (exec_sentinel): Preserve current-buffer.,
Stefan Monnier <=