Subject: bug#25592: Feature request: sorting overlays

From: Eli Zaretskii <[email-masked]>
Date: Tue, 07 Feb 2017 19:13:39 +0200

> Cc: [email-masked]
> From: Clément Pit--Claudel <[email-masked]>
> Date: Sun, 5 Feb 2017 14:51:55 -0500
> 
> >>> What will happen if you have 2 overlays like this:
> >>>
> >>>                +------------- OV2 -------+
> >>>    xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
> >>>    +------- OV1 ---------+
> >>>
> >>> and OV2 has a higher priority than OV1?
> >>
> >> The two overlays get sorted as (OV1 OV2).
> > 
> > But OV2 has a higher priority, so it should be the first in the sorted
> > order, no?
> 
> I process them in order of increasing priority, so OV1 gets processed first.

So you actually apply _all_ of the overlays in the buffer, one by one?
That's really inefficient.  With my proposal, you'd only need to apply
at most one overlay at each position where some overlay begins or
ends, and do that for much fewer text segments.