diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/ex_docmd.c | 8 | ||||
-rw-r--r-- | src/spell.c | 3 | ||||
-rw-r--r-- | src/testdir/test60.ok | 22 |
3 files changed, 29 insertions, 4 deletions
diff --git a/src/ex_docmd.c b/src/ex_docmd.c index 71ba6d6bc..f99525367 100644 --- a/src/ex_docmd.c +++ b/src/ex_docmd.c @@ -2962,6 +2962,7 @@ cmd_exists(name) int full = FALSE; int i; int j; + char_u *p; static struct cmdmod { char *name; @@ -3001,10 +3002,13 @@ cmd_exists(name) * For ":2match" and ":3match" we need to skip the number. */ ea.cmd = (*name == '2' || *name == '3') ? name + 1 : name; ea.cmdidx = (cmdidx_T)0; - if (find_command(&ea, &full) == NULL) + p = find_command(&ea, &full); + if (p == NULL) return 3; if (vim_isdigit(*name) && ea.cmdidx != CMD_match) return 0; + if (*skipwhite(p) != NUL) + return 0; /* trailing garbage */ return (ea.cmdidx == CMD_SIZE ? 0 : (full ? 2 : 1)); } #endif @@ -9884,7 +9888,7 @@ makeopens(fd, dirnow) */ if (put_line(fd, "if exists('s:wipebuf')") == FAIL) return FAIL; - if (put_line(fd, " exe 'bwipe ' . s:wipebuf") == FAIL) + if (put_line(fd, " silent exe 'bwipe ' . s:wipebuf") == FAIL) return FAIL; if (put_line(fd, "endif") == FAIL) return FAIL; diff --git a/src/spell.c b/src/spell.c index 757efc6ac..e22e4285f 100644 --- a/src/spell.c +++ b/src/spell.c @@ -15656,8 +15656,7 @@ dump_word(slang, word, pat, dir, dumpflags, wordflags, lnum) ? MB_STRNICMP(p, pat, STRLEN(pat)) == 0 : STRNCMP(p, pat, STRLEN(pat)) == 0) && ins_compl_add_infercase(p, (int)STRLEN(p), - dumpflags & DUMPFLAG_ICASE, - NULL, *dir, 0) == OK) + FALSE, NULL, *dir, 0) == OK) /* if dir was BACKWARD then honor it just once */ *dir = FORWARD; } diff --git a/src/testdir/test60.ok b/src/testdir/test60.ok index 46a72e4d2..10dc579db 100644 --- a/src/testdir/test60.ok +++ b/src/testdir/test60.ok @@ -1,6 +1,8 @@ #myagroup: 1 OK +#myagroup+b: 0 +OK #myagroup#BufEnter: 1 OK #myagroup#BufEnter#*.my: 1 @@ -33,6 +35,8 @@ OK OK &tw: 1 OK +&tw-: 0 +OK &g:errorformat: 1 OK &l:errorformat: 1 @@ -45,6 +49,8 @@ OK OK +incsearch: 1 OK ++incsearch!1: 0 +OK +is: 1 OK +autoprint: 0 @@ -55,14 +61,20 @@ $NON_ENV_VAR: 0 OK *bufnr: 1 OK +*bufnr(): 1 +OK *myxyzfunc: 0 OK +*bufnr&6: 0 +OK *TestExists: 1 OK *MyxyzFunc: 0 OK :edit: 2 OK +:edit/a: 0 +OK :q: 1 OK :invalidcmd: 0 @@ -79,10 +91,18 @@ OK OK local_var: 1 OK +local_var%n: 0 +OK local_var: 0 OK local_list: 1 OK +local_list[1]: 1 +OK +local_list[1]+5: 0 +OK +local_list[2]: 0 +OK local_list: 0 OK local_dict: 1 @@ -95,6 +115,8 @@ curly_local_var: 0 OK g:global_var: 1 OK +g:global_var-n: 1 +OK g:global_var: 0 OK g:global_list: 1 |