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)
diff --git a/src/eval.c b/src/eval.c
index e4f47b1..3f6be18 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -705,10 +705,9 @@
 
     // 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
-    // autoload script has errors.  Guess that when there is a dot or '#' in
-    // the name showing errors is the right choice.
-    ignore_errors = vim_strchr(func, '.') == NULL
-				    && vim_strchr(func, AUTOLOAD_CHAR) == NULL;
+    // autoload script has errors.  Guess that when there is a dot in the name
+    // showing errors is the right choice.
+    ignore_errors = vim_strchr(func, '.') == NULL;
     arg = func;
     if (ignore_errors)
 	++emsg_off;
diff --git a/src/testdir/test_cmdline.vim b/src/testdir/test_cmdline.vim
index ba3c508..c3a6425 100644
--- a/src/testdir/test_cmdline.vim
+++ b/src/testdir/test_cmdline.vim
@@ -1829,6 +1829,29 @@
   let &encoding = save_encoding
 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
 func Test_interrupt_compl()
   func F(lead, cmdl, p)
diff --git a/src/version.c b/src/version.c
index 4b5088c..b9ec937 100644
--- a/src/version.c
+++ b/src/version.c
@@ -751,6 +751,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    4584,
+/**/
     4583,
 /**/
     4582,