Mercurial > hg > xemacs-beta
diff man/xemacs/cmdargs.texi @ 0:376386a54a3c r19-14
Import from CVS: tag r19-14
author | cvs |
---|---|
date | Mon, 13 Aug 2007 08:45:50 +0200 |
parents | |
children | 5a79be0ef6a8 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/man/xemacs/cmdargs.texi Mon Aug 13 08:45:50 2007 +0200 @@ -0,0 +1,260 @@ + +@node Command Switches, Basic, Exiting, Top +@section Command Line Switches and Arguments +@cindex command line arguments +@cindex arguments (from shell) + + XEmacs supports command line arguments you can use to request +various actions when invoking Emacs. The commands are for compatibility +with other editors and for sophisticated activities. If you are using +XEmacs under the X window system, you can also use a number of +standard Xt command line arguments. Command line arguments are not usually +needed for editing with Emacs; new users can skip this section. + +Many editors are designed to be started afresh each time you want to +edit. You start the editor to edit one file; then exit the editor. The +next time you want to edit either another file or the same one, you +start the editor again. Under these circumstances, it makes sense to use a +command line argument to say which file to edit. + + The recommended way to use XEmacs is to start it only once, just +after you log in, and do all your editing in the same Emacs process. +Each time you want to edit a file, you visit it using the existing +Emacs. Emacs creates a new buffer for each file, and (unless you kill +some of the buffers) Emacs eventually has many files in it ready for +editing. Usually you do not kill the Emacs process until you are about +to log out. Since you usually read files by typing commands to Emacs, +command line arguments for specifying a file when Emacs is started are seldom +needed. + + Emacs accepts command-line arguments that specify files to visit, +functions to call, and other activities and operating modes. If you are +running XEmacs under the X window system, a number of standard +Xt command line arguments are available as well. + +The following subsections list: +@itemize @bullet +@item +Command line arguments that you can always use +@item +Command line arguments that have to appear at the beginning of the +argument list +@item +Command line arguments that are only relevant if you are running XEmacs +under X +@end itemize + +@subsection Command Line Arguments for Any Position + Command line arguments are processed in the order they appear on the +command line; however, certain arguments (the ones in the +second table) must be at the front of the list if they are used. + + Here are the arguments allowed: + +@table @samp +@item @var{file} +Visit @var{file} using @code{find-file}. @xref{Visiting}. + +@item +@var{linenum} @var{file} +Visit @var{file} using @code{find-file}, then go to line number +@var{linenum} in it. + +@item -load @var{file} +@itemx -l @var{file} +Load a file @var{file} of Lisp code with the function @code{load}. +@xref{Lisp Libraries}. + +@item -funcall @var{function} +@itemx -f @var{function} +Call Lisp function @var{function} with no arguments. + +@item -eval @var{function} +Interpret the next argument as a Lisp expression, and evaluate it. +You must be very careful of the shell quoting here. + +@item -insert @var{file} +@itemx -i @var{file} +Insert the contents of @var{file} into the current buffer. This is like +what @kbd{M-x insert-buffer} does; @xref{Misc File Ops}. + +@item -kill +Exit from Emacs without asking for confirmation. + +@item -version +Prints version information. This implies @samp{-batch}. + +@example +% xemacs -version +XEmacs 19.13 of Mon Aug 21 1995 on willow (usg-unix-v) [formerly Lucid Emacs] +@end example + +@item -help +Prints a summary of command-line options and then exits. +@end table + +@subsection Command Line Arguments (Beginning of Line Only) + The following arguments are recognized only at the beginning of the +command line. If more than one of them appears, they must appear in the +order in which they appear in this table. + +@table @samp +@item -t @var{file} +Use @var{file} instead of the terminal for input and output. This +implies the @samp{-nw} option, documented below. + +@cindex batch mode +@item -batch +Run Emacs in @dfn{batch mode}, which means that the text being edited is +not displayed and the standard Unix 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 printed +in the echo area under program control. + +Batch mode is used for running programs written in Emacs Lisp from shell +scripts, makefiles, and so on. Normally the @samp{-l} switch or +@samp{-f} switch 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 kill itself after all command switches have been +processed. In addition, auto-saving is not done except in buffers for +which it has been explicitly requested. + +@item -nw +Start up XEmacs in TTY mode (using the TTY XEmacs was started from), +rather than trying to connect to an X display. Note that this happens +automatically if the @samp{DISPLAY} environment variable is not set. + +@item -debug-init +Enter the debugger if an error in the init file occurs. + +@item -unmapped +Do not map the initial frame. This is useful if you want to start up +XEmacs as a server (e.g. for gnuserv screens or external client widgets). + +@item -no-init-file +@itemx -q +Do not load your Emacs init file @file{~/.emacs}. + +@item -no-site-file +Do not load the site-specific init file @file{lisp/site-start.el}. + +@item -user @var{user} +@itemx -u @var{user} +Load @var{user}'s Emacs init file @file{~@var{user}/.emacs} instead of +your own. +@end table + +@vindex command-line-args + Note that the init file can get access to the command line argument +values as the elements of a list in the variable +@code{command-line-args}. (The arguments in the second table above will +already have been processed and will not be in the list.) The init file +can override the normal processing of the other arguments by setting +this variable. + + One way to use command switches is to visit many files automatically: + +@example +xemacs *.c +@end example + +@noindent +passes each @code{.c} file as a separate argument to Emacs, so that +Emacs visits each file (@pxref{Visiting}). + + Here is an advanced example that assumes you have a Lisp program file +called @file{hack-c-program.el} which, when loaded, performs some useful +operation on the current buffer, expected to be a C program. + +@example +xemacs -batch foo.c -l hack-c-program -f save-buffer -kill > log +@end example + +@noindent +Here Emacs is told to visit @file{foo.c}, load @file{hack-c-program.el} +(which makes changes in the visited file), save @file{foo.c} (note that +@code{save-buffer} is the function that @kbd{C-x C-s} is bound to), and +then exit to the shell from which the command was executed. @samp{-batch} +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. + +@subsection Command Line Arguments (for XEmacs Under X) +@vindex frame-title-format +@vindex frame-icon-title-format +If you are running XEmacs under X, a number of options are +available to control color, border, and window title and icon name: + +@table @samp +@item -title @var{title} +@itemx -wn @var{title} +@itemx -T @var{title} +Use @var{title} as the window title. This sets the +@code{frame-title-format} variable, which controls the title of the X +window corresponding to the selected frame. This is the same format as +@code{mode-line-format}. + +@item -iconname @var{title} +@itemx -in @var{title} +Use @var{title} as the icon name. This sets the +@code{frame-icon-title-format} variable, which controls the title of +the icon corresponding to the selected frame. + +@item -mc @var{color} +Use @var{color} as the mouse color. + +@item -cr @var{color} +Use @var{color} as the text-cursor foreground color. +@end table + +In addition, XEmacs allows you to use a number of standard Xt +command line arguments. + +@table @samp + +@item -background @var{color} +@itemx -bg @var{color} +Use @var{color} as the background color. + +@item -bordercolor @var{color} +@itemx -bd @var{color} +Use @var{color} as the border color. + +@item -borderwidth @var{width} +@itemx -bw @var{width} +Use @var{width} as the border width. + +@item -display @var{display} +@itemx -d @var{display} +When running under the X window system, create the window containing the +Emacs frame on the display named @var{display}. + +@item -foreground @var{color} +@itemx -fg @var{color} +Use @var{color} as the foreground color. + +@item -font @var{name} +@itemx -fn @var{name} +Use @var{name} as the default font. + +@item -geometry @var{spec} +@itemx -geom @var{spec} +@itemx -g @var{spec} +Use the geometry (window size and/or position) specified by @var{spec}. + +@item -iconic +Start up iconified. + +@item -rv +Bring up Emacs in reverse video. + +@item -name @var{name} +Use the resource manager resources specified by @var{name}. +The default is to use the name of the program (@code{argv[0]}) as +the resource manager name. + +@item -xrm +Read something into the resource database for this invocation of Emacs only. + +@end table