mirror of
https://github.com/vim/vim.git
synced 2025-09-23 03:43:49 -04:00
updated for version 7.2-259
This commit is contained in:
12
src/fileio.c
12
src/fileio.c
@@ -9498,15 +9498,10 @@ au_exists(arg)
|
||||
ap = first_autopat[(int)event];
|
||||
if (ap == NULL)
|
||||
goto theend;
|
||||
if (pattern == NULL)
|
||||
{
|
||||
retval = TRUE;
|
||||
goto theend;
|
||||
}
|
||||
|
||||
/* if pattern is "<buffer>", special handling is needed which uses curbuf */
|
||||
/* for pattern "<buffer=N>, fnamecmp() will work fine */
|
||||
if (STRICMP(pattern, "<buffer>") == 0)
|
||||
if (pattern != NULL && STRICMP(pattern, "<buffer>") == 0)
|
||||
buflocal_buf = curbuf;
|
||||
|
||||
/* Check if there is an autocommand with the given pattern. */
|
||||
@@ -9515,9 +9510,10 @@ au_exists(arg)
|
||||
/* For buffer-local autocommands, fnamecmp() works fine. */
|
||||
if (ap->pat != NULL && ap->cmds != NULL
|
||||
&& (group == AUGROUP_ALL || ap->group == group)
|
||||
&& (buflocal_buf == NULL
|
||||
&& (pattern == NULL
|
||||
|| (buflocal_buf == NULL
|
||||
? fnamecmp(ap->pat, pattern) == 0
|
||||
: ap->buflocal_nr == buflocal_buf->b_fnum))
|
||||
: ap->buflocal_nr == buflocal_buf->b_fnum)))
|
||||
{
|
||||
retval = TRUE;
|
||||
break;
|
||||
|
@@ -22,7 +22,7 @@ SCRIPTS = test1.out test2.out test3.out test4.out test5.out test6.out \
|
||||
test48.out test49.out test51.out test52.out test53.out \
|
||||
test54.out test55.out test56.out test57.out test58.out \
|
||||
test59.out test60.out test61.out test62.out test63.out \
|
||||
test64.out test65.out test66.out
|
||||
test64.out test65.out test66.out test67.out
|
||||
|
||||
SCRIPTS_GUI = test16.out
|
||||
|
||||
|
33
src/testdir/test67.in
Normal file
33
src/testdir/test67.in
Normal file
@@ -0,0 +1,33 @@
|
||||
Test that groups and patterns are tested correctly when calling exists() for
|
||||
autocommands.
|
||||
|
||||
STARTTEST
|
||||
:so small.vim
|
||||
:let results=[]
|
||||
:augroup auexists
|
||||
:augroup END
|
||||
:call add(results, "##BufEnter: " . exists("##BufEnter"))
|
||||
:call add(results, "#BufEnter: " . exists("#BufEnter"))
|
||||
:au BufEnter * let g:entered=1
|
||||
:call add(results, "#BufEnter: " . exists("#BufEnter"))
|
||||
:call add(results, "#auexists#BufEnter: " . exists("#auexists#BufEnter"))
|
||||
:augroup auexists
|
||||
:au BufEnter * let g:entered=1
|
||||
:augroup END
|
||||
:call add(results, "#auexists#BufEnter: " . exists("#auexists#BufEnter"))
|
||||
:call add(results, "#BufEnter#*.test: " . exists("#BufEnter#*.test"))
|
||||
:au BufEnter *.test let g:entered=1
|
||||
:call add(results, "#BufEnter#*.test: " . exists("#BufEnter#*.test"))
|
||||
:edit testfile.test
|
||||
:call add(results, "#BufEnter#<buffer>: " . exists("#BufEnter#<buffer>"))
|
||||
:au BufEnter <buffer> let g:entered=1
|
||||
:call add(results, "#BufEnter#<buffer>: " . exists("#BufEnter#<buffer>"))
|
||||
:edit testfile2.test
|
||||
:call add(results, "#BufEnter#<buffer>: " . exists("#BufEnter#<buffer>"))
|
||||
:e test.out
|
||||
:call append(0, results)
|
||||
:$d
|
||||
:w
|
||||
:qa!
|
||||
ENDTEST
|
||||
|
10
src/testdir/test67.ok
Normal file
10
src/testdir/test67.ok
Normal file
@@ -0,0 +1,10 @@
|
||||
##BufEnter: 1
|
||||
#BufEnter: 0
|
||||
#BufEnter: 1
|
||||
#auexists#BufEnter: 0
|
||||
#auexists#BufEnter: 1
|
||||
#BufEnter#*.test: 0
|
||||
#BufEnter#*.test: 1
|
||||
#BufEnter#<buffer>: 0
|
||||
#BufEnter#<buffer>: 1
|
||||
#BufEnter#<buffer>: 0
|
@@ -676,6 +676,8 @@ static char *(features[]) =
|
||||
|
||||
static int included_patches[] =
|
||||
{ /* Add new patch number below this line */
|
||||
/**/
|
||||
259,
|
||||
/**/
|
||||
258,
|
||||
/**/
|
||||
|
Reference in New Issue
Block a user