On 2017-02-07 12:13, Eli Zaretskii wrote: >> Cc: 25592@debbugs.gnu.org >> From: Clément Pit--Claudel >> 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. I think I may have misunderstood your proposal, or failed to express what I was trying to achieve :/ If OV1 has face "(:weight bold)" and OV2 has face "(:slant italic)", I want to save both 'face properties. Can I really do that by applying at most one overlay at each position? Clément.