]> code.delx.au - gnu-emacs/blobdiff - man/cmdargs.texi
(mode-line-buffer-identification-keymap):
[gnu-emacs] / man / cmdargs.texi
index 21426a86a4c5fbe0bd82dfa9c95caacb891a170d..fc17d7ec6950198fbedadf70413f59397da5bfa0 100644 (file)
@@ -1,28 +1,31 @@
 @c This is part of the Emacs manual.
-@c Copyright (C) 1985,86,87,93,94,95,97,2001,03,2004 Free Software Foundation, Inc.
+@c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 2001, 2002,
+@c   2003, 2004, 2005, 2006 Free Software Foundation, Inc.
 @c See file emacs.texi for copying conditions.
-@node Command Line, X Resources, GNU Free Documentation License, Top
-@appendix Command Line Arguments
+@node Emacs Invocation, X Resources, GNU Free Documentation License, Top
+@appendix Command Line Arguments for Emacs Invocation
 @cindex command line arguments
 @cindex arguments (command line)
 @cindex options (command line)
 @cindex switches (command line)
 @cindex startup (command line arguments)
+@cindex invocation (command line arguments)
 
   GNU Emacs supports command line arguments to request various actions
 when invoking Emacs.  These are for compatibility with other editors and
 for sophisticated activities.  We don't recommend using them for
 ordinary editing.
 
-  Arguments starting with @samp{-} are @dfn{options}.  Other arguments
-specify files to visit.  Emacs visits the specified files while it
-starts up.  The last file name on your command line becomes the
-current buffer; the other files are also visited in other buffers.  If
-there are two files, they are both displayed; otherwise the last file
-is displayed along with a buffer list that shows what other buffers
-there are.  As with most programs, the special argument @samp{--} says
-that all subsequent arguments are file names, not options, even if
-they start with @samp{-}.
+  Arguments starting with @samp{-} are @dfn{options}, and so is
+@samp{+@var{linenum}}.  All other arguments specify files to visit.
+Emacs visits the specified files while it starts up.  The last file
+name on your command line becomes the current buffer; the other files
+are also visited in other buffers.  If there are two files, they are
+both displayed; otherwise the last file is displayed along with a
+buffer list that shows what other buffers there are.  As with most
+programs, the special argument @samp{--} says that all subsequent
+arguments are file names, not options, even if they start with
+@samp{-}.
 
   Emacs command options can specify many things, such as the size and
 position of the X window Emacs uses, its colors, and so on.  A few
@@ -111,9 +114,14 @@ 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}.  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}).
+@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}).
+
+@strong{Warning:} If previous command-line arguments have visited
+files, the current directory is the directory of the last file
+visited.
 
 @item -L @var{dir}
 @opindex -L
@@ -169,8 +177,9 @@ sections.
   Some initial options affect the loading of init files.  The normal
 actions of Emacs are to first load @file{site-start.el} if it exists,
 then your own init file @file{~/.emacs} if it exists, and finally
-@file{default.el} if it exists; certain options prevent loading of some
-of these files or substitute other files for them.
+@file{default.el} if it exists.  @xref{Init File}.  Certain options
+prevent loading of some of these files or substitute other files for
+them.
 
 @table @samp
 @item -t @var{device}
@@ -217,10 +226,11 @@ echo area, while @code{message} and error messages output to
 @code{stderr}.  Functions that would normally read from the minibuffer
 take their input from @code{stdin} instead.
 
