summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2017-08-26 16:25:32 +0200
committerBram Moolenaar <Bram@vim.org>2017-08-26 16:25:32 +0200
commita4f99f5a8b827162a26ca4e4d59f4f224503398a (patch)
tree83d8d5a352b208fc6cadc2eb06303d9c44c1ed07
parente92246039475e504d7a05c27c81997d3700c7862 (diff)
patch 8.0.0998: strange error when using K while only spaces are selectedv8.0.0998
Problem: Strange error when using K while only spaces are selected. (Christian J. Robinson) Solution: Check for blank argument.
-rw-r--r--src/normal.c5
-rw-r--r--src/testdir/test_help.vim17
-rw-r--r--src/version.c2
3 files changed, 24 insertions, 0 deletions
diff --git a/src/normal.c b/src/normal.c
index f08f52f9fe..b5c4a81ad9 100644
--- 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);
diff --git a/src/testdir/test_help.vim b/src/testdir/test_help.vim
index 5a35b691ad..85c1296286 100644
--- 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
diff --git a/src/version.c b/src/version.c
index d2f728a0aa..766bd86c65 100644
--- 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,