emacs-diffs
[Top][All Lists]
Advanced

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

[Emacs-diffs] master a3c9a55: Avoid leaving garbage on screen when using


From: Eli Zaretskii
Subject: [Emacs-diffs] master a3c9a55: Avoid leaving garbage on screen when using 'raise' display property
Date: Sat, 25 Feb 2017 06:41:49 -0500 (EST)

branch: master
commit a3c9a554f1f3be560003fa7d0c661506d5209b4e
Author: Eli Zaretskii <address@hidden>
Commit: Eli Zaretskii <address@hidden>

    Avoid leaving garbage on screen when using 'raise' display property
    
    * src/xdisp.c (display_line): Reset voffset value of the iterator
    when it hits ZV, to avoid "inheriting" it to glyph rows past ZV,
    which then leaves stuff on screen that needs to be cleared by
    redisplay.  (Bug#25855)
---
 src/xdisp.c | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/src/xdisp.c b/src/xdisp.c
index b064488..91eef0e 100644
--- a/src/xdisp.c
+++ b/src/xdisp.c
@@ -20733,6 +20733,12 @@ display_line (struct it *it)
            }
 
          it->continuation_lines_width = 0;
+         /* Reset those iterator values set from display property
+            values.  This is for the case when the display property
+            ends at ZV, and is not a replacing property, so pop_it is
+            not called.  */
+         it->font_height = Qnil;
+         it->voffset = 0;
          row->ends_at_zv_p = true;
          /* A row that displays right-to-left text must always have
             its last face extended all the way to the end of line,
@@ -20919,6 +20925,8 @@ display_line (struct it *it)
                                {
                                  row->exact_window_width_line_p = true;
                                  it->continuation_lines_width = 0;
+                                 it->font_height = Qnil;
+                                 it->voffset = 0;
                                  row->continued_p = false;
                                  row->ends_at_zv_p = true;
                                }
@@ -21236,6 +21244,8 @@ display_line (struct it *it)
              if (!get_next_display_element (it))
                {
                  it->continuation_lines_width = 0;
+                 it->font_height = Qnil;
+                 it->voffset = 0;
                  row->ends_at_zv_p = true;
                  row->exact_window_width_line_p = true;
                  break;



reply via email to

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