summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2009-07-14 19:40:21 +0000
committerBram Moolenaar <Bram@vim.org>2009-07-14 19:40:21 +0000
commit055a2ba10e52141200da0e3d9f66a030841275b5 (patch)
tree6be8d410fb496f03a100165df51bc92851f11d96
parenta2974d70f14efecb7d8543659f90935eb89963db (diff)
downloadvim-055a2ba10e52141200da0e3d9f66a030841275b5.zip
updated for version 7.2-234
-rw-r--r--runtime/doc/cmdline.txt9
-rw-r--r--src/misc1.c24
-rw-r--r--src/version.c2
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,