Merge pull request #3837 from Shougo/vim-7.4.645

vim-patch:7.4.645
This commit is contained in:
Justin M. Keyes 2015-12-13 01:45:17 -05:00
commit c3e4e0e383
3 changed files with 6 additions and 6 deletions

View File

@ -1414,7 +1414,6 @@ buflist_new (
return NULL; return NULL;
if (aborting()) /* autocmds may abort script processing */ if (aborting()) /* autocmds may abort script processing */
return NULL; return NULL;
/* buf->b_nwindows = 0; why was this here? */
free_buffer_stuff(buf, FALSE); /* delete local variables et al. */ free_buffer_stuff(buf, FALSE); /* delete local variables et al. */
/* Init the options. */ /* Init the options. */
@ -1475,6 +1474,9 @@ buflist_new (
fmarks_check_names(buf); /* check file marks for this file */ fmarks_check_names(buf); /* check file marks for this file */
buf->b_p_bl = (flags & BLN_LISTED) ? TRUE : FALSE; /* init 'buflisted' */ buf->b_p_bl = (flags & BLN_LISTED) ? TRUE : FALSE; /* init 'buflisted' */
if (!(flags & BLN_DUMMY)) { if (!(flags & BLN_DUMMY)) {
// Tricky: these autocommands may change the buffer list. They could also
// split the window with re-using the one empty buffer. This may result in
// unexpectedly losing the empty buffer.
apply_autocmds(EVENT_BUFNEW, NULL, NULL, FALSE, buf); apply_autocmds(EVENT_BUFNEW, NULL, NULL, FALSE, buf);
if (!buf_valid(buf)) { if (!buf_valid(buf)) {
return NULL; return NULL;

View File

@ -2112,7 +2112,6 @@ do_ecmd (
goto theend; goto theend;
if (buf->b_ml.ml_mfp == NULL) { /* no memfile yet */ if (buf->b_ml.ml_mfp == NULL) { /* no memfile yet */
oldbuf = FALSE; oldbuf = FALSE;
buf->b_nwindows = 0;
} else { /* existing memfile */ } else { /* existing memfile */
oldbuf = TRUE; oldbuf = TRUE;
(void)buf_check_timestamp(buf, FALSE); (void)buf_check_timestamp(buf, FALSE);
@ -2138,7 +2137,7 @@ do_ecmd (
* Make the (new) buffer the one used by the current window. * Make the (new) buffer the one used by the current window.
* If the old buffer becomes unused, free it if ECMD_HIDE is FALSE. * If the old buffer becomes unused, free it if ECMD_HIDE is FALSE.
* If the current buffer was empty and has no file name, curbuf * If the current buffer was empty and has no file name, curbuf
* is returned by buflist_new(). * is returned by buflist_new(), nothing to do here.
*/ */
if (buf != curbuf) { if (buf != curbuf) {
/* /*
@ -2225,8 +2224,7 @@ do_ecmd (
} }
xfree(new_name); xfree(new_name);
au_new_curbuf = NULL; au_new_curbuf = NULL;
} else }
++curbuf->b_nwindows;
curwin->w_pcmark.lnum = 1; curwin->w_pcmark.lnum = 1;
curwin->w_pcmark.col = 0; curwin->w_pcmark.col = 0;

View File

@ -351,7 +351,7 @@ static int included_patches[] = {
// 648 NA // 648 NA
// 647 NA // 647 NA
646, 646,
// 645, 645,
// 644 NA // 644 NA
// 643, // 643,
// 642, // 642,