Subject: Re: bug#20357: 25.0.50; deactivate-mark behavior broken

From: Oleh Krehel <[email-masked]>
Date: Fri, 17 Apr 2015 20:30:14 +0200

On Fri, Apr 17, 2015 at 8:22 PM, Stefan Monnier
<[email-masked]> wrote:
>> (with-temp-buffer
>>   (insert "foobar")
>>   (set-mark (point))
>>   (goto-char (point-min))
>>   (indent-region (point-min)
>>                  (point-max))
>>   mark-active)
>> In 24.5 it returns nil, which is correct. While in 25 it returns t.
>
> Why is it more correct to return nil than to return t?

Because it's a long standing behavior that if you mark some stuff and
press TAB, the mark will be deactivated.  And in 25, the mark actually
is deactivated outside of temp buffers, which is where I run my ERT
tests. So the tests are passing for 24.5 and failing for 25, while the
functions actually do work in both.

>
>> This is a recent change, 24.5.2 doesn't have this bug.
>>
>> (let (deactivate-mark)
>>   (indent-region (region-beginning)
>>                  (region-end)))
>>
>> Expected behavior: the mark isn't deactivated.
>
> At least in 24.4, the mark does get deactivated in my test.

This may be possible. Previously, I was testing using the emacs24 ppa
install, that uses emacs-24.3.
I've started testing with emacs-snapshot only this week, and the tests
started failing.
But when I've tested with 24.5 or 25 on my own machine, the tests were
running fine.

Oleh