Set `mark-active' to selected window

* lisp/simple.el (activate-mark): Update.
(redisplay--update-region-highlights): When a buffer is displayed
multiply, update highlight only in the window equal to mark-active,
i.e. the one in which the mark was activated.
This commit is contained in:
Oleh Krehel 2015-03-31 14:57:24 +02:00
parent 6ba6216a51
commit 6da5ca1f59

View file

@ -4835,7 +4835,7 @@ If NO-TMM is non-nil, leave `transient-mark-mode' alone."
(when (mark t)
(unless (region-active-p)
(force-mode-line-update) ;Refresh toolbar (bug#16382).
(setq mark-active t)
(setq mark-active (selected-window))
(unless (or transient-mark-mode no-tmm)
(setq-local transient-mark-mode 'lambda))
(run-hooks 'activate-mark-hook))))
@ -4958,9 +4958,8 @@ also checks the value of `use-empty-active-region'."
(mapc #'redisplay--update-region-highlight
(delq nil
(mapcar (lambda (w)
(unless (eq (window-buffer w)
(current-buffer))
w))
(and (eq w mark-active)
w))
windows)))
(let ((msw (and (window-minibuffer-p) (minibuffer-selected-window))))
(dolist (w windows)