changeset 93607:42db50d02ca0

(Fcall_interactively): Handle temporary region even when shift-select-mode is off.
author Chong Yidong <cyd@stupidchicken.com>
date Thu, 03 Apr 2008 16:36:47 +0000
parents f720f3524c72
children 149c271d4dcd
files src/callint.c
diffstat 1 files changed, 8 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/callint.c	Thu Apr 03 16:36:29 2008 +0000
+++ b/src/callint.c	Thu Apr 03 16:36:47 2008 +0000
@@ -36,6 +36,7 @@
 
 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 @@
       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;