diff --git a/src/evalvars.c b/src/evalvars.c
index d8ee216..e83c50d 100644
--- a/src/evalvars.c
+++ b/src/evalvars.c
@@ -605,10 +605,11 @@
 /*
  * Evaluate one Vim expression {expr} in string "p" and append the
  * resulting string to "gap".  "p" points to the opening "{".
+ * When "evaluate" is FALSE only skip over the expression.
  * Return a pointer to the character after "}", NULL for an error.
  */
     char_u *
-eval_one_expr_in_str(char_u *p, garray_T *gap)
+eval_one_expr_in_str(char_u *p, garray_T *gap, int evaluate)
 {
     char_u	*block_start = skipwhite(p + 1);  // skip the opening {
     char_u	*block_end = block_start;
@@ -627,13 +628,16 @@
 	semsg(_(e_missing_close_curly_str), p);
 	return NULL;
     }
-    *block_end = NUL;
-    expr_val = eval_to_string(block_start, TRUE);
-    *block_end = '}';
-    if (expr_val == NULL)
-	return NULL;
-    ga_concat(gap, expr_val);
-    vim_free(expr_val);
+    if (evaluate)
+    {
+	*block_end = NUL;
+	expr_val = eval_to_string(block_start, TRUE);
+	*block_end = '}';
+	if (expr_val == NULL)
+	    return NULL;
+	ga_concat(gap, expr_val);
+	vim_free(expr_val);
+    }
 
     return block_end + 1;
 }
@@ -691,7 +695,7 @@
 	}
 
 	// Evaluate the expression and append the result.
-	p = eval_one_expr_in_str(p, &ga);
+	p = eval_one_expr_in_str(p, &ga, TRUE);
 	if (p == NULL)
 	{
 	    ga_clear(&ga);
