From 9860d14af367be03c9588beb39edf37c16c84375 Mon Sep 17 00:00:00 2001 From: Jan Edmund Lazo Date: Sat, 13 Feb 2021 13:34:43 -0500 Subject: vim-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 vim/vim#7195) https://github.com/vim/vim/commit/e974fa7b2b98e53a59d5ef16a6a1291f12a32e33 --- src/nvim/ex_cmds.c | 4 +++- src/nvim/testdir/test_buffer.vim | 12 ++++++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/nvim/ex_cmds.c b/src/nvim/ex_cmds.c index a994d0d8c3..bf9fc6f187 100644 --- a/src/nvim/ex_cmds.c +++ b/src/nvim/ex_cmds.c @@ -2324,7 +2324,9 @@ int do_ecmd( buf = buflist_findnr(fnum); } else { if (flags & (ECMD_ADDBUF | ECMD_ALTBUF)) { - 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) { tlnum = atol((char *)command); diff --git a/src/nvim/testdir/test_buffer.vim b/src/nvim/testdir/test_buffer.vim index f455b6911f..d4165f0008 100644 --- a/src/nvim/testdir/test_buffer.vim +++ b/src/nvim/testdir/test_buffer.vim @@ -1,5 +1,17 @@ " Tests for Vim buffer +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 + func Test_balt() new SomeNewBuffer balt +3 OtherBuffer -- cgit