Subject: bug#20253: 24.4; Document `region' face behavior changes, overlay, priority

From: Drew Adams <[email-masked]>
Date: Mon, 12 Sep 2016 10:19:42 -0700 (PDT)

> > The Elisp manual does mention that "Emacs sometimes uses non-numeric
> > priority values for some of its internal overlays", but it would be nice
> > if it documented what those were and what they mean.
> >
> > The comments in simple.el mention that a cons cell value represents
> > primary/secondary priorities, but it's not clear what the difference is.
> 
> See compare_overlays in buffer.c.
> 
> The ELisp manual is not supposed to be a comprehensive documentation
> of the Emacs internals, it's supposed to provide information for users
> who write Lisp programs.  People who develop Emacs itself will need to
> read the sources anyway.  So it's not a big deal if some obscure
> feature is not described in the manual, it just means it is not
> supposed to be used by Lisp programs that are not part of Emacs.

I disagree that THIS is an "internal" and "obscure" feature, and
that "it is not supposed to be used by Lisp programs that are not
part of Emacs".  It cannot be, if users want to control the behavior
of the `region' overlay and similar.

Questions about this arise from end users.

The change in behavior to not have highlighting of the selected text
(region) take precedence over other highlighting has provoked some
users to ask how they can get the previous behavior again, etc.
More generally, it is a fairly common question how to juggle overlay
priorities to get the effect of what (nil . NUMBER) provides.

Such questions, and their answers, immediately lead users to this
feature (after someone digs it out for them).  They ask about
understanding and controlling the _behavior_.  They end up needing
to know about (nil . NUMBER) - but it is not something that they
started out wondering about.

This is not about some curious user wanting to delve into "Emacs
internals".

And the question of this bug report is not only about documenting
(nil . NUMBER).  It is about documenting the user-visible _behavior_
change for region highlighting, and how to accommodate and control it.

 >> IOW, please communicate with your users about such changes: what
 >> they mean for users (what behavior differences they can expect),
 >> and how they can manipulate/customize the behavior.

It's the least that users can expect from the extensible, customizable,
self-documenting editor.