XEmacs 21.2.39 "Millennium".
[chise/xemacs-chise.git.1] / info / xemacs.info-3
1 This is ../info/xemacs.info, produced by makeinfo version 4.0 from
2 xemacs/xemacs.texi.
3
4 INFO-DIR-SECTION XEmacs Editor
5 START-INFO-DIR-ENTRY
6 * XEmacs: (xemacs).             XEmacs Editor.
7 END-INFO-DIR-ENTRY
8
9    This file documents the XEmacs editor.
10
11    Copyright (C) 1985, 1986, 1988 Richard M. Stallman.  Copyright (C)
12 1991, 1992, 1993, 1994 Lucid, Inc.  Copyright (C) 1993, 1994 Sun
13 Microsystems, Inc.  Copyright (C) 1995 Amdahl Corporation.
14
15    Permission is granted to make and distribute verbatim copies of this
16 manual provided the copyright notice and this permission notice are
17 preserved on all copies.
18
19    Permission is granted to copy and distribute modified versions of
20 this manual under the conditions for verbatim copying, provided also
21 that the sections entitled "The GNU Manifesto", "Distribution" and "GNU
22 General Public License" are included exactly as in the original, and
23 provided that the entire resulting derived work is distributed under the
24 terms of a permission notice identical to this one.
25
26    Permission is granted to copy and distribute translations of this
27 manual into another language, under the above conditions for modified
28 versions, except that the sections entitled "The GNU Manifesto",
29 "Distribution" and "GNU General Public License" may be included in a
30 translation approved by the author instead of in the original English.
31
32 \1f
33 File: xemacs.info,  Node: Options Menu,  Next: Buffers Menu,  Prev: Apps Menu,  Up: Pull-down Menus
34
35 The Options Menu
36 ----------------
37
38    The Options pull-down menu contains the Read Only, Case Sensitive
39 Search, Overstrike, Auto Delete Selection, Teach Extended Commands,
40 Syntax Highlighting, Paren Highlighting, Font, Size, Weight, Buffers
41 Menu Length..., Buffers Sub-Menus and Save Options menu items.  When
42 you select a menu item, Emacs executes the equivalent command.  For
43 some of the menu items, there are sub-menus which you will need to
44 select.
45
46 Read Only
47      Selecting this item will cause the buffer to visit the file in a
48      read-only mode. Changes to the file will not be allowed. This is
49      equivalent to the Emacs command `toggle-read-only' (`C-x C-q').
50
51 Case Sensitive Search
52      Selecting this item will cause searches to be case-sensitive. If
53      its not selected then searches will ignore case. This option is
54      local to the buffer.
55
56 Overstrike
57      After selecting this item, when you type letters they will replace
58      existing text on a one-to-one basis, rather than pushing it to the
59      right. At the end of a line, such characters extend the line.
60      Before a tab, such characters insert until the tab is filled in.
61      This is the same as Emacs command `quoted-insert' (`C-q').
62
63 Auto Delete Selection
64      Selecting this item will cause automatic deletion of the selected
65      region. The typed text will replace the selection if the selection
66      is active (i.e. if its highlighted). If the option is not selected
67      then the typed text is just inserted at the point.
68
69 Teach Extended Commands
70      After you  select this item, any time you execute a command with
71      `M-x'which has a shorter keybinding, you will be shown the
72      alternate binding before the command executes.
73
74 Syntax Highlighting
75      You can customize your init file to include the font-lock mode so
76      that when you select this item, the comments will be displayed in
77      one face, strings in another, reserved words in another, and so
78      on. *Note Init File::.  When Fonts is selected, different parts of
79      the program will appear in different Fonts. When Colors is
80      selected, then the program will be displayed in different colors.
81      Selecting None causes the program to appear in just one Font and
82      Color. Selecting Less resets the Fonts and Colors to a fast,
83      minimal set of decorations. Selecting More resets the Fonts and
84      Colors to a larger set of decorations. For example, if Less is
85      selected (which is the default setting) then you might have all
86      comments in green color.  Whereas, if More is selected then a
87      function name in the comments themselves might appear in a
88      different Color or Font.
89
90 Paren Highlighting
91      After selecting Blink from this item, if you place the cursor on a
92      parenthesis, the matching parenthesis will blink. If you select
93      Highlight and place the cursor on a parenthesis, the whole
94      expression of the parenthesis under the cursor will be highlighted.
95      Selecting None will turn off the options (regarding Paren
96      Highlighting) which you had selected earlier.
97
98 Font
99      You can select any Font for your program by choosing from one of
100      the available Fonts.
101
102 Size
103      You can select any size ranging from 2 to 24 by selecting the
104      appropriate option.
105
106 Weight
107      You can choose either Bold or Medium for the weight.
108
109 Buffers Menu Length...
110      Prompts you for the number of buffers to display. Then it will
111      display that number of most recently selected buffers.
112
113 Buffers Sub-Menus
114      After selection of this item the Buffers menu will contain several
115      commands, as submenus of each buffer line. If this item is
116      unselected, then there are no submenus for each buffer line, the
117      only command available will be selecting that buffer.
118
119 Save Options
120      Selecting this item will save the current settings of your Options
121      menu to your init file.  *Note Init File::.
122
123 \1f
124 File: xemacs.info,  Node: Buffers Menu,  Next: Tools Menu,  Prev: Options Menu,  Up: Pull-down Menus
125
126 The Buffers Menu
127 ----------------
128
129    The Buffers menu provides a selection of up to ten buffers and the
130 item List All Buffers, which provides a Buffer List. *Note List
131 Buffers::, for more information.
132
133 \1f
134 File: xemacs.info,  Node: Tools Menu,  Next: Help Menu,  Prev: Buffers Menu,  Up: Pull-down Menus
135
136 The Tools Menu
137 --------------
138
139    The Tools pull-down menu contains the Grep..., Compile..., Shell
140 Command..., Shell Command on Region..., Debug(GDB)...  and
141 Debug(DBX)... menu items, and the Compare, Merge, Apply Patch and Tags
142 sub-menus.  When you select a menu item, Emacs executes the equivalent
143 command.  For some of the menu items, there are sub-menus which you
144 will need to select.
145
146 \1f
147 File: xemacs.info,  Node: Help Menu,  Next: Menu Customization,  Prev: Tools Menu,  Up: Pull-down Menus
148
149 The Help Menu
150 -------------
151
152    The Help Menu gives you access to Emacs Info and provides a menu
153 equivalent for each of the choices you have when using `C-h'.  *Note
154 Help::, for more information.
155
156    The Help menu also gives access to UNIX online manual pages via the
157 UNIX Manual Page option.
158
159 \1f
160 File: xemacs.info,  Node: Menu Customization,  Prev: Help Menu,  Up: Pull-down Menus
161
162 Customizing XEmacs Menus
163 ------------------------
164
165    You can customize any of the pull-down menus by adding or removing
166 menu items and disabling or enabling existing menu items.
167
168    The following functions are available:
169 `add-menu: (MENU-PATH MENU-NAME MENU-ITEMS &optional BEFORE)'
170      Add a menu to the menu bar or one of its submenus.
171
172 `add-menu-item: (MENU-PATH ITEM-NAME FUNCTION'
173      ENABLED-P &optional BEFORE) Add a menu item to a menu, creating
174      the menu first if necessary.
175
176 `delete-menu-item: (PATH)'
177      Remove the menu item defined by PATH from the menu hierarchy.
178
179 `disable-menu-item: (PATH)'
180      Disable the specified menu item.
181
182 `enable-menu-item: (PATH)'
183      Enable the specified previously disabled menu item.
184
185 `relabel-menu-item: (PATH NEW-NAME)'
186      Change the string of the menu item specified by PATH to NEW-NAME.
187
188    Use the function `add-menu' to add a new menu or submenu.  If a menu
189 or submenu of the given name exists already, it is changed.
190
191    MENU-PATH identifies the menu under which the new menu should be
192 inserted.  It is a list of strings; for example, `("File")' names the
193 top-level File menu.  `("File" "Foo")' names a hypothetical submenu of
194 File.  If MENU-PATH is `nil', the menu is added to the menu bar itself.
195
196    MENU-NAME is the string naming the menu to be added.
197
198    MENU-ITEMS is a list of menu item descriptions.  Each menu item
199 should be a vector of three elements:
200
201    * A string, which is the name of the menu item
202
203    * A symbol naming a command, or a form to evaluate
204
205    * `t' or `nil' to indicate whether the item is selectable
206
207    The optional argument BEFORE is the name of the menu before which
208 the new menu or submenu should be added.  If the menu is already
209 present, it is not moved.
210
211    The function `add-menu-item' adds a menu item to the specified menu,
212 creating the menu first if necessary.  If the named item already
213 exists, the menu remains unchanged.
214
215    MENU-PATH identifies the menu into which the new menu item should be
216 inserted.  It is a list of strings; for example, `("File")' names the
217 top-level File menu.  `("File" "Foo")' names a hypothetical submenu of
218 File.
219
220    ITEM-NAME is the string naming the menu item to add.
221
222    FUNCTION is the command to invoke when this menu item is selected.
223 If it is a symbol, it is invoked with `call-interactively', in the same
224 way that functions bound to keys are invoked.  If it is a list, the
225 list is simply evaluated.
226
227    ENABLED-P controls whether the item is selectable or not.  It should
228 be `t', `nil', or a form to evaluate to decide.  This form will be
229 evaluated just before the menu is displayed, and the menu item will be
230 selectable if that form returns non-`nil'.
231
232    For example, to make the `rename-file' command available from the
233 File menu, use the following code:
234
235      (add-menu-item '("File") "Rename File" 'rename-file t)
236
237    To add a submenu of file management commands using a File Management
238 item, use the following code:
239
240      (add-menu-item '("File" "File Management") "Copy File" 'copy-file t)
241      (add-menu-item '("File" "File Management") "Delete File" 'delete-file t)
242      (add-menu-item '("File" "File Management") "Rename File" 'rename-file t)
243
244    The optional BEFORE argument is the name of a menu item before which
245 the new item should be added.  If the item is already present, it is
246 not moved.
247
248    To remove a specified menu item from the menu hierarchy, use
249 `delete-menu-item'.
250
251    PATH is a list of strings that identify the position of the menu
252 item in the menu hierarchy.  `("File" "Save")' means the menu item
253 called Save under the top level File menu.  `("Menu" "Foo" "Item")'
254 means the menu item called Item under the Foo submenu of Menu.
255
256    To disable a menu item, use `disable-menu-item'.  The disabled menu
257 item is grayed and can no longer be selected.  To make the item
258 selectable again, use `enable-menu-item'.  `disable-menu-item' and
259 `enable-menu-item' both have the argument PATH.
260
261    To change the string of the specified menu item, use
262 `relabel-menu-item'. This function also takes the argument PATH.
263
264    NEW-NAME is the string to which the menu item will be changed.
265
266 \1f
267 File: xemacs.info,  Node: Entering Emacs,  Next: Exiting,  Prev: Pull-down Menus,  Up: Top
268
269 Entering and Exiting Emacs
270 **************************
271
272    The usual way to invoke XEmacs is to type `xemacs <RET>' at the
273 shell.  XEmacs clears the screen and then displays an initial advisory
274 message and copyright notice.  You can begin typing XEmacs commands
275 immediately afterward.
276
277    Some operating systems insist on discarding all type-ahead when
278 XEmacs starts up; they give XEmacs no way to prevent this.  Therefore,
279 it is advisable to wait until XEmacs clears the screen before typing
280 your first editing command.
281
282    If you run XEmacs from a shell window under the X Window System, run
283 it in the background with `xemacs&'.  This way, XEmacs does not tie up
284 the shell window, so you can use that to run other shell commands while
285 XEmacs operates its own X windows.  You can begin typing XEmacs commands
286 as soon as you direct your keyboard input to the XEmacs frame.
287
288    Before Emacs reads the first command, you have not had a chance to
289 give a command to specify a file to edit.  Since Emacs must always have
290 a current buffer for editing, it presents a buffer, by default, a buffer
291 named `*scratch*'.  The buffer is in Lisp Interaction mode; you can use
292 it to type Lisp expressions and evaluate them, or you can ignore that
293 capability and simply doodle.  (You can specify a different major mode
294 for this buffer by setting the variable `initial-major-mode' in your
295 init file.  *Note Init File::.)
296
297    It is possible to specify files to be visited, Lisp files to be
298 loaded, and functions to be called, by giving Emacs arguments in the
299 shell command line.  *Note Command Switches::.  But we don't recommend
300 doing this.  The feature exists mainly for compatibility with other
301 editors.
302
303    Many other editors are designed to be started afresh each time you
304 want to edit.  You edit one file and then exit the editor.  The next
305 time you want to edit either another file or the same one, you must run
306 the editor again.  With these editors, it makes sense to use a
307 command-line argument to say which file to edit.
308
309    But starting a new Emacs each time you want to edit a different file
310 does not make sense.  For one thing, this would be annoyingly slow.  For
311 another, this would fail to take advantage of Emacs's ability to visit
312 more than one file in a single editing session.  And it would lose the
313 other accumulated context, such as registers, undo history, and the mark
314 ring.
315
316    The recommended way to use XEmacs is to start it only once, just
317 after you log in, and do all your editing in the same Emacs session.
318 Each time you want to edit a different file, you visit it with the
319 existing Emacs, which eventually comes to have many files in it ready
320 for editing.  Usually you do not kill the Emacs until you are about to
321 log out.  *Note Files::, for more information on visiting more than one
322 file.
323
324 \1f
325 File: xemacs.info,  Node: Exiting,  Next: Command Switches,  Prev: Entering Emacs,  Up: Top
326
327 Exiting Emacs
328 =============
329
330    There are two commands for exiting Emacs because there are two kinds
331 of exiting: "suspending" Emacs and "killing" Emacs.
332
333    "Suspending" means stopping Emacs temporarily and returning control
334 to its parent process (usually a shell), allowing you to resume editing
335 later in the same Emacs job, with the same buffers, same kill ring,
336 same undo history, and so on.  This is the usual way to exit.
337
338    "Killing" Emacs means destroying the Emacs job.  You can run Emacs
339 again later, but you will get a fresh Emacs; there is no way to resume
340 the same editing session after it has been killed.
341
342 `C-z'
343      Suspend Emacs or iconify a frame
344      (`suspend-emacs-or-iconify-frame').  If used under the X window
345      system, shrink the X window containing the Emacs frame to an icon
346      (see below).
347
348 `C-x C-c'
349      Kill Emacs (`save-buffers-kill-emacs').
350
351    If you use XEmacs under the X window system, `C-z' shrinks the X
352 window containing the Emacs frame to an icon.  The Emacs process is
353 stopped temporarily, and control is returned to the window manager.  If
354 more than one frame is associated with the Emacs process, only the
355 frame from which you used `C-z' is iconified.
356
357    To activate the "suspended" Emacs, use the appropriate window manager
358 mouse gestures.  Usually left-clicking on the icon reactivates and
359 reopens the X window containing the Emacs frame, but the window manager
360 you use determines what exactly happens.  To actually kill the Emacs
361 process, use `C-x C-c' or the Exit XEmacs item on the File menu.
362
363    To suspend Emacs, type `C-z' (`suspend-emacs').  This takes you back
364 to the shell from which you invoked Emacs.  You can resume Emacs with
365 the shell command `%xemacs' in most common shells.
366
367    On systems that do not support suspending programs, `C-z' starts an
368 inferior shell that communicates directly with the terminal.  Emacs
369 waits until you exit the subshell.  (The way to do that is probably
370 with `C-d' or `exit', but it depends on which shell you use.)  The only
371 way on these systems to get back to the shell from which Emacs was run
372 (to log out, for example) is to kill Emacs.
373
374    Suspending also fails if you run Emacs under a shell that doesn't
375 support suspending programs, even if the system itself does support it.
376 In such a case, you can set the variable `cannot-suspend' to a
377 non-`nil' value to force `C-z' to start an inferior shell.  (One might
378 also describe Emacs's parent shell as "inferior" for failing to support
379 job control properly, but that is a matter of taste.)
380
381    When Emacs communicates directly with an X server and creates its own
382 dedicated X windows, `C-z' has a different meaning.  Suspending an
383 applications that uses its own X windows is not meaningful or useful.
384 Instead, `C-z' runs the command `iconify-or-deiconify-frame', which
385 temporarily closes up the selected Emacs frame.  The way to get back to
386 a shell window is with the window manager.
387
388    To kill Emacs, type `C-x C-c' (`save-buffers-kill-emacs').  A
389 two-character key is used for this to make it harder to type.  Selecting
390 the Exit XEmacs option of the File menu is an alternate way of issuing
391 the command.
392
393    Unless a numeric argument is used, this command first offers to save
394 any modified file-visiting buffers.  If you do not save all buffers,
395 you are asked for reconfirmation with `yes' before killing Emacs, since
396 any changes not saved will be lost forever.  If any subprocesses are
397 still running, `C-x C-c' asks you to confirm killing them, since killing
398 Emacs will kill the subprocesses immediately.
399
400    There is no way to restart an Emacs session once you have killed it.
401 You can, however, arrange for Emacs to record certain session
402 information, such as which files are visited, when you kill it, so that
403 the next time you restart Emacs it will try to visit the same files and
404 so on.
405
406    The operating system usually listens for certain special characters
407 whose meaning is to kill or suspend the program you are running.  This
408 operating system feature is turned off while you are in Emacs.  The
409 meanings of `C-z' and `C-x C-c' as keys in Emacs were inspired by the
410 use of `C-z' and `C-c' on several operating systems as the characters
411 for stopping or killing a program, but that is their only relationship
412 with the operating system.  You can customize these keys to run any
413 commands of your choice (*note Keymaps::).
414
415 \1f
416 File: xemacs.info,  Node: Command Switches,  Next: Startup Paths,  Prev: Exiting,  Up: Top
417
418 Command Line Switches and Arguments
419 ===================================
420
421    XEmacs supports command line arguments you can use to request
422 various actions when invoking Emacs.  The commands are for compatibility
423 with other editors and for sophisticated activities.  If you are using
424 XEmacs under the X window system, you can also use a number of standard
425 Xt command line arguments. Command line arguments are not usually
426 needed for editing with Emacs; new users can skip this section.
427
428    Many editors are designed to be started afresh each time you want to
429 edit.  You start the editor to edit one file; then exit the editor.  The
430 next time you want to edit either another file or the same one, you
431 start the editor again.  Under these circumstances, it makes sense to
432 use a command line argument to say which file to edit.
433
434    The recommended way to use XEmacs is to start it only once, just
435 after you log in, and do all your editing in the same Emacs process.
436 Each time you want to edit a file, you visit it using the existing
437 Emacs.  Emacs creates a new buffer for each file, and (unless you kill
438 some of the buffers) Emacs eventually has many files in it ready for
439 editing.  Usually you do not kill the Emacs process until you are about
440 to log out.  Since you usually read files by typing commands to Emacs,
441 command line arguments for specifying a file when Emacs is started are
442 seldom needed.
443
444    Emacs accepts command-line arguments that specify files to visit,
445 functions to call, and other activities and operating modes.  If you
446 are running XEmacs under the X window system, a number of standard Xt
447 command line arguments are available, as well as a few X parameters
448 that are XEmacs-specific.
449
450    Options with long names with a single initial hyphen are also
451 recognized with the GNU double initial hyphen syntax.  (The reverse is
452 not true.)
453
454    The following subsections list:
455    * Command line arguments that you can always use
456
457    * Command line arguments that have to appear at the beginning of the
458      argument list
459
460    * Command line arguments that are only relevant if you are running
461      XEmacs under X
462
463 Command Line Arguments for Any Position
464 ---------------------------------------
465
466    Command line arguments are processed in the order they appear on the
467 command line; however, certain arguments (the ones in the second table)
468 must be at the front of the list if they are used.
469
470    Here are the arguments allowed:
471
472 `FILE'
473      Visit FILE using `find-file'.  *Note Visiting::.
474
475 `+LINENUM FILE'
476      Visit FILE using `find-file', then go to line number LINENUM in it.
477
478 `-load FILE'
479 `-l FILE'
480      Load a file FILE of Lisp code with the function `load'.  *Note
481      Lisp Libraries::.
482
483 `-funcall FUNCTION'
484 `-f FUNCTION'
485      Call Lisp function FUNCTION with no arguments.
486
487 `-eval FUNCTION'
488      Interpret the next argument as a Lisp expression, and evaluate it.
489      You must be very careful of the shell quoting here.
490
491 `-insert FILE'
492 `-i FILE'
493      Insert the contents of FILE into the current buffer.  This is like
494      what `M-x insert-buffer' does; *Note Misc File Ops::.
495
496 `-kill'
497      Exit from Emacs without asking for confirmation.  Always the last
498      argument processed, no matter where it appears in the command line.
499
500 `-version'
501 `-V'
502      Prints version information.  This implies `-batch'.
503
504           % xemacs -version
505           XEmacs 19.13 of Mon Aug 21 1995 on willow (usg-unix-v) [formerly Lucid Emacs]
506
507 `-help'
508      Prints a summary of command-line options and then exits.
509
510 Command Line Arguments (Beginning of Line Only)
511 -----------------------------------------------
512
513    The following arguments are recognized only at the beginning of the
514 command line.  If more than one of them appears, they must appear in the
515 order in which they appear in this table.
516
517 `--show-dump-id'
518 `-sd'
519      Print the ID for the new portable dumper's dump file on the
520      terminal and exit.  (Prints an error message and exits if XEmacs
521      was not configured `--pdump'.)
522
523 `--no-dump-file'
524 `-nd'
525      Don't load the dump file.  Roughly equivalent to old temacs.
526      (Ignored if XEmacs was not configured `--pdump'.)
527
528 `--terminal FILE'
529 `-t FILE'
530      Use FILE instead of the terminal for input and output.  This
531      implies the `-nw' option, documented below.
532
533 `-batch'
534      Run Emacs in "batch mode", which means that the text being edited
535      is not displayed and the standard Unix interrupt characters such as
536      `C-z' and `C-c' continue to have their normal effect.  Emacs in
537      batch mode outputs to `stderr' only what would normally be printed
538      in the echo area under program control.
539
540      Batch mode is used for running programs written in Emacs Lisp from
541      shell scripts, makefiles, and so on.  Normally the `-l' switch or
542      `-f' switch will be used as well, to invoke a Lisp program to do
543      the batch processing.
544
545      `-batch' implies `-q' (do not load an init file).  It also causes
546      Emacs to kill itself after all command switches have been
547      processed.  In addition, auto-saving is not done except in buffers
548      for which it has been explicitly requested.
549
550 `--no-windows'
551 `-nw'
552      Start up XEmacs in TTY mode (using the TTY XEmacs was started
553      from), rather than trying to connect to an X display.  Note that
554      this happens automatically if the `DISPLAY' environment variable
555      is not set.
556
557 `-debug-init'
558      Enter the debugger if an error in the init file occurs.
559
560 `-debug-paths'
561      Displays information on how XEmacs constructs the various paths
562      into its hierarchy on startup.  (See also *note Startup Paths::.)
563
564 `-unmapped'
565      Do not map the initial frame.  This is useful if you want to start
566      up XEmacs as a server (e.g. for gnuserv screens or external client
567      widgets).
568
569 `-no-init-file'
570 `-q'
571      Do not load your Emacs init file.  *Note Init File::.
572
573 `-no-site-file'
574      Do not load the site-specific init file `lisp/site-start.el'.
575
576 `-no-autoloads'
577      Do not load global symbol files (`auto-autoloads') at startup.
578      This implies `-vanilla'.
579
580 `-no-early-packages'
581      Do not process early packages.  (For more information on startup
582      issues concerning the package system, *Note Startup Paths::.)
583
584 `-vanilla'
585      This is equivalent to `-q -no-site-file -no-early-packages'.
586
587 `-user-init-file FILE'
588      Load FILE as your Emacs init file instead of
589      `~/.xemacs/init.el'/`~/.emacs'.
590
591 `-user-init-directory DIRECTORY'
592      Use DIRECTORY as the location of your early package hierarchies
593      and the various user-specific initialization files.
594
595 `-user USER'
596 `-u USER'
597      Equivalent to `-user-init-file ~USER/.xemacs/init.el
598      -user-init-directory ~USER/.xemacs', or `-user-init-file
599      ~USER/.emacs -user-init-directory ~USER/.xemacs', whichever init
600      file comes first.  *Note Init File::.
601
602    Note that the init file can get access to the command line argument
603 values as the elements of a list in the variable `command-line-args'.
604 (The arguments in the second table above will already have been
605 processed and will not be in the list.)  The init file can override the
606 normal processing of the other arguments by setting this variable.
607
608    One way to use command switches is to visit many files automatically:
609
610      xemacs *.c
611
612 passes each `.c' file as a separate argument to Emacs, so that Emacs
613 visits each file (*note Visiting::).
614
615    Here is an advanced example that assumes you have a Lisp program file
616 called `hack-c-program.el' which, when loaded, performs some useful
617 operation on the current buffer, expected to be a C program.
618
619      xemacs -batch foo.c -l hack-c-program -f save-buffer -kill > log
620
621 Here Emacs is told to visit `foo.c', load `hack-c-program.el' (which
622 makes changes in the visited file), save `foo.c' (note that
623 `save-buffer' is the function that `C-x C-s' is bound to), and then
624 exit to the shell from which the command was executed.  `-batch'
625 guarantees there will be no problem redirecting output to `log',
626 because Emacs will not assume that it has a display terminal to work
627 with.
628
629 Command Line Arguments (for XEmacs Under X)
630 -------------------------------------------
631
632    If you are running XEmacs under X, a number of options are available
633 to control color, border, and window title and icon name:
634
635 `-title TITLE'
636 `-wn TITLE'
637 `-T TITLE'
638      Use TITLE as the window title. This sets the `frame-title-format'
639      variable, which controls the title of the X window corresponding
640      to the selected frame.  This is the same format as
641      `mode-line-format'.
642
643 `-iconname TITLE'
644 `-in TITLE'
645      Use TITLE as the icon name. This sets the
646      `frame-icon-title-format' variable, which controls the title of
647      the icon corresponding to the selected frame.
648
649 `-mc COLOR'
650      Use COLOR as the mouse color.
651
652 `-cr COLOR'
653      Use COLOR as the text-cursor foreground color.
654
655 `-private'
656      Install a private colormap for XEmacs.
657
658    In addition, XEmacs allows you to use a number of standard Xt
659 command line arguments.
660
661 `-background COLOR'
662 `-bg COLOR'
663      Use COLOR as the background color.
664
665 `-bordercolor COLOR'
666 `-bd COLOR'
667      Use COLOR as the border color.
668
669 `-borderwidth WIDTH'
670 `-bw WIDTH'
671      Use WIDTH as the border width.
672
673 `-display DISPLAY'
674 `-d DISPLAY'
675      When running under the X window system, create the window
676      containing the Emacs frame on the display named DISPLAY.
677
678 `-foreground COLOR'
679 `-fg COLOR'
680      Use COLOR as the foreground color.
681
682 `-font NAME'
683 `-fn NAME'
684      Use NAME as the default font.
685
686 `-geometry SPEC'
687 `-geom SPEC'
688 `-g SPEC'
689      Use the geometry (window size and/or position) specified by SPEC.
690
691 `-iconic'
692      Start up iconified.
693
694 `-rv'
695      Bring up Emacs in reverse video.
696
697 `-name NAME'
698      Use the resource manager resources specified by NAME.  The default
699      is to use the name of the program (`argv[0]') as the resource
700      manager name.
701
702 `-xrm'
703      Read something into the resource database for this invocation of
704      Emacs only.
705
706 \1f
707 File: xemacs.info,  Node: Startup Paths,  Next: Packages,  Prev: Command Switches,  Up: Top
708
709 How XEmacs finds Directories and Files
710 ======================================
711
712    XEmacs deals with a multitude of files during operation.  These files
713 are spread over many directories, and XEmacs determines the location of
714 most of these directories at startup and organizes them into various
715 paths.  (A "path", for the purposes of this section, is simply a list
716 of directories which XEmacs searches successively in order to locate a
717 file.)
718
719 XEmacs Directory Hierarchies
720 ----------------------------
721
722    Many of the files XEmacs looks for are located within the XEmacs
723 installation itself.  However, there are several views of what actually
724 constitutes the "XEmacs installation": XEmacs may be run from the
725 compilation directory, it may be installed into arbitrary directories,
726 spread over several directories unrelated to each other.  Moreover, it
727 may subsequently be moved to a different place.  (This last case is not
728 as uncommon as it sounds.  Binary kits work this way.)  Consequently,
729 XEmacs has quite complex procedures in place to find directories, no
730 matter where they may be hidden.
731
732    XEmacs will always respect directory options passed to `configure'.
733 However, if it cannot locate a directory at the configured place, it
734 will initiate a search for the directory in any of a number of
735 "hierarchies" rooted under a directory which XEmacs assumes contain
736 parts of the XEmacs installation; it may locate several such hierarchies
737 and search across them.  (Typically, there are just one or two
738 hierarchies: the hierarchy where XEmacs was or will be installed, and
739 the one where it is being built.)  Such a directory containing a
740 hierarchy is called a "root".  Whenever this section refers to a
741 directory using the shorthand `<root>', it means that XEmacs searches
742 for it under all hierarchies XEmacs was able to scrounge up.  In a
743 running XEmacs, the hierarchy roots are stored in the variable
744 `emacs-roots'.
745
746 Package Hierarchies
747 -------------------
748
749    Many relevant directories and files XEmacs uses are actually not
750 part of the core installation.  They are part of any of the many
751 packages usually installed on top of an XEmacs installation.  (*Note
752 Packages::.)  Hence, they play a prominent role in the various paths
753 XEmacs sets up.
754
755    XEmacs locates packages in any of a number of package hierarchies.
756 Package hierarchies fall into three groups: "early", "late", and "last",
757 according to the relative location at which they show up in the various
758 XEmacs paths.  Early package hierarchies are at the very front, late
759 ones somewhere in the middle, and last hierarchies are (you guessed it)
760 last.
761
762    By default, XEmacs expects an early package hierarchy in the
763 subdirectory `.xemacs/xemacs-packages' of the user's home directory.
764
765    Moreover, XEmacs expects late hierarchies in the subdirectories
766 `site-packages', `mule-packages', and `xemacs-packages' (in that order)
767 of the `<root>/lib/xemacs' subdirectory of one of the installation
768 hierarchies.  (If you run in-place, these are direct subdirectories of
769 the build directory.)  Furthermore, XEmacs will also search these
770 subdirectories in the `<root>/lib/xemacs-<VERSION>' subdirectory and
771 prefer directories found there.
772
773    By default, XEmacs does not have a pre-configured last package
774 hierarchy.  Last hierarchies are primarily for using package hierarchies
775 of outdated versions of XEmacs as a fallback option.  For example, it is
776 possible to run XEmacs 21 with the 20.4 package hierarchy as a last
777 hierarchy.
778
779    It is possible to specify at configure-time the location of the
780 various package hierarchies with the `--package-path' option to
781 configure.  The early, late, and last components of the package path
782 are separated by double instead of single colons.  If all three
783 components are present, they locate the early, late, and last package
784 hierarchies respectively.  If two components are present, they locate
785 the early and late hierarchies.  If only one component is present, it
786 locates the late hierarchy.  At run time, the package path may also be
787 specified via the `EMACSPACKAGEPATH' environment variable.
788
789    An XEmacs package is laid out just like a normal installed XEmacs
790 lisp directory.  It may have `lisp', `etc', `info', and `lib-src'
791 subdirectories.  XEmacs adds these at appropriate places within the
792 various system-wide paths.
793
794    There may be any number of package hierarchy directories.
795
796 Directories and Paths
797 ---------------------
798
799    Here is a list of the various directories and paths XEmacs tries to
800 locate during startup.  XEmacs distinguishes between directories and
801 paths specific to "version", "site", and "architecture" when looking
802 for them.
803
804 `version-specific'
805      directories are specific to the version of XEmacs they belong to
806      and typically reside under `<root>/lib/xemacs-<VERSION>'.
807
808 `site-specific'
809      directories are independent of the version of XEmacs they belong
810      to and typically reside under `<root>/lib/xemacs'
811
812 `architecture-specific'
813      directories are specific both to the version of XEmacs and the
814      architecture it runs on and typically reside under
815      `<root>/lib/xemacs-<VERSION>/<ARCHITECTURE>'.
816
817    During installation, all of these directories may also reside
818 directly under `<root>', because that is where they are in the XEmacs
819 tarball.
820
821    If XEmacs runs with the `-debug-paths' option (*note Command
822 Switches::), it will print the values of these variables, hopefully
823 aiding in debugging any problems which come up.
824
825 `lisp-directory'
826      Contains the version-specific location of the Lisp files that come
827      with the core distribution of XEmacs.  XEmacs will search it
828      recursively to a depth of 1 when setting up `load-path'.
829
830 `load-path'
831      Is where XEmacs searches for XEmacs Lisp files with commands like
832      `load-library'.  It contains the package lisp directories (see
833      further down) and the version-specific core Lisp directories.  If
834      the environment variable `EMACSLOADPATH' is set at startup, its
835      directories are prepended to `load-path'.
836
837 `Info-directory-list'
838      Contains the location of info files.  (See *Note (info)::.)  It
839      contains the package info directories and the version-specific core
840      documentation.  Moreover, XEmacs will add `/usr/info',
841      `/usr/local/info' as well as the directories of the environment
842      variable `INFOPATH' to `Info-directory-list'.
843
844 `exec-directory'
845      Is the directory of architecture-dependent files that come with
846      XEmacs, especially executable programs intended for XEmacs to
847      invoke.
848
849 `exec-path'
850      Is the path for executables which XEmacs may want to start.  It
851      contains the package executable paths as well as `exec-directory',
852      and the directories of the environment variables `PATH' and
853      `EMACSPATH'.
854
855 `doc-directory'
856      Is the directory containing the architecture-specific `DOC' file
857      that contains documentation for XEmacs' commands.
858
859 `data-directory'
860      Is the version-specific directory that contains core data files
861      XEmacs uses.  It may be initialized from the `EMACSDATA'
862      environment variable.
863
864 `data-directory-list'
865      Is the path where XEmacs looks for data files.  It contains
866      package data directories as well as `data-directory'.
867
868 \1f
869 File: xemacs.info,  Node: Basic,  Next: Undo,  Prev: Packages,  Up: Top
870
871 Basic Editing Commands
872 **********************
873
874    We now give the basics of how to enter text, make corrections, and
875 save the text in a file.  If this material is new to you, you might
876 learn it more easily by running the Emacs learn-by-doing tutorial.  To
877 use the tutorial, run Emacs and type `Control-h t'
878 (`help-with-tutorial').  You can also use Tutorials item from the Help
879 menu.
880
881    XEmacs comes with many translations of tutorial.  If your XEmacs is
882 with MULE and you set up language environment correctly, XEmacs chooses
883 right tutorial when available (*note Language Environments::).  If you
884 want specific translation, give `C-h t' a prefix argument, like `C-u
885 C-h t'.
886
887    To clear the screen and redisplay, type `C-l' (`recenter').
888
889 * Menu:
890
891
892 * Inserting Text::      Inserting text by simply typing it.
893 * Moving Point::        How to move the cursor to the place where you want to
894                           change something.
895 * Erasing::             Deleting and killing text.
896 * Files: Basic Files.   Visiting, creating, and saving files.
897 * Help: Basic Help.     Asking what a character does.
898 * Blank Lines::         Commands to make or delete blank lines.
899 * Continuation Lines::  Lines too wide for the screen.
900 * Position Info::       What page, line, row, or column is point on?
901 * Arguments::           Numeric arguments for repeating a command.
902
903 \1f
904 File: xemacs.info,  Node: Inserting Text,  Next: Moving Point,  Up: Basic
905
906 Inserting Text
907 ==============
908
909    To insert printing characters into the text you are editing, just
910 type them.  This inserts the characters you type into the buffer at the
911 cursor (that is, at "point"; *note Point::).  The cursor moves forward,
912 and any text after the cursor moves forward too.  If the text in the
913 buffer is `FOOBAR', with the cursor before the `B', then if you type
914 `XX', you get `FOOXXBAR', with the cursor still before the `B'.
915
916    To "delete" text you have just inserted, use <BS>.  <BS> deletes the
917 character _before_ the cursor (not the one that the cursor is on top of
918 or under; that is the character AFTER the cursor).  The cursor and all
919 characters after it move backwards.  Therefore, if you type a printing
920 character and then type <BS>, they cancel out.
921
922    To end a line and start typing a new one, type <RET>.  This inserts
923 a newline character in the buffer.  If point is in the middle of a
924 line, <RET> splits the line.  Typing <DEL> when the cursor is at the
925 beginning of a line deletes the preceding newline, thus joining the
926 line with the preceding line.
927
928    Emacs can split lines automatically when they become too long, if you
929 turn on a special minor mode called "Auto Fill" mode.  *Note Filling::,
930 for how to use Auto Fill mode.
931
932    If you prefer to have text characters replace (overwrite) existing
933 text rather than shove it to the right, you can enable Overwrite mode,
934 a minor mode.  *Note Minor Modes::.
935
936    Direct insertion works for printing characters and <SPC>, but other
937 characters act as editing commands and do not insert themselves.  If you
938 need to insert a control character or a character whose code is above
939 200 octal, you must "quote" it by typing the character `Control-q'
940 (`quoted-insert') first.  (This character's name is normally written
941 `C-q' for short.)  There are two ways to use `C-q':
942
943    * `C-q' followed by any non-graphic character (even `C-g') inserts
944      that character.
945
946    * `C-q' followed by a sequence of octal digits inserts the character
947      with the specified octal character code.  You can use any number of
948      octal digits; any non-digit terminates the sequence.  If the
949      terminating character is <RET>, it serves only to terminate the
950      sequence; any other non-digit is itself used as input after
951      terminating the sequence.  (The use of octal sequences is disabled
952      in ordinary non-binary Overwrite mode, to give you a convenient
953      way to insert a digit instead of overwriting with it.)
954
955 A numeric argument to `C-q' specifies how many copies of the quoted
956 character should be inserted (*note Arguments::).
957
958    Customization information: <DEL>, in most modes, runs the command
959 `backward-or-forward-delete-char'; <RET> runs the command `newline',
960 and self-inserting printing characters run the command `self-insert',
961 which inserts whatever character was typed to invoke it.  Some major
962 modes rebind <DEL> to other commands.
963
964 \1f
965 File: xemacs.info,  Node: Moving Point,  Next: Erasing,  Prev: Inserting Text,  Up: Basic
966
967 Changing the Location of Point
968 ==============================
969
970    To do more than insert characters, you have to know how to move point
971 (*note Point::).  The simplest way to do this is with arrow keys, or by
972 clicking the left mouse button where you want to move to.
973
974    NOTE: Many of the following commands have two versions, one that uses
975 the function keys (e.g. <LEFT> or <END>) and one that doesn't.  The
976 former versions may only be available on X terminals (i.e. not on
977 TTY's), but the latter are available on all terminals.
978
979 `C-a'
980 `HOME'
981      Move to the beginning of the line (`beginning-of-line').
982
983 `C-e'
984 `END'
985      Move to the end of the line (`end-of-line').
986
987 `C-f'
988 `RIGHT'
989      Move forward one character (`forward-char').
990
991 `C-b'
992 `LEFT'
993      Move backward one character (`backward-char').
994
995 `M-f'
996 `C-RIGHT'
997      Move forward one word (`forward-word').
998
999 `M-b'
1000 `C-LEFT'
1001      Move backward one word (`backward-word').
1002
1003 `C-n'
1004 `DOWN'
1005      Move down one line, vertically (`next-line').  This command
1006      attempts to keep the horizontal position unchanged, so if you
1007      start in the middle of one line, you end in the middle of the
1008      next.  When on the last line of text, `C-n' creates a new line and
1009      moves onto it.
1010
1011 `C-p'
1012 `UP'
1013      Move up one line, vertically (`previous-line').
1014
1015 `C-v'
1016 `PGDN'
1017      Move down one page, vertically (`scroll-up').
1018
1019 `M-v'
1020 `PGUP'
1021      Move up one page, vertically (`scroll-down').
1022
1023 `C-l'
1024      Clear the frame and reprint everything (`recenter').  Text moves
1025      on the frame to bring point to the center of the window.
1026
1027 `M-r'
1028      Move point to left margin, vertically centered in the window
1029      (`move-to-window-line').  Text does not move on the screen.
1030
1031      A numeric argument says which screen line to place point on.  It
1032      counts screen lines down from the top of the window (zero for the
1033      top line).  A negative argument counts lines from the bottom (-1
1034      for the bottom line).
1035
1036 `C-t'
1037      Transpose two characters, the ones before and after the cursor
1038      (`transpose-chars').
1039
1040 `M-<'
1041 `C-HOME'
1042      Move to the top of the buffer (`beginning-of-buffer').  With
1043      numeric argument N, move to N/10 of the way from the top.  *Note
1044      Arguments::, for more information on numeric arguments.
1045
1046 `M->'
1047 `C-END'
1048      Move to the end of the buffer (`end-of-buffer').
1049
1050 `M-x goto-char'
1051      Read a number N and move point to buffer position N.  Position 1
1052      is the beginning of the buffer.
1053
1054 `M-g'
1055      Read a number N and move point to line number N (`goto-line').
1056      Line 1 is the beginning of the buffer.
1057
1058 `M-x set-goal-column'
1059      Use the current column of point as the "semi-permanent goal
1060      column" for `C-n' and `C-p' (`set-goal-column').  Henceforth, those
1061      commands always move to this column in each line moved into, or as
1062      close as possible given the contents of the line.  This goal
1063      column remains in effect until canceled.
1064
1065 `C-u M-x set-goal-column'
1066      Cancel the goal column.  Henceforth, `C-n' and `C-p' once again
1067      try to avoid changing the horizontal position, as usual.
1068
1069    If you set the variable `track-eol' to a non-`nil' value, then `C-n'
1070 and `C-p' when at the end of the starting line move to the end of
1071 another line.  Normally, `track-eol' is `nil'.  *Note Variables::, for
1072 how to set variables such as `track-eol'.
1073
1074    Normally, `C-n' on the last line of a buffer appends a newline to
1075 it.  If the variable `next-line-add-newlines' is `nil', then `C-n' gets
1076 an error instead (like `C-p' on the first line).
1077
1078 \1f
1079 File: xemacs.info,  Node: Erasing,  Next: Basic Files,  Prev: Moving Point,  Up: Basic
1080
1081 Erasing Text
1082 ============
1083
1084 `<DEL>'
1085      Delete the character before or after point
1086      (`backward-or-forward-delete-char').  You can customize this
1087      behavior by setting the variable `delete-key-deletes-forward'.
1088
1089 `C-d'
1090      Delete the character after point (`delete-char').
1091
1092 `C-k'
1093      Kill to the end of the line (`kill-line').
1094
1095 `M-d'
1096      Kill forward to the end of the next word (`kill-word').
1097
1098 `M-<DEL>'
1099      Kill back to the beginning of the previous word
1100      (`backward-kill-word').
1101
1102    You already know about the <DEL> key which deletes the character
1103 before point (that is, before the cursor).  Another key, `Control-d'
1104 (`C-d' for short), deletes the character after point (that is, the
1105 character that the cursor is on).  This shifts the rest of the text on
1106 the line to the left.  If you type `C-d' at the end of a line, it joins
1107 together that line and the next line.
1108
1109    To erase a larger amount of text, use the `C-k' key, which kills a
1110 line at a time.  If you type `C-k' at the beginning or middle of a
1111 line, it kills all the text up to the end of the line.  If you type
1112 `C-k' at the end of a line, it joins that line and the next line.
1113
1114    *Note Killing::, for more flexible ways of killing text.
1115
1116 \1f
1117 File: xemacs.info,  Node: Basic Files,  Next: Basic Help,  Prev: Erasing,  Up: Basic
1118
1119 Files
1120 =====
1121
1122    The commands described above are sufficient for creating and altering
1123 text in an Emacs buffer; the more advanced Emacs commands just make
1124 things easier.  But to keep any text permanently you must put it in a
1125 "file".  Files are named units of text which are stored by the
1126 operating system for you to retrieve later by name.  To look at or use
1127 the contents of a file in any way, including editing the file with
1128 Emacs, you must specify the file name.
1129
1130    Consider a file named `/usr/rms/foo.c'.  To begin editing this file
1131 from Emacs, type:
1132
1133      C-x C-f /usr/rms/foo.c <RET>
1134
1135 Here the file name is given as an "argument" to the command `C-x C-f'
1136 (`find-file').  That command uses the "minibuffer" to read the
1137 argument, and you type <RET> to terminate the argument (*note
1138 Minibuffer::).
1139
1140    You can also use the Open... menu item from the File menu, then type
1141 the name of the file to the prompt.
1142
1143    Emacs obeys the command by "visiting" the file: creating a buffer,
1144 copying the contents of the file into the buffer, and then displaying
1145 the buffer for you to edit.  If you alter the text, you can "save" the
1146 new text in the file by typing `C-x C-s' (`save-buffer') or choosing
1147 Save Buffer from the File menu.  This makes the changes permanent by
1148 copying the altered buffer contents back into the file
1149 `/usr/rms/foo.c'.  Until you save, the changes exist only inside Emacs,
1150 and the file `foo.c' is unaltered.
1151
1152    To create a file, visit the file with `C-x C-f' as if it already
1153 existed or choose Open... from the File menu and provide the name for
1154 the new file.  Emacs will create an empty buffer in which you can
1155 insert the text you want to put in the file.  When you save the buffer
1156 with `C-x C-s', or by choosing Save Buffer from the File menu, the file
1157 is created.
1158
1159    To learn more about using files, *Note Files::.
1160
1161 \1f
1162 File: xemacs.info,  Node: Basic Help,  Next: Blank Lines,  Prev: Basic Files,  Up: Basic
1163
1164 Help
1165 ====
1166
1167    If you forget what a key does, you can find out with the Help
1168 character, which is `C-h' (or <F1>, which is an alias for `C-h').  Type
1169 `C-h k' followed by the key you want to know about; for example, `C-h k
1170 C-n' tells you all about what `C-n' does.  `C-h' is a prefix key; `C-h
1171 k' is just one of its subcommands (the command `describe-key').  The
1172 other subcommands of `C-h' provide different kinds of help.  Type `C-h'
1173 twice to get a description of all the help facilities.  *Note Help::.
1174
1175 \1f
1176 File: xemacs.info,  Node: Blank Lines,  Next: Continuation Lines,  Prev: Basic Help,  Up: Basic
1177
1178 Blank Lines
1179 ===========
1180
1181    Here are special commands and techniques for putting in and taking
1182 out blank lines.
1183
1184 `C-o'
1185      Insert one or more blank lines after the cursor (`open-line').
1186
1187 `C-x C-o'
1188      Delete all but one of many consecutive blank lines
1189      (`delete-blank-lines').
1190
1191    When you want to insert a new line of text before an existing line,
1192 you can do it by typing the new line of text, followed by <RET>.
1193 However, it may be easier to see what you are doing if you first make a
1194 blank line and then insert the desired text into it.  This is easy to do
1195 using the key `C-o' (`open-line'), which inserts a newline after point
1196 but leaves point in front of the newline.  After `C-o', type the text
1197 for the new line.  `C-o F O O' has the same effect as `F O O <RET>',
1198 except for the final location of point.
1199
1200    You can make several blank lines by typing `C-o' several times, or
1201 by giving it a numeric argument to tell it how many blank lines to make.
1202 *Note Arguments::, for how.  If you have a fill prefix, then `C-o'
1203 command inserts the fill prefix on the new line, when you use it at the
1204 beginning of a line.  *Note Fill Prefix::.
1205
1206    The easy way to get rid of extra blank lines is with the command
1207 `C-x C-o' (`delete-blank-lines').  `C-x C-o' in a run of several blank
1208 lines deletes all but one of them.  `C-x C-o' on a solitary blank line
1209 deletes that blank line.  When point is on a nonblank line, `C-x C-o'
1210 deletes any blank lines following that nonblank line.
1211
1212 \1f
1213 File: xemacs.info,  Node: Continuation Lines,  Next: Position Info,  Prev: Blank Lines,  Up: Basic
1214
1215 Continuation Lines
1216 ==================
1217
1218    If you add too many characters to one line without breaking it with
1219 <RET>, the line will grow to occupy two (or more) lines on the screen,
1220 with a curved arrow at the extreme right margin of all but the last of
1221 them.  The curved arrow says that the following screen line is not
1222 really a distinct line in the text, but just the "continuation" of a
1223 line too long to fit the screen.  Continuation is also called "line
1224 wrapping".
1225
1226    Sometimes it is nice to have Emacs insert newlines automatically when
1227 a line gets too long.  Continuation on the screen does not do that.  Use
1228 Auto Fill mode (*note Filling::) if that's what you want.
1229
1230    Instead of continuation, long lines can be displayed by "truncation".
1231 This means that all the characters that do not fit in the width of the
1232 frame or window do not appear at all.  They remain in the buffer,
1233 temporarily invisible.  Right arrow in the last column (instead of the
1234 curved arrow) inform you that truncation is in effect.
1235
1236    Truncation instead of continuation happens whenever horizontal
1237 scrolling is in use, and optionally in all side-by-side windows (*note
1238 Windows::).  You can enable truncation for a particular buffer by
1239 setting the variable `truncate-lines' to non-`nil' in that buffer.
1240 (*Note Variables::.)  Altering the value of `truncate-lines' makes it
1241 local to the current buffer; until that time, the default value is in
1242 effect.  The default is initially `nil'.  *Note Locals::.
1243
1244    *Note Display Vars::, for additional variables that affect how text
1245 is displayed.
1246