comparison doc/lispref/os.texi @ 98796:1084bca8f907

(Startup Summary): Document `before-init-time' and `after-init-time'. Document `initial-window-system' and `window-system-initialization-alist'. Document reading the abbrevs file. Document the call to `server-start' under --daemon. Rearrange a bit to be consistent with the code flow.
author Eli Zaretskii <eliz@gnu.org>
date Fri, 17 Oct 2008 15:40:51 +0000
parents 3e9c34bd95b3
children b6dc8bf48796
comparison
equal deleted inserted replaced
98795:79058aa99a5d 98796:1084bca8f907
67 @file{subdirs.el} in each directory in the list. Normally this file 67 @file{subdirs.el} in each directory in the list. Normally this file
68 adds the directory's subdirectories to the list, and these will be 68 adds the directory's subdirectories to the list, and these will be
69 scanned in their turn. The files @file{subdirs.el} are normally 69 scanned in their turn. The files @file{subdirs.el} are normally
70 generated automatically by Emacs installation. 70 generated automatically by Emacs installation.
71 71
72 @vindex before-init-time
73 @item
74 It records in the variable @code{before-init-time} the value of
75 @code{current-time} (@pxref{Time of Day}). It also sets
76 @code{after-init-time} to @code{nil}, so as to signal Lisp programs
77 that Emacs initialization is in progress.
78
79 @vindex initial-window-system@r{, and startup}
80 @vindex window-system-initialization-alist
81 @item
82 It loads the initialization library for the window system specified by
83 the variable @code{initial-window-system}. This library's name is
84 @file{term/@var{windowsystem}-win.el}, where @var{windowsystem} is the
85 value of @code{initial-window-system}. From that library, it calls
86 the appropriate initialization function. The initialization function
87 is specified by @code{window-system-initialization-alist}, for each
88 supported window system.
89
72 @item 90 @item
73 It sets the language environment and the terminal coding system, 91 It sets the language environment and the terminal coding system,
74 if requested by environment variables such as @code{LANG}. 92 if requested by environment variables such as @code{LANG}.
75 93
76 @item 94 @item
77 It loads the initialization library for the window system, if you are
78 using a window system. This library's name is
79 @file{term/@var{windowsystem}-win.el}.
80
81 @item
82 It processes the initial options. (Some of them are handled 95 It processes the initial options. (Some of them are handled
83 even earlier than this.) 96 even earlier than this.)
84 97
85 @item 98 @item
86 It initializes the window frame and faces, if appropriate.
87
88 @item
89 It runs the normal hook @code{before-init-hook}. 99 It runs the normal hook @code{before-init-hook}.
100
101 @item
102 It initializes the window frame and faces, if appropriate, and turns
103 on the menu bar and tool bar, if the initial frame needs them.
104
105 @item
106 It registers the default colors for text-only terminals.
90 107
91 @item 108 @item
92 It loads the library @file{site-start} (if any), unless the option 109 It loads the library @file{site-start} (if any), unless the option
93 @samp{-Q} (or @samp{--no-site-file}) was specified. The library's file 110 @samp{-Q} (or @samp{--no-site-file}) was specified. The library's file
94 name is usually @file{site-start.el}. 111 name is usually @file{site-start.el}.
106 @samp{-batch} mode, or if @samp{-Q} or @samp{-q} was specified on the 123 @samp{-batch} mode, or if @samp{-Q} or @samp{-q} was specified on the
107 command line.) The library's file name is usually @file{default.el}. 124 command line.) The library's file name is usually @file{default.el}.
108 @cindex @file{default.el} 125 @cindex @file{default.el}
109 126
110 @item 127 @item
128 It loads your abbrevs from the file specified by
129 @code{abbrev-file-name} (@pxref{Abbrev Files, abbrev-file-name}), if
130 that file exists and can be read. (This is not done in @samp{-batch}
131 mode.)
132
133 @vindex after-init-time
134 @item
135 It records in the variable @code{after-init-time} the value of
136 @code{current-time}. This variable was set to @code{nil} at the
137 beginning of the Emacs session initialization (see above), so setting
138 it to the current time both signals that the initialization phase is
139 over, and, together with @code{before-init-time}, provides the
140 measurement of how long it took.
141
142 @item
111 It runs the normal hook @code{after-init-hook}. 143 It runs the normal hook @code{after-init-hook}.
112 144
113 @item 145 @item
114 It sets the major mode according to @code{initial-major-mode}, provided 146 It sets the major mode according to @code{initial-major-mode}, provided
115 the buffer @samp{*scratch*} is still current and still in Fundamental 147 the buffer @samp{*scratch*} is still current and still in Fundamental
116 mode. 148 mode.
117 149
118 @item 150 @item
119 It loads the terminal-specific Lisp file, if any, except when in batch 151 It loads the terminal-specific Lisp library, if any, except when in
120 mode or using a window system. 152 batch mode or when the variable @code{initial-window-system} (see
153 above) specifies a non-@code{nil} window system. The name of this
154 library is computed from the value of the variable
155 @code{term-file-prefix}; for the details, see @ref{Terminal-Specific}.
156
157 If the value of @code{term-file-prefix} is @code{nil}, this step is skipped.
121 158
122 @item 159 @item
123 It displays the initial echo area message, unless you have suppressed 160 It displays the initial echo area message, unless you have suppressed
124 that with @code{inhibit-startup-echo-area-message}. 161 that with @code{inhibit-startup-echo-area-message}.
125 162
137 @item 174 @item
138 It runs @code{window-setup-hook}. @xref{Window Systems}. 175 It runs @code{window-setup-hook}. @xref{Window Systems}.
139 176
140 @item 177 @item
141 It displays copyleft, nonwarranty, and basic use information, provided 178 It displays copyleft, nonwarranty, and basic use information, provided
142 the value of @code{inhibit-startup-message} is @code{nil}, you didn't 179 the value of @code{inhibit-startup-screen} is @code{nil}, you didn't
143 specify @samp{--no-splash} or @samp{-Q}. 180 specify @samp{--no-splash} or @samp{-Q}.
181
182 @item
183 If the command-line arguments specified @option{--daemon}, @c FIXME: xref
184 it calls @code{server-start} (@pxref{Emacs Server,,, emacs, The GNU
185 Emacs Manual}).
186
187 @item
188 If started by the X session manager, it calls
189 @code{emacs-session-restore} passing it as argument the ID of the
190 previous session. @c FIXME: add an xref to the Emacs manual!
144 @end enumerate 191 @end enumerate
145 192
146 @defopt inhibit-startup-message 193 @defopt inhibit-startup-screen
147 This variable inhibits the initial startup messages (the nonwarranty, 194 This variable inhibits the initial startup messages (the nonwarranty,
148 etc.). If it is non-@code{nil}, then the messages are not printed. 195 etc.). If it is non-@code{nil}, then the messages are not printed.
149 196
150 This variable exists so you can set it in your personal init file, once 197 This variable exists so you can set it in your personal init file, once
151 you are familiar with the contents of the startup message. Do not set 198 you are familiar with the contents of the startup message. Do not set
152 this variable in the init file of a new user, or in a way that affects 199 this variable in the init file of a new user, or in a way that affects
153 more than one user, because that would prevent new users from receiving 200 more than one user, because that would prevent new users from receiving
154 the information they are supposed to see. 201 the information they are supposed to see.
202
203 @code{inhibit-startup-message} is an alias for this variable, for
204 back-compatibility.
155 @end defopt 205 @end defopt
156 206
157 @defopt inhibit-startup-echo-area-message 207 @defopt inhibit-startup-echo-area-message
158 This variable controls the display of the startup echo area message. 208 This variable controls the display of the startup echo area message.
159 You can suppress the startup echo area message by adding text with this 209 You can suppress the startup echo area message by adding text with this