summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/ex_docmd.c8
-rw-r--r--src/spell.c3
-rw-r--r--src/testdir/test60.ok22
3 files changed, 29 insertions, 4 deletions
diff --git a/src/ex_docmd.c b/src/ex_docmd.c
index 71ba6d6bc1..f995253673 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 757efc6acf..e22e4285fd 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 46a72e4d2f..10dc579dbe 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