Mercurial > vim
diff src/insexpand.c @ 32479:87f59a64efab v9.0.1571
patch 9.0.1571: RedrawingDisabled not used consistently
Commit: https://github.com/vim/vim/commit/79cdf026f1b8a16298ee73be497c4bd5f3458cde
Author: Bram Moolenaar <Bram@vim.org>
Date: Sat May 20 14:07:00 2023 +0100
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)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Sat, 20 May 2023 15:15:05 +0200 |
parents | bea4ebf594c6 |
children | 448aef880252 |
line wrap: on
line diff
--- a/src/insexpand.c +++ b/src/insexpand.c @@ -2969,12 +2969,13 @@ f_complete_add(typval_T *argvars, typval 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 @@ ins_complete(int c, int enable_pum) 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 @@ show_pum(int prev_w_wrow, int prev_w_lef ins_compl_show_pum(); setcursor(); - RedrawingDisabled = n; + + RedrawingDisabled = save_RedrawingDisabled; } /*