From 31755783e330d5b3761fc471ae512d61638cae9d Mon Sep 17 00:00:00 2001 From: Jan Edmund Lazo Date: Thu, 2 May 2019 22:37:24 -0400 Subject: vim-patch:8.1.0794: white space before " -Ntabmove" causes problems Problem: White space before " -Ntabmove" causes problems. Solution: Skip whitespace. (Ozaki Kiichi, closes vim/vim#3841) https://github.com/vim/vim/commit/82a12468bd023f5cdc5d27182bedef7881514643 --- src/nvim/ex_docmd.c | 2 +- src/nvim/testdir/test_tabpage.vim | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/nvim/ex_docmd.c b/src/nvim/ex_docmd.c index a028814f3d..ace5b5c093 100644 --- a/src/nvim/ex_docmd.c +++ b/src/nvim/ex_docmd.c @@ -4505,7 +4505,7 @@ static int get_tabpage_arg(exarg_T *eap) tab_number = 0; } else { tab_number = eap->line2; - if (!unaccept_arg0 && **eap->cmdlinep == '-') { + if (!unaccept_arg0 && *skipwhite(*eap->cmdlinep) == '-') { --tab_number; if (tab_number < unaccept_arg0) { eap->errmsg = e_invarg; diff --git a/src/nvim/testdir/test_tabpage.vim b/src/nvim/testdir/test_tabpage.vim index add9b3d7cf..48ac6eb2f2 100644 --- a/src/nvim/testdir/test_tabpage.vim +++ b/src/nvim/testdir/test_tabpage.vim @@ -105,6 +105,14 @@ function Test_tabpage() call assert_equal(4, tabpagenr()) 7tabmove 5 call assert_equal(5, tabpagenr()) + -tabmove + call assert_equal(4, tabpagenr()) + +tabmove + call assert_equal(5, tabpagenr()) + -2tabmove + call assert_equal(3, tabpagenr()) + +3tabmove + call assert_equal(6, tabpagenr()) " The following are a no-op norm! 2gt -- cgit