Mercurial > vim
diff src/ex_getln.c @ 1700:9e1cefec84dd v7.2c.002
updated for version 7.2c-002
author | vimboss |
---|---|
date | Fri, 08 Aug 2008 10:59:17 +0000 |
parents | 0c4a465bd741 |
children | a27c581d2618 |
line wrap: on
line diff
--- a/src/ex_getln.c +++ b/src/ex_getln.c @@ -3717,7 +3717,7 @@ vim_strsave_fnameescape(fname, shell) if ((*p != '[' && *p != '{') || !vim_isfilec(*p)) buf[j++] = *p; buf[j] = NUL; - return vim_strsave_escaped(fname, buf); + p = vim_strsave_escaped(fname, buf); #else p = vim_strsave_escaped(fname, shell ? SHELL_ESC_CHARS : PATH_ESC_CHARS); if (shell && csh_like_shell() && p != NULL) @@ -3730,8 +3730,14 @@ vim_strsave_fnameescape(fname, shell) vim_free(p); p = s; } +#endif + + /* '>' and '+' are special at the start of some commands, e.g. ":edit" and + * ":write". "cd -" has a special meaning. */ + if (*p == '>' || *p == '+' || (*p == '-' && p[1] == NUL)) + escape_fname(&p); + return p; -#endif } /*