diff options
author | Bram Moolenaar <Bram@vim.org> | 2009-07-14 19:40:21 +0000 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2009-07-14 19:40:21 +0000 |
commit | 055a2ba10e52141200da0e3d9f66a030841275b5 (patch) | |
tree | 6be8d410fb496f03a100165df51bc92851f11d96 | |
parent | a2974d70f14efecb7d8543659f90935eb89963db (diff) | |
download | vim-055a2ba10e52141200da0e3d9f66a030841275b5.zip |
updated for version 7.2-234
-rw-r--r-- | runtime/doc/cmdline.txt | 9 | ||||
-rw-r--r-- | src/misc1.c | 24 | ||||
-rw-r--r-- | src/version.c | 2 |
3 files changed, 29 insertions, 6 deletions
diff --git a/runtime/doc/cmdline.txt b/runtime/doc/cmdline.txt index 839536b21..c87e61c08 100644 --- a/runtime/doc/cmdline.txt +++ b/runtime/doc/cmdline.txt @@ -441,13 +441,20 @@ between files with almost the same name. If there are multiple matches, those files with an extension that is in the 'suffixes' option are ignored. The default is ".bak,~,.o,.h,.info,.swp,.obj", which means that files ending in ".bak", "~", ".o", ".h", ".info", ".swp" and ".obj" are sometimes ignored. -It is impossible to ignore suffixes with two dots. Examples: + +An empty entry, two consecutive commas, match a file name that does not +contain a ".", thus has no suffix. This is useful to ignore "prog" and prefer +"prog.c". + +Examples: pattern: files: match: ~ test* test.c test.h test.o test.c test* test.h test.o test.h and test.o test* test.i test.h test.c test.i and test.c +It is impossible to ignore suffixes with two dots. + If there is more than one matching file (after ignoring the ones matching the 'suffixes' option) the first file name is inserted. You can see that there is only one match when you type 'wildchar' twice and the completed diff --git a/src/misc1.c b/src/misc1.c index 39669b4c3..f86a16781 100644 --- a/src/misc1.c +++ b/src/misc1.c @@ -8533,11 +8533,25 @@ match_suffix(fname) for (setsuf = p_su; *setsuf; ) { setsuflen = copy_option_part(&setsuf, suf_buf, MAXSUFLEN, ".,"); - if (fnamelen >= setsuflen - && fnamencmp(suf_buf, fname + fnamelen - setsuflen, - (size_t)setsuflen) == 0) - break; - setsuflen = 0; + if (setsuflen == 0) + { + char_u *tail = gettail(fname); + + /* empty entry: match name without a '.' */ + if (vim_strchr(tail, '.') == NULL) + { + setsuflen = 1; + break; + } + } + else + { + if (fnamelen >= setsuflen + && fnamencmp(suf_buf, fname + fnamelen - setsuflen, + (size_t)setsuflen) == 0) + break; + setsuflen = 0; + } } return (setsuflen != 0); } diff --git a/src/version.c b/src/version.c index aeb708fb8..3f07803e2 100644 --- a/src/version.c +++ b/src/version.c @@ -677,6 +677,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 234, +/**/ 233, /**/ 232, |