1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-17 11:20:39 -08:00

Fix 'exchange-point-and-mark' in 'transient-mark-mode'

* lisp/simple.el (exchange-point-and-mark): Don't deactivate mark
when 'transient-mark-mode' is ON.  (Bug#53150)

(cherry picked from commit 415ed4b425)
This commit is contained in:
Eli Zaretskii 2022-01-10 19:10:52 +02:00
parent 2289a7a271
commit fe27479cad

View file

@ -6652,11 +6652,10 @@ mode temporarily."
(user-error "No mark set in this buffer")) (user-error "No mark set in this buffer"))
(set-mark (point)) (set-mark (point))
(goto-char omark) (goto-char omark)
(cond ((and (not arg) (not temp-highlight)) (or temp-highlight
(setq-local transient-mark-mode (cons 'only transient-mark-mode))) (cond ((xor arg (not (region-active-p)))
((xor arg (not (region-active-p))) (deactivate-mark))
(deactivate-mark)) (t (activate-mark))))
(t (activate-mark)))
nil)) nil))
(defcustom shift-select-mode t (defcustom shift-select-mode t