# HG changeset patch # User Richard M. Stallman # Date 1087788154 0 # Node ID 8715315bd4abbdc2f1a7594a5dc01b285f4acc0a # Parent e9132cd927337552546ceb254d2d6d255af6986c (command_loop_1): Handle values `only' and `identity' for Vtransient_mark_mode. diff -r e9132cd92733 -r 8715315bd4ab src/keyboard.c --- a/src/keyboard.c Mon Jun 21 03:20:20 2004 +0000 +++ b/src/keyboard.c Mon Jun 21 03:22:34 2004 +0000 @@ -681,6 +681,8 @@ 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 @@ 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