Mercurial > emacs
changeset 34203:e55480843a8e
(scrolling_window): Fix code inserting runs in list of all runs.
(line_draw_cost): Fix code skipping over spaces at the end
of the line when must_write_spaces is not set.
(adjust_glyph_matrix): Make sure to initialize
local variable window_width.
author | Gerd Moellmann <gerd@gnu.org> |
---|---|
date | Tue, 05 Dec 2000 13:48:22 +0000 |
parents | 7e6b11aba502 |
children | 10c8428f0fd1 |
files | src/dispnew.c |
diffstat | 1 files changed, 7 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/src/dispnew.c Tue Dec 05 13:15:19 2000 +0000 +++ b/src/dispnew.c Tue Dec 05 13:48:22 2000 +0000 @@ -525,7 +525,7 @@ int header_line_changed_p = 0; int header_line_p = 0; int left = -1, right = -1; - int window_x, window_y, window_width, window_height; + int window_x, window_y, window_width = -1, window_height; /* See if W had a top line that has disappeared now, or vice versa. */ if (w) @@ -679,12 +679,15 @@ when this function runs. */ if (w && matrix == w->current_matrix) { + if (window_width < 0) + window_width = window_box_width (w, -1); + /* Optimize the case that only the height has changed (C-x 2, upper window). Invalidate all rows that are no longer part of the window. */ if (!marginal_areas_changed_p && matrix->window_top_y == XFASTINT (w->top) - && matrix->window_width == window_width) + && matrix->window_width == window_box_width (w, -1)) { i = 0; while (matrix->rows[i].enabled_p @@ -1317,7 +1320,7 @@ if (!must_write_spaces) { /* Skip from the end over trailing spaces. */ - while (end != beg && CHAR_GLYPH_SPACE_P (*end)) + while (end > beg && CHAR_GLYPH_SPACE_P (*(end - 1))) --end; /* All blank line. */ @@ -4641,7 +4644,7 @@ case. */ for (j = 0; j < nruns && runs[j]->height > run->height; ++j) ; - for (k = nruns; k >= j; --k) + for (k = nruns; k > j; --k) runs[k] = runs[k - 1]; runs[j] = run; ++nruns;