Mercurial > emacs
changeset 3510:b4a552ca4e99
(read_process_output): Deactivate the mark.
Save and restore Vdeactivate_mark.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Sun, 06 Jun 1993 03:15:59 +0000 |
parents | a1ef317ceb18 |
children | 21fae09a3ad2 |
files | src/process.c |
diffstat | 1 files changed, 32 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/src/process.c Sat Jun 05 21:18:11 1993 +0000 +++ b/src/process.c Sun Jun 06 03:15:59 1993 +0000 @@ -2075,9 +2075,25 @@ hitting ^G when a filter happens to be running won't screw it up. */ int count = specpdl_ptr - specpdl; + Lisp_Object odeactivate; + + odeactivate = Vdeactivate_mark; + specbind (Qinhibit_quit, Qt); call2 (outstream, proc, make_string (chars, nchars)); + /* Deactivate the mark now, so it doesn't happen + *after* the following command. */ + if (!NILP (current_buffer->mark_active)) + { + if (!NILP (Vdeactivate_mark) && !NILP (Vtransient_mark_mode)) + { + current_buffer->mark_active = Qnil; + call1 (Vrun_hooks, intern ("deactivate-mark-hook")); + } + } + Vdeactivate_mark = odeactivate; + #ifdef VMS start_vms_process_read (vs); #endif @@ -2090,6 +2106,9 @@ { Lisp_Object old_read_only; Lisp_Object old_begv, old_zv; + Lisp_Object odeactivate; + + odeactivate = Vdeactivate_mark; Fset_buffer (p->buffer); opoint = point; @@ -2134,6 +2153,19 @@ if (XFASTINT (old_begv) != BEGV || XFASTINT (old_zv) != ZV) Fnarrow_to_region (old_begv, old_zv); + /* Deactivate the mark now, so it doesn't happen + *after* the following command. */ + if (!NILP (current_buffer->mark_active)) + { + if (!NILP (Vdeactivate_mark) && !NILP (Vtransient_mark_mode)) + { + current_buffer->mark_active = Qnil; + call1 (Vrun_hooks, intern ("deactivate-mark-hook")); + } + } + + Vdeactivate_mark = odeactivate; + current_buffer->read_only = old_read_only; SET_PT (opoint); set_buffer_internal (old);