GNU Info

Info Node: (emacs-lisp-intro.info)Autoload

(emacs-lisp-intro.info)Autoload


Next: Simple Extension Prev: Loading Files Up: Emacs Initialization
Enter node , (file) or (file)node

Autoloading
===========

   Instead of installing a function by loading the file that contains
it, or by evaluating the function definition, you can make the function
available but not actually install it until it is first called.  This
is called "autoloading".

   When you execute an autoloaded function, Emacs automatically
evaluates the file that contains the definition, and then calls the
function.

   Emacs starts quicker with autoloaded functions, since their libraries
are not loaded right away; but you need to wait a moment when you first
use such a function, while its containing file is evaluated.

   Rarely used functions are frequently autoloaded.  The `loaddefs.el'
library contains hundreds of autoloaded functions, from `bookmark-set'
to `wordstar-mode'.  Of course, you may come to use a `rare' function
frequently.  When you do, you should load that function's file with a
`load' expression in your `.emacs' file.

   In my `.emacs' file for Emacs version 21, I load 12 libraries that
contain functions that would otherwise be autoloaded.  (Actually, it
would have been better to include these files in my `dumped' Emacs when
I built it, but I forgot.  Note: Building Emacs,
and the `INSTALL' file for more about dumping.)

   You may also want to include autoloaded expressions in your `.emacs'
file.  `autoload' is a built-in function that takes up to five
arguments, the final three of which are optional.  The first argument
is the name of the function to be autoloaded; the second is the name of
the file to be loaded.  The third argument is documentation for the
function, and the fourth tells whether the function can be called
interactively.  The fifth argument tells what type of
object--`autoload' can handle a keymap or macro as well as a function
(the default is a function).

   Here is a typical example:

     (autoload 'html-helper-mode
       "html-helper-mode" "Edit HTML documents" t)

(`html-helper-mode' is an alternative to `html-mode', which is a
standard part of the distribution).

This expression autoloads the `html-helper-mode' function.  It takes it
from the `html-helper-mode.el' file (or from the byte compiled file
`html-helper-mode.elc', if it exists.)  The file must be located in a
directory specified by `load-path'.  The documentation says that this
is a mode to help you edit documents written in the HyperText Markup
Language.  You can call this mode interactively by typing `M-x
html-helper-mode'.  (You need to duplicate the function's regular
documentation in the autoload expression because the regular function
is not yet loaded, so its documentation is not available.)

   Note: Autoload, for more information.


automatically generated by info2www version 1.2.2.9