diff options
| author | Karl Heuer | 1994-05-11 04:04:03 +0000 |
|---|---|---|
| committer | Karl Heuer | 1994-05-11 04:04:03 +0000 |
| commit | 8fb3cf64812e31c63bdec8df1cd008ddf7634710 (patch) | |
| tree | a66bd8835d63c6527f520436707b3af6e09e9273 /src/process.c | |
| parent | 17077ab35f8b4986b89dc3eca3605b105b889593 (diff) | |
| download | emacs-8fb3cf64812e31c63bdec8df1cd008ddf7634710.tar.gz emacs-8fb3cf64812e31c63bdec8df1cd008ddf7634710.zip | |
(exec_sentinel): Don't deactivate the mark. Check for asynch buffer switch.
Diffstat (limited to 'src/process.c')
| -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 | |||
| 3006 | exec_sentinel (proc, reason) | 3006 | exec_sentinel (proc, reason) |
| 3007 | Lisp_Object proc, reason; | 3007 | Lisp_Object proc, reason; |
| 3008 | { | 3008 | { |
| 3009 | Lisp_Object sentinel; | 3009 | Lisp_Object sentinel, obuffer, odeactivate; |
| 3010 | register struct Lisp_Process *p = XPROCESS (proc); | 3010 | register struct Lisp_Process *p = XPROCESS (proc); |
| 3011 | int count = specpdl_ptr - specpdl; | 3011 | int count = specpdl_ptr - specpdl; |
| 3012 | 3012 | ||
| 3013 | odeactivate = Vdeactivate_mark; | ||
| 3014 | obuffer = Fcurrent_buffer (); | ||
| 3013 | sentinel = p->sentinel; | 3015 | sentinel = p->sentinel; |
| 3014 | if (NILP (sentinel)) | 3016 | if (NILP (sentinel)) |
| 3015 | return; | 3017 | return; |
| @@ -3021,6 +3023,11 @@ exec_sentinel (proc, reason) | |||
| 3021 | /* Inhibit quit so that random quits don't screw up a running filter. */ | 3023 | /* Inhibit quit so that random quits don't screw up a running filter. */ |
| 3022 | specbind (Qinhibit_quit, Qt); | 3024 | specbind (Qinhibit_quit, Qt); |
| 3023 | call2 (sentinel, proc, reason); | 3025 | call2 (sentinel, proc, reason); |
| 3026 | |||
| 3027 | Vdeactivate_mark = odeactivate; | ||
| 3028 | if (! EQ (Fcurrent_buffer (), obuffer)) | ||
| 3029 | record_asynch_buffer_change (); | ||
| 3030 | |||
| 3024 | if (waiting_for_user_input_p) | 3031 | if (waiting_for_user_input_p) |
| 3025 | prepare_menu_bars (); | 3032 | prepare_menu_bars (); |
| 3026 | unbind_to (count, Qnil); | 3033 | unbind_to (count, Qnil); |