From 5b7880dea208fd78b627d2aac7ac8dbfff33e556 Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Fri, 11 Sep 2009 15:24:31 +0000 Subject: [PATCH] updated for version 7.2-259 --- src/fileio.c | 14 +++++--------- src/testdir/Makefile | 2 +- src/testdir/test67.in | 33 +++++++++++++++++++++++++++++++++ src/testdir/test67.ok | 10 ++++++++++ src/version.c | 2 ++ 5 files changed, 51 insertions(+), 10 deletions(-) create mode 100644 src/testdir/test67.in create mode 100644 src/testdir/test67.ok diff --git a/src/fileio.c b/src/fileio.c index 46d364a67..5deb1a398 100644 --- a/src/fileio.c +++ b/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 "", special handling is needed which uses curbuf */ /* for pattern ", fnamecmp() will work fine */ - if (STRICMP(pattern, "") == 0) + if (pattern != NULL && STRICMP(pattern, "") == 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 - ? fnamecmp(ap->pat, pattern) == 0 - : ap->buflocal_nr == buflocal_buf->b_fnum)) + && (pattern == NULL + || (buflocal_buf == NULL + ? fnamecmp(ap->pat, pattern) == 0 + : ap->buflocal_nr == buflocal_buf->b_fnum))) { retval = TRUE; break; diff --git a/src/testdir/Makefile b/src/testdir/Makefile index 50386ec77..8f9fd1356 100644 --- a/src/testdir/Makefile +++ b/src/testdir/Makefile @@ -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 diff --git a/src/testdir/test67.in b/src/testdir/test67.in new file mode 100644 index 000000000..08b4e3701 --- /dev/null +++ b/src/testdir/test67.in @@ -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#: " . exists("#BufEnter#")) +:au BufEnter let g:entered=1 +:call add(results, "#BufEnter#: " . exists("#BufEnter#")) +:edit testfile2.test +:call add(results, "#BufEnter#: " . exists("#BufEnter#")) +:e test.out +:call append(0, results) +:$d +:w +:qa! +ENDTEST + diff --git a/src/testdir/test67.ok b/src/testdir/test67.ok new file mode 100644 index 000000000..51188e5af --- /dev/null +++ b/src/testdir/test67.ok @@ -0,0 +1,10 @@ +##BufEnter: 1 +#BufEnter: 0 +#BufEnter: 1 +#auexists#BufEnter: 0 +#auexists#BufEnter: 1 +#BufEnter#*.test: 0 +#BufEnter#*.test: 1 +#BufEnter#: 0 +#BufEnter#: 1 +#BufEnter#: 0 diff --git a/src/version.c b/src/version.c index 654b35028..f88a757c6 100644 --- a/src/version.c +++ b/src/version.c @@ -676,6 +676,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 259, /**/ 258, /**/ -- 2.50.1