changeset 93609:fbde6ee8b428

(handle-shift-selection): New arg.
author Chong Yidong <cyd@stupidchicken.com>
date Thu, 03 Apr 2008 16:37:39 +0000
parents 149c271d4dcd
children f65c3e4b689b
files lisp/simple.el
diffstat 1 files changed, 6 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/simple.el	Thu Apr 03 16:37:12 2008 +0000
+++ b/lisp/simple.el	Thu Apr 03 16:37:39 2008 +0000
@@ -3648,7 +3648,7 @@
 	  (t (activate-mark)))
     nil))
 
-(defun handle-shift-selection ()
+(defun handle-shift-selection (&optional deactivate)
   "Check for shift translation, and operate on the mark accordingly.
 This is called whenever a command with a `^' character in its
 `interactive' spec is invoked while `shift-select-mode' is
@@ -3658,8 +3658,11 @@
 mark and activate the region temporarily, unless it was already
 set in this way.  If the command was invoked without
 shift-translation and a region is temporarily active, deactivate
-the mark."
-  (cond (this-command-keys-shift-translated
+the mark.
+
+With optional arg DEACTIVATE, only perform region deactivation."
+  (cond ((and this-command-keys-shift-translated
+	      (null deactivate))
 	 (unless (and mark-active
 		      (eq (car-safe transient-mark-mode) 'only))
 	   (setq transient-mark-mode