Fix display of before- and after-strings at invisible text

* src/xdisp.c (next_overlay_string): Don't raise the
ignore_overlay_strings_at_pos_p flag if the iterator is already
set to continue at a buffer position different from the one
where the overlay strings we just processed were loaded.  (Bug#25856)
This commit is contained in:
Eli Zaretskii 2017-02-26 17:56:13 +02:00
parent 618310c22d
commit 2bb467a2e2

View file

@ -5557,9 +5557,14 @@ next_overlay_string (struct it *it)
/* Since we've exhausted overlay strings at this buffer
position, set the flag to ignore overlays until we move to
another position. The flag is reset in
next_element_from_buffer. */
it->ignore_overlay_strings_at_pos_p = true;
another position. (The flag will be reset in
next_element_from_buffer.) But don't do that if the overlay
strings were loaded at position other than the current one,
which could happen if we called pop_it above, or if the
overlay strings were loaded by handle_invisible_prop at the
beginning of invisible text. */
if (it->overlay_strings_charpos == IT_CHARPOS (*it))
it->ignore_overlay_strings_at_pos_p = true;
/* If we're at the end of the buffer, record that we have
processed the overlay strings there already, so that