vim-patch:9.1.0821: 'findexpr' completion doesn't set v:fname to cmdline argument

Problem:  'findexpr' completion doesn't set v:fname to cmdline argument.
Solution: Set v:fname to the cmdline argument as-is (zeertzjq).

closes: vim/vim#15934

20e045f781
This commit is contained in:
zeertzjq
2024-10-29 07:02:04 +08:00
parent 6b8c3d146e
commit 60b3ccd850
13 changed files with 93 additions and 39 deletions

View File

@@ -2920,6 +2920,10 @@ return {
The expression is evaluated only once per |:find| command invocation.
The expression can process all the directories specified in 'path'.
The expression may be evaluated for command-line completion as well,
in which case the |v:cmdcomplete| variable will be set to |v:true|,
otherwise it will be set to |v:false|.
If a match is found, the expression should return a |List| containing
one or more file names. If a match is not found, the expression
should return an empty List.
@@ -2939,7 +2943,8 @@ return {
>vim
" Use glob()
func FindExprGlob()
return glob(v:fname, v:false, v:true)
let pat = v:cmdcomplete ? $'{v:fname}*' : v:fname
return glob(pat, v:false, v:true)
endfunc
set findexpr=FindExprGlob()