# HG changeset patch # User vimboss # Date 1160170396 0 # Node ID c5d5e0f3403f65e77307d1bcb5d71acc73cbc90a # Parent cbc9c335ddb17f9b0e9d281e1c5d97a20ed4fd94 updated for version 7.0-120 diff --git a/src/ops.c b/src/ops.c --- a/src/ops.c +++ b/src/ops.c @@ -770,6 +770,7 @@ get_expr_line() { char_u *expr_copy; char_u *rv; + static int nested = 0; if (expr_line == NULL) return NULL; @@ -780,7 +781,14 @@ get_expr_line() 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 --- a/src/version.c +++ b/src/version.c @@ -667,6 +667,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 120, +/**/ 119, /**/ 118,