From 873e3d6fa6cd90c85ef1a06e706f44d84d3efcfc Mon Sep 17 00:00:00 2001 From: Benno Schulenberg Date: Wed, 29 Mar 2017 10:13:08 +0200 Subject: [PATCH] tweaks: don't loop over an initializer --- src/winio.c | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/src/winio.c b/src/winio.c index 1f010d07..5b88ef7a 100644 --- a/src/winio.c +++ b/src/winio.c @@ -2914,16 +2914,17 @@ void edit_scroll(scroll_dir direction, int nrows) if (direction == DOWNWARD) go_forward_chunks(editwinrows - nrows, &line, &leftedge); + i = nrows; +#ifndef NANO_TINY + /* Compensate for the earlier onscreen chunks of a softwrapped line + * when the first blank row happens to be in the middle of that line. */ + if (ISSET(SOFTWRAP) && line != openfile->edittop) + i += leftedge / editwincols; +#endif + /* Draw new content on the blank rows inside the scrolled region * (and on the bordering row too when it was deemed necessary). */ - i = nrows; while (i > 0 && line != NULL) { -#ifndef NANO_TINY - /* If the first blank row is in the middle of a softwrapped line, - * compensate for the earlier onscreen chunks of that line. */ - if (ISSET(SOFTWRAP) && i == nrows && line != openfile->edittop) - i += leftedge / editwincols; -#endif i -= update_line(line, (line == openfile->current) ? openfile->current_x : 0); line = line->next;