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