updated for version 7.0-120
diff --git a/src/ops.c b/src/ops.c
index 9e7927d..be7091f 100644
--- a/src/ops.c
+++ b/src/ops.c
@@ -770,6 +770,7 @@
{
char_u *expr_copy;
char_u *rv;
+ static int nested = 0;
if (expr_line == NULL)
return NULL;
@@ -780,7 +781,14 @@
if (expr_copy == NULL)
return NULL;
+ /* When we are invoked recursively limit the evaluation to 10 levels.
+ * Then return the string as-is. */
+ if (nested >= 10)
+ return expr_copy;
+
+ ++nested;
rv = eval_to_string(expr_copy, NULL, TRUE);
+ --nested;
vim_free(expr_copy);
return rv;
}
diff --git a/src/version.c b/src/version.c
index 31df517..e3b6b73 100644
--- a/src/version.c
+++ b/src/version.c
@@ -667,6 +667,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 120,
+/**/
119,
/**/
118,