patch 8.2.4136: Vim9: the "autoload" argument of ":vim9script" is not useful

Problem:    Vim9: the "autoload" argument of ":vim9script" is not useful.
Solution:   Remove the argument. (closes #9555)
diff --git a/runtime/doc/repeat.txt b/runtime/doc/repeat.txt
index 067234a..9a82ba4 100644
--- a/runtime/doc/repeat.txt
+++ b/runtime/doc/repeat.txt
@@ -365,12 +365,11 @@
 			Vim version, or update Vim to a newer version.  See
 			|vimscript-version| for what changed between versions.
 
-:vim9s[cript] [noclear] [autoload]			*:vim9s* *:vim9script*
+:vim9s[cript] [noclear]				*:vim9s* *:vim9script*
 			Marks a script file as containing |Vim9-script|
 			commands.  Also see |vim9-namespace|.
 			Must be the first command in the file.
 			For [noclear] see |vim9-reload|.
-			For [autoload] see |vim9-autoload|.
 			Without the |+eval| feature this changes the syntax
 			for some commands.
 			See |:vim9cmd| for executing one command with Vim9
@@ -378,8 +377,8 @@
 
 						*:scr* *:scriptnames*
 :scr[iptnames]		List all sourced script names, in the order they were
-			first sourced.  The number is used for the script ID
-			|<SID>|.
+			first encountered.  The number is used for the script
+			ID |<SID>|.
 			For a script that was used with `import autoload` but
 			was not actually sourced yet an "A" is shown after the
 			script ID.
diff --git a/runtime/doc/vim9.txt b/runtime/doc/vim9.txt
index 94a5057..bbdc2bd 100644
--- a/runtime/doc/vim9.txt
+++ b/runtime/doc/vim9.txt
@@ -1,4 +1,4 @@
-*vim9.txt*	For Vim version 8.2.  Last change: 2022 Jan 15
+*vim9.txt*	For Vim version 8.2.  Last change: 2022 Jan 18
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -1523,17 +1523,18 @@
    directory.
 
 2. In the autoload script put the bulk of the code. >
-	vim9script autoload
+	vim9script
 	export def Stuff(arg: string)
 	  ...
 
 <   This goes in .../autoload/for/search.vim.
 
-   Adding "autoload" to `:vim9script` has the effect that "for#search#" will
-   be prefixed to every exported item.  The prefix is obtained from the file
-   name, as you would to manually in a legacy autoload script.  Thus the
-   exported function can be found with "for#search#Stuff", but you would
-   normally use `import autoload` and not need to specify the prefix.
+   Putting the "search.vim" script under the "/autoload/for/" directory has
+   the effect that "for#search#" will be prefixed to every exported item.  The
+   prefix is obtained from the file name, as you would to manually in a
+   legacy autoload script.  Thus the exported function can be found with
+   "for#search#Stuff", but you would normally use `import autoload` and not
+   use the prefix.
 
    You can split up the functionality and import other scripts from the
    autoload script as you like.  This way you can share code between plugins.
diff --git a/src/errors.h b/src/errors.h
index e576f81..0d11416 100644
--- a/src/errors.h
+++ b/src/errors.h
@@ -3208,8 +3208,7 @@
 	INIT(= N_("E1261: Cannot import .vim without using \"as\""));
 EXTERN char e_cannot_import_same_script_twice_str[]
 	INIT(= N_("E1262: Cannot import the same script twice: %s"));
-EXTERN char e_using_autoload_in_script_not_under_autoload_directory[]
-	INIT(= N_("E1263: Using autoload in a script not under an autoload directory"));
+// E1263 unused
 EXTERN char e_autoload_import_cannot_use_absolute_or_relative_path[]
 	INIT(= N_("E1264: Autoload import cannot use absolute or relative path: %s"));
 EXTERN char e_cannot_use_partial_here[]
diff --git a/src/testdir/test_vim9_import.vim b/src/testdir/test_vim9_import.vim
index 6abe478..3c55f43 100644
--- a/src/testdir/test_vim9_import.vim
+++ b/src/testdir/test_vim9_import.vim
@@ -1196,9 +1196,9 @@
   var save_rtp = &rtp
   exe 'set rtp^=' .. getcwd() .. '/Xdir'
 
-  # when using "vim9script autoload" prefix is not needed
+  # when the path has "/autoload/" prefix is not needed
   var lines =<< trim END
-     vim9script autoload
+     vim9script
      g:prefixed_loaded += 1
 
      export def Gettest(): string
@@ -1262,7 +1262,7 @@
   exe 'set rtp^=' .. getcwd() .. '/Xdir'
 
   var lines =<< trim END
-     vim9script autoload
+     vim9script
 
      export def RetArg(arg: string): string
        return arg
@@ -1300,7 +1300,7 @@
   exe 'set rtp^=' .. getcwd() .. '/Xdir'
 
   var lines =<< trim END
-      vim9script autoload
+      vim9script
 
       g:loaded_postponed = 'true'
       export var variable = 'bla'
@@ -1337,7 +1337,7 @@
   test_override('autoload', 1)
 
   var lines =<< trim END
-      vim9script autoload
+      vim9script
 
       g:loaded_override = 'true'
       export var variable = 'bla'
@@ -1372,7 +1372,7 @@
   exe 'set rtp^=' .. getcwd() .. '/Xdir'
 
   var lines =<< trim END
-      vim9script autoload
+      vim9script
 
       g:toggle_loaded = 'yes'
 
@@ -1423,7 +1423,13 @@
       vim9script autoload
       var n = 0
   END
-  CheckScriptFailure(lines, 'E1263:')
+  CheckScriptFailure(lines, 'E475: Invalid argument: autoload')
+
+  lines =<< trim END
+      vim9script noclear noclear
+      var n = 0
+  END
+  CheckScriptFailure(lines, 'E983: Duplicate argument: noclear')
 enddef
 
 def Test_import_autoload_fails()
@@ -1516,7 +1522,7 @@
 " test using a autoloaded file that is case sensitive
 def Test_vim9_autoload_case_sensitive()
   var lines =<< trim END
-     vim9script autoload
+     vim9script
      export def CaseSensitive(): string
        return 'done'
      enddef
diff --git a/src/version.c b/src/version.c
index 679d258..b2e7429 100644
--- a/src/version.c
+++ b/src/version.c
@@ -751,6 +751,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    4136,
+/**/
     4135,
 /**/
     4134,
diff --git a/src/vim9script.c b/src/vim9script.c
index b356347..2f7f732 100644
--- a/src/vim9script.c
+++ b/src/vim9script.c
@@ -69,7 +69,6 @@
     int		    sid = current_sctx.sc_sid;
     scriptitem_T    *si;
     int		    found_noclear = FALSE;
-    int		    found_autoload = FALSE;
     char_u	    *p;
 
     if (!getline_equal(eap->getline, eap->cookie, getsourceline))
@@ -96,20 +95,6 @@
 	    }
 	    found_noclear = TRUE;
 	}
-	else if (STRNCMP(p, "autoload", 8) == 0 && IS_WHITE_OR_NUL(p[8]))
-	{
-	    if (found_autoload)
-	    {
-		semsg(_(e_duplicate_argument_str), p);
-		return;
-	    }
-	    found_autoload = TRUE;
-	    if (script_name_after_autoload(si) == NULL)
-	    {
-		emsg(_(e_using_autoload_in_script_not_under_autoload_directory));
-		return;
-	    }
-	}
 	else
 	{
 	    semsg(_(e_invalid_argument_str), eap->arg);