tweaks: restore earlier conditions to prevent superfluous redrawings
When doing an <Up> on the top line, or a <Down> on the bottom line of the edit window, the affected lines have already been redrawn by the scrolling code, so there is no need to do that again. (However, that does not prevent the second line (or the last-but-one line) from being redrawn unnecessarily when using the M-- (or M-+) command elsewhere on the screen and /that/ line is horizontally scrolled. But we'll let that pass for now.)master
parent
2f6647687a
commit
03b168d0e3
|
@ -439,6 +439,8 @@ void do_up(bool scroll_only)
|
|||
#endif
|
||||
editwinrows / 2 + 1);
|
||||
|
||||
/* If the lines weren't already redrawn, see if they need to be. */
|
||||
if (openfile->current_y > 0) {
|
||||
/* Redraw the prior line if it was horizontally scrolled. */
|
||||
if (need_horizontal_scroll(was_column, 0))
|
||||
update_line(openfile->current->next, 0);
|
||||
|
@ -446,6 +448,7 @@ void do_up(bool scroll_only)
|
|||
if (need_horizontal_scroll(0, xplustabs()))
|
||||
update_line(openfile->current, openfile->current_x);
|
||||
}
|
||||
}
|
||||
|
||||
/* Move up one line. */
|
||||
void do_up_void(void)
|
||||
|
@ -521,6 +524,8 @@ void do_down(bool scroll_only)
|
|||
}
|
||||
}
|
||||
|
||||
/* If the lines weren't already redrawn, see if they need to be. */
|
||||
if (openfile->current_y < editwinrows - 1) {
|
||||
/* Redraw the prior line if it was horizontally scrolled. */
|
||||
if (need_horizontal_scroll(was_column, 0))
|
||||
update_line(openfile->current->prev, 0);
|
||||
|
@ -528,6 +533,7 @@ void do_down(bool scroll_only)
|
|||
if (need_horizontal_scroll(0, xplustabs()))
|
||||
update_line(openfile->current, openfile->current_x);
|
||||
}
|
||||
}
|
||||
|
||||
/* Move down one line. */
|
||||
void do_down_void(void)
|
||||
|
|
Loading…
Reference in New Issue