patch 8.2.2581: Vim9: sourcing Vim9 script triggers a redraw
Problem: Vim9: sourcing Vim9 script triggers a redraw.
Solution: Do not let setting/restoring 'cpoptions' cause a redraw.
(closes #7920)
diff --git a/src/option.c b/src/option.c
index 9db9c26..b9d7edb 100644
--- a/src/option.c
+++ b/src/option.c
@@ -3176,7 +3176,9 @@
if (curwin->w_curswant != MAXCOL
&& (options[opt_idx].flags & (P_CURSWANT | P_RALL)) != 0)
curwin->w_set_curswant = TRUE;
- check_redraw(options[opt_idx].flags);
+
+ if ((opt_flags & OPT_NO_REDRAW) == 0)
+ check_redraw(options[opt_idx].flags);
return NULL;
}
@@ -3192,8 +3194,8 @@
long value, // new value
char *errbuf, // buffer for error messages
size_t errbuflen, // length of "errbuf"
- int opt_flags) // OPT_LOCAL, OPT_GLOBAL and
- // OPT_MODELINE
+ int opt_flags) // OPT_LOCAL, OPT_GLOBAL,
+ // OPT_MODELINE, etc.
{
char *errmsg = NULL;
long old_value = *(long *)varp;
@@ -3734,7 +3736,8 @@
if (curwin->w_curswant != MAXCOL
&& (options[opt_idx].flags & (P_CURSWANT | P_RALL)) != 0)
curwin->w_set_curswant = TRUE;
- check_redraw(options[opt_idx].flags);
+ if ((opt_flags & OPT_NO_REDRAW) == 0)
+ check_redraw(options[opt_idx].flags);
return errmsg;
}