patch 8.2.0670: cannot change window when evaluating 'completefunc'
Problem: Cannot change window when evaluating 'completefunc'.
Solution: Make a difference between not changing text or buffers and also
not changing window.
diff --git a/src/eval.c b/src/eval.c
index 4bd45e9..31dde2f 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -393,7 +393,7 @@
/*
* Call eval_to_string() without using current local variables and using
- * textlock. When "use_sandbox" is TRUE use the sandbox.
+ * textwinlock. When "use_sandbox" is TRUE use the sandbox.
*/
char_u *
eval_to_string_safe(
@@ -407,11 +407,11 @@
save_funccal(&funccal_entry);
if (use_sandbox)
++sandbox;
- ++textlock;
+ ++textwinlock;
retval = eval_to_string(arg, nextcmd, FALSE);
if (use_sandbox)
--sandbox;
- --textlock;
+ --textwinlock;
restore_funccal();
return retval;
}
@@ -576,7 +576,7 @@
++emsg_off;
if (use_sandbox)
++sandbox;
- ++textlock;
+ ++textwinlock;
*cp = NUL;
if (eval0(arg, &tv, NULL, TRUE) == FAIL)
retval = 0;
@@ -601,7 +601,7 @@
--emsg_off;
if (use_sandbox)
--sandbox;
- --textlock;
+ --textwinlock;
return (int)retval;
}