* lisp/simple.el (exchange-point-and-mark): Don't deactivate mark
when 'transient-mark-mode' is ON. (Bug#53150)
(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