patch 9.0.1571: RedrawingDisabled not used consistently
Problem: RedrawingDisabled not used consistently.
Solution: Avoid RedrawingDisabled going negative. Set RedrawingDisabled in
win_split_ins(). (closes #11961)
diff --git a/src/insexpand.c b/src/insexpand.c
index c20cb4f..3cfdfac 100644
--- a/src/insexpand.c
+++ b/src/insexpand.c
@@ -2969,12 +2969,13 @@
void
f_complete_check(typval_T *argvars UNUSED, typval_T *rettv)
{
- int saved = RedrawingDisabled;
-
+ int save_RedrawingDisabled = RedrawingDisabled;
RedrawingDisabled = 0;
+
ins_compl_check_keys(0, TRUE);
rettv->vval.v_number = ins_compl_interrupted();
- RedrawingDisabled = saved;
+
+ RedrawingDisabled = save_RedrawingDisabled;
}
/*
@@ -5079,8 +5080,7 @@
show_pum(int prev_w_wrow, int prev_w_leftcol)
{
// RedrawingDisabled may be set when invoked through complete().
- int n = RedrawingDisabled;
-
+ int save_RedrawingDisabled = RedrawingDisabled;
RedrawingDisabled = 0;
// If the cursor moved or the display scrolled we need to remove the pum
@@ -5091,7 +5091,8 @@
ins_compl_show_pum();
setcursor();
- RedrawingDisabled = n;
+
+ RedrawingDisabled = save_RedrawingDisabled;
}
/*