# HG changeset patch # User Bram Moolenaar # Date 1266427237 -3600 # Node ID 8ca3c9ad0bee0c265345decd180d971197e36194 # Parent 7b0e89b77216baf928145ce14741650806004c31 updated for version 7.2.366 Problem: CTRL-B doesn't go back to the first line of the buffer. Solution: Avoid an overflow when adding MAXCOL. diff --git a/src/move.c b/src/move.c --- a/src/move.c +++ b/src/move.c @@ -1610,7 +1610,7 @@ scrollup_clamp() * Add one line above "lp->lnum". This can be a filler line, a closed fold or * a (wrapped) text line. Uses and sets "lp->fill". * Returns the height of the added line in "lp->height". - * Lines above the first one are incredibly high. + * Lines above the first one are incredibly high: MAXCOL. */ static void topline_back(lp) @@ -1942,7 +1942,7 @@ scroll_cursor_bot(min_scroll, set_topbot { loff.lnum = curwin->w_topline; topline_back(&loff); - if (used + loff.height > curwin->w_height) + if (loff.height == MAXCOL || used + loff.height > curwin->w_height) break; used += loff.height; #ifdef FEAT_DIFF @@ -2021,7 +2021,10 @@ scroll_cursor_bot(min_scroll, set_topbot /* Add one line above */ topline_back(&loff); - used += loff.height; + if (loff.height == MAXCOL) + used = MAXCOL; + else + used += loff.height; if (used > curwin->w_height) break; if (loff.lnum >= curwin->w_botline @@ -2175,7 +2178,10 @@ scroll_cursor_halfway(atend) if (below > above) /* add a line above the cursor */ { topline_back(&loff); - used += loff.height; + if (loff.height == MAXCOL) + used = MAXCOL; + else + used += loff.height; if (used > curwin->w_height) break; above += loff.height; @@ -2472,9 +2478,12 @@ onepage(dir, count) while (n <= curwin->w_height && loff.lnum >= 1) { topline_back(&loff); - n += loff.height; + if (loff.height == MAXCOL) + n = MAXCOL; + else + n += loff.height; } - if (n <= curwin->w_height) /* at begin of file */ + if (loff.lnum < 1) /* at begin of file */ { curwin->w_topline = 1; #ifdef FEAT_DIFF diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -682,6 +682,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 366, +/**/ 365, /**/ 364,