]> code.delx.au - gnu-emacs/blobdiff - doc/emacs/cmdargs.texi
Quote less in manuals
[gnu-emacs] / doc / emacs / cmdargs.texi
index 2a19e1b009da19307e59b0a9526bda8f25ad2237..1385fefaeadc7ee7cb4a9e9864e5686139b6cfef 100644 (file)
@@ -1,8 +1,8 @@
 @c This is part of the Emacs manual.
-@c Copyright (C) 1985-1987, 1993-1995, 1997, 2001-2011
-@c   Free Software Foundation, Inc.
+@c Copyright (C) 1985-1987, 1993-1995, 1997, 2001-2015 Free Software
+@c Foundation, Inc.
 @c See file emacs.texi for copying conditions.
-@node Emacs Invocation, X Resources, GNU Free Documentation License, Top
+@node Emacs Invocation
 @appendix Command Line Arguments for Emacs Invocation
 @cindex command line arguments
 @cindex arguments (command line)
@@ -10,6 +10,7 @@
 @cindex switches (command line)
 @cindex startup (command line arguments)
 @cindex invocation (command line arguments)
+@c FIXME: Document '--smid'?  --xfq
 
   Emacs supports command line arguments to request various actions
 when invoking Emacs.  These are for compatibility with other editors
@@ -65,11 +66,10 @@ arguments.)
                           and call functions.
 * Initial Options::     Arguments that take effect while starting Emacs.
 * Command Example::     Examples of using command line arguments.
-* Resume Arguments::    Specifying arguments when you resume a running Emacs.
 * Environment::         Environment variables that Emacs uses.
 * Display X::           Changing the default display and using remote login.
 * Font X::              Choosing a font for text, under X.
-* Colors::              Choosing display colors.
+* Colors X::            Choosing display colors.
 * Window Size X::       Start-up window size, under X.
 * Borders X::           Internal and external borders, under X.
 * Title X::             Specifying the initial frame's title.
@@ -124,10 +124,9 @@ Visit @var{file} using @code{find-file}, then go to line number
 @opindex --load
 @cindex loading Lisp libraries, command-line argument
 Load a Lisp library named @var{file} with the function @code{load}.
-@xref{Lisp Libraries}.  If @var{file} is not an absolute file name,
-the library can be found either in the current directory, or in the
-Emacs library search path as specified with @env{EMACSLOADPATH}
-(@pxref{General Variables}).
+If @var{file} is not an absolute file name, Emacs first looks for it
+in the current directory, then in the directories listed in
+@code{load-path} (@pxref{Lisp Libraries}).
 
 @strong{Warning:} If previous command-line arguments have visited
 files, the current directory is the directory of the last file
@@ -137,7 +136,14 @@ visited.
 @opindex -L
 @itemx --directory=@var{dir}
 @opindex --directory
-Add directory @var{dir} to the variable @code{load-path}.
+Prepend directory @var{dir} to the variable @code{load-path}.
+If you specify multiple @samp{-L} options, Emacs preserves the
+relative order; i.e., using @samp{-L /foo -L /bar} results in
+a @code{load-path} of the form @code{("/foo" "/bar" @dots{})}.
+If @var{dir} begins with @samp{:}, Emacs removes the @samp{:} and
+appends (rather than prepends) the remainder to @code{load-path}.
+(On MS Windows, use @samp{;} instead of @samp{:}; i.e., use
+the value of @code{path-separator}.)
 
 @item -f @var{function}
 @opindex -f
@@ -159,9 +165,12 @@ Evaluate Lisp expression @var{expression}.
 @item --insert=@var{file}
 @opindex --insert
 @cindex insert file contents, command-line argument
-Insert the contents of @var{file} into the @samp{*scratch*} buffer
-(@pxref{Lisp Interaction}).  This is like what @kbd{M-x insert-file}
-does (@pxref{Misc File Ops}).
+Insert the contents of @var{file} into the buffer that is current when
+this command-line argument is processed.  Usually, this is the
+@file{*scratch*} buffer (@pxref{Lisp Interaction}), but if arguments
+earlier on the command line visit files or switch buffers, that might
+be a different buffer.  The effect of this command-line argument is
+like what @kbd{M-x insert-file} does (@pxref{Misc File Ops}).
 
 @item --kill
 @opindex --kill
@@ -186,11 +195,11 @@ specifically related to the X Window System appear in the following
 sections.
 
   Some initial options affect the loading of the initialization file.
