Mercurial > emacs
diff lisp/simple.el @ 93609:fbde6ee8b428
(handle-shift-selection): New arg.
author | Chong Yidong <cyd@stupidchicken.com> |
---|---|
date | Thu, 03 Apr 2008 16:37:39 +0000 |
parents | e39e5bb86d6b |
children | 3f94f995598c |
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