diff options
-rw-r--r-- | src/normal.c | 5 | ||||
-rw-r--r-- | src/testdir/test_help.vim | 17 | ||||
-rw-r--r-- | src/version.c | 2 |
3 files changed, 24 insertions, 0 deletions
diff --git a/src/normal.c b/src/normal.c index f08f52f9f..b5c4a81ad 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 5a35b691a..85c129628 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 d2f728a0a..766bd86c6 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, |