bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#18285: 24.3.92; A combination of `display' on text and `invisible' a


From: Dmitry Gutov
Subject: bug#18285: 24.3.92; A combination of `display' on text and `invisible' and `before/after-string' leads to the before/after string being displayed twice
Date: Sun, 24 Aug 2014 05:28:42 +0400
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.0

On 08/23/2014 12:55 AM, Eli Zaretskii wrote:

Look at the code inside load_overlay_strings that handles this, to
understand what I'm saying.

Do you mean the situation when the `invisible' overlay starts before the `display' starts? And then we skip to the end because of `invisible', but that position is covered by `display', so if we ignore the `invisible' there, `before-string' would not be displayed?

The question is what would you expect from the second example, if it
used before-string there?  Should the before-string be displayed or
shouldn't it?  Since invisible makes the beginning of the overlay
disappear, under your suggestion it won't be displayed.

This doesn't seem to apply to the second example, because the overlay with `invisible' and the `display' prop start at the same position, so the beginning of the overlay would not be "made disappear".

I'm not sure what to do in the "mixed" cases like described above, though. Maybe only make `invisible' ignored when `display' covers the entirety of its span.

Or maybe this complexity is an argument in favor of `invisible' taking priority over `display', after all.

That sounds like it may be easier to implement, or at least specify: don't handle `display' only when it's entirely covered by `invisible'.

You asked to ignore the invisible, so it will change.

Basically, my suggestion was to ignore it when `display' already performs all of its job. But the edge cases make it more complicated.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]