aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJustin M. Keyes <justinkz@gmail.com>2016-12-03 22:38:13 +0100
committerGitHub <noreply@github.com>2016-12-03 22:38:13 +0100
commitb025474258c602dc1ff7ec61045c90c98a8511fc (patch)
tree2145dda9b611a04f74bd58d3202a4c97de2b026f /src
parente29a4ceede086bcf5e6242b75fe8f38c30cf3945 (diff)
downloadrneovim-b025474258c602dc1ff7ec61045c90c98a8511fc.tar.gz
rneovim-b025474258c602dc1ff7ec61045c90c98a8511fc.tar.bz2
rneovim-b025474258c602dc1ff7ec61045c90c98a8511fc.zip
vim-patch:8.0.0110 (#5700)
Closes #5616 Problem: Drop command doesn't use existing window. Solution: Check the window width properly. (Hirohito Higashi) https://github.com/vim/vim/commit/5a030a540f4157d5c9905e3564282c92b4dcec9a
Diffstat (limited to 'src')
-rw-r--r--src/nvim/buffer.c8
-rw-r--r--src/nvim/testdir/test_tabpage.vim11
2 files changed, 13 insertions, 6 deletions
diff --git a/src/nvim/buffer.c b/src/nvim/buffer.c
index 8e6066453c..80db0e2ebc 100644
--- a/src/nvim/buffer.c
+++ b/src/nvim/buffer.c
@@ -4149,12 +4149,10 @@ do_arg_all (
wpnext = wp->w_next;
buf = wp->w_buffer;
if (buf->b_ffname == NULL
- || (!keep_tabs && buf->b_nwindows > 1)
- || wp->w_width != Columns
- )
+ || (!keep_tabs && (buf->b_nwindows > 1 || wp->w_width != Columns))) {
i = opened_len;
- else {
- /* check if the buffer in this window is in the arglist */
+ } else {
+ // check if the buffer in this window is in the arglist
for (i = 0; i < opened_len; ++i) {
if (i < alist->al_ga.ga_len
&& (AARGLIST(alist)[i].ae_fnum == buf->b_fnum
diff --git a/src/nvim/testdir/test_tabpage.vim b/src/nvim/testdir/test_tabpage.vim
index 0bf7d056de..7c3039ba24 100644
--- a/src/nvim/testdir/test_tabpage.vim
+++ b/src/nvim/testdir/test_tabpage.vim
@@ -40,7 +40,7 @@ function Test_tabpage()
call assert_true(t:val_num == 100 && t:val_str == 'SetTabVar test' && t:val_list == ['red', 'blue', 'green'])
tabclose
- if has('gui') || has('clientserver')
+ if has('nvim') || has('gui') || has('clientserver')
" Test for ":tab drop exist-file" to keep current window.
sp test1
tab drop test1
@@ -64,6 +64,15 @@ function Test_tabpage()
call assert_true(tabpagenr() == 2 && tabpagewinnr(2, '$') == 2 && tabpagewinnr(2) == 1)
tabclose
q
+ "
+ "
+ " Test for ":tab drop vertical-split-window" to jump test1 buffer
+ tabedit test1
+ vnew
+ tabfirst
+ tab drop test1
+ call assert_equal([2, 2, 2, 2], [tabpagenr('$'), tabpagenr(), tabpagewinnr(2, '$'), tabpagewinnr(2)])
+ 1tabonly
endif
"
"