mirror of
https://github.com/vim/vim.git
synced 2025-09-23 03:43:49 -04:00
updated for version 7.2-042
This commit is contained in:
@@ -1401,6 +1401,9 @@ enter_buffer(buf)
|
|||||||
curwin->w_cursor.coladd = 0;
|
curwin->w_cursor.coladd = 0;
|
||||||
#endif
|
#endif
|
||||||
curwin->w_set_curswant = TRUE;
|
curwin->w_set_curswant = TRUE;
|
||||||
|
#ifdef FEAT_AUTOCMD
|
||||||
|
curwin->w_topline_was_set = FALSE;
|
||||||
|
#endif
|
||||||
|
|
||||||
/* Make sure the buffer is loaded. */
|
/* Make sure the buffer is loaded. */
|
||||||
if (curbuf->b_ml.ml_mfp == NULL) /* need to load the file */
|
if (curbuf->b_ml.ml_mfp == NULL) /* need to load the file */
|
||||||
@@ -1440,7 +1443,8 @@ enter_buffer(buf)
|
|||||||
maketitle();
|
maketitle();
|
||||||
#endif
|
#endif
|
||||||
#ifdef FEAT_AUTOCMD
|
#ifdef FEAT_AUTOCMD
|
||||||
if (curwin->w_topline == 1) /* when autocmds didn't change it */
|
/* when autocmds didn't change it */
|
||||||
|
if (curwin->w_topline == 1 && !curwin->w_topline_was_set)
|
||||||
#endif
|
#endif
|
||||||
scroll_cursor_halfway(FALSE); /* redisplay at correct position */
|
scroll_cursor_halfway(FALSE); /* redisplay at correct position */
|
||||||
|
|
||||||
|
19
src/move.c
19
src/move.c
@@ -280,18 +280,20 @@ update_topline()
|
|||||||
|
|
||||||
if (curwin->w_botline <= curbuf->b_ml.ml_line_count)
|
if (curwin->w_botline <= curbuf->b_ml.ml_line_count)
|
||||||
{
|
{
|
||||||
if (curwin->w_cursor.lnum < curwin->w_botline
|
if (curwin->w_cursor.lnum < curwin->w_botline)
|
||||||
&& ((long)curwin->w_cursor.lnum
|
{
|
||||||
|
if (((long)curwin->w_cursor.lnum
|
||||||
>= (long)curwin->w_botline - p_so
|
>= (long)curwin->w_botline - p_so
|
||||||
#ifdef FEAT_FOLDING
|
#ifdef FEAT_FOLDING
|
||||||
|| hasAnyFolding(curwin)
|
|| hasAnyFolding(curwin)
|
||||||
#endif
|
#endif
|
||||||
))
|
))
|
||||||
{
|
{
|
||||||
lineoff_T loff;
|
lineoff_T loff;
|
||||||
|
|
||||||
/* Cursor is above botline, check if there are 'scrolloff'
|
/* Cursor is (a few lines) above botline, check if there are
|
||||||
* window lines below the cursor. If not, need to scroll. */
|
* 'scrolloff' window lines below the cursor. If not, need to
|
||||||
|
* scroll. */
|
||||||
n = curwin->w_empty_rows;
|
n = curwin->w_empty_rows;
|
||||||
loff.lnum = curwin->w_cursor.lnum;
|
loff.lnum = curwin->w_cursor.lnum;
|
||||||
#ifdef FEAT_FOLDING
|
#ifdef FEAT_FOLDING
|
||||||
@@ -317,6 +319,10 @@ update_topline()
|
|||||||
if (n >= p_so)
|
if (n >= p_so)
|
||||||
/* sufficient context, no need to scroll */
|
/* sufficient context, no need to scroll */
|
||||||
check_botline = FALSE;
|
check_botline = FALSE;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
/* sufficient context, no need to scroll */
|
||||||
|
check_botline = FALSE;
|
||||||
}
|
}
|
||||||
if (check_botline)
|
if (check_botline)
|
||||||
{
|
{
|
||||||
@@ -509,6 +515,9 @@ set_topline(wp, lnum)
|
|||||||
/* Approximate the value of w_botline */
|
/* Approximate the value of w_botline */
|
||||||
wp->w_botline += lnum - wp->w_topline;
|
wp->w_botline += lnum - wp->w_topline;
|
||||||
wp->w_topline = lnum;
|
wp->w_topline = lnum;
|
||||||
|
#ifdef FEAT_AUTOCMD
|
||||||
|
wp->w_topline_was_set = TRUE;
|
||||||
|
#endif
|
||||||
#ifdef FEAT_DIFF
|
#ifdef FEAT_DIFF
|
||||||
wp->w_topfill = 0;
|
wp->w_topfill = 0;
|
||||||
#endif
|
#endif
|
||||||
|
@@ -1784,10 +1784,15 @@ struct window_S
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The next three specify the offsets for displaying the buffer:
|
* "w_topline", "w_leftcol" and "w_skipcol" specify the offsets for
|
||||||
|
* displaying the buffer.
|
||||||
*/
|
*/
|
||||||
linenr_T w_topline; /* buffer line number of the line at the
|
linenr_T w_topline; /* buffer line number of the line at the
|
||||||
top of the window */
|
top of the window */
|
||||||
|
#ifdef FEAT_AUTOCMD
|
||||||
|
char w_topline_was_set; /* flag set to TRUE when topline is set,
|
||||||
|
e.g. by winrestview() */
|
||||||
|
#endif
|
||||||
#ifdef FEAT_DIFF
|
#ifdef FEAT_DIFF
|
||||||
int w_topfill; /* number of filler lines above w_topline */
|
int w_topfill; /* number of filler lines above w_topline */
|
||||||
int w_old_topfill; /* w_topfill at last redraw */
|
int w_old_topfill; /* w_topfill at last redraw */
|
||||||
|
@@ -676,6 +676,8 @@ static char *(features[]) =
|
|||||||
|
|
||||||
static int included_patches[] =
|
static int included_patches[] =
|
||||||
{ /* Add new patch number below this line */
|
{ /* Add new patch number below this line */
|
||||||
|
/**/
|
||||||
|
42,
|
||||||
/**/
|
/**/
|
||||||
41,
|
41,
|
||||||
/**/
|
/**/
|
||||||
|
Reference in New Issue
Block a user