annotate man/xemacs/cmdargs.texi @ 428:3ecd8885ac67 r21-2-22

Import from CVS: tag r21-2-22
author cvs
date Mon, 13 Aug 2007 11:28:15 +0200
parents
children abe6d1db359e
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
2 @node Command Switches, Startup Paths, Exiting, Top
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3 @section Command Line Switches and Arguments
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4 @cindex command line arguments
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
5 @cindex arguments (from shell)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
6
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
7 XEmacs supports command line arguments you can use to request
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8 various actions when invoking Emacs. The commands are for compatibility
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
9 with other editors and for sophisticated activities. If you are using
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
10 XEmacs under the X window system, you can also use a number of
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
11 standard Xt command line arguments. Command line arguments are not usually
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
12 needed for editing with Emacs; new users can skip this section.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
13
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
14 Many editors are designed to be started afresh each time you want to
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
15 edit. You start the editor to edit one file; then exit the editor. The
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
16 next time you want to edit either another file or the same one, you
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
17 start the editor again. Under these circumstances, it makes sense to use a
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
18 command line argument to say which file to edit.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
19
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
20 The recommended way to use XEmacs is to start it only once, just
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
21 after you log in, and do all your editing in the same Emacs process.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
22 Each time you want to edit a file, you visit it using the existing
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
23 Emacs. Emacs creates a new buffer for each file, and (unless you kill
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
24 some of the buffers) Emacs eventually has many files in it ready for
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
25 editing. Usually you do not kill the Emacs process until you are about
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
26 to log out. Since you usually read files by typing commands to Emacs,
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
27 command line arguments for specifying a file when Emacs is started are seldom
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
28 needed.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
29
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
30 Emacs accepts command-line arguments that specify files to visit,
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
31 functions to call, and other activities and operating modes. If you are
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
32 running XEmacs under the X window system, a number of standard
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
33 Xt command line arguments are available as well.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
34
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
35 The following subsections list:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
36 @itemize @bullet
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
37 @item
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
38 Command line arguments that you can always use
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
39 @item
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
40 Command line arguments that have to appear at the beginning of the
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
41 argument list
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
42 @item
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
43 Command line arguments that are only relevant if you are running XEmacs
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
44 under X
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
45 @end itemize
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
46
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
47 @subsection Command Line Arguments for Any Position
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
48 Command line arguments are processed in the order they appear on the
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
49 command line; however, certain arguments (the ones in the
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
50 second table) must be at the front of the list if they are used.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
51
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
52 Here are the arguments allowed:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
53
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
54 @table @samp
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
55 @item @var{file}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
56 Visit @var{file} using @code{find-file}. @xref{Visiting}.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
57
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
58 @item +@var{linenum} @var{file}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
59 Visit @var{file} using @code{find-file}, then go to line number
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
60 @var{linenum} in it.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
61
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
62 @item -load @var{file}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
63 @itemx -l @var{file}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
64 Load a file @var{file} of Lisp code with the function @code{load}.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
65 @xref{Lisp Libraries}.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
66
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
67 @item -funcall @var{function}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
68 @itemx -f @var{function}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
69 Call Lisp function @var{function} with no arguments.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
70
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
71 @item -eval @var{function}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
72 Interpret the next argument as a Lisp expression, and evaluate it.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
73 You must be very careful of the shell quoting here.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
74
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
75 @item -insert @var{file}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
76 @itemx -i @var{file}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
77 Insert the contents of @var{file} into the current buffer. This is like
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
78 what @kbd{M-x insert-buffer} does; @xref{Misc File Ops}.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
79
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
80 @item -kill
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
81 Exit from Emacs without asking for confirmation.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
82
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
83 @item -version
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
84 @itemx -V
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
85 Prints version information. This implies @samp{-batch}.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
86
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
87 @example
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
88 % xemacs -version
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
89 XEmacs 19.13 of Mon Aug 21 1995 on willow (usg-unix-v) [formerly Lucid Emacs]
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
90 @end example
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
91
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
92 @item -help
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
93 Prints a summary of command-line options and then exits.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
94 @end table
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
95
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
96 @subsection Command Line Arguments (Beginning of Line Only)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
97 The following arguments are recognized only at the beginning of the
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
98 command line. If more than one of them appears, they must appear in the
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
99 order in which they appear in this table.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
100
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
101 @table @samp
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
102 @item -t @var{file}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
103 Use @var{file} instead of the terminal for input and output. This
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
104 implies the @samp{-nw} option, documented below.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
105
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
106 @cindex batch mode
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
107 @item -batch
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
108 Run Emacs in @dfn{batch mode}, which means that the text being edited is
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
109 not displayed and the standard Unix interrupt characters such as
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
110 @kbd{C-z} and @kbd{C-c} continue to have their normal effect. Emacs in
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
111 batch mode outputs to @code{stderr} only what would normally be printed
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
112 in the echo area under program control.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
113
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
114 Batch mode is used for running programs written in Emacs Lisp from shell
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
115 scripts, makefiles, and so on. Normally the @samp{-l} switch or
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
116 @samp{-f} switch will be used as well, to invoke a Lisp program to do
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
117 the batch processing.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
118
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
119 @samp{-batch} implies @samp{-q} (do not load an init file). It also
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
120 causes Emacs to kill itself after all command switches have been
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
121 processed. In addition, auto-saving is not done except in buffers for
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
122 which it has been explicitly requested.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
123
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
124 @item -nw
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
125 Start up XEmacs in TTY mode (using the TTY XEmacs was started from),
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
126 rather than trying to connect to an X display. Note that this happens
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
127 automatically if the @samp{DISPLAY} environment variable is not set.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
128
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
129 @item -debug-init
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
130 Enter the debugger if an error in the init file occurs.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
131
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
132 @item -debug-paths
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
133 Displays information on how XEmacs constructs the various paths into its
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
134 hierarchy on startup. (See also @pxref{Startup Paths}.)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
135
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
136 @item -unmapped
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
137 Do not map the initial frame. This is useful if you want to start up
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
138 XEmacs as a server (e.g. for gnuserv screens or external client widgets).
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
139
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
140 @item -no-init-file
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
141 @itemx -q
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
142 Do not load your Emacs init file @file{~/.emacs}.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
143
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
144 @item -no-site-file
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
145 Do not load the site-specific init file @file{lisp/site-start.el}.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
146
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
147 @item -no-autoloads
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
148 Do not load global symbol files (@file{auto-autoloads}) at startup.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
149 This implies @samp{-vanilla}.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
150
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
151 @item -no-early-packages
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
152 Do not process early packages. (For more information on startup issues
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
153 concerning the package system, @xref{Startup Paths}.)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
154
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
155 @item -vanilla
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
156 This is equivalent to @samp{-q -no-site-file -no-early-packages}.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
157
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
158 @item -user-init-file @var{file}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
159 Load @var{file} as your Emacs init file instead of @file{~/.emacs}.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
160
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
161 @item -user-init-directory @var{directory}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
162 Use @var{directory} as the location of your early package hierarchies
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
163 and the various user-specific initialization files.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
164
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
165 @item -user @var{user}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
166 @itemx -u @var{user}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
167 Equivalent to
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
168 @samp{-user-init-file ~@var{user}/.emacs -user-init-directory ~@var{user}/.xemacs}.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
169
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
170
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
171 @end table
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
172
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
173 @vindex command-line-args
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
174 Note that the init file can get access to the command line argument
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
175 values as the elements of a list in the variable
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
176 @code{command-line-args}. (The arguments in the second table above will
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
177 already have been processed and will not be in the list.) The init file
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
178 can override the normal processing of the other arguments by setting
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
179 this variable.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
180
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
181 One way to use command switches is to visit many files automatically:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
182
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
183 @example
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
184 xemacs *.c
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
185 @end example
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
186
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
187 @noindent
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
188 passes each @code{.c} file as a separate argument to Emacs, so that
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
189 Emacs visits each file (@pxref{Visiting}).
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
190
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
191 Here is an advanced example that assumes you have a Lisp program file
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
192 called @file{hack-c-program.el} which, when loaded, performs some useful
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
193 operation on the current buffer, expected to be a C program.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
194
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
195 @example
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
196 xemacs -batch foo.c -l hack-c-program -f save-buffer -kill > log
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
197 @end example
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
198
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
199 @noindent
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
200 Here Emacs is told to visit @file{foo.c}, load @file{hack-c-program.el}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
201 (which makes changes in the visited file), save @file{foo.c} (note that
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
202 @code{save-buffer} is the function that @kbd{C-x C-s} is bound to), and
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
203 then exit to the shell from which the command was executed. @samp{-batch}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
204 guarantees there will be no problem redirecting output to @file{log},
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
205 because Emacs will not assume that it has a display terminal to work
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
206 with.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
207
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
208 @subsection Command Line Arguments (for XEmacs Under X)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
209 @vindex frame-title-format
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
210 @vindex frame-icon-title-format
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
211 If you are running XEmacs under X, a number of options are
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
212 available to control color, border, and window title and icon name:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
213
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
214 @table @samp
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
215 @item -title @var{title}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
216 @itemx -wn @var{title}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
217 @itemx -T @var{title}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
218 Use @var{title} as the window title. This sets the
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
219 @code{frame-title-format} variable, which controls the title of the X
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
220 window corresponding to the selected frame. This is the same format as
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
221 @code{mode-line-format}.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
222
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
223 @item -iconname @var{title}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
224 @itemx -in @var{title}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
225 Use @var{title} as the icon name. This sets the
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
226 @code{frame-icon-title-format} variable, which controls the title of
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
227 the icon corresponding to the selected frame.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
228
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
229 @item -mc @var{color}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
230 Use @var{color} as the mouse color.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
231
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
232 @item -cr @var{color}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
233 Use @var{color} as the text-cursor foreground color.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
234
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
235 @item -private
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
236 Install a private colormap for XEmacs.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
237 @end table
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
238
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
239 In addition, XEmacs allows you to use a number of standard Xt
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
240 command line arguments.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
241
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
242 @table @samp
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
243
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
244 @item -background @var{color}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
245 @itemx -bg @var{color}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
246 Use @var{color} as the background color.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
247
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
248 @item -bordercolor @var{color}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
249 @itemx -bd @var{color}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
250 Use @var{color} as the border color.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
251
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
252 @item -borderwidth @var{width}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
253 @itemx -bw @var{width}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
254 Use @var{width} as the border width.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
255
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
256 @item -display @var{display}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
257 @itemx -d @var{display}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
258 When running under the X window system, create the window containing the
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
259 Emacs frame on the display named @var{display}.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
260
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
261 @item -foreground @var{color}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
262 @itemx -fg @var{color}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
263 Use @var{color} as the foreground color.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
264
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
265 @item -font @var{name}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
266 @itemx -fn @var{name}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
267 Use @var{name} as the default font.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
268
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
269 @item -geometry @var{spec}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
270 @itemx -geom @var{spec}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
271 @itemx -g @var{spec}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
272 Use the geometry (window size and/or position) specified by @var{spec}.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
273
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
274 @item -iconic
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
275 Start up iconified.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
276
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
277 @item -rv
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
278 Bring up Emacs in reverse video.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
279
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
280 @item -name @var{name}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
281 Use the resource manager resources specified by @var{name}.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
282 The default is to use the name of the program (@code{argv[0]}) as
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
283 the resource manager name.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
284
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
285 @item -xrm
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
286 Read something into the resource database for this invocation of Emacs only.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
287
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
288 @end table