Subject: Re: bug#4394: 23.1; flashing when overlapping face and mouse-face properties

From: Lars Ingebrigtsen <[email-masked]>
Date: Sun, 18 Jul 2021 21:06:57 +0200

"Drew Adams" <[email-masked]> writes:

> In *scratch*, type this:
> (accessible-keymaps (current-global-map))
>
> Put point somewhere after the sexp and hit `C-u C-x C-e'.
>
> The result sexp inserted is large, and it has a mouse-face property
> over it all. Double-click a left paren somewhere inside the sexp, to
> select a sublist.
>
> The display flashes spasmodically. Very annoying. And you can hardly
> see the region highlight at all.

A more manageable example is:

(number-sequence 1 20)
=> (1 2 3 4 5 6 7 8 9 10 11 12 ...)

Which is displayed this way:

The point of the mouse face is to tell the user that they can mouse-2 on
the region to expand the abbreviated bits.  (This is done in
`last-sexp-setup-props'.)

However, when the sexp is large, the mouse face is indeed very annoying.
Would it make sense to shorten it somehow?  For instance, only display
it over the "..." to indicate that it's the abbreviation that the mouse
face is trying to draw attention to?  Or...  something else?

Like...  er...  adding underlines or something to the dots and not using
a mouse face at all?  Or underlines and a mouse face, but just for the
dots...

Anybody got an opinion?

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no