summaryrefslogtreecommitdiff
path: root/lisp/simple.el
diff options
context:
space:
mode:
authorChong Yidong <cyd@stupidchicken.com>2010-08-15 22:33:17 -0400
committerChong Yidong <cyd@stupidchicken.com>2010-08-15 22:33:17 -0400
commit7c23dd4468eb42dbe7e3f40339c6fda9f9905d0e (patch)
treefc6daa2c1cf95788332e4216b8293dc5616ee73b /lisp/simple.el
parent6d3e82d2d656d7ed27b374f62c320c7d58348248 (diff)
downloademacs-7c23dd4468eb42dbe7e3f40339c6fda9f9905d0e.tar.gz
Let all active regions set the primary selection.
This includes both temporarily active regions (mouse drag and shift-select) and those made with C-SPC and cursor motion. * lisp/cus-start.el: Change defcustom for select-active-regions. * lisp/simple.el (deactivate-mark): If select-active-regions is `only', only set selection for temporarily active regions. * src/insdel.c (prepare_to_modify_buffer): Handle `only' value of select-active-regions. * src/keyboard.c (command_loop_1): Avoid setting selection twice, since it's done in deactivate-mark as well. (Vselect_active_regions): Replace `lazy' value with `only', meaning to only set PRIMARY for temporarily active regions.
Diffstat (limited to 'lisp/simple.el')
-rw-r--r--lisp/simple.el4
1 files changed, 3 insertions, 1 deletions
diff --git a/lisp/simple.el b/lisp/simple.el
index 0ac199ea2f6..5a2c9e70ad6 100644
--- a/lisp/simple.el
+++ b/lisp/simple.el
@@ -3674,7 +3674,9 @@ Unless FORCE is non-nil, this function does nothing if Transient
Mark mode is disabled.
This function also runs `deactivate-mark-hook'."
(when (or transient-mark-mode force)
- (when (and select-active-regions
+ (when (and (if (eq select-active-regions 'only)
+ (eq (car-safe transient-mark-mode) 'only)
+ select-active-regions)
(region-active-p)
(display-selections-p))
;; The var `saved-region-selection', if non-nil, is the text in