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)
This commit is contained in:
Eli Zaretskii 2022-01-10 19:10:52 +02:00
parent aca1e31e36
commit 415ed4b425

View file

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