# HG changeset patch # User Bram Moolenaar # Date 1311167098 -7200 # Node ID aa998de9f9592426c17396b60c5db9170a234024 # Parent f2de38a019a24d1200587d23abee143894a62a81 updated for version 7.3.255 Problem: When editing a file such as "File[2010-08-15].vim" an E16 error is given. (Manuel Stol) Solution: Don't give an error for failing to compile the regexp. diff --git a/src/ex_docmd.c b/src/ex_docmd.c --- a/src/ex_docmd.c +++ b/src/ex_docmd.c @@ -7069,7 +7069,7 @@ alist_expand(fnum_list, fnum_len) old_arg_count = GARGCOUNT; if (expand_wildcards(old_arg_count, old_arg_files, &new_arg_file_count, &new_arg_files, - EW_FILE|EW_NOTFOUND|EW_ADDSLASH) == OK + EW_FILE|EW_NOTFOUND|EW_ADDSLASH|EW_NOERROR) == OK && new_arg_file_count > 0) { alist_set(&global_alist, new_arg_file_count, new_arg_files, diff --git a/src/misc1.c b/src/misc1.c --- a/src/misc1.c +++ b/src/misc1.c @@ -9043,8 +9043,12 @@ dos_expandpath( } /* compile the regexp into a program */ + if (flags & EW_NOERROR) + ++emsg_silent; regmatch.rm_ic = TRUE; /* Always ignore case */ regmatch.regprog = vim_regcomp(pat, RE_MAGIC); + if (flags & EW_NOERROR) + --emsg_silent; vim_free(pat); if (regmatch.regprog == NULL) diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -710,6 +710,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 255, +/**/ 254, /**/ 253, diff --git a/src/vim.h b/src/vim.h --- a/src/vim.h +++ b/src/vim.h @@ -815,6 +815,7 @@ extern char *(*dyn_libintl_textdomain)(c #define EW_EXEC 0x40 /* executable files */ #define EW_PATH 0x80 /* search in 'path' too */ #define EW_ICASE 0x100 /* ignore case */ +#define EW_NOERROR 0x200 /* no error for bad regexp */ /* Note: mostly EW_NOTFOUND and EW_SILENT are mutually exclusive: EW_NOTFOUND * is used when executing commands and EW_SILENT for interactive expanding. */