Mercurial > vim
comparison src/fileio.c @ 2243:03a5f2897db3 vim73
Fix completion of file names with '%' and '*'.
author | Bram Moolenaar <bram@vim.org> |
---|---|
date | Tue, 01 Jun 2010 21:57:09 +0200 |
parents | 60da25e3aab7 |
children | caca0ddd789b |
comparison
equal
deleted
inserted
replaced
2242:bc4685345719 | 2243:03a5f2897db3 |
---|---|
10187 *allow_dirs = TRUE; | 10187 *allow_dirs = TRUE; |
10188 break; | 10188 break; |
10189 } | 10189 } |
10190 } | 10190 } |
10191 #endif | 10191 #endif |
10192 /* Undo escaping from ExpandEscape(): | |
10193 * foo\?bar -> foo?bar | |
10194 * foo\%bar -> foo%bar | |
10195 * foo\,bar -> foo,bar | |
10196 * foo\ bar -> foo bar | |
10197 * Don't unescape \, * and others that are also special in a | |
10198 * regexp. */ | |
10192 if (*++p == '?' | 10199 if (*++p == '?' |
10193 #ifdef BACKSLASH_IN_FILENAME | 10200 #ifdef BACKSLASH_IN_FILENAME |
10194 && no_bslash | 10201 && no_bslash |
10195 #endif | 10202 #endif |
10196 ) | 10203 ) |
10197 reg_pat[i++] = '?'; | 10204 reg_pat[i++] = '?'; |
10198 else | 10205 else |
10199 if (*p == ',') | 10206 if (*p == ',' || *p == '%' || *p == '#' || *p == ' ') |
10200 reg_pat[i++] = ','; | 10207 reg_pat[i++] = *p; |
10201 else | 10208 else |
10202 { | 10209 { |
10203 if (allow_dirs != NULL && vim_ispathsep(*p) | 10210 if (allow_dirs != NULL && vim_ispathsep(*p) |
10204 #ifdef BACKSLASH_IN_FILENAME | 10211 #ifdef BACKSLASH_IN_FILENAME |
10205 && (!no_bslash || *p != '\\') | 10212 && (!no_bslash || *p != '\\') |