mirror of
https://github.com/vim/vim.git
synced 2025-09-25 03:54:15 -04:00
patch 8.2.4584: error for using autoload function in custom completion
Problem: Error for using autoload function in custom completion. Solution: Do not check for errors when using an autoload function. (closes #9962)
This commit is contained in:
@@ -705,10 +705,9 @@ call_vim_function(
|
|||||||
|
|
||||||
// The name might be "import.Func" or "Funcref". We don't know, we need to
|
// The name might be "import.Func" or "Funcref". We don't know, we need to
|
||||||
// ignore errors for an undefined name. But we do want errors when an
|
// ignore errors for an undefined name. But we do want errors when an
|
||||||
// autoload script has errors. Guess that when there is a dot or '#' in
|
// autoload script has errors. Guess that when there is a dot in the name
|
||||||
// the name showing errors is the right choice.
|
// showing errors is the right choice.
|
||||||
ignore_errors = vim_strchr(func, '.') == NULL
|
ignore_errors = vim_strchr(func, '.') == NULL;
|
||||||
&& vim_strchr(func, AUTOLOAD_CHAR) == NULL;
|
|
||||||
arg = func;
|
arg = func;
|
||||||
if (ignore_errors)
|
if (ignore_errors)
|
||||||
++emsg_off;
|
++emsg_off;
|
||||||
|
@@ -1829,6 +1829,29 @@ func Test_wildmode()
|
|||||||
let &encoding = save_encoding
|
let &encoding = save_encoding
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
|
func Test_custom_complete_autoload()
|
||||||
|
call mkdir('Xdir/autoload', 'p')
|
||||||
|
let save_rtp = &rtp
|
||||||
|
exe 'set rtp=' .. getcwd() .. '/Xdir'
|
||||||
|
let lines =<< trim END
|
||||||
|
func vim8#Complete(a, c, p)
|
||||||
|
return "oneA\noneB\noneC"
|
||||||
|
endfunc
|
||||||
|
END
|
||||||
|
call writefile(lines, 'Xdir/autoload/vim8.vim')
|
||||||
|
|
||||||
|
command -nargs=1 -complete=custom,vim8#Complete MyCmd
|
||||||
|
set nowildmenu
|
||||||
|
set wildmode=full,list
|
||||||
|
call feedkeys(":MyCmd \<C-A>\<C-B>\"\<CR>", 'xt')
|
||||||
|
call assert_equal('"MyCmd oneA oneB oneC', @:)
|
||||||
|
|
||||||
|
let &rtp = save_rtp
|
||||||
|
set wildmode& wildmenu&
|
||||||
|
delcommand MyCmd
|
||||||
|
call delete('Xdir', 'rf')
|
||||||
|
endfunc
|
||||||
|
|
||||||
" Test for interrupting the command-line completion
|
" Test for interrupting the command-line completion
|
||||||
func Test_interrupt_compl()
|
func Test_interrupt_compl()
|
||||||
func F(lead, cmdl, p)
|
func F(lead, cmdl, p)
|
||||||
|
@@ -750,6 +750,8 @@ static char *(features[]) =
|
|||||||
|
|
||||||
static int included_patches[] =
|
static int included_patches[] =
|
||||||
{ /* Add new patch number below this line */
|
{ /* Add new patch number below this line */
|
||||||
|
/**/
|
||||||
|
4584,
|
||||||
/**/
|
/**/
|
||||||
4583,
|
4583,
|
||||||
/**/
|
/**/
|
||||||
|
Reference in New Issue
Block a user