Subject: bug#52896: 29.0.50; transient-mark-mode is set to a lot of 'only syms

From: Eli Zaretskii <[email-masked]>
Date: Fri, 07 Jan 2022 20:32:38 +0200

> From: Andrey Listopadov <[email-masked]>
> Date: Fri, 7 Jan 2022 21:17:41 +0300
> Cc: [email-masked]
> 
> > Sorry, please use the patch below instead:
> >
> > diff --git a/lisp/simple.el b/lisp/simple.el
> > index 070d276..cbcde9f 100644
> > --- a/lisp/simple.el
> > +++ b/lisp/simple.el
> > @@ -6664,7 +6664,7 @@ exchange-point-and-mark
> >          (user-error "No mark set in this buffer"))
> >      (set-mark (point))
> >      (goto-char omark)
> > -    (cond (temp-highlight
> > +    (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))
> 
> Seems to work without issues

Thanks for testing.  I installed this on the master branch, and will
consider backporting to emacs-28 if no issues are reported for it.