summaryrefslogtreecommitdiff
path: root/src/fileio.c
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2013-08-02 15:22:39 +0200
committerBram Moolenaar <Bram@vim.org>2013-08-02 15:22:39 +0200
commita946afe075ce041a638194b6b3bcb100ba2b3689 (patch)
tree07b591ffdccd89cf91e5a98913bfba3c5bd92d32 /src/fileio.c
parent542805a59df19db785dc631f174a15eec40911af (diff)
downloadvim-a946afe075ce041a638194b6b3bcb100ba2b3689.zip
updated for version 7.4b.006
Problem: Using \{n,m} in an autocommand pattern no longer works. Specifically, mutt temp files are not recognized. (Gary Johnson) Solution: Make \\\{n,m\} work.
Diffstat (limited to 'src/fileio.c')
-rw-r--r--src/fileio.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/fileio.c b/src/fileio.c
index fe90246fd..731a7b183 100644
--- a/src/fileio.c
+++ b/src/fileio.c
@@ -10327,7 +10327,7 @@ file_pat_to_reg_pat(pat, pat_end, allow_dirs, no_bslash)
* Don't unescape \, * and others that are also special in a
* regexp.
* An escaped { must be unescaped since we use magic not
- * verymagic.
+ * verymagic. Use "\\\{n,m\}"" to get "\{n,m}".
*/
if (*++p == '?'
#ifdef BACKSLASH_IN_FILENAME
@@ -10337,8 +10337,14 @@ file_pat_to_reg_pat(pat, pat_end, allow_dirs, no_bslash)
reg_pat[i++] = '?';
else
if (*p == ',' || *p == '%' || *p == '#'
- || *p == ' ' || *p == '{')
+ || *p == ' ' || *p == '{' || *p == '}')
reg_pat[i++] = *p;
+ else if (*p == '\\' && p[1] == '\\' && p[2] == '{')
+ {
+ reg_pat[i++] = '\\';
+ reg_pat[i++] = '{';
+ p += 2;
+ }
else
{
if (allow_dirs != NULL && vim_ispathsep(*p)