@c This is part of the Emacs manual.
-@c Copyright (C) 1985-1987, 1993-1995, 2001-2012
-@c Free Software Foundation, Inc.
+@c Copyright (C) 1985-1987, 1993-1995, 2001-2016 Free Software
+@c Foundation, Inc.
@c See file emacs.texi for copying conditions.
@iftex
@chapter Entering and Exiting Emacs
@raisesections
@end ifnottex
-@node Entering Emacs, Exiting, Commands, Top
+@node Entering Emacs
@section Entering Emacs
@cindex entering Emacs
@cindex starting Emacs
information about @file{site-start.el}.}
You can also force Emacs to display a file or directory at startup
-by setting the variable @code{initial-buffer-choice} to a
-non-@code{nil} value. (In that case, even if you specify one or more
-files on the command line, Emacs opens but does not display them.)
-The value of @code{initial-buffer-choice} should be the name of
-the desired file or directory.
+by setting the variable @code{initial-buffer-choice} to a string
+naming that file or directory. The value of
+@code{initial-buffer-choice} may also be a function (of no arguments)
+that should return a buffer which is then displayed.
@ignore
@c I do not think this should be mentioned. AFAICS it is just a dodge
@c around inhibit-startup-screen not being settable on a site-wide basis.
-or @code{t}, which means to display the @file{*scratch*} buffer.
+@code{initial-buffer-choice} may also be @code{t} in which case the
+@file{*scratch*} buffer will be shown.
@end ignore
+If @code{initial-buffer-choice} is non-@code{nil}, then if you specify
+any files on the command line, Emacs still visits them, but does not
+display them initially.
-@node Exiting, Basic, Entering Emacs, Top
+@node Exiting
@section Exiting Emacs
@cindex exiting
@cindex killing Emacs
Kill Emacs (@code{save-buffers-kill-terminal}).
@item C-z
On a text terminal, suspend Emacs; on a graphical display,
-``minimize'' the selected frame (@code{suspend-emacs}).
+iconify (or ``minimize'') the selected frame (@code{suspend-emacs}).
@end table
@kindex C-x C-c
subprocesses (@pxref{Shell}).
@kbd{C-x C-c} behaves specially if you are using Emacs as a server.
-If you type it from a ``client frame'', it closes the client
+If you type it from a client frame, it closes the client
connection. @xref{Emacs Server}.
Emacs can, optionally, record certain session information when you
@code{confirm-kill-emacs} is the function @code{yes-or-no-p}. The
default value of @code{confirm-kill-emacs} is @code{nil}.
+ To further customize what happens when Emacs is exiting, see
+@ref{Killing Emacs,,, elisp, The GNU Emacs Lisp Reference Manual}.
+
@findex kill-emacs
To kill Emacs without being prompted about saving, type @kbd{M-x
kill-emacs}.
process (usually a shell); in most shells, you can resume Emacs after
suspending it with the shell command @command{%emacs}.
- Text-only terminals usually listen for certain special characters
-whose meaning is to kill or suspend the program you are running.
-@b{This terminal feature is turned off while you are in Emacs.} The
-meanings of @kbd{C-z} and @kbd{C-x C-c} as keys in Emacs were inspired
-by the use of @kbd{C-z} and @kbd{C-c} on several operating systems as
-the characters for stopping or killing a program, but that is their
-only relationship with the operating system. You can customize these
-keys to run any commands of your choice (@pxref{Keymaps}).
+ Text terminals usually listen for certain special characters whose
+meaning is to kill or suspend the program you are running. @b{This
+terminal feature is turned off while you are in Emacs.} The meanings
+of @kbd{C-z} and @kbd{C-x C-c} as keys in Emacs were inspired by the
+use of @kbd{C-z} and @kbd{C-c} on several operating systems as the
+characters for stopping or killing a program, but that is their only
+relationship with the operating system. You can customize these keys
+to run any commands of your choice (@pxref{Keymaps}).
@ifnottex
@lowersections