Commit: runtime(vimcomplete): do not use wildoptions for completion

5 views
Skip to first unread message

Christian Brabandt

unread,
Sep 24, 2026, 3:30:16 PM (2 days ago) Sep 24
to vim...@googlegroups.com
runtime(vimcomplete): do not use wildoptions for completion

Commit: https://github.com/vim/vim/commit/01a4a8b7b4e94da5b4a6a2925b2b8df405340d66
Author: Maxim Kim <hab...@gmail.com>
Date: Thu Sep 24 19:18:26 2026 +0000

runtime(vimcomplete): do not use wildoptions for completion

fixes: https://github.com/vim/vim/issues/21355
closes: https://github.com/vim/vim/issues/21359

Signed-off-by: Maxim Kim <hab...@gmail.com>
Signed-off-by: Christian Brabandt <c...@256bit.org>

diff --git a/runtime/autoload/vimcomplete.vim b/runtime/autoload/vimcomplete.vim
index f0ab31b6d..df532e8e4 100644
--- a/runtime/autoload/vimcomplete.vim
+++ b/runtime/autoload/vimcomplete.vim
@@ -3,7 +3,7 @@ vim9script
# Vim completion script
# Language: Vim script
# Maintainer: Maxim Kim <hab...@gmail.com>
-# Last Change: 2026 Sep 08
+# Last Change: 2026 Sep 22
#
# Usage:
# setlocal omnifunc=vimcomplete#Complete
@@ -54,6 +54,14 @@ export def Complete(findstart: number, base: string): any
return line->len() - keyword->len() - trigger_len
endif

+ # getcompletion() uses wildoptions to filter out items
+ # which is not what users might expect
+ var save_wildoptions = &wildoptions
+ &wildoptions = ""
+ defer () => {
+ &wildoptions = save_wildoptions
+ }()
+
var items = []
if trigger == 'function'
items = getcompletion(base, 'function')
Reply all
Reply to author
Forward
0 new messages