diff options
| -rw-r--r-- | doc/lispref/ChangeLog | 6 | ||||
| -rw-r--r-- | doc/lispref/os.texi | 104 |
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 @@ | |||
| 1 | 2012-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 | |||
| 1 | 2012-03-17 Chong Yidong <cyd@gnu.org> | 7 | 2012-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 |
| 11 | values in the operating system environment, and terminal input, output, | 11 | values in the operating system environment, and terminal input, output. |
| 12 | and flow control. | ||
| 13 | 12 | ||
| 14 | @xref{Building Emacs}, for related information. @xref{Display}, for | 13 | @xref{Building Emacs}, for related information. @xref{Display}, for |
| 15 | additional operating system status information pertaining to the | 14 | additional 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 | |||
| 70 | in their turn. The files @file{subdirs.el} are normally generated | 69 | in their turn. The files @file{subdirs.el} are normally generated |
| 71 | automatically when Emacs is installed. | 70 | automatically when Emacs is installed. |
| 72 | 71 | ||
| 72 | @item | ||
| 73 | It registers input methods by loading any @file{leim-list.el} file | ||
| 74 | found 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 |
| 75 | It sets the variable @code{before-init-time} to the value of | 83 | It 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 |
| 78 | that Emacs is being initialized. | 86 | that Emacs is being initialized. |
| 79 | 87 | ||
| 88 | @c set-locale-environment | ||
| 89 | @item | ||
| 90 | It sets the language environment and the terminal coding system, | ||
| 91 | if requested by environment variables such as @code{LANG}. | ||
| 92 | |||
| 93 | @item | ||
| 94 | It 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 |
| 83 | It loads the initialization library for the window system specified by | 99 | If not running in batch mode, it initializes the window system that |
| 84 | the variable @code{initial-window-system} (@pxref{Window Systems, | 100 | the variable @code{initial-window-system} specifies (@pxref{Window |
| 85 | initial-window-system}). This library's name is | 101 | Systems, initial-window-system}). The initialization function for |
| 86 | @file{term/@var{windowsystem}-win.el}, where @var{windowsystem} is the | 102 | each supported window system is specified by |
| 87 | value of @code{initial-window-system}. From that library, it calls | 103 | @code{window-system-initialization-alist}. If the value |
| 88 | the appropriate initialization function. The initialization function | 104 | of @code{initial-window-system} is @var{windowsystem}, then the |
| 89 | for each supported window system is specified by | 105 | appropriate 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 |
| 107 | compiled into the Emacs executable when it was built. | ||
| 91 | 108 | ||
| 92 | @item | 109 | @item |
| 93 | It sets the language environment and the terminal coding system, | 110 | It runs the normal hook @code{before-init-hook}. |
| 94 | if requested by environment variables such as @code{LANG}. | ||
| 95 | 111 | ||
| 96 | @item | 112 | @item |
| 97 | It processes the initial options. (Some of them are handled | 113 | If appropriate (e.g., not in batch mode or started as a daemon), it |
| 98 | even earlier than this.) | 114 | creates a graphical frame. |
| 99 | 115 | ||
| 100 | @item | 116 | @item |
| 101 | It runs the normal hook @code{before-init-hook}. | 117 | It initializes the initial frame's faces, and sets up the menu bar |
| 118 | and tool bar if needed. If graphical frames are supported, it sets up | ||
| 119 | the tool bar even if the current frame is not a graphical one, since a | ||
| 120 | graphical frame may be created later on. | ||
| 102 | 121 | ||
| 103 | @item | 122 | @item |
| 104 | It initializes the initial frame's faces, and turns on the menu bar | 123 | It use @code{custom-reevaluate-setting} to re-initialize the members |
| 105 | and tool bar if needed. | 124 | of the list @code{custom-delayed-init-variables}. These are any |
| 125 | pre-loaded user options whose default value depends on the run-time, | ||
| 126 | rather 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 |
| 108 | It loads the library @file{site-start}, if it exists. This is not | 133 | It 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 |
| 155 | in @code{--batch} mode, nor if @code{term-file-prefix} is @code{nil}. | 180 | in @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 |
| 158 | It displays the initial echo area message, unless you have suppressed | 185 | It displays the initial echo area message, unless you have suppressed |
| 159 | that with @code{inhibit-startup-echo-area-message}. | 186 | that with @code{inhibit-startup-echo-area-message}. |
| 160 | 187 | ||
| 161 | @item | 188 | @item |
| 162 | It processes the action arguments from the command line. | 189 | It 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 |
| 165 | It now exits if the option @code{--batch} was specified. | 194 | It 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 | |||
| 169 | that name. Furthermore, if the @samp{*scratch*} buffer exists and is | 198 | that name. Furthermore, if the @samp{*scratch*} buffer exists and is |
| 170 | empty, it inserts @code{initial-scratch-message} into that buffer. | 199 | empty, 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 |
| 173 | It runs @code{emacs-startup-hook} and then @code{term-setup-hook}. | 211 | It runs @code{emacs-startup-hook} and then @code{term-setup-hook}. |
| 174 | 212 | ||
| @@ -181,21 +219,33 @@ specify. | |||
| 181 | It runs @code{window-setup-hook}. @xref{Window Systems}. | 219 | It runs @code{window-setup-hook}. @xref{Window Systems}. |
| 182 | 220 | ||
| 183 | @item | 221 | @item |
| 184 | If 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 | ||
| 189 | It displays the @dfn{startup screen}, which is a special buffer that | 222 | It displays the @dfn{startup screen}, which is a special buffer that |
| 190 | contains information about copyleft and basic Emacs usage. This is | 223 | contains information about copyleft and basic Emacs usage. This is |
| 191 | not done if @code{initial-buffer-choice} or | 224 | not 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 | ||
| 236 | If 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 |
| 196 | If started by the X session manager, it calls | 241 | If 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 |
| 198 | previous session. @xref{Session Management}. | 243 | previous 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 |
| 256 | file}. This is either a file named @file{.emacs} or @file{.emacs.el} | 306 | file}. This is either a file named @file{.emacs} or @file{.emacs.el} |
| 257 | in your home directory, or a file named @file{init.el} in a | 307 | in your home directory, or a file named @file{init.el} in a |
| 258 | subdirectory named @file{.emacs.d} in your home directory. Whichever | 308 | subdirectory named @file{.emacs.d} in your home directory. |
| 259 | place you use, you can also compile the file (@pxref{Byte | 309 | @ignore |
| 310 | Whichever place you use, you can also compile the file (@pxref{Byte | ||
| 260 | Compilation}); then the actual file loaded will be @file{.emacs.elc} | 311 | Compilation}); then the actual file loaded will be @file{.emacs.elc} |
| 261 | or @file{init.elc}. | 312 | or @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} |
| 264 | control whether and where to find the init file; @samp{-q} (and the | 316 | control whether and where to find the init file; @samp{-q} (and the |