Mercurial > vim
changeset 7038:76042a56ab85 v7.4.832
commit https://github.com/vim/vim/commit/be83b73ddb2ee8297037166d243f72e3423a3ce3
Author: Bram Moolenaar <Bram@vim.org>
Date: Tue Aug 25 14:21:19 2015 +0200
patch 7.4.832
Problem: $HOME in is expanded too early.
Solution: Skip over when expanding environment names.
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Tue, 25 Aug 2015 17:20:26 +0200 |
parents | cbd20a957656 |
children | 338aa8cac96d |
files | src/misc1.c src/version.c |
diffstat | 2 files changed, 22 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/src/misc1.c +++ b/src/misc1.c @@ -3969,6 +3969,26 @@ expand_env_esc(srcp, dst, dstlen, esc, o --dstlen; /* leave one char space for "\," */ while (*src && dstlen > 0) { +#ifdef FEAT_EVAL + /* Skip over `=expr`. */ + if (src[0] == '`' && src[1] == '=') + { + size_t len; + + var = src; + src += 2; + (void)skip_expr(&src); + if (*src == '`') + ++src; + len = src - var; + if (len > (size_t)dstlen) + len = dstlen; + vim_strncpy(dst, var, len); + dst += len; + dstlen -= len; + continue; + } +#endif copy_char = TRUE; if ((*src == '$' #ifdef VMS