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
--- a/src/version.c
+++ b/src/version.c
@@ -742,6 +742,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    832,
+/**/
     831,
 /**/
     830,