+++ /dev/null
-This is Info file ../../info/xemacs.info, produced by Makeinfo version
-1.68 from the input file xemacs.texi.
-
-INFO-DIR-SECTION XEmacs Editor
-START-INFO-DIR-ENTRY
-* XEmacs: (xemacs). XEmacs Editor.
-END-INFO-DIR-ENTRY
-
- This file documents the XEmacs editor.
-
- Copyright (C) 1985, 1986, 1988 Richard M. Stallman. Copyright (C)
-1991, 1992, 1993, 1994 Lucid, Inc. Copyright (C) 1993, 1994 Sun
-Microsystems, Inc. Copyright (C) 1995 Amdahl Corporation.
-
- Permission is granted to make and distribute verbatim copies of this
-manual provided the copyright notice and this permission notice are
-preserved on all copies.
-
- Permission is granted to copy and distribute modified versions of
-this manual under the conditions for verbatim copying, provided also
-that the sections entitled "The GNU Manifesto", "Distribution" and "GNU
-General Public License" are included exactly as in the original, and
-provided that the entire resulting derived work is distributed under the
-terms of a permission notice identical to this one.
-
- Permission is granted to copy and distribute translations of this
-manual into another language, under the above conditions for modified
-versions, except that the sections entitled "The GNU Manifesto",
-"Distribution" and "GNU General Public License" may be included in a
-translation approved by the author instead of in the original English.
-
-\1f
-File: xemacs.info, Node: Init File, Next: Audible Bell, Prev: Syntax, Up: Customization
-
-The Init File, .emacs
-=====================
-
- When you start Emacs, it normally loads the file `.emacs' in your
-home directory. This file, if it exists, should contain Lisp code. It
-is called your initialization file or "init file". Use the command
-line switch `-q' to tell Emacs whether to load an init file (*note
-Entering Emacs::.). Use the command line switch `-user-init-file'
-(*note Command Switches::.) to tell Emacs to load a different file
-instead of `~/.emacs'.
-
- When the `.emacs' file is read, the variable `user-init-file' says
-which init file was loaded.
-
- At some sites there is a "default init file", which is the library
-named `default.el', found via the standard search path for libraries.
-The Emacs distribution contains no such library; your site may create
-one for local customizations. If this library exists, it is loaded
-whenever you start Emacs. But your init file, if any, is loaded first;
-if it sets `inhibit-default-init' non-`nil', then `default' is not
-loaded.
-
- If you have a large amount of code in your `.emacs' file, you should
-move it into another file named `SOMETHING.el', byte-compile it (*note
-Lisp Libraries::.), and load that file from your `.emacs' file using
-`load'.
-
-* Menu:
-
-* Init Syntax:: Syntax of constants in Emacs Lisp.
-* Init Examples:: How to do some things with an init file.
-* Terminal Init:: Each terminal type can have an init file.
-
-\1f
-File: xemacs.info, Node: Init Syntax, Next: Init Examples, Up: Init File
-
-Init File Syntax
-----------------
-
- The `.emacs' file contains one or more Lisp function call
-expressions. Each consists of a function name followed by arguments,
-all surrounded by parentheses. For example, `(setq fill-column 60)'
-represents a call to the function `setq' which is used to set the
-variable `fill-column' (*note Filling::.) to 60.
-
- The second argument to `setq' is an expression for the new value of
-the variable. This can be a constant, a variable, or a function call
-expression. In `.emacs', constants are used most of the time. They
-can be:
-
-Numbers
- Integers are written in decimal, with an optional initial minus
- sign.
-
- If a sequence of digits is followed by a period and another
- sequence of digits, it is interpreted as a floating point number.
-
- The number prefixes `#b', `#o', and `#x' are supported to
- represent numbers in binary, octal, and hexadecimal notation (or
- radix).
-
-Strings
- Lisp string syntax is the same as C string syntax with a few extra
- features. Use a double-quote character to begin and end a string
- constant.
-
- Newlines and special characters may be present literally in
- strings. They can also be represented as backslash sequences:
- `\n' for newline, `\b' for backspace, `\r' for return, `\t' for
- tab, `\f' for formfeed (control-l), `\e' for escape, `\\' for a
- backslash, `\"' for a double-quote, or `\OOO' for the character
- whose octal code is OOO. Backslash and double-quote are the only
- characters for which backslash sequences are mandatory.
-
- You can use `\C-' as a prefix for a control character, as in
- `\C-s' for ASCII Control-S, and `\M-' as a prefix for a Meta
- character, as in `\M-a' for Meta-A or `\M-\C-a' for Control-Meta-A.
-
-Characters
- Lisp character constant syntax consists of a `?' followed by
- either a character or an escape sequence starting with `\'.
- Examples: `?x', `?\n', `?\"', `?\)'. Note that strings and
- characters are not interchangeable in Lisp; some contexts require
- one and some contexts require the other.
-
-True
- `t' stands for `true'.
-
-False
- `nil' stands for `false'.
-
-Other Lisp objects
- Write a single-quote (') followed by the Lisp object you want.
-
-\1f
-File: xemacs.info, Node: Init Examples, Next: Terminal Init, Prev: Init Syntax, Up: Init File
-
-Init File Examples
-------------------
-
- Here are some examples of doing certain commonly desired things with
-Lisp expressions:
-
- * Make <TAB> in C mode just insert a tab if point is in the middle
- of a line.
-
- (setq c-tab-always-indent nil)
-
- Here we have a variable whose value is normally `t' for `true' and
- the alternative is `nil' for `false'.
-
- * Make searches case sensitive by default (in all buffers that do not
- override this).
-
- (setq-default case-fold-search nil)
-
- This sets the default value, which is effective in all buffers
- that do not have local values for the variable. Setting
- `case-fold-search' with `setq' affects only the current buffer's
- local value, which is probably not what you want to do in an init
- file.
-
- * Make Text mode the default mode for new buffers.
-
- (setq default-major-mode 'text-mode)
-
- Note that `text-mode' is used because it is the command for
- entering the mode we want. A single-quote is written before it to
- make a symbol constant; otherwise, `text-mode' would be treated as
- a variable name.
-
- * Turn on Auto Fill mode automatically in Text mode and related
- modes.
-
- (setq text-mode-hook
- '(lambda () (auto-fill-mode 1)))
-
- Here we have a variable whose value should be a Lisp function. The
- function we supply is a list starting with `lambda', and a single
- quote is written in front of it to make it (for the purpose of this
- `setq') a list constant rather than an expression. Lisp functions
- are not explained here; for mode hooks it is enough to know that
- `(auto-fill-mode 1)' is an expression that will be executed when
- Text mode is entered. You could replace it with any other
- expression that you like, or with several expressions in a row.
-
- (setq text-mode-hook 'turn-on-auto-fill)
-
- This is another way to accomplish the same result.
- `turn-on-auto-fill' is a symbol whose function definition is
- `(lambda () (auto-fill-mode 1))'.
-
- * Load the installed Lisp library named `foo' (actually a file
- `foo.elc' or `foo.el' in a standard Emacs directory).
-
- (load "foo")
-
- When the argument to `load' is a relative pathname, not starting
- with `/' or `~', `load' searches the directories in `load-path'
- (*note Loading::.).
-
- * Load the compiled Lisp file `foo.elc' from your home directory.
-
- (load "~/foo.elc")
-
- Here an absolute file name is used, so no searching is done.
-
- * Rebind the key `C-x l' to run the function `make-symbolic-link'.
-
- (global-set-key "\C-xl" 'make-symbolic-link)
-
- or
-
- (define-key global-map "\C-xl" 'make-symbolic-link)
-
- Note once again the single-quote used to refer to the symbol
- `make-symbolic-link' instead of its value as a variable.
-
- * Do the same thing for C mode only.
-
- (define-key c-mode-map "\C-xl" 'make-symbolic-link)
-
- * Bind the function key <F1> to a command in C mode. Note that the
- names of function keys must be lower case.
-
- (define-key c-mode-map 'f1 'make-symbolic-link)
-
- * Bind the shifted version of <F1> to a command.
-
- (define-key c-mode-map '(shift f1) 'make-symbolic-link)
-
- * Redefine all keys which now run `next-line' in Fundamental mode to
- run `forward-line' instead.
-
- (substitute-key-definition 'next-line 'forward-line
- global-map)
-
- * Make `C-x C-v' undefined.
-
- (global-unset-key "\C-x\C-v")
-
- One reason to undefine a key is so that you can make it a prefix.
- Simply defining `C-x C-v ANYTHING' would make `C-x C-v' a prefix,
- but `C-x C-v' must be freed of any non-prefix definition first.
-
- * Make `$' have the syntax of punctuation in Text mode. Note the
- use of a character constant for `$'.
-
- (modify-syntax-entry ?\$ "." text-mode-syntax-table)
-
- * Enable the use of the command `eval-expression' without
- confirmation.
-
- (put 'eval-expression 'disabled nil)
-
-\1f
-File: xemacs.info, Node: Terminal Init, Prev: Init Examples, Up: Init File
-
-Terminal-Specific Initialization
---------------------------------
-
- Each terminal type can have a Lisp library to be loaded into Emacs
-when it is run on that type of terminal. For a terminal type named
-TERMTYPE, the library is called `term/TERMTYPE' and it is found by
-searching the directories `load-path' as usual and trying the suffixes
-`.elc' and `.el'. Normally it appears in the subdirectory `term' of
-the directory where most Emacs libraries are kept.
-
- The usual purpose of the terminal-specific library is to define the
-escape sequences used by the terminal's function keys using the library
-`keypad.el'. See the file `term/vt100.el' for an example of how this
-is done.
-
- When the terminal type contains a hyphen, only the part of the name
-before the first hyphen is significant in choosing the library name.
-Thus, terminal types `aaa-48' and `aaa-30-rv' both use the library
-`term/aaa'. The code in the library can use `(getenv "TERM")' to find
-the full terminal type name.
-
- The library's name is constructed by concatenating the value of the
-variable `term-file-prefix' and the terminal type. Your `.emacs' file
-can prevent the loading of the terminal-specific library by setting
-`term-file-prefix' to `nil'.
-
- The value of the variable `term-setup-hook', if not `nil', is called
-as a function of no arguments at the end of Emacs initialization, after
-both your `.emacs' file and any terminal-specific library have been
-read. You can set the value in the `.emacs' file to override part of
-any of the terminal-specific libraries and to define initializations
-for terminals that do not have a library.
-
-\1f
-File: xemacs.info, Node: Audible Bell, Next: Faces, Prev: Init File, Up: Customization
-
-Changing the Bell Sound
-=======================
-
- You can now change how the audible bell sounds using the variable
-`sound-alist'.
-
- `sound-alist''s value is an list associating symbols with, among
-other things, strings of audio-data. When `ding' is called with one of
-the symbols, the associated sound data is played instead of the
-standard beep. This only works if you are logged in on the console of a
-machine with audio hardware. To listen to a sound of the provided type,
-call the function `play-sound' with the argument SOUND. You can also
-set the volume of the sound with the optional argument VOLUME.
-
- Each element of `sound-alist' is a list describing a sound. The
-first element of the list is the name of the sound being defined.
-Subsequent elements of the list are alternating keyword/value pairs:
-
-`sound'
- A string of raw sound data, or the name of another sound to play.
- The symbol `t' here means use the default X beep.
-
-`volume'
- An integer from 0-100, defaulting to `bell-volume'.
-
-`pitch'
- If using the default X beep, the pitch (Hz) to generate.
-
-`duration'
- If using the default X beep, the duration (milliseconds).
-
- For compatibility, elements of `sound-alist' may also be of the form:
-
- ( SOUND-NAME . <SOUND> )
- ( SOUND-NAME <VOLUME> <SOUND> )
-
- You should probably add things to this list by calling the function
-`load-sound-file'.
-
- Note that you can only play audio data if running on the console
-screen of a machine with audio hardware which emacs understands, which
-at this time means a Sun SparcStation, SGI, or HP9000s700.
-
- Also note that the pitch, duration, and volume options are available
-everywhere, but most X servers ignore the `pitch' option.
-
- The variable `bell-volume' should be an integer from 0 to 100, with
-100 being loudest, which controls how loud the sounds emacs makes
-should be. Elements of the `sound-alist' may override this value.
-This variable applies to the standard X bell sound as well as sound
-files.
-
- If the symbol `t' is in place of a sound-string, Emacs uses the
-default X beep. This allows you to define beep-types of different
-volumes even when not running on the console.
-
- You can add things to this list by calling the function
-`load-sound-file', which reads in an audio-file and adds its data to
-the sound-alist. You can specify the sound with the SOUND-NAME argument
-and the file into which the sounds are loaded with the FILENAME
-argument. The optional VOLUME argument sets the volume.
-
- `load-sound-file (FILENAME SOUND-NAME &optional VOLUME)'
-
- To load and install some sound files as beep-types, use the function
-`load-default-sounds' (note that this only works if you are on display
-0 of a machine with audio hardware).
-
- The following beep-types are used by Emacs itself. Other Lisp
-packages may use other beep types, but these are the ones that the C
-kernel of Emacs uses.
-
-`auto-save-error'
- An auto-save does not succeed
-
-`command-error'
- The Emacs command loop catches an error
-
-`undefined-key'
- You type a key that is undefined
-
-`undefined-click'
- You use an undefined mouse-click combination
-
-`no-completion'
- Completion was not possible
-
-`y-or-n-p'
- You type something other than the required `y' or `n'
-
-`yes-or-no-p'
- You type something other than `yes' or `no'
-
-\1f
-File: xemacs.info, Node: Faces, Next: X Resources, Prev: Audible Bell, Up: Customization
-
-Faces
-=====
-
- XEmacs has objects called extents and faces. An "extent" is a
-region of text and a "face" is a collection of textual attributes, such
-as fonts and colors. Every extent is displayed in some face;
-therefore, changing the properties of a face immediately updates the
-display of all associated extents. Faces can be frame-local: you can
-have a region of text that displays with completely different
-attributes when its buffer is viewed from a different X window.
-
- The display attributes of faces may be specified either in Lisp or
-through the X resource manager.
-
-Customizing Faces
------------------
-
- You can change the face of an extent with the functions in this
-section. All the functions prompt for a FACE as an argument; use
-completion for a list of possible values.
-
-`M-x invert-face'
- Swap the foreground and background colors of the given FACE.
-
-`M-x make-face-bold'
- Make the font of the given FACE bold. When called from a program,
- returns `nil' if this is not possible.
-
-`M-x make-face-bold-italic'
- Make the font of the given FACE bold italic. When called from a
- program, returns `nil' if not possible.
-
-`M-x make-face-italic'
- Make the font of the given FACE italic. When called from a
- program, returns `nil' if not possible.
-
-`M-x make-face-unbold'
- Make the font of the given FACE non-bold. When called from a
- program, returns `nil' if not possible.
-
-`M-x make-face-unitalic'
- Make the font of the given FACE non-italic. When called from a
- program, returns `nil' if not possible.
-
-`M-x make-face-larger'
- Make the font of the given FACE a little larger. When called from
- a program, returns `nil' if not possible.
-
-`M-x make-face-smaller'
- Make the font of the given FACE a little smaller. When called
- from a program, returns `nil' if not possible.
-
-`M-x set-face-background'
- Change the background color of the given FACE.
-
-`M-x set-face-background-pixmap'
- Change the background pixmap of the given FACE.
-
-`M-x set-face-font'
- Change the font of the given FACE.
-
-`M-x set-face-foreground'
- Change the foreground color of the given FACE.
-
-`M-x set-face-underline-p'
- Change whether the given FACE is underlined.
-
- You can exchange the foreground and background color of the selected
-FACE with the function `invert-face'. If the face does not specify both
-foreground and background, then its foreground and background are set
-to the background and foreground of the default face. When calling
-this from a program, you can supply the optional argument FRAME to
-specify which frame is affected; otherwise, all frames are affected.
-
- You can set the background color of the specified FACE with the
-function `set-face-background'. The argument `color' should be a
-string, the name of a color. When called from a program, if the
-optional FRAME argument is provided, the face is changed only in that
-frame; otherwise, it is changed in all frames.
-
- You can set the background pixmap of the specified FACE with the
-function `set-face-background-pixmap'. The pixmap argument NAME should
-be a string, the name of a file of pixmap data. The directories listed
-in the `x-bitmap-file-path' variable are searched. The bitmap may also
-be a list of the form `(WIDTH HEIGHT DATA)', where WIDTH and HEIGHT are
-the size in pixels, and DATA is a string containing the raw bits of the
-bitmap. If the optional FRAME argument is provided, the face is
-changed only in that frame; otherwise, it is changed in all frames.
-
- The variable `x-bitmap-file-path' takes as a value a list of the
-directories in which X bitmap files may be found. If the value is
-`nil', the list is initialized from the `*bitmapFilePath' resource.
-
- If the environment variable XBMLANGPATH is set, then it is consulted
-before the `x-bitmap-file-path' variable.
-
- You can set the font of the specified FACE with the function
-`set-face-font'. The FONT argument should be a string, the name of a
-font. When called from a program, if the optional FRAME argument is
-provided, the face is changed only in that frame; otherwise, it is
-changed in all frames.
-
- You can set the foreground color of the specified FACE with the
-function `set-face-foreground'. The argument COLOR should be a string,
-the name of a color. If the optional FRAME argument is provided, the
-face is changed only in that frame; otherwise, it is changed in all
-frames.
-
- You can set underline the specified FACE with the function
-`set-face-underline-p'. The argument UNDERLINE-P can be used to make
-underlining an attribute of the face or not. If the optional FRAME
-argument is provided, the face is changed only in that frame;
-otherwise, it is changed in all frames.
-
-\1f
-File: xemacs.info, Node: X Resources, Prev: Faces, Up: Customization
-
-X Resources
-===========
-
- Historically, XEmacs has used the X resource application class
-`Emacs' for its resources. Unfortunately, GNU Emacs uses the same
-application class, and resources are not compatible between the two
-Emacsen. This sharing of the application class often leads to trouble
-if you want to run both variants.
-
- Starting with XEmacs 21, XEmacs uses the class `XEmacs' if it finds
-any XEmacs resources in the resource database when the X connection is
-initialized. Otherwise, it will use the class `Emacs' for backwards
-compatability. The variable X-EMACS-APPLICATION-CLASS may be consulted
-to determine the application class being used.
-
- The examples in this section assume the application class is `Emacs'.
-
- The Emacs resources are generally set per-frame. Each Emacs frame
-can have its own name or the same name as another, depending on the
-name passed to the `make-frame' function.
-
- You can specify resources for all frames with the syntax:
-
- Emacs*parameter: value
-
-or
-
- Emacs*EmacsFrame.parameter:value
-
-You can specify resources for a particular frame with the syntax:
-
- Emacs*FRAME-NAME.parameter: value
-
-* Menu:
-
-* Geometry Resources:: Controlling the size and position of frames.
-* Iconic Resources:: Controlling whether frames come up iconic.
-* Resource List:: List of resources settable on a frame or device.
-* Face Resources:: Controlling faces using resources.
-* Widgets:: The widget hierarchy for XEmacs.
-* Menubar Resources:: Specifying resources for the menubar.
-
-\1f
-File: xemacs.info, Node: Geometry Resources, Next: Iconic Resources, Up: X Resources
-
-Geometry Resources
-------------------
-
- To make the default size of all Emacs frames be 80 columns by 55
-lines, do this:
-
- Emacs*EmacsFrame.geometry: 80x55
-
-To set the geometry of a particular frame named `fred', do this:
-
- Emacs*fred.geometry: 80x55
-
-Important! Do not use the following syntax:
-
- Emacs*geometry: 80x55
-
-You should never use `*geometry' with any X application. It does not
-say "make the geometry of Emacs be 80 columns by 55 lines." It really
-says, "make Emacs and all subwindows thereof be 80x55 in whatever units
-they care to measure in." In particular, that is both telling the
-Emacs text pane to be 80x55 in characters, and telling the menubar pane
-to be 80x55 pixels, which is surely not what you want.
-
- As a special case, this geometry specification also works (and sets
-the default size of all Emacs frames to 80 columns by 55 lines):
-
- Emacs.geometry: 80x55
-
-since that is the syntax used with most other applications (since most
-other applications have only one top-level window, unlike Emacs). In
-general, however, the top-level shell (the unmapped ApplicationShell
-widget named `Emacs' that is the parent of the shell widgets that
-actually manage the individual frames) does not have any interesting
-resources on it, and you should set the resources on the frames instead.
-
- The `-geometry' command-line argument sets only the geometry of the
-initial frame created by Emacs.
-
- A more complete explanation of geometry-handling is
-
- * The `-geometry' command-line option sets the `Emacs.geometry'
- resource, that is, the geometry of the ApplicationShell.
-
- * For the first frame created, the size of the frame is taken from
- the ApplicationShell if it is specified, otherwise from the
- geometry of the frame.
-
- * For subsequent frames, the order is reversed: First the frame, and
- then the ApplicationShell.
-
- * For the first frame created, the position of the frame is taken
- from the ApplicationShell (`Emacs.geometry') if it is specified,
- otherwise from the geometry of the frame.
-
- * For subsequent frames, the position is taken only from the frame,
- and never from the ApplicationShell.
-
- This is rather complicated, but it does seem to provide the most
-intuitive behavior with respect to the default sizes and positions of
-frames created in various ways.
-
-\1f
-File: xemacs.info, Node: Iconic Resources, Next: Resource List, Prev: Geometry Resources, Up: X Resources
-
-Iconic Resources
-----------------
-
- Analogous to `-geometry', the `-iconic' command-line option sets the
-iconic flag of the ApplicationShell (`Emacs.iconic') and always applies
-to the first frame created regardless of its name. However, it is
-possible to set the iconic flag on particular frames (by name) by using
-the `Emacs*FRAME-NAME.iconic' resource.
-
-\1f
-File: xemacs.info, Node: Resource List, Next: Face Resources, Prev: Iconic Resources, Up: X Resources
-
-Resource List
--------------
-
- Emacs frames accept the following resources:
-
-`geometry' (class `Geometry'): string
- Initial geometry for the frame. *Note Geometry Resources::, for a
- complete discussion of how this works.
-
-`iconic' (class `Iconic'): boolean
- Whether this frame should appear in the iconified state.
-
-`internalBorderWidth' (class `InternalBorderWidth'): int
- How many blank pixels to leave between the text and the edge of the
- window.
-
-`interline' (class `Interline'): int
- How many pixels to leave between each line (may not be
- implemented).
-
-`menubar' (class `Menubar'): boolean
- Whether newly-created frames should initially have a menubar. Set
- to true by default.
-
-`initiallyUnmapped' (class `InitiallyUnmapped'): boolean
- Whether XEmacs should leave the initial frame unmapped when it
- starts up. This is useful if you are starting XEmacs as a server
- (e.g. in conjunction with gnuserv or the external client widget).
- You can also control this with the `-unmapped' command-line option.
-
-`barCursor' (class `BarColor'): boolean
- Whether the cursor should be displayed as a bar, or the
- traditional box.
-
-`cursorColor' (class `CursorColor'): color-name
- The color of the text cursor.
-
-`scrollBarWidth' (class `ScrollBarWidth'): integer
- How wide the vertical scrollbars should be, in pixels; 0 means no
- vertical scrollbars. You can also use a resource specification of
- the form `*scrollbar.width', or the usual toolkit scrollbar
- resources: `*XmScrollBar.width' (Motif), `*XlwScrollBar.width'
- (Lucid), or `*Scrollbar.thickness' (Athena). We don't recommend
- that you use the toolkit resources, though, because they're
- dependent on how exactly your particular build of XEmacs was
- configured.
-
-`scrollBarHeight' (class `ScrollBarHeight'): integer
- How high the horizontal scrollbars should be, in pixels; 0 means no
- horizontal scrollbars. You can also use a resource specification
- of the form `*scrollbar.height', or the usual toolkit scrollbar
- resources: `*XmScrollBar.height' (Motif), `*XlwScrollBar.height'
- (Lucid), or `*Scrollbar.thickness' (Athena). We don't recommend
- that you use the toolkit resources, though, because they're
- dependent on how exactly your particular build of XEmacs was
- configured.
-
-`scrollBarPlacement' (class `ScrollBarPlacement'): string
- Where the horizontal and vertical scrollbars should be positioned.
- This should be one of the four strings `BOTTOM_LEFT',
- `BOTTOM_RIGHT', `TOP_LEFT', and `TOP_RIGHT'. Default is
- `BOTTOM_RIGHT' for the Motif and Lucid scrollbars and
- `BOTTOM_LEFT' for the Athena scrollbars.
-
-`topToolBarHeight' (class `TopToolBarHeight'): integer
-`bottomToolBarHeight' (class `BottomToolBarHeight'): integer
-`leftToolBarWidth' (class `LeftToolBarWidth'): integer
-`rightToolBarWidth' (class `RightToolBarWidth'): integer
- Height and width of the four possible toolbars.
-
-`topToolBarShadowColor' (class `TopToolBarShadowColor'): color-name
-`bottomToolBarShadowColor' (class `BottomToolBarShadowColor'): color-name
- Color of the top and bottom shadows for the toolbars. NOTE: These
- resources do *not* have anything to do with the top and bottom
- toolbars (i.e. the toolbars at the top and bottom of the frame)!
- Rather, they affect the top and bottom shadows around the edges of
- all four kinds of toolbars.
-
-`topToolBarShadowPixmap' (class `TopToolBarShadowPixmap'): pixmap-name
-`bottomToolBarShadowPixmap' (class `BottomToolBarShadowPixmap'): pixmap-name
- Pixmap of the top and bottom shadows for the toolbars. If set,
- these resources override the corresponding color resources. NOTE:
- These resources do *not* have anything to do with the top and
- bottom toolbars (i.e. the toolbars at the top and bottom of the
- frame)! Rather, they affect the top and bottom shadows around the
- edges of all four kinds of toolbars.
-
-`toolBarShadowThickness' (class `ToolBarShadowThickness'): integer
- Thickness of the shadows around the toolbars, in pixels.
-
-`visualBell' (class `VisualBell'): boolean
- Whether XEmacs should flash the screen rather than making an
- audible beep.
-
-`bellVolume' (class `BellVolume'): integer
- Volume of the audible beep.
-
-`useBackingStore' (class `UseBackingStore'): boolean
- Whether XEmacs should set the backing-store attribute of the X
- windows it creates. This increases the memory usage of the X
- server but decreases the amount of X traffic necessary to update
- the screen, and is useful when the connection to the X server goes
- over a low-bandwidth line such as a modem connection.
-
- Emacs devices accept the following resources:
-
-`textPointer' (class `Cursor'): cursor-name
- The cursor to use when the mouse is over text. This resource is
- used to initialize the variable `x-pointer-shape'.
-
-`selectionPointer' (class `Cursor'): cursor-name
- The cursor to use when the mouse is over a selectable text region
- (an extent with the `highlight' property; for example, an Info
- cross-reference). This resource is used to initialize the variable
- `x-selection-pointer-shape'.
-
-`spacePointer' (class `Cursor'): cursor-name
- The cursor to use when the mouse is over a blank space in a buffer
- (that is, after the end of a line or after the end-of-file). This
- resource is used to initialize the variable
- `x-nontext-pointer-shape'.
-
-`modeLinePointer' (class `Cursor'): cursor-name
- The cursor to use when the mouse is over a modeline. This
- resource is used to initialize the variable `x-mode-pointer-shape'.
-
-`gcPointer' (class `Cursor'): cursor-name
- The cursor to display when a garbage-collection is in progress.
- This resource is used to initialize the variable
- `x-gc-pointer-shape'.
-
-`scrollbarPointer' (class `Cursor'): cursor-name
- The cursor to use when the mouse is over the scrollbar. This
- resource is used to initialize the variable
- `x-scrollbar-pointer-shape'.
-
-`pointerColor' (class `Foreground'): color-name
-`pointerBackground' (class `Background'): color-name
- The foreground and background colors of the mouse cursor. These
- resources are used to initialize the variables
- `x-pointer-foreground-color' and `x-pointer-background-color'.
-
-\1f
-File: xemacs.info, Node: Face Resources, Next: Widgets, Prev: Resource List, Up: X Resources
-
-Face Resources
---------------
-
- The attributes of faces are also per-frame. They can be specified as:
-
- Emacs.FACE_NAME.parameter: value
-
-or
-
- Emacs*FRAME_NAME.FACE_NAME.parameter: value
-
-Faces accept the following resources:
-
-`attributeFont' (class `AttributeFont'): font-name
- The font of this face.
-
-`attributeForeground' (class `AttributeForeground'): color-name
-`attributeBackground' (class `AttributeBackground'): color-name
- The foreground and background colors of this face.
-
-`attributeBackgroundPixmap' (class `AttributeBackgroundPixmap'): file-name
- The name of an XBM file (or XPM file, if your version of Emacs
- supports XPM), to use as a background stipple.
-
-`attributeUnderline' (class `AttributeUnderline'): boolean
- Whether text in this face should be underlined.
-
- All text is displayed in some face, defaulting to the face named
-`default'. To set the font of normal text, use
-`Emacs*default.attributeFont'. To set it in the frame named `fred', use
-`Emacs*fred.default.attributeFont'.
-
- These are the names of the predefined faces:
-
-`default'
- Everything inherits from this.
-
-`bold'
- If this is not specified in the resource database, Emacs tries to
- find a bold version of the font of the default face.
-
-`italic'
- If this is not specified in the resource database, Emacs tries to
- find an italic version of the font of the default face.
-
-`bold-italic'
- If this is not specified in the resource database, Emacs tries to
- find a bold-italic version of the font of the default face.
-
-`modeline'
- This is the face that the modeline is displayed in. If not
- specified in the resource database, it is determined from the
- default face by reversing the foreground and background colors.
-
-`highlight'
- This is the face that highlighted extents (for example, Info
- cross-references and possible completions, when the mouse passes
- over them) are displayed in.
-
-`left-margin'
-`right-margin'
- These are the faces that the left and right annotation margins are
- displayed in.
-
-`zmacs-region'
- This is the face that mouse selections are displayed in.
-
-`isearch'
- This is the face that the matched text being searched for is
- displayed in.
-
-`info-node'
- This is the face of info menu items. If unspecified, it is copied
- from `bold-italic'.
-
-`info-xref'
- This is the face of info cross-references. If unspecified, it is
- copied from `bold'. (Note that, when the mouse passes over a
- cross-reference, the cross-reference's face is determined from a
- combination of the `info-xref' and `highlight' faces.)
-
- Other packages might define their own faces; to see a list of all
-faces, use any of the interactive face-manipulation commands such as
-`set-face-font' and type `?' when you are prompted for the name of a
-face.
-
- If the `bold', `italic', and `bold-italic' faces are not specified
-in the resource database, then XEmacs attempts to derive them from the
-font of the default face. It can only succeed at this if you have
-specified the default font using the XLFD (X Logical Font Description)
-format, which looks like
-
- *-courier-medium-r-*-*-*-120-*-*-*-*-*-*
-
-If you use any of the other, less strict font name formats, some of
-which look like
-
- lucidasanstypewriter-12
- fixed
- 9x13
-
- then XEmacs won't be able to guess the names of the bold and italic
-versions. All X fonts can be referred to via XLFD-style names, so you
-should use those forms. See the man pages for `X(1)', `xlsfonts(1)',
-and `xfontsel(1)'.
-
-\1f
-File: xemacs.info, Node: Widgets, Next: Menubar Resources, Prev: Face Resources, Up: X Resources
-
-Widgets
--------
-
- There are several structural widgets between the terminal EmacsFrame
-widget and the top level ApplicationShell; the exact names and types of
-these widgets change from release to release (for example, they changed
-between 19.8 and 19.9, 19.9 and 19.10, and 19.10 and 19.12) and are
-subject to further change in the future, so you should avoid mentioning
-them in your resource database. The above-mentioned syntaxes should be
-forward- compatible. As of 19.13, the exact widget hierarchy is as
-follows:
-
- INVOCATION-NAME "shell" "container" FRAME-NAME
- x-emacs-application-class "EmacsShell" "EmacsManager" "EmacsFrame"
-
- where INVOCATION-NAME is the terminal component of the name of the
-XEmacs executable (usually `xemacs'), and `x-emacs-application-class'
-is generally `Emacs'.
-
-\1f
-File: xemacs.info, Node: Menubar Resources, Prev: Widgets, Up: X Resources
-
-Menubar Resources
------------------
-
- As the menubar is implemented as a widget which is not a part of
-XEmacs proper, it does not use the fac" mechanism for specifying fonts
-and colors: It uses whatever resources are appropriate to the type of
-widget which is used to implement it.
-
- If Emacs was compiled to use only the Motif-lookalike menu widgets,
-then one way to specify the font of the menubar would be
-
- Emacs*menubar*font: *-courier-medium-r-*-*-*-120-*-*-*-*-*-*
-
- If the Motif library is being used, then one would have to use
-
- Emacs*menubar*fontList: *-courier-medium-r-*-*-*-120-*-*-*-*-*-*
-
- because the Motif library uses the `fontList' resource name instead
-of `font', which has subtly different semantics.
-
- The same is true of the scrollbars: They accept whichever resources
-are appropriate for the toolkit in use.
-
-\1f
-File: xemacs.info, Node: Quitting, Next: Lossage, Prev: Customization, Up: Top
-
-Quitting and Aborting
-=====================
-
-`C-g'
- Quit. Cancel running or partially typed command.
-
-`C-]'
- Abort innermost recursive editing level and cancel the command
- which invoked it (`abort-recursive-edit').
-
-`M-x top-level'
- Abort all recursive editing levels that are currently executing.
-
-`C-x u'
- Cancel an already-executed command, usually (`undo').
-
- There are two ways of cancelling commands which are not finished
-executing: "quitting" with `C-g', and "aborting" with `C-]' or `M-x
-top-level'. Quitting is cancelling a partially typed command or one
-which is already running. Aborting is getting out of a recursive
-editing level and cancelling the command that invoked the recursive
-edit.
-
- Quitting with `C-g' is used for getting rid of a partially typed
-command or a numeric argument that you don't want. It also stops a
-running command in the middle in a relatively safe way, so you can use
-it if you accidentally start executing a command that takes a long
-time. In particular, it is safe to quit out of killing; either your
-text will ALL still be there, or it will ALL be in the kill ring (or
-maybe both). Quitting an incremental search does special things
-documented under searching; in general, it may take two successive
-`C-g' characters to get out of a search. `C-g' works by setting the
-variable `quit-flag' to `t' the instant `C-g' is typed; Emacs Lisp
-checks this variable frequently and quits if it is non-`nil'. `C-g' is
-only actually executed as a command if it is typed while Emacs is
-waiting for input.
-
- If you quit twice in a row before the first `C-g' is recognized, you
-activate the "emergency escape" feature and return to the shell. *Note
-Emergency Escape::.
-
- You can use `C-]' (`abort-recursive-edit') to get out of a recursive
-editing level and cancel the command which invoked it. Quitting with
-`C-g' does not do this, and could not do this because it is used to
-cancel a partially typed command within the recursive editing level.
-Both operations are useful. For example, if you are in the Emacs
-debugger (*note Lisp Debug::.) and have typed `C-u 8' to enter a
-numeric argument, you can cancel that argument with `C-g' and remain in
-the debugger.
-
- The command `M-x top-level' is equivalent to "enough" `C-]' commands
-to get you out of all the levels of recursive edits that you are in.
-`C-]' only gets you out one level at a time, but `M-x top-level' goes
-out all levels at once. Both `C-]' and `M-x top-level' are like all
-other commands and unlike `C-g' in that they are effective only when
-Emacs is ready for a command. `C-]' is an ordinary key and has its
-meaning only because of its binding in the keymap. *Note Recursive
-Edit::.
-
- `C-x u' (`undo') is not strictly speaking a way of cancelling a
-command, but you can think of it as cancelling a command already
-finished executing. *Note Undo::.
-
-\1f
-File: xemacs.info, Node: Lossage, Next: Bugs, Prev: Quitting, Up: Top
-
-Dealing With Emacs Trouble
-==========================
-
- This section describes various conditions in which Emacs fails to
-work, and how to recognize them and correct them.
-
-* Menu:
-
-* Stuck Recursive:: `[...]' in mode line around the parentheses.
-* Screen Garbled:: Garbage on the screen.
-* Text Garbled:: Garbage in the text.
-* Unasked-for Search:: Spontaneous entry to incremental search.
-* Emergency Escape:: Emergency escape--
- What to do if Emacs stops responding.
-* Total Frustration:: When you are at your wits' end.
-
-\1f
-File: xemacs.info, Node: Stuck Recursive, Next: Screen Garbled, Prev: Lossage, Up: Lossage
-
-Recursive Editing Levels
-------------------------
-
- Recursive editing levels are important and useful features of Emacs,
-but they can seem like malfunctions to the user who does not understand
-them.
-
- If the mode line has square brackets `[...]' around the parentheses
-that contain the names of the major and minor modes, you have entered a
-recursive editing level. If you did not do this on purpose, or if you
-don't understand what that means, you should just get out of the
-recursive editing level. To do so, type `M-x top-level'. This is
-called getting back to top level. *Note Recursive Edit::.
-
-\1f
-File: xemacs.info, Node: Screen Garbled, Next: Text Garbled, Prev: Stuck Recursive, Up: Lossage
-
-Garbage on the Screen
----------------------
-
- If the data on the screen looks wrong, the first thing to do is see
-whether the text is actually wrong. Type `C-l', to redisplay the
-entire screen. If the text appears correct after this, the problem was
-entirely in the previous screen update.
-
- Display updating problems often result from an incorrect termcap
-entry for the terminal you are using. The file `etc/TERMS' in the Emacs
-distribution gives the fixes for known problems of this sort.
-`INSTALL' contains general advice for these problems in one of its
-sections. Very likely there is simply insufficient padding for certain
-display operations. To investigate the possibility that you have this
-sort of problem, try Emacs on another terminal made by a different
-manufacturer. If problems happen frequently on one kind of terminal but
-not another kind, the real problem is likely to be a bad termcap entry,
-though it could also be due to a bug in Emacs that appears for terminals
-that have or lack specific features.
-
-\1f
-File: xemacs.info, Node: Text Garbled, Next: Unasked-for Search, Prev: Screen Garbled, Up: Lossage
-
-Garbage in the Text
--------------------
-
- If `C-l' shows that the text is wrong, try undoing the changes to it
-using `C-x u' until it gets back to a state you consider correct. Also
-try `C-h l' to find out what command you typed to produce the observed
-results.
-
- If a large portion of text appears to be missing at the beginning or
-end of the buffer, check for the word `Narrow' in the mode line. If it
-appears, the text is still present, but marked off-limits. To make it
-visible again, type `C-x n w'. *Note Narrowing::.
-
-\1f
-File: xemacs.info, Node: Unasked-for Search, Next: Emergency Escape, Prev: Text Garbled, Up: Lossage
-
-Spontaneous Entry to Incremental Search
----------------------------------------
-
- If Emacs spontaneously displays `I-search:' at the bottom of the
-screen, it means that the terminal is sending `C-s' and `C-q' according
-to the poorly designed xon/xoff "flow control" protocol. You should
-try to prevent this by putting the terminal in a mode where it will not
-use flow control, or by giving it enough padding that it will never
-send a `C-s'. If that cannot be done, you must tell Emacs to expect
-flow control to be used, until you can get a properly designed terminal.
-
- Information on how to do these things can be found in the file
-`INSTALL' in the Emacs distribution.
-
-\1f
-File: xemacs.info, Node: Emergency Escape, Next: Total Frustration, Prev: Unasked-for Search, Up: Lossage
-
-Emergency Escape
-----------------
-
- Because at times there have been bugs causing Emacs to loop without
-checking `quit-flag', a special feature causes Emacs to be suspended
-immediately if you type a second `C-g' while the flag is already set,
-so you can always get out of XEmacs. Normally Emacs recognizes and
-clears `quit-flag' (and quits!) quickly enough to prevent this from
-happening.
-
- When you resume Emacs after a suspension caused by multiple `C-g', it
-asks two questions before going back to what it had been doing:
-
- Auto-save? (y or n)
- Abort (and dump core)? (y or n)
-
-Answer each one with `y' or `n' followed by <RET>.
-
- Saying `y' to `Auto-save?' causes immediate auto-saving of all
-modified buffers in which auto-saving is enabled.
-
- Saying `y' to `Abort (and dump core)?' causes an illegal instruction
-to be executed, dumping core. This is to enable a wizard to figure out
-why Emacs was failing to quit in the first place. Execution does not
-continue after a core dump. If you answer `n', execution does
-continue. With luck, Emacs will ultimately check `quit-flag' and quit
-normally. If not, and you type another `C-g', it is suspended again.
-
- If Emacs is not really hung, but is just being slow, you may invoke
-the double `C-g' feature without really meaning to. In that case,
-simply resume and answer `n' to both questions, and you will arrive at
-your former state. Presumably the quit you requested will happen soon.
-
- The double-`C-g' feature may be turned off when Emacs is running
-under a window system, since the window system always enables you to
-kill Emacs or to create another window and run another program.
-
-\1f
-File: xemacs.info, Node: Total Frustration, Prev: Emergency Escape, Up: Lossage
-
-Help for Total Frustration
---------------------------
-
- If using Emacs (or something else) becomes terribly frustrating and
-none of the techniques described above solve the problem, Emacs can
-still help you.
-
- First, if the Emacs you are using is not responding to commands, type
-`C-g C-g' to get out of it and then start a new one.
-
- Second, type `M-x doctor <RET>'.
-
- The doctor will make you feel better. Each time you say something to
-the doctor, you must end it by typing <RET> <RET>. This lets the
-doctor know you are finished.
-