diff options
| author | Karl Heuer <kwzh@gnu.org> | 1994-05-11 04:04:03 +0000 |
|---|---|---|
| committer | Karl Heuer <kwzh@gnu.org> | 1994-05-11 04:04:03 +0000 |
| commit | 8fb3cf64812e31c63bdec8df1cd008ddf7634710 (patch) | |
| tree | a66bd8835d63c6527f520436707b3af6e09e9273 /src | |
| parent | 17077ab35f8b4986b89dc3eca3605b105b889593 (diff) | |
| download | emacs-8fb3cf64812e31c63bdec8df1cd008ddf7634710.tar.gz | |
(exec_sentinel): Don't deactivate the mark. Check for asynch buffer switch.
Diffstat (limited to 'src')
| -rw-r--r-- | src/process.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/process.c b/src/process.c index 2636e0d2dd9..b7bca471230 100644 --- a/src/process.c +++ b/src/process.c @@ -3006,10 +3006,12 @@ static void exec_sentinel (proc, reason) Lisp_Object proc, reason; { - Lisp_Object sentinel; + Lisp_Object sentinel, obuffer, odeactivate; register struct Lisp_Process *p = XPROCESS (proc); int count = specpdl_ptr - specpdl; + odeactivate = Vdeactivate_mark; + obuffer = Fcurrent_buffer (); sentinel = p->sentinel; if (NILP (sentinel)) return; @@ -3021,6 +3023,11 @@ exec_sentinel (proc, reason) /* Inhibit quit so that random quits don't screw up a running filter. */ specbind (Qinhibit_quit, Qt); call2 (sentinel, proc, reason); + + Vdeactivate_mark = odeactivate; + if (! EQ (Fcurrent_buffer (), obuffer)) + record_asynch_buffer_change (); + if (waiting_for_user_input_p) prepare_menu_bars (); unbind_to (count, Qnil); |
