diff --git a/src/ex_docmd.c b/src/ex_docmd.c index 62f507c2b4..f60bb3492c 100644 --- a/src/ex_docmd.c +++ b/src/ex_docmd.c @@ -7588,7 +7588,7 @@ get_tabpage_arg(exarg_T *eap) else { tab_number = eap->line2; - if (!unaccept_arg0 && **eap->cmdlinep == '-') + if (!unaccept_arg0 && *skipwhite(*eap->cmdlinep) == '-') { --tab_number; if (tab_number < unaccept_arg0) diff --git a/src/testdir/test_tabpage.vim b/src/testdir/test_tabpage.vim index add9b3d7cf..48ac6eb2f2 100644 --- a/src/testdir/test_tabpage.vim +++ b/src/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 diff --git a/src/version.c b/src/version.c index cef2e4b5c5..fc926196c2 100644 --- a/src/version.c +++ b/src/version.c @@ -791,6 +791,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 794, /**/ 793, /**/