-The normal actions of Emacs are to first load @file{site-start.el} if
-it exists, then your own initialization file @file{~/.emacs} if it
-exists, and finally @file{default.el} if it exists.  @xref{Init File}.
-Certain options prevent loading of some of these files or substitute
-other files for them.
+Normally, Emacs first loads @file{site-start.el} if it exists, then
+your own initialization file if it exists, and finally the default
+initialization file @file{default.el} if it exists (@pxref{Init
+File}).  Certain options prevent loading of some of these files or
+substitute other files for them.
 
 @table @samp
 @item -chdir @var{directory}
@@ -207,8 +216,8 @@ stopped.  This makes desktop saving and restoring easier.
 @itemx --terminal=@var{device}
 @opindex --terminal
 @cindex device for Emacs terminal I/O
-Use @var{device} as the device for terminal input and output.
-@samp{--terminal} implies @samp{--no-window-system}.
+Use @var{device} as the device for terminal input and output.  This
+option implies @samp{--no-window-system}.
 
 @item -d @var{display}
 @opindex -d
@@ -252,8 +261,9 @@ terminal's standard input stream (@code{stdin}) instead.
 @samp{--batch} implies @samp{-q} (do not load an initialization file),
 but @file{site-start.el} is loaded nonetheless.  It also causes Emacs
 to exit after processing all the command options.  In addition, it
-disables auto-saving except in buffers for which it has been
-explicitly requested.
+disables auto-saving except in buffers for which auto-saving is
+explicitly requested, and when saving files it omits the @code{fsync}
+system call unless otherwise requested.
 
 @item --script @var{file}
 @opindex --script
@@ -270,8 +280,8 @@ Emacs.  They can start with this text on the first line
 
 @noindent
 which will invoke Emacs with @samp{--script} and supply the name of
