Subject: Re: bug#15899: 24.3.50; regression: `region' overlay is lower priority than default

From: Eli Zaretskii <[email-masked]>
Date: Sat, 16 Nov 2013 12:42:12 +0200

> Date: Sat, 16 Nov 2013 10:51:55 +0100
> From: Jarek Czekalski <[email-masked]>
> 
> W dniu 2013-11-16 09:49, Eli Zaretskii pisze:
> >> If the region overlay will have a high but finite and documented
> >> priority, that would be much better.
> > Which will start an "overlay priority arms race", something I loathe.
> 
>  From this point of view editors like Notepad are best. No races, no 
> possibility of user or package interfering with application author's 
> vision. But we are in Emacs. This should mean freedom to users. If a 
> user wants to have a higher priority, why would you forbid him to do so?

Every freedom must have its limits.  "Your freedom to swing fists ends
where my nose begins."  (Yes, I know I'm lecturing, but so did you.)

More to the point: Previously, Emacs users did not have the freedom to
overrule the region highlighting with an overlay face.  Many
generations of Emacs users lived with that limitation and never
complained about that, at least not seriously enough to make this an
issue.  Keeping the priority of the region overlay at infinity just
preserves previous behavior.

So I think we should turn the table and ask why would a user need to
have this freedom now, and only give that freedom if the cause
justifies it.

> I can't imagine an example where infinite priority is better than a high 
> value. Could you help with that?

It avoids the problem of priority race.  With an infinite priority, we
can be sure the region highlighting will always be visible, come what
may.

> I guess examples of malicious users or those who don't read docs
> should not count.

No, but unintended consequences of actions by unsuspecting users
should.  In a complex system, unintended consequences are always a
greater danger than malicious intent.

IOW, keeping the region priority above everything makes sure we won't
have another series of bug reports in the near future asking why this
or that feature makes region invisible.