-@samp{--batch} implies @samp{-q} (do not load an init file).  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.
+@samp{--batch} implies @samp{-q} (do not load an init 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.
 
 @item --script @var{file}
 @opindex --script
@@ -257,15 +267,15 @@ changed with the @kbd{M-x customize} command and its variants.
 @opindex --no-site-file
 @cindex @file{site-start.el} file, not loading
 Do not load @file{site-start.el}.  The options @samp{-q}, @samp{-u}
-and @samp{--batch} have no effect on the loading of this file---this is
-the only option that blocks it.
+and @samp{--batch} have no effect on the loading of this file---this
+option and @samp{-Q} are the only options that block it.
 
 @item -Q
 @opindex -Q
-Start emacs with minimum customizations and window decorations.
-This is like using @samp{-q} and @samp{--no-site-file}, but in
-addition it also disables the menu-bar, the tool-bar, the scroll-bars,
-tool tips, the blinking cursor, and the fancy startup screen.
+@itemx --quick
+@opindex --quick
+Start emacs with minimum customizations.  This is like using @samp{-q}
+and @samp{--no-site-file}, but also disables the startup screen.
 
 @item --no-splash
 @opindex --no-splash
@@ -283,12 +293,15 @@ Do not reload any saved desktop.  @xref{Saving Emacs Sessions}.
 @opindex --user
 @cindex load init file of another user
 Load @var{user}'s Emacs init file @file{~@var{user}/.emacs} instead of
-your own.
+your own@footnote{
+This option has no effect on MS-Windows.}.
 
 @item --debug-init
 @opindex --debug-init
 @cindex errors in init file
 Enable the Emacs Lisp debugger for errors in the init file.
+@xref{Error Debugging,, Entering the Debugger on an Error, elisp, The
+GNU Emacs Lisp Reference Manual}.
 
 @item --unibyte
 @opindex --unibyte
@@ -300,7 +313,8 @@ All buffers and strings are unibyte unless you (or a Lisp program)
 explicitly ask for a multibyte buffer or string.  (Note that Emacs
 always loads Lisp files in multibyte mode, even if @samp{--unibyte} is
 specified; see @ref{Enabling Multibyte}.)  Setting the environment
-variable @env{EMACS_UNIBYTE} has the same effect.
+variable @env{EMACS_UNIBYTE} has the same effect
+(@pxref{General Variables}).
 
 @item --multibyte
 @opindex --multibyte
@@ -319,7 +333,7 @@ loaded, performs some useful operation on the current buffer, expected
 to be a C program.
 
 @example
-emacs -batch foo.c -l hack-c -f save-buffer >& log
+emacs --batch foo.c -l hack-c -f save-buffer >& log
 @end example
 
 @noindent
@@ -448,7 +462,7 @@ Directory for the documentation string file,
 variable @code{doc-directory}.
 @item EMACSLOADPATH
 A colon-separated list of directories@footnote{
-Here and below, whenever we say ``colon-separated list of directories'',
+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.}
@@ -456,6 +470,11 @@ to search for Emacs Lisp files---used to initialize @code{load-path}.
 @item EMACSPATH
 A colon-separated list of directories to search for executable
 files---used to initialize @code{exec-path}.
+@item EMAIL
+@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}).
 @item ESHELL
 Used for shell-mode to override the @env{SHELL} environment variable.
 @item HISTFILE
@@ -464,11 +483,16 @@ 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
-The location of the user's 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 @samp{/bin}
-removed from the end if it was present.  On Windows, the default value
-of @env{HOME} is @file{C:/}, the root directory of drive @file{C:}.
+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
+@samp{/bin} removed from the end if it was present.  On Windows, the
+default value of @env{HOME} is the @file{Application Data}
+subdirectory of the user profile directory (normally, this is
+@file{C:/Documents and Settings/@var{username}/Application Data},
+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
 The name of the machine that Emacs is running on.
 @item INCPATH
@@ -507,11 +531,11 @@ environment and coding system.  @xref{Language Environments}.
 @item LOGNAME
 The user's login name.  See also @env{USER}.
 @item MAIL
-The name of the user's system mail inbox.
+The name of your system mail inbox.
 @item MH
 Name of setup file for the mh system.  (The default is @file{~/.mh_profile}.)
 @item NAME
-The real-world name of the user.
+Your real-world name.
 @item NNTPSERVER
 The name of the news server.  Used by the mh and Gnus packages.
 @item ORGANIZATION
@@ -533,7 +557,7 @@ 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,,Sending mail via SMTP,smtpmail}).
+(@pxref{Top,,,smtpmail,Sending mail via SMTP}).
 @cindex background mode, on @command{xterm}
 @item TERM
 The type of the terminal that Emacs is using.  This variable must be
@@ -559,8 +583,7 @@ does not use @env{TZ} at all.
 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}).
+Used to initialize the @code{version-control} variable (@pxref{Numbered Backups}).
 @end table
 
 @node Misc Variables
@@ -635,15 +658,15 @@ changing any environment or registry settings.
 @pindex addpm, MS-Windows installation program
 @cindex registry, setting environment variables and resources on MS-Windows
 
-On MS-Windows, the installation program @command{addpm.exe} adds values
-for @env{emacs_dir}, @env{EMACSLOADPATH}, @env{EMACSDATA},
+Under 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
 @file{/Software/GNU/Emacs}.  It does this because there is no standard
 place to set environment variables across different versions of
