]> code.delx.au - gnu-emacs/blobdiff - man/cmdargs.texi
(nnmail-extra-headers): Add defvar.
[gnu-emacs] / man / cmdargs.texi
index 3daf96f0d0087b661c3cab19a8f1b8f73dbc087c..dad7e61dbf280bac8cfeccf7919906bcac8595fd 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 Free Software Foundation, Inc.
 @c See file emacs.texi for copying conditions.
-@node Command Arguments, X Resources, Service, 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}
@@ -204,22 +213,24 @@ and input.
 @item -batch
 @opindex --batch
 @itemx --batch
-Run Emacs in @dfn{batch mode}, which means that the text being edited is
-not displayed and the standard terminal interrupt characters such as
-@kbd{C-z} and @kbd{C-c} continue to have their normal effect.  Emacs in
-batch mode outputs to @code{stderr} only what would normally be displayed
-in the echo area under program control, and functions which would
-normally read from the minibuffer take their input from @code{stdin}.
-
-Batch mode is used for running programs written in Emacs Lisp from
-shell scripts, makefiles, and so on.  Normally the @samp{-l} option
-or @samp{-f} option will be used as well, to invoke a Lisp program
-to do the batch processing.
-
-@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.
+Run Emacs in @dfn{batch mode}.  Batch mode is used for running
+programs written in Emacs Lisp from shell scripts, makefiles, and so
+on.  You should also use the @samp{-l} option or @samp{-f} option, to
+invoke a Lisp program to do batch processing.
+
+In batch mode, Emacs does not display the text being edited, and the
+standard terminal interrupt characters such as @kbd{C-z} and @kbd{C-c}
+continue to have their normal effect.  The functions @code{prin1},
+@code{princ} and @code{print} output to @code{stdout} instead of the
+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), 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
@@ -256,8 +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
+@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
@@ -281,6 +299,8 @@ your own.
 @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
@@ -292,7 +312,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
@@ -311,7 +332,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
@@ -440,7 +461,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.}
@@ -457,10 +478,15 @@ This variable defaults to @file{~/.bash_history} if you use Bash, to
 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:}.
+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
@@ -865,6 +891,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,
@@ -938,7 +967,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.
@@ -1174,8 +1205,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
@@ -1190,6 +1222,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 terminals.
+
+@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