diff options
Diffstat (limited to 'src/ex_docmd.c')
-rw-r--r-- | src/ex_docmd.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/ex_docmd.c b/src/ex_docmd.c index 7ad5513bcd..3126c6a611 100644 --- a/src/ex_docmd.c +++ b/src/ex_docmd.c @@ -3958,6 +3958,16 @@ expand_filename(eap, cmdlinep, errormsgp) continue; } + /* Wildcards won't be expanded below, the replacement is taken + * literally. But do expand "~/file", "~user/file" and "$HOME/file". */ + if (vim_strchr(repl, '$') != NULL || vim_strchr(repl, '~') != NULL) + { + char_u *l = repl; + + repl = expand_env_save(repl); + vim_free(l); + } + /* Need to escape white space et al. with a backslash. Don't do this * for shell commands (may have to use quotes instead). Don't do this * for non-unix systems when there is a single argument (spaces don't |