summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTino Calancha <tino.calancha@gmail.com>2017-10-17 16:20:08 +0900
committerTino Calancha <tino.calancha@gmail.com>2017-10-17 16:20:08 +0900
commit2c3e6f1ddc90335249f1a7f56f5f7b377c873fb7 (patch)
tree0363d2b8c5a6fbfd1886deee094325702adb3d92
parentb38724ab675ac02dec865930a35abd8e06ee8e76 (diff)
downloademacs-2c3e6f1ddc.tar.gz
Dont update primary selection with winner-undo
* lisp/winner.el (winner-set): Dont update primary selection when select-enable-primary is non-nil (Bug#28631). Co-authored-by: Noam Postavsky <npostavs@gmail.com>
-rw-r--r--lisp/winner.el15
1 files changed, 9 insertions, 6 deletions
diff --git a/lisp/winner.el b/lisp/winner.el
index 61ea4d40e7b..6bc27484a79 100644
--- a/lisp/winner.el
+++ b/lisp/winner.el
@@ -304,12 +304,15 @@ You may want to include buffer names such as *Help*, *Apropos*,
(push win xwins))) ; delete this window
;; Restore marks
- (save-current-buffer
- (cl-loop for buf in buffers
- for entry = (cadr (assq buf winner-point-alist))
- do (progn (set-buffer buf)
- (set-mark (car entry))
- (setf (winner-active-region) (cdr entry)))))
+ ;; `winner-undo' shouldn't update the selection (Bug#28631) when
+ ;; select-enable-primary is non-nil.
+ (unless select-enable-primary
+ (save-current-buffer
+ (cl-loop for buf in buffers
+ for entry = (cadr (assq buf winner-point-alist))
+ do (progn (set-buffer buf)
+ (set-mark (car entry))
+ (setf (winner-active-region) (cdr entry))))))
;; Delete windows, whose buffers are dead or boring.
;; Return t if this is still a possible configuration.
(or (null xwins)