Am Tue, Jul 28, 2026 at 07:18:44AM -0400, schrieb James McCoy: > The completion.test.vim, completion_info.test.vim, and > completion_noresolve.test.vim autopkgtests all fail like below: > > Found errors in Test_Select_Next_Previous_InsertModeMapping(). Retrying. > command line..script > /tmp/autopkgtest-lxc.tg7g_8lw/downtmp/build.1jz/src/test/lib/run_test.vim[387]..function > > RunTheTest[68]..Test_Select_Next_Previous_InsertModeMapping[52]..FeedAndCheckMain[2]..Check2[2]..CheckCurrentLine > line 1: Expected ' foo.c' but got ' foo.' > command line..script > /tmp/autopkgtest-lxc.tg7g_8lw/downtmp/build.1jz/src/test/lib/run_test.vim[387]..function > > RunTheTest[68]..Test_Select_Next_Previous_InsertModeMapping[52]..FeedAndCheckMain[2]..Check3[2]..CheckCurrentLine > line 1: Expected ' foo.x' but got ' foo.' > command line..script > /tmp/autopkgtest-lxc.tg7g_8lw/downtmp/build.1jz/src/test/lib/run_test.vim[387]..function > > RunTheTest[68]..Test_Select_Next_Previous_InsertModeMapping[52]..FeedAndCheckMain[2]..Check4[1]..CheckCurrentLine > line 1: Expected ' foo.a' but got ' fooa'
They use all the shared `test/completion.common.vim` that contains the failing test, so that seems expected. I can also confirm that 2:9.2.0858-1 (current sid) & 2:9.2.0782-1 (previous sid) exhibit this behaviour while 2:9.2.0524-1+b1 (current testing) does not. > I haven't had time yet to try and bisect which patch changed the > behavior. The test is the same as another one that works just fine except that it inoremap's <C-n> to <Down>. The test triggers the completion popup (that offers the choices c, x & a as they are member variables of the foo struct, but whatever) by writing '.'. Pressing "next" in the form of <Tab>, <Down> or even default <C-n> selects the first/next item in the completion choice and crucially writes the choice to the line as well. The later does not happen anymore with the remap of <C-n>, but only for <C-n>. <Down> directly works as before. That seems like a very odd behaviour change… I am not quite sure what the point of this exercise is through and the upstream commit adding the test isn't enlightening me[0]. It seems to not effect anything big at least, so if it helps I can disable the test for now so the CVE fixes and/or perl can pass on to testing and worry about this at a later point in time… ? Attached is a stripped down version of the test; it still needs vim-youcompleteme as well as the basic.c file from the source to run as I don't know how to convince Omni completion to spawn if I remap the keycombo to spawn it… If that isn't telling enough, looking at the script, you will notice immediately what a pro I am at this… 😳 $ vim -Nu vimrc_ycm_minimal.vim debian/tests/data/basic.cpp (Disclaimer: No LLMs were harmed in the process.) Best regards David Kalnischkies [0] https://github.com/ycm-core/YouCompleteMe/commit/6f252b3419d15c7787794d839a32a2703d249b89
set encoding=utf-8
syn on
packadd youcompleteme
" Works without the remap
inoremap <C-n> <Down>
function GetLine(id)
call assert_equal(' foo.c', getline('.'))
endfunction
function PickCompletion(id)
"call feedkeys("\<Down>")
call feedkeys("\<C-n>")
call timer_start(1000, funcref('GetLine'))
endfunction
function TriggerCompletion(id)
call feedkeys('cl.')
call timer_start(1000, funcref('PickCompletion'))
endfunction
function SetPosition(id)
call setpos('.', [0,11,6])
call timer_start(1000, funcref('TriggerCompletion'))
endfunction
function Wait()
call timer_start(1000, funcref('SetPosition'))
endfunction
au BufReadPost */debian/tests/data/basic.cpp call Wait()
signature.asc
Description: PGP signature

