]> granicus.if.org Git - vim/commitdiff
patch 8.0.0998: strange error when using K while only spaces are selected v8.0.0998
authorBram Moolenaar <Bram@vim.org>
Sat, 26 Aug 2017 14:25:32 +0000 (16:25 +0200)
committerBram Moolenaar <Bram@vim.org>
Sat, 26 Aug 2017 14:25:32 +0000 (16:25 +0200)
Problem:    Strange error when using K while only spaces are selected.
            (Christian J. Robinson)
Solution:   Check for blank argument.

src/normal.c
src/testdir/test_help.vim
src/version.c

index f08f52f9fe2e61bfe9487e0e75b17b3a14319729..b5c4a81ad9a96733717b384a34b9d7a0f75bc937 100644 (file)
@@ -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);
index 5a35b691add39c4e139e1e6bf67f8ebc14b6f6a5..85c12962866c86a4f533ebe8c16e0b25c204c619 100644 (file)
@@ -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
index d2f728a0aa15fe99f54499c93e383f294fba8591..766bd86c658a70f855a71fc87f50c6697fef915d 100644 (file)
@@ -769,6 +769,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    998,
 /**/
     997,
 /**/