autoload [ {+|-}RTUXdkmrtWz ] [ -w ] [ name ... ]
       See the section `Autoloading Functions' in zshmisc(1)  for  full
       details.  The fpath parameter will be searched to find the func-
       tion definition when the function is first referenced.

       If name consists of an absolute path, the function is defined to
       load  from  the file given (searching as usual for dump files in
       the given location).  The name of the function is  the  basename
       (non-directory  part)  of  the file.  It is normally an error if
       the function is not found in the given location; however, if the
       option  -d  is  given,  searching  for  the function defaults to
       $fpath.  If a function is loaded by absolute path, any functions
       loaded  from it that are marked for autoload without an absolute
       path have the load  path  of  the  parent  function  temporarily
       prepended to $fpath.

       If  the  option  -r or -R is given, the function is searched for
       immediately and the location is recorded internally for use when
       the  function is executed; a relative path is expanded using the
       value of $PWD.  This protects against a change to  $fpath  after
       the call to autoload.  With -r, if the function is not found, it
       is silently left unresolved until execution; with -R,  an  error
       message  is  printed  and command processing aborted immediately
       the search fails, i.e. at the autoload command  rather  than  at
       function execution..

       The flag -X may be used only inside a shell function.  It causes
       the calling function to be marked for autoloading and then imme-
       diately  loaded  and  executed,  with the current array of posi-
       tional parameters as arguments.  This replaces the previous def-
       inition of the function.  If no function definition is found, an
       error is printed and the function remains undefined  and  marked
       for  autoloading.   If  an  argument  is  given, it is used as a
       directory (i.e. it does not include the name of the function) in
       which the function is to be found; this may be combined with the
       -d option to allow the function search to default to  $fpath  if
       it is not in the given location.

       The  flag  +X  attempts to load each name as an autoloaded func-
       tion, but does not execute it.  The exit status  is  zero  (suc-
       cess)  if  the function was not previously defined and a defini-
       tion for it was found.  This does not replace any existing defi-
       nition of the function.  The exit status is nonzero (failure) if
       the function was already  defined  or  when  no  definition  was
       found.   In  the  latter case the function remains undefined and
       marked for autoloading.  If ksh-style  autoloading  is  enabled,
       the  function created will contain the contents of the file plus
       a call to the function itself appended to it, thus giving normal
       ksh autoloading behaviour on the first call to the function.  If
       the -m flag is also given each name is treated as a pattern  and
       all functions already marked for autoload that match the pattern
       are loaded.

       With the -t flag, turn on execution tracing; with  -T,  turn  on
       execution  tracing only for the current function, turning it off
       on entry to any called functions that do not also  have  tracing
       enabled.

       With  the  -U flag, alias expansion is suppressed when the func-
       tion is loaded.

       With the -w flag, the names are taken as names of files compiled
       with the zcompile builtin, and all functions defined in them are
       marked for autoloading.

       The flags -z and -k mark the function to be autoloaded using the
       zsh  or  ksh  style, as if the option KSH_AUTOLOAD were unset or
       were set, respectively.  The flags override the setting  of  the
       option at the time the function is loaded.

       Note  that  the  autoload command makes no attempt to ensure the
       shell options set during the loading or execution  of  the  file
       have any particular value.  For this, the emulate command can be
       used:

              emulate zsh -c 'autoload -Uz func'

       arranges that when func is loaded the shell  is  in  native  zsh
       emulation, and this emulation is also applied when func is run.

       Some of the functions of autoload are also provided by functions
       -u or functions -U, but autoload is a more comprehensive  inter-
       face.