-the script file as @var{file}.  Emacs Lisp then treats @samp{#!}  as a
-comment delimiter.
+the script file as @var{file}.  Emacs Lisp then treats the @samp{#!}
+on this first line as a comment delimiter.
 
 @item -q
 @opindex -q
@@ -280,11 +290,10 @@ comment delimiter.
 @cindex bypassing init and @file{default.el} file
 @cindex init file, not loading
 @cindex @file{default.el} file, not loading
-Do not load your Emacs initialization file, and do not load the file
-@file{default.el} either (@pxref{Init File}).  Regardless of this
-switch, @file{site-start.el} is still loaded.  When Emacs is invoked
-like this, the Customize facility does not allow options to be saved
-(@pxref{Easy Customization}).
+Do not load any initialization file (@pxref{Init File}).  When Emacs
+is invoked with this option, the Customize facility does not allow
+options to be saved (@pxref{Easy Customization}).  This option does
+not disable loading @file{site-start.el}.
 
 @item --no-site-file
 @opindex --no-site-file
@@ -311,7 +320,7 @@ in your initialization file (@pxref{Entering Emacs}).
 @opindex -Q
 @itemx --quick
 @opindex --quick
-Start emacs with minimum customizations, similar to using @samp{-q},
+Start emacs with minimum customizations.  This is similar to using @samp{-q},
 @samp{--no-site-file}, @samp{--no-site-lisp}, and @samp{--no-splash}
 together.  This also stops Emacs from processing X resources by
 setting @code{inhibit-x-resources} to @code{t} (@pxref{Resources}).
@@ -371,45 +380,6 @@ also guarantees there will be no problem redirecting output to
 @file{log}, because Emacs will not assume that it has a display terminal
 to work with.
 
-@node Resume Arguments
-@appendixsec Resuming Emacs with Arguments
-
-  You can specify action arguments for Emacs when you resume it after
-a suspension.  To prepare for this, put the following code in your
-@file{.emacs} file (@pxref{Hooks}):
-
-@c `resume-suspend-hook' is correct.  It is the name of a function.
-@example
-(add-hook 'suspend-hook 'resume-suspend-hook)
-(add-hook 'suspend-resume-hook 'resume-process-args)
-@end example
-
-  As further preparation, you must execute the shell script
-@file{emacs.csh} (if you use csh as your shell) or @file{emacs.bash}
-(if you use bash as your shell).  These scripts define an alias named
-@code{edit}, which will resume Emacs giving it new command line
-arguments such as files to visit.  The scripts are found in the
-@file{etc} subdirectory of the Emacs distribution.
-
-  Only action arguments work properly when you resume Emacs.  Initial
-arguments are not recognized---it's too late to execute them anyway.
-
-  Note that resuming Emacs (with or without arguments) must be done from
-within the shell that is the parent of the Emacs job.  This is why
-@code{edit} is an alias rather than a program or a shell script.  It is
-not possible to implement a resumption command that could be run from
-other subjobs of the shell; there is no way to define a command that could
-be made the value of @env{EDITOR}, for example.  Therefore, this feature
-does not take the place of the Emacs Server feature (@pxref{Emacs
-Server}).
-
-  The aliases use the Emacs Server feature if you appear to have a
-server Emacs running.  However, they cannot determine this with complete
-accuracy.  They may think that a server is still running when in
-actuality you have killed that Emacs, because the file
-@file{/tmp/esrv@dots{}} still exists.  If this happens, find that
-file and delete it.
-
 @node Environment
 @appendixsec Environment Variables
 @cindex environment variables
@@ -424,19 +394,19 @@ letters only.  The values are all text strings.
 environment automatically from their parent process.  This means you
 can set up an environment variable in your login shell, and all the
 programs you run (including Emacs) will automatically see it.
-Subprocesses of Emacs (such as shells, compilers, and version-control
-software) inherit the environment from Emacs, too.
+Subprocesses of Emacs (such as shells, compilers, and version control
+programs) inherit the environment from Emacs, too.
 
 @findex setenv
 @findex getenv
 @vindex initial-environment
-  Inside Emacs, the command @kbd{M-x getenv} gets the value of an
-environment variable.  @kbd{M-x setenv} sets a variable in the Emacs
-environment, and @kbd{C-u M-x setenv} removes a variable.
-(Environment variable substitutions with @samp{$} work in the value
-just as in file names; see @ref{File Names with $}.)  The variable
-@code{initial-environment} stores the initial environment inherited by
-Emacs.
+  Inside Emacs, the command @kbd{M-x getenv} reads the name of an
+environment variable, and prints its value in the echo area.  @kbd{M-x
+setenv} sets a variable in the Emacs environment, and @kbd{C-u M-x
+setenv} removes a variable.  (Environment variable substitutions with
+@samp{$} work in the value just as in file names; see @ref{File Names
+with $}.)  The variable @code{initial-environment} stores the initial
+environment inherited by Emacs.
 
   The way to set environment variables outside of Emacs depends on the
 operating system, and especially the shell that you are using.  For
@@ -472,39 +442,66 @@ special meanings in Emacs.  Most of these variables are also used by
 some other programs.  Emacs does not require any of these environment
 variables to be set, but it uses their values if they are set.
 
+@c This used to be @vtable, but that enters the variables alone into
+@c the Variable Index, which in some cases, like HOME, might be
+@c confused with keys by that name, and other cases, like NAME,
+@c might be confused with general-purpose phrases.
 @table @env
 @item CDPATH
+@vindex CDPATH, environment variable
 Used by the @code{cd} command to search for the directory you specify,
 when you specify a relative directory name.
+@item DBUS_SESSION_BUS_ADDRESS
+@vindex DBUS_SESSION_BUS_ADDRESS, environment variable
+Used by D-Bus when Emacs is compiled with it.  Usually, there is no
+need to change it.  Setting it to a dummy address, like
+@samp{unix:path=/dev/null}, suppresses connections to the D-Bus session
+bus as well as autolaunching the D-Bus session bus if not running yet.
 @item EMACSDATA
+@vindex EMACSDATA, environment variable
 Directory for the architecture-independent files that come with Emacs.
-This is used to initialize the Lisp variable @code{data-directory}.
+This is used to initialize the variable @code{data-directory}.
 @item EMACSDOC
+#vindex EMACSDOC, environment variable
 Directory for the documentation string file, which is used to
 initialize the Lisp variable @code{doc-directory}.
 @item EMACSLOADPATH
-A colon-separated list of directories@footnote{
-Here and below, whenever we say ``colon-separated list of directories,''
-it pertains to Unix and GNU/Linux systems.  On MS-DOS and MS-Windows,
-the directories are separated by semi-colons instead, since DOS/Windows
-file names might include a colon after a drive letter.}
-to search for Emacs Lisp files---used to initialize @code{load-path}.
+#vindex EMACSLOADPATH, environment variable
+A colon-separated list of directories@footnote{Here and below,
+whenever we say ``colon-separated list of directories'', it pertains
+to Unix and GNU/Linux systems.  On MS-DOS and MS-Windows, the
+directories are separated by semi-colons instead, since DOS/Windows
+file names might include a colon after a drive letter.} to search for
+Emacs Lisp files.  If set, it modifies the usual initial value of the
+@code{load-path} variable (@pxref{Lisp Libraries}).  An empty element
+stands for the default value of @code{load-path}; e.g., using
+@samp{EMACSLOADPATH="/tmp:"} adds @file{/tmp} to the front of
+the default @code{load-path}.  To specify an empty element in the
+middle of the list, use 2 colons in a row, as in
+@samp{EMACSLOADPATH="/tmp::/foo"}.
 @item EMACSPATH
-A colon-separated list of directories to search for executable
-files---used to initialize @code{exec-path}.
+@vindex EMACSPATH, environment variable
+A colon-separated list of directories to search for executable files.
+If set, Emacs uses this in addition to @env{PATH} (see below) when
+initializing the variable @code{exec-path} (@pxref{Shell}).
 @item EMAIL
+@vindex EMAIL, environment variable
 @vindex user-mail-address@r{, initialization}
 Your email address; used to initialize the Lisp variable
-@code{user-mail-address}, which the Emacs mail interface puts into
-the @samp{From} header of outgoing messages (@pxref{Mail Headers}).
+@code{user-mail-address}, which the Emacs mail interface puts into the
+@samp{From} header of outgoing messages (@pxref{Mail Headers}).
 @item ESHELL
-Used for shell-mode to override the @env{SHELL} environment variable.
+@vindex ESHELL, environment variable
+Used for shell-mode to override the @env{SHELL} environment variable
+(@pxref{Interactive Shell}).
 @item HISTFILE
+@vindex HISTFILE, environment variable
 The name of the file that shell commands are saved in between logins.
 This variable defaults to @file{~/.bash_history} if you use Bash, to
 @file{~/.sh_history} if you use ksh, and to @file{~/.history}
 otherwise.
 @item HOME
+@vindex HOME, environment variable
 The location of your files in the directory tree; used for
 expansion of file names starting with a tilde (@file{~}).  On MS-DOS,
 it defaults to the directory from which Emacs was started, with
@@ -516,20 +513,33 @@ where @var{username} is your user name), though for backwards
 compatibility @file{C:/} will be used instead if a @file{.emacs} file
 is found there.
 @item HOSTNAME
+@vindex HOSTNAME, environment variable
 The name of the machine that Emacs is running on.
+@c complete.el is obsolete since 24.1.
+@ignore
 @item INCPATH
 A colon-separated list of directories.  Used by the @code{complete} package
 to search for files.
+@end ignore
 @item INFOPATH
+@vindex INFOPATH, environment variable
 A colon-separated list of directories in which to search for Info files.
 @item LC_ALL
+@vindex LC_ALL, environment variable
 @itemx LC_COLLATE
+@vindex LC_COLLATE, environment variable
 @itemx LC_CTYPE
+@vindex LC_CTYPE, environment variable
 @itemx LC_MESSAGES
+@vindex LC_MESSAGES, environment variable
 @itemx LC_MONETARY
+@vindex LC_MONETARY, environment variable
 @itemx LC_NUMERIC
+@vindex LC_NUMERIC, environment variable
 @itemx LC_TIME
+@vindex LC_TIME, environment variable
 @itemx LANG
+@vindex LANG, environment variable
 The user's preferred locale.  The locale has six categories, specified
 by the environment variables @env{LC_COLLATE} for sorting,
 @env{LC_CTYPE} for character encoding, @env{LC_MESSAGES} for system
@@ -551,61 +561,91 @@ matched against entries in @code{locale-language-names},
 @code{locale-preferred-coding-systems}, to select a default language
 environment and coding system.  @xref{Language Environments}.
 @item LOGNAME
+@vindex LOGNAME, environment variable
 The user's login name.  See also @env{USER}.
 @item MAIL
+@vindex MAIL, environment variable
 The name of your system mail inbox.
+@ifnottex
 @item MH
-Name of setup file for the mh system.  (The default is @file{~/.mh_profile}.)
+@vindex MH, environment variable
+Name of setup file for the mh system.  @xref{Top,,MH-E,mh-e, The Emacs
+Interface to MH}.
+@end ifnottex
 @item NAME
-Your real-world name.
+@vindex NAME, environment variable
+Your real-world name.  This is used to initialize the variable
+@code{user-full-name} (@pxref{Mail Headers}).
 @item NNTPSERVER
+@vindex NNTPSERVER, environment variable
 The name of the news server.  Used by the mh and Gnus packages.
 @item ORGANIZATION
+@vindex ORGANIZATION, environment variable
 The name of the organization to which you belong.  Used for setting the
-`Organization:' header in your posts from the Gnus package.
+@samp{Organization:} header in your posts from the Gnus package.
 @item PATH
-A colon-separated list of directories in which executables reside.  This
-is used to initialize the Emacs Lisp variable @code{exec-path}.
+@vindex PATH, environment variable
+A colon-separated list of directories containing executable files.
+This is used to initialize the variable @code{exec-path}
+(@pxref{Shell}).
 @item PWD
+@vindex PWD, environment variable
 If set, this should be the default directory when Emacs was started.
 @item REPLYTO
+@vindex REPLYTO, environment variable
 If set, this specifies an initial value for the variable
-@code{mail-default-reply-to}.  @xref{Mail Headers}.
+@code{mail-default-reply-to} (@pxref{Mail Headers}).
 @item SAVEDIR
+@vindex SAVEDIR, environment variable
 The name of a directory in which news articles are saved by default.
 Used by the Gnus package.
 @item SHELL
+@vindex SHELL, environment variable
 The name of an interpreter used to parse and execute programs run from
 inside Emacs.
 @item SMTPSERVER
-The name of the outgoing mail server.  Used by the SMTP library
-(@pxref{Top,,,smtpmail,Sending mail via SMTP}).
+@vindex SMTPSERVER, environment variable
+The name of the outgoing mail server.  This is used to initialize the
+variable @code{smtpmail-smtp-server} (@pxref{Mail Sending}).
 @cindex background mode, on @command{xterm}
 @item TERM
+@vindex TERM, environment variable
 The type of the terminal that Emacs is using.  This variable must be
 set unless Emacs is run in batch mode.  On MS-DOS, it defaults to
 @samp{internal}, which specifies a built-in terminal emulation that
-handles the machine's own display.  If the value of @env{TERM} indicates
-that Emacs runs in non-windowed mode from @command{xterm} or a similar
-terminal emulator, the background mode defaults to @samp{light}, and
-Emacs will choose colors that are appropriate for a light background.
+handles the machine's own display.
 @item TERMCAP
+@vindex TERMCAP, environment variable
 The name of the termcap library file describing how to program the
-terminal specified by the @env{TERM} variable.  This defaults to
+terminal specified by @env{TERM}.  This defaults to
 @file{/etc/termcap}.
 @item TMPDIR
-Used by the Emerge package as a prefix for temporary files.
+@vindex TMPDIR, environment variable
+@itemx TMP
+@vindex TMP, environment variable
+@itemx TEMP
+@vindex TEMP, environment variable
+These environment variables are used to initialize the variable
+@code{temporary-file-directory}, which specifies a directory in which
+to put temporary files (@pxref{Backup}).  Emacs tries to use
+@env{TMPDIR} first.  If that is unset, Emacs normally falls back on
+@file{/tmp}, but on MS-Windows and MS-DOS it instead falls back on
+@env{TMP}, then @env{TEMP}, and finally @file{c:/temp}.
 @item TZ
+@vindex TZ, environment variable
 This specifies the current time zone and possibly also daylight
 saving time information.  On MS-DOS, if @env{TZ} is not set in the
 environment when Emacs starts, Emacs defines a default value as
-appropriate for the country code returned by DOS.  On MS-Windows, Emacs
+appropriate for the country code returned by DOS@.  On MS-Windows, Emacs
 does not use @env{TZ} at all.
 @item USER
+@vindex USER, environment variable
 The user's login name.  See also @env{LOGNAME}.  On MS-DOS, this
 defaults to @samp{root}.
 @item VERSION_CONTROL
-Used to initialize the @code{version-control} variable (@pxref{Backup Names}).
+@vindex VERSION_CONTROL, environment variable
+Used to initialize the @code{version-control} variable (@pxref{Backup
+Names}).
 @end table
 
 @node Misc Variables
@@ -613,7 +653,7 @@ Used to initialize the @code{version-control} variable (@pxref{Backup Names}).
 
 These variables are used only on particular configurations:
 
-@table @env
+@vtable @env
 @item COMSPEC
 On MS-DOS and MS-Windows, the name of the command interpreter to use
 when invoking batch files and commands internal to the shell.  On MS-DOS
@@ -624,11 +664,6 @@ variable.
 On MS-DOS, this variable defaults to the value of the @env{USER}
 variable.
 
-@item TEMP
-@itemx TMP
-On MS-DOS and MS-Windows, these specify the name of the directory for
-storing temporary files in.
-
 @item EMACSTEST
 On MS-DOS, this specifies a file to use to log the operation of the
 internal terminal emulator.  This feature is useful for submitting bug
@@ -670,14 +705,14 @@ rather than hard-coding an absolute path.  This allows multiple
 versions of Emacs to share the same environment variable settings, and
 it allows you to move the Emacs installation directory, without
 changing any environment or registry settings.
-@end table
+@end vtable
 
 @node MS-Windows Registry
 @appendixsubsec The MS-Windows System Registry
 @pindex addpm, MS-Windows installation program
-@cindex registry, setting environment variables and resources on MS-Windows
+@cindex registry, setting environment variables (MS-Windows)
 
-Under MS-Windows, the installation program @command{addpm.exe} adds
+On MS-Windows, the installation program @command{addpm.exe} adds
 values for @env{emacs_dir}, @env{EMACSLOADPATH}, @env{EMACSDATA},
 @env{EMACSPATH}, @env{EMACSDOC}, @env{SHELL} and @env{TERM} to the
 @file{HKEY_LOCAL_MACHINE} section of the system registry, under
@@ -704,37 +739,27 @@ still cannot determine the values, compiled-in defaults are used.
 In addition to the environment variables above, you can also add many
 of the settings which on X belong in the @file{.Xdefaults} file
 (@pxref{X Resources}) to the @file{/Software/GNU/Emacs} registry key.
-Settings you add to the @file{HKEY_LOCAL_MACHINE} section will affect
-all users of the machine.  Settings you add to the
-@file{HKEY_CURRENT_USER} section will only affect you, and will
-override machine wide settings.
 
 @node Display X
 @appendixsec Specifying the Display Name
 @cindex display name (X Window System)
 @cindex @env{DISPLAY} environment variable
 
-  The environment variable @env{DISPLAY} tells all X clients, including
-Emacs, where to display their windows.  Its value is set by default
-in ordinary circumstances, when you start an X server and run jobs
-locally.  Occasionally you may need to specify the display yourself; for
-example, if you do a remote login and want to run a client program
-remotely, displaying on your local screen.
-
-  With Emacs, the main reason people change the default display is to
-let them log into another system, run Emacs on that system, but have the
-window displayed at their local terminal.  You might need to log in
-to another system because the files you want to edit are there, or
-because the Emacs executable file you want to run is there.
+  The environment variable @env{DISPLAY} tells all X clients,
+including Emacs, where to display their windows.  Its value is set by
+default in ordinary circumstances, when you start an X server and run
+jobs locally.  You can specify the display yourself; one reason to do
+this is if you want to log into another system and run Emacs there,
+and have the window displayed at your local terminal.
 
   @env{DISPLAY} has the syntax
 @samp{@var{host}:@var{display}.@var{screen}}, where @var{host} is the
 host name of the X Window System server machine, @var{display} is an
 arbitrarily-assigned number that distinguishes your server (X
 terminal) from other servers on the same machine, and @var{screen} is
-a rarely-used field that allows an X server to control multiple
-terminal screens.  The period and the @var{screen} field are optional.
-If included, @var{screen} is usually zero.
+a field that allows an X server to control multiple terminal screens.
+The period and the @var{screen} field are optional.  If included,
+@var{screen} is usually zero.
 
   For example, if your host is named @samp{glasperle} and your server is
 the first (or perhaps the only) server listed in the configuration, your
@@ -748,9 +773,9 @@ by changing the @env{DISPLAY} variable, or with the option @samp{-d
 emacs --display=glasperle:0 &
 @end smallexample
 
-  You can inhibit the direct use of the window system and GUI with the
-@samp{-nw} option.  It tells Emacs to display using ordinary @acronym{ASCII} on
-its controlling terminal.  This is also an initial option.
+  You can inhibit the use of the X window system with the @samp{-nw}
+option.  Then Emacs uses its controlling text terminal for display.
+@xref{Initial Options}.
 
   Sometimes, security arrangements prevent a program on a remote system
 from displaying on your local system.  In this case, trying to run Emacs
@@ -782,39 +807,26 @@ font:
 Use @var{font} as the default font.
 @end table
 
-When passing a font specification to Emacs on the command line, you
-may need to ``quote'' it, by enclosing it in quotation marks, if it
-contains characters that the shell treats specially (e.g. spaces).
-For example:
+When passing a font name to Emacs on the command line, you may need to
+quote it, by enclosing it in quotation marks, if it contains
+characters that the shell treats specially (e.g., spaces).  For
+example:
 
 @smallexample
 emacs -fn "DejaVu Sans Mono-12"
 @end smallexample
 
-@xref{Fonts}, for other ways to specify the default font and font name
-formats.
+@xref{Fonts}, for details about font names and other ways to specify
+the default font.
 
-@node Colors
+@node Colors X
 @appendixsec Window Color Options
 @cindex color of window, from command line
 @cindex text colors, from command line
 
-@findex list-colors-display
-@cindex available colors
-  On a color display, you can specify which color to use for various
-parts of the Emacs display.  To find out what colors are available on
-your system, type @kbd{M-x list-colors-display}, or press
-@kbd{C-Mouse-2} and select @samp{Display Colors} from the pop-up menu.
-(A particular window system might support many more colors, but the
-list displayed by @code{list-colors-display} shows their portable
-subset that can be safely used on any display supported by Emacs.)
-If you do not specify colors, on windowed displays the default for the
-background is white and the default for all other colors is black.  On a
-monochrome display, the foreground is black, the background is white,
-and the border is gray if the display supports that.  On terminals, the
-background is usually black and the foreground is white.
-
-  Here is a list of the command-line options for specifying colors:
+  You can use the following command-line options to specify the colors
+to use for various parts of the Emacs display.  Colors may be
+specified using either color names or RGB triplets (@pxref{Colors}).
 
 @table @samp
 @item -fg @var{color}
@@ -822,21 +834,22 @@ background is usually black and the foreground is white.
 @itemx --foreground-color=@var{color}
 @opindex --foreground-color
 @cindex foreground color, command-line argument
-Specify the foreground color.  @var{color} should be a standard color
-name, or a numeric specification of the color's red, green, and blue
-components as in @samp{#4682B4} or @samp{RGB:46/82/B4}.
+Specify the foreground color, overriding the color specified by the
+@code{default} face (@pxref{Faces}).
 @item -bg @var{color}
 @opindex -bg
 @itemx --background-color=@var{color}
 @opindex --background-color
 @cindex background color, command-line argument
-Specify the background color.
+Specify the background color, overriding the color specified by the
+@code{default} face.
 @item -bd @var{color}
 @opindex -bd
 @itemx --border-color=@var{color}
 @opindex --border-color
 @cindex border color, command-line argument
-Specify the color of the border of the X window.
+Specify the color of the border of the X window.  This has no effect
+if Emacs is compiled with GTK+ support.
 @item -cr @var{color}
 @opindex -cr
 @itemx --cursor-color=@var{color}
@@ -861,11 +874,10 @@ Reverse video---swap the foreground and background colors.
 @opindex --color
 @cindex standard colors on a character terminal
 @cindex override character terminal color support
-For a character terminal only, specify the mode of color support.
-This option is intended for overriding the number of supported colors
-that the character terminal advertises in its @code{termcap} or
-@code{terminfo} database.  The parameter @var{mode} can be one of the
-following:
+Set the @dfn{color support mode} when Emacs is run on a text terminal.
+This option overrides the number of supported colors that the
+character terminal advertises in its @code{termcap} or @code{terminfo}
+database.  The parameter @var{mode} can be one of the following:
 @table @samp
 @item never
 @itemx no
@@ -889,7 +901,7 @@ otherwise use an appropriate standard mode for @var{num} colors.
 Depending on your terminal's capabilities, Emacs might be able to turn
 on a color mode for 8, 16, 88, or 256 as the value of @var{num}.  If
 there is no mode that supports @var{num} colors, Emacs acts as if
-@var{num} were 0, i.e.@: it uses the terminal's default color support
+@var{num} were 0, i.e., it uses the terminal's default color support
 mode.
 @end table
 If @var{mode} is omitted, it defaults to @var{ansi8}.
@@ -905,8 +917,8 @@ emacs -ms coral -cr 'slate blue' &
   You can reverse the foreground and background colors through the
 @samp{-rv} option or with the X resource @samp{reverseVideo}.
 
-  The @samp{-fg}, @samp{-bg}, and @samp{-rv} options function on
-text-only terminals as well as on graphical displays.
+  The @samp{-fg}, @samp{-bg}, and @samp{-rv} options function on text
+terminals as well as on graphical displays.
 
 @node Window Size X
 @appendixsec Options for Window Size and Position
@@ -935,30 +947,33 @@ the initial frame.
 @itemx --fullscreen
 @opindex --fullscreen
 @cindex fullscreen, command-line argument
-Specify that width and height shall be the size of the screen. Normally
-no window manager decorations are shown.
+Specify that width and height should be that of the screen.  Normally
+no window manager decorations are shown.  (After starting Emacs,
+you can toggle this state using @key{F11}, @code{toggle-frame-fullscreen}.)
 
 @item -mm
 @opindex -mm
 @itemx --maximized
 @opindex --maximized
 @cindex maximized, command-line argument
-Specify that the Emacs frame shall be maximized.  This normally
+Specify that the Emacs frame should be maximized.  This normally
 means that the frame has window manager decorations.
+(After starting Emacs, you can toggle this state using @kbd{M-F10},
+@code{toggle-frame-maximized}.)
 
 @item -fh
 @opindex -fh
 @itemx --fullheight
 @opindex --fullheight
 @cindex fullheight, command-line argument
-Specify that the height shall be the height of the screen.
+Specify that the height should be the height of the screen.
 
 @item -fw
 @opindex -fw
 @itemx --fullwidth
 @opindex --fullwidth
 @cindex fullwidth, command-line argument
-Specify that the width shall be the width of the screen.
+Specify that the width should be the width of the screen.
 @end table
 
 @noindent
@@ -1018,10 +1033,10 @@ size with no tool bar, use an X resource to specify ``no tool bar''
 (@pxref{Table of Resources}); then Emacs will already know there's no
 tool bar when it processes the specified geometry.
 
-  When using one of @samp{--fullscreen}, @samp{--maximized}, @samp{--fullwidth}
-or @samp{--fullheight} there may be some space around the frame
-anyway.  That is because Emacs rounds the sizes so they are an
-even number of character heights and widths.
+  When using one of @samp{--fullscreen}, @samp{--maximized},
+@samp{--fullwidth} or @samp{--fullheight}, some window managers require
+you to set the variable @code{frame-resize-pixelwise} to a non-@code{nil}
+value to make a frame appear truly maximized or fullscreen.
 
  Some window managers have options that can make them ignore both
 program-specified and user-specified positions.  If these are set,
@@ -1100,29 +1115,30 @@ for the initial Emacs frame.
 @opindex --iconic
 @itemx --iconic
 @cindex start iconified, command-line argument
-Start Emacs in an iconified (``minimized'') state.
+Start Emacs in an iconified state.
 
 @item -nbi
 @opindex -nbi
 @itemx --no-bitmap-icon
 @opindex --no-bitmap-icon
 @cindex Emacs icon, a gnu
-Do not use a picture of a gnu as the Emacs icon.
+Disable the use of the Emacs icon.
 @end table
 
-  Most window managers allow you to ``iconify'' (or ``minimize'') an
+  Most window managers allow you to iconify (or minimize) an
 Emacs frame, hiding it from sight.  Some window managers replace
-iconified windows with tiny ``icons'', while others remove them
+iconified windows with tiny icons, while others remove them
 entirely from sight.  The @samp{-iconic} option tells Emacs to begin
 running in an iconified state, rather than showing a frame right away.
-The text frame doesn't appear until you deiconify (or ``un-minimize'')
+The text frame doesn't appear until you deiconify (or un-minimize)
 it.
 
   By default, Emacs uses an icon containing the Emacs logo.  On
-desktop environments such as Gnome, this icon is also displayed on the
-``taskbar''.  The @samp{-nbi} or @samp{--no-bitmap-icon} option tells
-Emacs to let the window manager choose what sort of icon to
-use---usually just a small rectangle containing the frame's title.
+desktop environments such as Gnome, this icon is also displayed in
+other contexts, e.g., when switching into an Emacs frame.  The
+@samp{-nbi} or @samp{--no-bitmap-icon} option tells Emacs to let the
+window manager choose what sort of icon to use---usually just a small
+rectangle containing the frame's title.
 
 @node Misc X
 @appendixsec Other Display Options
@@ -1136,8 +1152,8 @@ use---usually just a small rectangle containing the frame's title.
 @c Enable horizontal scroll bars.  Since horizontal scroll bars
 @c are not yet implemented, this actually does nothing.
 
-@item --parent-id @var{ID}
-Open Emacs as a client X window via the XEmbed protocol, with @var{ID}
+@item --parent-id @var{id}
+Open Emacs as a client X window via the XEmbed protocol, with @var{id}
 as the parent X window id.  Currently, this option is mainly useful
 for developers.