diff options
author | Bram Moolenaar <Bram@vim.org> | 2013-08-02 15:22:39 +0200 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2013-08-02 15:22:39 +0200 |
commit | a946afe075ce041a638194b6b3bcb100ba2b3689 (patch) | |
tree | 07b591ffdccd89cf91e5a98913bfba3c5bd92d32 /src/fileio.c | |
parent | 542805a59df19db785dc631f174a15eec40911af (diff) | |
download | vim-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.c | 10 |
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) |