[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] master 2bb467a: Fix display of before- and after-strings a
From: |
Eli Zaretskii |
Subject: |
[Emacs-diffs] master 2bb467a: Fix display of before- and after-strings at invisible text |
Date: |
Sun, 26 Feb 2017 10:58:19 -0500 (EST) |
branch: master
commit 2bb467a2e2fc70d387ca9a174d5d3a1417a13008
Author: Eli Zaretskii <address@hidden>
Commit: Eli Zaretskii <address@hidden>
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)
---
src/xdisp.c | 11 ++++++++---
1 file changed, 8 insertions(+), 3 deletions(-)
diff --git a/src/xdisp.c b/src/xdisp.c
index 91eef0e..cec649f 100644
--- a/src/xdisp.c
+++ b/src/xdisp.c
@@ -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
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] master 2bb467a: Fix display of before- and after-strings at invisible text,
Eli Zaretskii <=