-Windows.  Running @command{addpm.exe} is no longer strictly
-necessary in recent versions of Emacs, but if you are upgrading from
-an older version, running @command{addpm.exe} ensures that you do not have
+Windows.  Running @command{addpm.exe} is no longer strictly necessary
+in recent versions of Emacs, but if you are upgrading from an older
+version, running @command{addpm.exe} ensures that you do not have
 older registry entries from a previous installation, which may not be
 compatible with the latest version of Emacs.
 
@@ -873,6 +896,9 @@ displays the entire font @samp{6x13}.
 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,
@@ -946,7 +972,9 @@ specified by the ANSI escape sequences for the 8 standard colors.
 Use color mode for @var{num} colors.  If @var{num} is -1, turn off
 color support (equivalent to @samp{never}); if it is 0, use the
 default color support for this terminal (equivalent to @samp{auto});
-otherwise use an appropriate standard mode for @var{num} colors.  If
+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
 mode.
@@ -965,7 +993,7 @@ emacs -ms coral -cr 'slate blue' &
 @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 window systems.
+text-only terminals as well as on graphical displays.
 
 @node Window Size X
 @appendixsec Options for Window Size and Position
@@ -985,7 +1013,9 @@ position of the initial Emacs frame:
 @cindex geometry, command-line argument
 Specify the size @var{width} and @var{height} (measured in character
 columns and lines), and positions @var{xoffset} and @var{yoffset}
-(measured in pixels).  This applies to all frames.
+(measured in pixels).  The @var{width} and @var{height} parameters
+apply to all frames, whereas @var{xoffset} and @var{yoffset} only to
+the initial frame.
 
 @item -fs
 @opindex -fs
@@ -1143,19 +1173,19 @@ for the initial Emacs frame.
 @appendixsec Icons
 @cindex icons (X Window System)
 
-  Most window managers allow the user to ``iconify'' a frame, removing
+  Most window managers allow you to ``iconify'' a frame, removing
 it from sight, and leaving a small, distinctive ``icon'' window in its
 place.  Clicking on the icon window makes the frame itself appear again.
 If you have many clients running at once, you can avoid cluttering up
 the screen by iconifying most of the clients.
 
 @table @samp
-@item -i
-@opindex -i
-@itemx --icon-type
-@opindex --icon-type
+@item -nbi
+@opindex -nbi
+@itemx --no-bitmap-icon
+@opindex --no-bitmap-icon
 @cindex Emacs icon, a gnu
-Use a picture of a gnu as the Emacs icon.
+Do not use a picture of a gnu as the Emacs icon.
 
 @item -iconic
 @opindex --iconic
@@ -1164,8 +1194,8 @@ Use a picture of a gnu as the Emacs icon.
 Start Emacs in iconified state.
 @end table
 
-  The @samp{-i} or @samp{--icon-type} option tells Emacs to use an icon
-window containing a picture of the GNU gnu.  If omitted, Emacs lets the
+  By default Emacs uses an icon window containing a picture of the GNU gnu.
+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.
 
@@ -1182,8 +1212,9 @@ appear until you deiconify it.
 @opindex -hb
 @itemx --horizontal-scroll-bars
 @opindex --horizontal-scroll-bars
-@cindex horizontal scroll bars, command-line argument
-Enable horizontal scroll bars.
+@c @cindex horizontal scroll bars, command-line argument
+Enable horizontal scroll bars.  Since horizontal scroll bars
+are not yet implemented, this actually does nothing.
 
 @item -vb
 @opindex -vb
@@ -1198,6 +1229,21 @@ Enable vertical scroll bars.
 @opindex --line-spacing
 @cindex line spacing, command-line argument
 Specify @var{pixels} as additional space to put between lines, in pixels.
+
+@item -nbc
+@opindex -nbc
+@itemx --no-blinking-cursor
+@opindex --no-blinking-cursor
+@cindex blinking cursor disable, command-line argument
+Disable the blinking cursor on graphical displays.
+
+@item -D
+@opindex -D
+@itemx --basic-display
+@opindex --basic-display
+Disable the menu-bar, the tool-bar, the scroll-bars, and tool tips,
+and turn off the blinking cursor.  This can be useful for making a
+test case that simplifies debugging of display problems.
 @end table
 
   The @samp{--xrm} option (@pxref{Resources}) specifies additional