Next: , Previous: , Up: Starting Up   [Contents][Index]


58.1.1 Summary: Sequence of Actions at Start Up

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

  1. 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.
  2. It processes the initial options. Some of them are handled even earlier than this.
  3. It initializes the X window frame and faces, if appropriate.
  4. It runs the normal hook before-init-hook.
  5. It loads the library site-start, unless the option ‘-no-site-file’ was specified. The library’s file name is usually site-start.el.
  6. It loads the file $XDG_CONFIG_HOME/sxemacs/init.el unless ‘-q’ was specified on the command line. This is not done in ‘-batch’ mode, though. The ‘-u’ option can specify the user name whose init.el should be loaded instead3.

    If the environment variable, XDG_CONFIG_HOME, is not set, SXEmacs will try ~/.config/sxemacs, and if that directory does not exist, try ~/.sxemacs.

  7. 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.
  8. It runs the normal hook after-init-hook.
  9. It sets the major mode according to initial-major-mode, provided the buffer ‘*scratch*’ is still current and still in Fundamental mode.
  10. It loads the terminal-specific Lisp file, if any, except when in batch mode or using a window system.
  11. It displays the initial echo area message, unless you have suppressed that with inhibit-startup-echo-area-message.
  12. It processes the action arguments from the command line.
  13. It runs term-setup-hook.
  14. It calls frame-notice-user-settings, which modifies the parameters of the selected frame according to whatever the init files specify.
  15. It runs window-setup-hook. See Terminal-Specific.
  16. It calls the command sxemacs-splash-buffer which displays copyleft, nonwarranty, and basic use information, provided there were no remaining command line arguments (a few steps above) and the value of inhibit-startup-message is nil.
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.el file:

(setq inhibit-startup-echo-area-message
      "your-login-name")

Simply setting inhibit-startup-echo-area-message to your login name is not sufficient to inhibit the message; Emacs explicitly checks whether init.el contains an expression as shown above. Your login name must appear in the expression as a Lisp string constant.

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


Footnotes

(3)

Note that file and directory permissions may very well hamper the use of ‘-u’.


Next: , Previous: , Up: Starting Up   [Contents][Index]