changeset 12236:55cf556d8ce1 v8.0.0998

patch 8.0.0998: strange error when using K while only spaces are selected commit https://github.com/vim/vim/commit/a4f99f5a8b827162a26ca4e4d59f4f224503398a Author: Bram Moolenaar <Bram@vim.org> Date: Sat Aug 26 16:25:32 2017 +0200 patch 8.0.0998: strange error when using K while only spaces are selected Problem: Strange error when using K while only spaces are selected. (Christian J. Robinson) Solution: Check for blank argument.
author Christian Brabandt <cb@256bit.org>
date Sat, 26 Aug 2017 16:30:04 +0200
parents ab43482fc551
children 6dac7d6ad877
files src/normal.c src/testdir/test_help.vim src/version.c
diffstat 3 files changed, 24 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/src/normal.c
+++ b/src/normal.c
@@ -5648,6 +5648,11 @@ nv_ident(cmdarg_T *cap)
     kp = (*curbuf->b_p_kp == NUL ? p_kp : curbuf->b_p_kp);
     kp_help = (*kp == NUL || STRCMP(kp, ":he") == 0
 						 || STRCMP(kp, ":help") == 0);
+    if (kp_help && *skipwhite(ptr) == NUL)
+    {
+	EMSG(_(e_noident));	 /* found white space only */
+	return;
+    }
     kp_ex = (*kp == ':');
     buflen = (unsigned)(n * 2 + 30 + STRLEN(kp));
     buf = alloc(buflen);
--- a/src/testdir/test_help.vim
+++ b/src/testdir/test_help.vim
@@ -12,4 +12,21 @@ endfunc
 func Test_help_errors()
   call assert_fails('help doesnotexist', 'E149:')
   call assert_fails('help!', 'E478:')
+
+  new
+  set keywordprg=:help
+  call setline(1, "   ")
+  call assert_fails('normal VK', 'E349:')
+  bwipe!
 endfunc
+
+func Test_help_keyword()
+  new
+  set keywordprg=:help
+  call setline(1, "  Visual ")
+  normal VK
+  call assert_match('^Visual mode', getline('.'))
+  call assert_equal('help', &ft)
+  close
+  bwipe!
+endfunc
--- a/src/version.c
+++ b/src/version.c
@@ -770,6 +770,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    998,
+/**/
     997,
 /**/
     996,