patch 9.0.0634: evaluating "expr" options has more overhead than needed
Problem: Evaluating "expr" options has more overhead than needed.
Solution: Use call_simple_func() for 'foldtext', 'includeexpr', 'printexpr',
"expr" of 'spellsuggest', 'diffexpr', 'patchexpr', 'balloonexpr',
'formatexpr', 'indentexpr' and 'charconvert'.
diff --git a/src/buffer.c b/src/buffer.c
index be7f1fa..f74348d 100644
--- a/src/buffer.c
+++ b/src/buffer.c
@@ -4246,7 +4246,7 @@
tv.vval.v_number = wp->w_id;
set_var((char_u *)"g:statusline_winid", &tv, FALSE);
- usefmt = eval_to_string_safe(fmt + 2, use_sandbox, FALSE);
+ usefmt = eval_to_string_safe(fmt + 2, use_sandbox, FALSE, FALSE);
if (usefmt == NULL)
usefmt = fmt;
@@ -4633,7 +4633,7 @@
if (curwin != save_curwin)
VIsual_active = FALSE;
- str = eval_to_string_safe(p, use_sandbox, FALSE);
+ str = eval_to_string_safe(p, use_sandbox, FALSE, FALSE);
curwin = save_curwin;
curbuf = save_curbuf;