GNU bug report logs - #25592
Feature request: sorting overlays

Previous Next

Package: emacs;

Reported by: Clément Pit--Claudel <clement.pitclaudel <at> live.com>

Date: Tue, 31 Jan 2017 20:33:02 UTC

Severity: wishlist

Done: Clément Pit--Claudel <clement.pitclaudel <at> live.com>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Eli Zaretskii <eliz <at> gnu.org>
To: Clément Pit--Claudel <clement.pitclaudel <at> live.com>
Cc: 25592 <at> debbugs.gnu.org
Subject: bug#25592: Feature request: sorting overlays
Date: Tue, 07 Feb 2017 21:56:46 +0200
> Cc: 25592 <at> debbugs.gnu.org
> From: Clément Pit--Claudel <clement.pitclaudel <at> live.com>
> Date: Tue, 7 Feb 2017 14:17:13 -0500
> 
> >> 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?

For the face property, no, because it can have many attributes, and
they must be merged.  Likewise for before-string and after-string
properties.  But still, these overlays are applied by the display
engine in a specific priority order (before-strings in the order of
increasing priority, after-strings in the decreasing order) at that
particular locations.  So you need to do the same to produce the same
effect.

But for other properties, like the display property, yes, you can
apply only the highest.  And that was your original example, AFAIR.




This bug report was last modified 8 years and 104 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.