Mercurial > hg > xemacs-beta
comparison 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 |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:376386a54a3c |
---|---|
1 | |
2 @node Command Switches, Basic, Exiting, Top | |
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 | |
84 Prints version information. This implies @samp{-batch}. | |
85 | |
86 @example | |
87 % xemacs -version | |
88 XEmacs 19.13 of Mon Aug 21 1995 on willow (usg-unix-v) [formerly Lucid Emacs] | |
89 @end example | |
90 | |
91 @item -help | |
92 Prints a summary of command-line options and then exits. | |
93 @end table | |
94 | |
95 @subsection Command Line Arguments (Beginning of Line Only) | |
96 The following arguments are recognized only at the beginning of the | |
97 command line. If more than one of them appears, they must appear in the | |
98 order in which they appear in this table. | |
99 | |
100 @table @samp | |
101 @item -t @var{file} | |
102 Use @var{file} instead of the terminal for input and output. This | |
103 implies the @samp{-nw} option, documented below. | |
104 | |
105 @cindex batch mode | |
106 @item -batch | |
107 Run Emacs in @dfn{batch mode}, which means that the text being edited is | |
108 not displayed and the standard Unix interrupt characters such as | |
109 @kbd{C-z} and @kbd{C-c} continue to have their normal effect. Emacs in | |
110 batch mode outputs to @code{stderr} only what would normally be printed | |
111 in the echo area under program control. | |
112 | |
113 Batch mode is used for running programs written in Emacs Lisp from shell | |
114 scripts, makefiles, and so on. Normally the @samp{-l} switch or | |
115 @samp{-f} switch will be used as well, to invoke a Lisp program to do | |
116 the batch processing. | |
117 | |
118 @samp{-batch} implies @samp{-q} (do not load an init file). It also | |
119 causes Emacs to kill itself after all command switches have been | |
120 processed. In addition, auto-saving is not done except in buffers for | |
121 which it has been explicitly requested. | |
122 | |
123 @item -nw | |
124 Start up XEmacs in TTY mode (using the TTY XEmacs was started from), | |
125 rather than trying to connect to an X display. Note that this happens | |
126 automatically if the @samp{DISPLAY} environment variable is not set. | |
127 | |
128 @item -debug-init | |
129 Enter the debugger if an error in the init file occurs. | |
130 | |
131 @item -unmapped | |
132 Do not map the initial frame. This is useful if you want to start up | |
133 XEmacs as a server (e.g. for gnuserv screens or external client widgets). | |
134 | |
135 @item -no-init-file | |
136 @itemx -q | |
137 Do not load your Emacs init file @file{~/.emacs}. | |
138 | |
139 @item -no-site-file | |
140 Do not load the site-specific init file @file{lisp/site-start.el}. | |
141 | |
142 @item -user @var{user} | |
143 @itemx -u @var{user} | |
144 Load @var{user}'s Emacs init file @file{~@var{user}/.emacs} instead of | |
145 your own. | |
146 @end table | |
147 | |
148 @vindex command-line-args | |
149 Note that the init file can get access to the command line argument | |
150 values as the elements of a list in the variable | |
151 @code{command-line-args}. (The arguments in the second table above will | |
152 already have been processed and will not be in the list.) The init file | |
153 can override the normal processing of the other arguments by setting | |
154 this variable. | |
155 | |
156 One way to use command switches is to visit many files automatically: | |
157 | |
158 @example | |
159 xemacs *.c | |
160 @end example | |
161 | |
162 @noindent | |
163 passes each @code{.c} file as a separate argument to Emacs, so that | |
164 Emacs visits each file (@pxref{Visiting}). | |
165 | |
166 Here is an advanced example that assumes you have a Lisp program file | |
167 called @file{hack-c-program.el} which, when loaded, performs some useful | |
168 operation on the current buffer, expected to be a C program. | |
169 | |
170 @example | |
171 xemacs -batch foo.c -l hack-c-program -f save-buffer -kill > log | |
172 @end example | |
173 | |
174 @noindent | |
175 Here Emacs is told to visit @file{foo.c}, load @file{hack-c-program.el} | |
176 (which makes changes in the visited file), save @file{foo.c} (note that | |
177 @code{save-buffer} is the function that @kbd{C-x C-s} is bound to), and | |
178 then exit to the shell from which the command was executed. @samp{-batch} | |
179 guarantees there will be no problem redirecting output to @file{log}, | |
180 because Emacs will not assume that it has a display terminal to work | |
181 with. | |
182 | |
183 @subsection Command Line Arguments (for XEmacs Under X) | |
184 @vindex frame-title-format | |
185 @vindex frame-icon-title-format | |
186 If you are running XEmacs under X, a number of options are | |
187 available to control color, border, and window title and icon name: | |
188 | |
189 @table @samp | |
190 @item -title @var{title} | |
191 @itemx -wn @var{title} | |
192 @itemx -T @var{title} | |
193 Use @var{title} as the window title. This sets the | |
194 @code{frame-title-format} variable, which controls the title of the X | |
195 window corresponding to the selected frame. This is the same format as | |
196 @code{mode-line-format}. | |
197 | |
198 @item -iconname @var{title} | |
199 @itemx -in @var{title} | |
200 Use @var{title} as the icon name. This sets the | |
201 @code{frame-icon-title-format} variable, which controls the title of | |
202 the icon corresponding to the selected frame. | |
203 | |
204 @item -mc @var{color} | |
205 Use @var{color} as the mouse color. | |
206 | |
207 @item -cr @var{color} | |
208 Use @var{color} as the text-cursor foreground color. | |
209 @end table | |
210 | |
211 In addition, XEmacs allows you to use a number of standard Xt | |
212 command line arguments. | |
213 | |
214 @table @samp | |
215 | |
216 @item -background @var{color} | |
217 @itemx -bg @var{color} | |
218 Use @var{color} as the background color. | |
219 | |
220 @item -bordercolor @var{color} | |
221 @itemx -bd @var{color} | |
222 Use @var{color} as the border color. | |
223 | |
224 @item -borderwidth @var{width} | |
225 @itemx -bw @var{width} | |
226 Use @var{width} as the border width. | |
227 | |
228 @item -display @var{display} | |
229 @itemx -d @var{display} | |
230 When running under the X window system, create the window containing the | |
231 Emacs frame on the display named @var{display}. | |
232 | |
233 @item -foreground @var{color} | |
234 @itemx -fg @var{color} | |
235 Use @var{color} as the foreground color. | |
236 | |
237 @item -font @var{name} | |
238 @itemx -fn @var{name} | |
239 Use @var{name} as the default font. | |
240 | |
241 @item -geometry @var{spec} | |
242 @itemx -geom @var{spec} | |
243 @itemx -g @var{spec} | |
244 Use the geometry (window size and/or position) specified by @var{spec}. | |
245 | |
246 @item -iconic | |
247 Start up iconified. | |
248 | |
249 @item -rv | |
250 Bring up Emacs in reverse video. | |
251 | |
252 @item -name @var{name} | |
253 Use the resource manager resources specified by @var{name}. | |
254 The default is to use the name of the program (@code{argv[0]}) as | |
255 the resource manager name. | |
256 | |
257 @item -xrm | |
258 Read something into the resource database for this invocation of Emacs only. | |
259 | |
260 @end table |