From: Richard M. Stallman Date: Mon, 21 Jun 2004 03:22:34 +0000 (+0000) Subject: (command_loop_1): Handle values `only' and `identity' for Vtransient_mark_mode. X-Git-Tag: ttn-vms-21-2-B4~5704 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=29204e13285666761d95e2afdc181a09affe14d5;p=emacs.git (command_loop_1): Handle values `only' and `identity' for Vtransient_mark_mode. --- diff --git a/src/keyboard.c b/src/keyboard.c index b4b7e64e4ce..9b36e96b70d 100644 --- a/src/keyboard.c +++ b/src/keyboard.c @@ -681,6 +681,8 @@ static SIGTYPE interrupt_signal P_ ((int signalnum)); to support it. */ static int cannot_suspend; +extern Lisp_Object Qidentity, Qonly; + /* Install the string STR as the beginning of the string of echoing, so that it serves as a prompt for the next character. Also start echoing. */ @@ -1822,6 +1824,16 @@ command_loop_1 () call1 (Vrun_hooks, intern ("activate-mark-hook")); } + /* Setting transient-mark-mode to `only' is a way of + turning it on for just one command. */ + if (!NILP (current_buffer->mark_active) && !NILP (Vrun_hooks)) + { + if (EQ (Vtransient_mark_mode, Qidentity)) + Vtransient_mark_mode = Qnil; + if (EQ (Vtransient_mark_mode, Qonly)) + Vtransient_mark_mode = Qidentity; + } + finalize: if (current_buffer == prev_buffer