GNU Info

Info Node: (elisp)Startup Summary

(elisp)Startup Summary


Next: Init File Up: Starting Up
Enter node , (file) or (file)node

Summary: Sequence of Actions at Startup
---------------------------------------

   The order of operations performed (in `startup.el') by Emacs when it
is started up is as follows:

  1. It adds subdirectories to `load-path', by running the file named
     `subdirs.el' in each directory in the list.  Normally this file
     adds the directory's subdirectories to the list, and these will be
     scanned in their turn.  The files `subdirs.el' are normally
     generated automatically by Emacs installation.

  2. It sets the language environment and the terminal coding system,
     if requested by environment variables such as `LANG'.

  3. It loads the initialization library for the window system, if you
     are using a window system.  This library's name is
     `term/WINDOWSYSTEM-win.el'.

  4. It processes the initial options.  (Some of them are handled even
     earlier than this.)

  5. It initializes the window frame and faces, if appropriate.

  6. It runs the normal hook `before-init-hook'.

  7. It loads the library `site-start', unless the option
     `-no-site-file' was specified.  The library's file name is usually
     `site-start.el'.

  8. It loads your init file (usually `~/.emacs'), unless `-q',
     `-no-init-file', or `-batch' was specified on the command line.
     The `-u' option can specify another user whose home directory
     should be used instead of `~'.

  9. It loads the library `default', unless `inhibit-default-init' is
     non-`nil'.  (This is not done in `-batch' mode or if `-q' was
     specified on the command line.)  The library's file name is
     usually `default.el'.

 10. It runs the normal hook `after-init-hook'.

 11. It sets the major mode according to `initial-major-mode', provided
     the buffer `*scratch*' is still current and still in Fundamental
     mode.

 12. It loads the terminal-specific Lisp file, if any, except when in
     batch mode or using a window system.

 13. It displays the initial echo area message, unless you have
     suppressed that with `inhibit-startup-echo-area-message'.

 14. It processes the action arguments from the command line.

 15. It runs `emacs-startup-hook' and then `term-setup-hook'.

 16. It calls `frame-notice-user-settings', which modifies the
     parameters of the selected frame according to whatever the init
     files specify.

 17. It runs `window-setup-hook'.  Note: Window Systems.

 18. It displays copyleft, nonwarranty, and basic use information,
     provided there were no remaining command-line arguments (a few
     steps above), the value of `inhibit-startup-message' is `nil', and
     the buffer is still empty.

 - User Option: inhibit-startup-message
     This variable inhibits the initial startup messages (the
     nonwarranty, etc.).  If it is non-`nil', then the messages are not
     printed.

     This variable exists so you can set it in your personal init file,
     once you are familiar with the contents of the startup message.
     Do not set this variable in the init file of a new user, or in a
     way that affects more than one user, because that would prevent
     new users from receiving the information they are supposed to see.

 - User Option: inhibit-startup-echo-area-message
     This variable controls the display of the startup echo area
     message.  You can suppress the startup echo area message by adding
     text with this form to your init file:

          (setq inhibit-startup-echo-area-message
                "YOUR-LOGIN-NAME")

     Emacs explicitly checks for an expression as shown above in your
     init file; your login name must appear in the expression as a Lisp
     string constant.  Other methods of setting
     `inhibit-startup-echo-area-message' to the same value do not
     inhibit the startup message.

     This way, you can easily inhibit the message for yourself if you
     wish, but thoughtless copying of your init file will not inhibit
     the message for someone else.


automatically generated by info2www version 1.2.2.9