Subject: bug#25992: closed (Re: bug#25992: perform-replace leaves mark-active when not transient-mark-mode)

From: [email-masked] (GNU bug Tracking System)
Date: Tue, 07 Mar 2017 19:27:02 +0000

Your bug report

#25992: perform-replace leaves mark-active when not transient-mark-mode

which was filed against the emacs package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
25992: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=25992
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#25992: perform-replace leaves mark-active when not transient-mark-mode
From: Eli Zaretskii <[email-masked]>
To: Keith David Bershatsky <[email-masked]>
Cc: [email-masked]
Date: Tue, 07 Mar 2017 21:25:55 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

> Date:  Tue, 07 Mar 2017 09:32:58 -0800
> From:  Keith David Bershatsky <[email-masked]>
> Cc:  [email-masked]
> 
> Yes, thank you, please close out bug#25992.

Done.

Subject: perform-replace leaves mark-active when not transient-mark-mode
From: Keith David Bershatsky <[email-masked]>
To: [email-masked]
Date: Sun, 05 Mar 2017 18:02:23 -0800
List-Id: <debbugs-submit.debbugs.gnu.org>

When transient-mark-mode is turned off, perform-replace leaves mark-active set to `t`.

Step 1:  Launch emacs -q

Step 2:  Turn off transient-mark-mode.  (transient-mark-mode -1)

Step 3:  Evaluate mark-active and verify it is `nil`.

Step 4:  Run a simple perform-replace such as:  (replace-regexp ";" "@" nil 1 2)

Step 5:  Evaluate mark-active and see that it is now set `t`.

The desired behavior is to leave `mark-active` set to `nil` if it was previously set to `nil`.

I fixed this in my own setup with a very simple test at the outset of perform-replace to see whether mark-active was set to `t` at the outset and then turn it off at the end of the function if it was not previously active.

Thanks,

Keith