summaryrefslogtreecommitdiff
path: root/src/callint.c
diff options
context:
space:
mode:
authorChong Yidong <cyd@stupidchicken.com>2008-04-03 16:36:47 +0000
committerChong Yidong <cyd@stupidchicken.com>2008-04-03 16:36:47 +0000
commite5a31bbbcb2fdddea8b581ac6a0fb2f45ad53f61 (patch)
tree2eb7e9ded2479a753ca36d5f19d761f3943ffa24 /src/callint.c
parent1d8dcf63aabd68f0119f6e24a012ee40ccf7f1c4 (diff)
downloademacs-e5a31bbbcb2fdddea8b581ac6a0fb2f45ad53f61.tar.gz
(Fcall_interactively): Handle temporary region even when
shift-select-mode is off.
Diffstat (limited to 'src/callint.c')
-rw-r--r--src/callint.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/callint.c b/src/callint.c
index 47c5cd5275c..485529b5283 100644
--- a/src/callint.c
+++ b/src/callint.c
@@ -36,6 +36,7 @@ extern char *index P_ ((const char *, int));
extern Lisp_Object Qcursor_in_echo_area;
extern Lisp_Object Qfile_directory_p;
+extern Lisp_Object Qonly;
Lisp_Object Vcurrent_prefix_arg, Qminus, Qplus;
Lisp_Object Qcall_interactively;
@@ -454,7 +455,13 @@ invoke it. If KEYS is omitted or nil, the return value of
else if (*string == '^')
{
if (! NILP (Vshift_select_mode))
- call0 (Qhandle_shift_selection);
+ call1 (Qhandle_shift_selection, Qnil);
+ /* Even if shift-select-mode is off, temporarily active
+ regions could be set using the mouse, and should be
+ deactivated. */
+ else if (CONSP (Vtransient_mark_mode)
+ && EQ (XCAR (Vtransient_mark_mode), Qonly))
+ call1 (Qhandle_shift_selection, Qt);
string++;
}
else break;