From: Yasuhiro Matsumoto Date: Sun, 12 Apr 2026 16:24:09 +0000 (+0000) Subject: patch 9.2.0340: pum_redraw() may cause flicker X-Git-Tag: v9.2.0340^0 X-Git-Url: http://git.ipfire.org/gitweb/?a=commitdiff_plain;h=efedcd1e6f369e1dcc92ae0cc2c4c8020f08738e;p=thirdparty%2Fvim.git patch 9.2.0340: pum_redraw() may cause flicker Problem: pum_redraw() may cause flicker Solution: Wrap pum_redraw() in synchronized output to avoid flicker (Yasuhiro Matsumoto) closes: #19955 Signed-off-by: Yasuhiro Matsumoto Signed-off-by: Christian Brabandt --- diff --git a/src/popupmenu.c b/src/popupmenu.c index 2ee720087d..a50faaa05b 100644 --- a/src/popupmenu.c +++ b/src/popupmenu.c @@ -953,6 +953,10 @@ pum_redraw(void) // Use current window for highlight overrides when using 'winhighlight' override_success = push_highlight_overrides(curwin->w_hl, curwin->w_hl_len); + // Batch the underlying screen update and the pum drawing into a single + // synchronized output frame to avoid flicker. + term_set_sync_output(TERM_SYNC_OUTPUT_ENABLE); + hlf_T hlfsNorm[3]; hlf_T hlfsSel[3]; // "word"/"abbr" @@ -1187,6 +1191,8 @@ pum_redraw(void) if (override_success) pop_highlight_overrides(); + + term_set_sync_output(TERM_SYNC_OUTPUT_DISABLE); } #if defined(FEAT_PROP_POPUP) && defined(FEAT_QUICKFIX) diff --git a/src/version.c b/src/version.c index fc48763819..560233fafc 100644 --- a/src/version.c +++ b/src/version.c @@ -734,6 +734,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 340, /**/ 339, /**/