# HG changeset patch # User Bram Moolenaar # Date 1603635303 -3600 # Node ID 9ff187b1652e1c6f10b60b4dae7999498cc4a3d3 # Parent 9087acfe93333bbd3c472d8143c8b7459486456b patch 8.2.1902: default option values changed with :badd for existing buffer Commit: https://github.com/vim/vim/commit/e974fa7b2b98e53a59d5ef16a6a1291f12a32e33 Author: Bram Moolenaar Date: Sun Oct 25 15:02:51 2020 +0100 patch 8.2.1902: default option values changed with :badd for existing buffer Problem: Default option values are changed when using :badd for an existing buffer. Solution: When calling buflist_new() pass a zero line number. (closes #7195) diff --git a/src/ex_cmds.c b/src/ex_cmds.c --- a/src/ex_cmds.c +++ b/src/ex_cmds.c @@ -2630,7 +2630,9 @@ do_ecmd( { if (flags & ECMD_ADDBUF) { - linenr_T tlnum = 1L; + // Default the line number to zero to avoid that a wininfo item + // is added for the current window. + linenr_T tlnum = 0; if (command != NULL) { diff --git a/src/testdir/test_buffer.vim b/src/testdir/test_buffer.vim --- a/src/testdir/test_buffer.vim +++ b/src/testdir/test_buffer.vim @@ -362,4 +362,16 @@ func Test_sball_with_count() %bw! endfunc +func Test_badd_options() + new SomeNewBuffer + setlocal cole=3 + wincmd p + badd SomeNewBuffer + new SomeNewBuffer + call assert_equal(3, &cole) + close + close + bwipe! SomeNewBuffer +endfunc + " vim: shiftwidth=2 sts=2 expandtab diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -751,6 +751,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 1902, +/**/ 1901, /**/ 1900,