aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--doc/lispref/ChangeLog6
-rw-r--r--doc/lispref/os.texi104
2 files changed, 84 insertions, 26 deletions
diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog
index 64b17ad420d..6c512a33978 100644
--- a/doc/lispref/ChangeLog
+++ b/doc/lispref/ChangeLog
@@ -1,3 +1,9 @@
12012-03-18 Glenn Morris <rgm@gnu.org>
2
3 * os.texi (System Interface): Flow control was removed.
4 (Startup Summary): General update.
5 (Init File): Don't mention compiling it.
6
12012-03-17 Chong Yidong <cyd@gnu.org> 72012-03-17 Chong Yidong <cyd@gnu.org>
2 8
3 * os.texi (Startup Summary): Mention package loading. 9 * os.texi (Startup Summary): Mention package loading.
diff --git a/doc/lispref/os.texi b/doc/lispref/os.texi
index 8b158e602fd..ee1aa88a2dd 100644
--- a/doc/lispref/os.texi
+++ b/doc/lispref/os.texi
@@ -8,8 +8,7 @@
8@chapter Operating System Interface 8@chapter Operating System Interface
9 9
10 This chapter is about starting and getting out of Emacs, access to 10 This chapter is about starting and getting out of Emacs, access to
11values in the operating system environment, and terminal input, output, 11values in the operating system environment, and terminal input, output.
12and flow control.
13 12
14 @xref{Building Emacs}, for related information. @xref{Display}, for 13 @xref{Building Emacs}, for related information. @xref{Display}, for
15additional operating system status information pertaining to the 14additional operating system status information pertaining to the
@@ -60,7 +59,7 @@ can customize these actions.
60@cindex @file{startup.el} 59@cindex @file{startup.el}
61 60
62 When Emacs is started up, it performs the following operations 61 When Emacs is started up, it performs the following operations
63(which are defined in @file{startup.el}): 62(see @code{normal-top-level} in @file{startup.el}):
64 63
65@enumerate 64@enumerate
66@item 65@item
@@ -70,6 +69,15 @@ adds the directory's subdirectories to the list, and those are scanned
70in their turn. The files @file{subdirs.el} are normally generated 69in their turn. The files @file{subdirs.el} are normally generated
71automatically when Emacs is installed. 70automatically when Emacs is installed.
72 71
72@item
73It registers input methods by loading any @file{leim-list.el} file
74found in the @code{load-path}.
75
76@c It removes PWD from the environment if it is not accurate.
77@c It abbreviates default-directory.
78
79@c Now normal-top-level calls command-line.
80
73@vindex before-init-time 81@vindex before-init-time
74@item 82@item
75It sets the variable @code{before-init-time} to the value of 83It sets the variable @code{before-init-time} to the value of
@@ -77,32 +85,49 @@ It sets the variable @code{before-init-time} to the value of
77@code{after-init-time} to @code{nil}, which signals to Lisp programs 85@code{after-init-time} to @code{nil}, which signals to Lisp programs
78that Emacs is being initialized. 86that Emacs is being initialized.
79 87
88@c set-locale-environment
89@item
90It sets the language environment and the terminal coding system,
91if requested by environment variables such as @code{LANG}.
92
93@item
94It does some basic parsing of the command-line arguments.
95
80@vindex initial-window-system@r{, and startup} 96@vindex initial-window-system@r{, and startup}
81@vindex window-system-initialization-alist 97@vindex window-system-initialization-alist
82@item 98@item
83It loads the initialization library for the window system specified by 99If not running in batch mode, it initializes the window system that
84the variable @code{initial-window-system} (@pxref{Window Systems, 100the variable @code{initial-window-system} specifies (@pxref{Window
85initial-window-system}). This library's name is 101Systems, initial-window-system}). The initialization function for
86@file{term/@var{windowsystem}-win.el}, where @var{windowsystem} is the 102each supported window system is specified by
87value of @code{initial-window-system}. From that library, it calls 103@code{window-system-initialization-alist}. If the value
88the appropriate initialization function. The initialization function 104of @code{initial-window-system} is @var{windowsystem}, then the
89for each supported window system is specified by 105appropriate initialization function is defined in the file
90@code{window-system-initialization-alist}. 106@file{term/@var{windowsystem}-win.el}. This file should have been
107compiled into the Emacs executable when it was built.
91 108
92@item 109@item
93It sets the language environment and the terminal coding system, 110It runs the normal hook @code{before-init-hook}.
94if requested by environment variables such as @code{LANG}.
95 111
96@item 112@item
97It processes the initial options. (Some of them are handled 113If appropriate (e.g., not in batch mode or started as a daemon), it
98even earlier than this.) 114creates a graphical frame.
99 115
100@item 116@item
101It runs the normal hook @code{before-init-hook}. 117It initializes the initial frame's faces, and sets up the menu bar
118and tool bar if needed. If graphical frames are supported, it sets up
119the tool bar even if the current frame is not a graphical one, since a
120graphical frame may be created later on.
102 121
103@item 122@item
104It initializes the initial frame's faces, and turns on the menu bar 123It use @code{custom-reevaluate-setting} to re-initialize the members
105and tool bar if needed. 124of the list @code{custom-delayed-init-variables}. These are any
125pre-loaded user options whose default value depends on the run-time,
126rather than build-time, context.
127@xref{Building Emacs, custom-initialize-delay}.
128
129@c @item
130@c It registers the colors available for tty frames.
106 131
107@item 132@item
108It loads the library @file{site-start}, if it exists. This is not 133It loads the library @file{site-start}, if it exists. This is not
@@ -154,13 +179,17 @@ Lisp library, which is specified by the variable
154@code{term-file-prefix} (@pxref{Terminal-Specific}). This is not done 179@code{term-file-prefix} (@pxref{Terminal-Specific}). This is not done
155in @code{--batch} mode, nor if @code{term-file-prefix} is @code{nil}. 180in @code{--batch} mode, nor if @code{term-file-prefix} is @code{nil}.
156 181
182@c Now command-line calls command-line-1.
183
157@item 184@item
158It displays the initial echo area message, unless you have suppressed 185It displays the initial echo area message, unless you have suppressed
159that with @code{inhibit-startup-echo-area-message}. 186that with @code{inhibit-startup-echo-area-message}.
160 187
161@item 188@item
162It processes the action arguments from the command line. 189It processes any command-line options that were not handled earlier.
163 190
191@c This next one is back in command-line, but the remaining bits of
192@c command-line-1 are not done if noninteractive.
164@item 193@item
165It now exits if the option @code{--batch} was specified. 194It now exits if the option @code{--batch} was specified.
166 195
@@ -169,6 +198,15 @@ If @code{initial-buffer-choice} is a string, it visits the file with
169that name. Furthermore, if the @samp{*scratch*} buffer exists and is 198that name. Furthermore, if the @samp{*scratch*} buffer exists and is
170empty, it inserts @code{initial-scratch-message} into that buffer. 199empty, it inserts @code{initial-scratch-message} into that buffer.
171 200
201@c To make things nice and confusing, the next three items can be
202@c called from two places. If displaying a startup screen, they are
203@c called in command-line-1 before the startup screen is shown.
204@c inhibit-startup-hooks is then set and window-setup-hook set to nil.
205@c If not displaying a startup screen, they are are called in
206@c normal-top-level.
207@c FIXME? So it seems they can be called before or after the
208@c daemon/session restore step?
209
172@item 210@item
173It runs @code{emacs-startup-hook} and then @code{term-setup-hook}. 211It runs @code{emacs-startup-hook} and then @code{term-setup-hook}.
174 212
@@ -181,21 +219,33 @@ specify.
181It runs @code{window-setup-hook}. @xref{Window Systems}. 219It runs @code{window-setup-hook}. @xref{Window Systems}.
182 220
183@item 221@item
184If the option @code{--daemon} was specified, it calls
185@code{server-start} and detaches from the controlling terminal.
186@xref{Emacs Server,,, emacs, The GNU Emacs Manual}.
187
188@item
189It displays the @dfn{startup screen}, which is a special buffer that 222It displays the @dfn{startup screen}, which is a special buffer that
190contains information about copyleft and basic Emacs usage. This is 223contains information about copyleft and basic Emacs usage. This is
191not done if @code{initial-buffer-choice} or 224not done if @code{initial-buffer-choice} or
192@code{inhibit-startup-screen} are @code{nil}, nor if the 225@code{inhibit-startup-screen} are @code{nil}, nor if the
193@samp{--no-splash} or @samp{-Q} command-line options were specified. 226@samp{--no-splash} or @samp{-Q} command-line options were specified.
194 227
228@c End of command-line-1.
229
230@c Back to command-line from command-line-1.
231
232@c This is the point at which we actually exit in batch mode, but the
233@c last few bits of command-line-1 are not done in batch mode.
234
235@item
236If the option @code{--daemon} was specified, it calls
237@code{server-start} and detaches from the controlling terminal.
238@xref{Emacs Server,,, emacs, The GNU Emacs Manual}.
239
195@item 240@item
196If started by the X session manager, it calls 241If started by the X session manager, it calls
197@code{emacs-session-restore} passing it as argument the ID of the 242@code{emacs-session-restore} passing it as argument the ID of the
198previous session. @xref{Session Management}. 243previous session. @xref{Session Management}.
244
245@c End of command-line.
246
247@c Back to normal-top-level from command-line.
248
199@end enumerate 249@end enumerate
200 250
201@defopt inhibit-startup-screen 251@defopt inhibit-startup-screen
@@ -255,10 +305,12 @@ is @code{nil}, the @samp{*scratch*} buffer is empty.
255 When you start Emacs, it normally attempts to load your @dfn{init 305 When you start Emacs, it normally attempts to load your @dfn{init
256file}. This is either a file named @file{.emacs} or @file{.emacs.el} 306file}. This is either a file named @file{.emacs} or @file{.emacs.el}
257in your home directory, or a file named @file{init.el} in a 307in your home directory, or a file named @file{init.el} in a
258subdirectory named @file{.emacs.d} in your home directory. Whichever 308subdirectory named @file{.emacs.d} in your home directory.
259place you use, you can also compile the file (@pxref{Byte 309@ignore
310Whichever place you use, you can also compile the file (@pxref{Byte
260Compilation}); then the actual file loaded will be @file{.emacs.elc} 311Compilation}); then the actual file loaded will be @file{.emacs.elc}
261or @file{init.elc}. 312or @file{init.elc}.
313@end ignore
262 314
263 The command-line switches @samp{-q}, @samp{-Q}, and @samp{-u} 315 The command-line switches @samp{-q}, @samp{-Q}, and @samp{-u}
264control whether and where to find the init file; @samp{-q} (and the 316control whether and where to find the init file; @samp{-q} (and the