diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/keyboard.c | 12 |
1 files changed, 12 insertions, 0 deletions
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)); | |||
| 681 | to support it. */ | 681 | to support it. */ |
| 682 | static int cannot_suspend; | 682 | static int cannot_suspend; |
| 683 | 683 | ||
| 684 | extern Lisp_Object Qidentity, Qonly; | ||
| 685 | |||
| 684 | /* Install the string STR as the beginning of the string of echoing, | 686 | /* Install the string STR as the beginning of the string of echoing, |
| 685 | so that it serves as a prompt for the next character. | 687 | so that it serves as a prompt for the next character. |
| 686 | Also start echoing. */ | 688 | Also start echoing. */ |
| @@ -1822,6 +1824,16 @@ command_loop_1 () | |||
| 1822 | call1 (Vrun_hooks, intern ("activate-mark-hook")); | 1824 | call1 (Vrun_hooks, intern ("activate-mark-hook")); |
| 1823 | } | 1825 | } |
| 1824 | 1826 | ||
| 1827 | /* Setting transient-mark-mode to `only' is a way of | ||
| 1828 | turning it on for just one command. */ | ||
| 1829 | if (!NILP (current_buffer->mark_active) && !NILP (Vrun_hooks)) | ||
| 1830 | { | ||
| 1831 | if (EQ (Vtransient_mark_mode, Qidentity)) | ||
| 1832 | Vtransient_mark_mode = Qnil; | ||
| 1833 | if (EQ (Vtransient_mark_mode, Qonly)) | ||
| 1834 | Vtransient_mark_mode = Qidentity; | ||
| 1835 | } | ||
| 1836 | |||
| 1825 | finalize: | 1837 | finalize: |
| 1826 | 1838 | ||
| 1827 | if (current_buffer == prev_buffer | 1839 | if (current_buffer == prev_buffer |