From: Girish Palya Date: Fri, 9 Jan 2026 16:59:30 +0000 (+0000) Subject: patch 9.1.2070: completion: autocomplete breaks with large dict X-Git-Tag: v9.1.2070^0 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a9711b5395ae07cac07ca3a26c0a493f27084f15;p=thirdparty%2Fvim.git patch 9.1.2070: completion: autocomplete breaks with large dict Problem: Autocomplete breaks ":help" when 'dict' points to a large file (lxhillwind) Solution: Reset autocompletion timer expiry flag (Girish Palya) fixes: #19130 closes: #19137 Signed-off-by: Girish Palya Signed-off-by: Christian Brabandt --- diff --git a/src/insexpand.c b/src/insexpand.c index 4e3973a9a7..907d36aee3 100644 --- a/src/insexpand.c +++ b/src/insexpand.c @@ -7217,6 +7217,10 @@ ins_complete(int c, int enable_pum) save_w_leftcol = curwin->w_leftcol; n = ins_compl_next(TRUE, ins_compl_key2count(c), insert_match); + // Reset autocompletion timer expiry flag + if (compl_autocomplete) + compl_time_slice_expired = FALSE; + // may undisplay the popup menu ins_compl_upd_pum(); diff --git a/src/testdir/test_ins_complete.vim b/src/testdir/test_ins_complete.vim index f839af77ef..dcad25cfbd 100644 --- a/src/testdir/test_ins_complete.vim +++ b/src/testdir/test_ins_complete.vim @@ -6175,4 +6175,25 @@ func Test_fuzzy_filenames_compl_autocompl() call StopVimInTerminal(buf) endfunc +" Issue 19130 +func Test_helptags_autocomplete_timeout() + func! TestComplete(findstart, base) + if a:findstart + return col('.') - 1 + else + sleep 310m " Exceed timeout + return ["foo"] + endif + endfunc + + call test_override("char_avail", 1) + new + set autocomplete completeopt=fuzzy complete=.,FTestComplete + call feedkeys("Goa\0", 'tx!') + call feedkeys(":h\", 'tx') " used to throw E149 exception + call test_override("char_avail", 0) + set autocomplete& completeopt& complete& + bw! +endfunc + " vim: shiftwidth=2 sts=2 expandtab nofoldenable diff --git a/src/version.c b/src/version.c index 50544f8615..6a94b422a6 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 */ +/**/ + 2070, /**/ 2069, /**/