? Fallagassrini

Fallagassrini Bypass Shell

echo"
Fallagassrini
";
Current Path : /usr/share/emacs/24.3/etc/

Linux gator3171.hostgator.com 4.19.286-203.ELK.el7.x86_64 #1 SMP Wed Jun 14 04:33:55 CDT 2023 x86_64
Upload File :
Current File : //usr/share/emacs/24.3/etc/DOC-24.3.1

Sdosfns.o
Fint86
Call specific MS-DOS interrupt number INTERRUPT with REGISTERS.
Return the updated REGISTER vector.

INTERRUPT should be an integer in the range 0 to 255.
REGISTERS should be a vector produced by `make-register' and
`set-register-value'.

(fn INTERRUPT REGISTERS)Fmsdos-memget
Read DOS memory at offset ADDRESS into VECTOR.
Return the updated VECTOR.

(fn ADDRESS VECTOR)Fmsdos-memput
Write DOS memory at offset ADDRESS from VECTOR.

(fn ADDRESS VECTOR)Fmsdos-set-keyboard
Set keyboard layout according to COUNTRY-CODE.
If the optional argument ALLKEYS is non-nil, the keyboard is mapped for
all keys; otherwise it is only used when the ALT key is pressed.
The current keyboard layout is available in dos-keyboard-code.

(fn COUNTRY-CODE &optional ALLKEYS)Fmsdos-mouse-p
Report whether a mouse is present.

(fn)Fmsdos-mouse-init
Initialize and enable mouse if available.

(fn)Fmsdos-mouse-enable
Enable mouse if available.

(fn)Fmsdos-mouse-disable
Disable mouse if available.

(fn)Finsert-startup-screen
Insert copy of screen contents prior to starting Emacs.
Return nil if startup screen is not available.

(fn)Ffile-system-info
Return storage information about the file system FILENAME is on.
Value is a list of floats (TOTAL FREE AVAIL), where TOTAL is the total
storage of the file system, FREE is the free storage, and AVAIL is the
storage available to a non-superuser.  All 3 numbers are in bytes.
If the underlying system call fails, value is nil.

(fn FILENAME)Vdos-country-code
The country code returned by Dos when Emacs was started.
Usually this is the international telephone prefix.Vdos-codepage
The codepage active when Emacs was started.
The following are known:
	437	United States
	850	Multilingual (Latin I)
	852	Slavic (Latin II)
	857	Turkish
	860	Portugal
	861	Iceland
	863	Canada (French)
	865	Norway/DenmarkVdos-timezone-offset
The current timezone offset to UTC in minutes.
Implicitly modified when the TZ variable is changed.Vdos-version
The (MAJOR . MINOR) Dos version (subject to modification with setver).Vdos-windows-version
The (MAJOR . MINOR) Windows version for DOS session on MS-Windows.Vdos-display-scancodes
Whether DOS raw keyboard events are displayed as you type.
When non-nil, the keyboard scan-codes are displayed at the bottom right
corner of the display (typically at the end of the mode line).
The output format is: scan code:char code*modifiers.Vdos-hyper-key
If set to 1, use right ALT key as hyper key.
If set to 2, use right CTRL key as hyper key.Vdos-super-key
If set to 1, use right ALT key as super key.
If set to 2, use right CTRL key as super key.Vdos-keypad-mode
Controls what key code is returned by a key in the numeric keypad.
The `numlock ON' action is only taken if no modifier keys are pressed.
The value is an integer constructed by adding the following bits together:

  0x00	Digit key returns digit    (if numlock ON)
  0x01	Digit key returns kp-digit (if numlock ON)
  0x02	Digit key returns M-digit  (if numlock ON)
  0x03	Digit key returns edit key (if numlock ON)

  0x00	Grey key returns char      (if numlock ON)
  0x04	Grey key returns kp-key    (if numlock ON)

  0x00	Digit key returns digit    (if numlock OFF)
  0x10	Digit key returns kp-digit (if numlock OFF)
  0x20	Digit key returns M-digit  (if numlock OFF)
  0x30	Digit key returns edit key (if numlock OFF)

  0x00	Grey key returns char      (if numlock OFF)
  0x40	Grey key returns kp-key    (if numlock OFF)

  0x200	ALT-0..ALT-9 in top-row produces shifted codes.Vdos-keyboard-layout
Contains the country code for the current keyboard layout.
Use msdos-set-keyboard to select another keyboard layout.Vdos-decimal-point
The character to produce when kp-decimal key is pressed.
If non-zero, this variable contains the character to be returned when the
decimal point key in the numeric keypad is pressed when Num Lock is on.
If zero, the decimal point key returns the country code specific value.Smsdos.o
Fmsdos-set-mouse-buttons
Set the number of mouse buttons to use by Emacs.
This is useful with mice that report the number of buttons inconsistently,
e.g., if the number of buttons is reported as 3, but Emacs only sees 2 of
them.  This happens with wheeled mice on Windows 9X, for example.

(fn NBUTTONS)Fmsdos-remember-default-colors
Remember the screen colors of the current frame.

(fn FRAME)Frecent-doskeys
Return vector of last 100 keyboard input values seen in dos_rawgetc.
Each input key receives two values in this vector: first the ASCII code,
and then the scan code.

(fn)Fmsdos-long-file-names
Return non-nil if long file names are supported on MS-DOS.

(fn)Fmsdos-downcase-filename
Convert alphabetic characters in FILENAME to lower case and return that.
When long filenames are supported, doesn't change FILENAME.
If FILENAME is not a string, returns nil.
The argument object is never altered--the value is a copy.

(fn FILENAME)Vdos-unsupported-char-glyph
Glyph to display instead of chars not supported by current codepage.
This variable is used only by MS-DOS terminals.Sxterm.o
Vx-use-underline-position-properties
Non-nil means make use of UNDERLINE_POSITION font properties.
A value of nil means ignore them.  If you encounter fonts with bogus
UNDERLINE_POSITION font properties, for example 7x13 on XFree prior
to 4.1, set this to nil.  You can also use `underline-minimum-offset'
to override the font's UNDERLINE_POSITION for small font display
sizes.Vx-underline-at-descent-line
Non-nil means to draw the underline at the same place as the descent line.
A value of nil means to draw the underline according to the value of the
variable `x-use-underline-position-properties', which is usually at the
baseline level.  The default value is nil.Vx-mouse-click-focus-ignore-position
Non-nil means that a mouse click to focus a frame does not move point.
This variable is only used when the window manager requires that you
click on a frame to select it (give it focus).  In that case, a value
of nil, means that the selected window and cursor position changes to
reflect the mouse click position, while a non-nil value means that the
selected window or cursor position is preserved.Vx-toolkit-scroll-bars
Which toolkit scroll bars Emacs uses, if any.
A value of nil means Emacs doesn't use toolkit scroll bars.
With the X Window system, the value is a symbol describing the
X toolkit.  Possible values are: gtk, motif, xaw, or xaw3d.
With MS Windows or Nextstep, the value is t.Vx-alt-keysym
Which keys Emacs uses for the alt modifier.
This should be one of the symbols `alt', `hyper', `meta', `super'.
For example, `alt' means use the Alt_L and Alt_R keysyms.  The default
is nil, which is the same as `alt'.Vx-hyper-keysym
Which keys Emacs uses for the hyper modifier.
This should be one of the symbols `alt', `hyper', `meta', `super'.
For example, `hyper' means use the Hyper_L and Hyper_R keysyms.  The
default is nil, which is the same as `hyper'.Vx-meta-keysym
Which keys Emacs uses for the meta modifier.
This should be one of the symbols `alt', `hyper', `meta', `super'.
For example, `meta' means use the Meta_L and Meta_R keysyms.  The
default is nil, which is the same as `meta'.Vx-super-keysym
Which keys Emacs uses for the super modifier.
This should be one of the symbols `alt', `hyper', `meta', `super'.
For example, `super' means use the Super_L and Super_R keysyms.  The
default is nil, which is the same as `super'.Vx-keysym-table
Hash table of character codes indexed by X keysym codes.Sxfns.o
Fx-wm-set-size-hint
Send the size hints for frame FRAME to the window manager.
If FRAME is nil, use the selected frame.

(fn &optional FRAME)Fx-create-frame
Make a new X window, which is called a "frame" in Emacs terms.
Return an Emacs frame object.
PARMS is an alist of frame parameters.
If the parameters specify that the frame should not have a minibuffer,
and do not specify a specific minibuffer window to use,
then `default-minibuffer-frame' must be a frame whose minibuffer can
be shared by the new frame.

This function is an internal primitive--use `make-frame' instead.

(fn PARMS)Fx-focus-frame
Set the input focus to FRAME.
FRAME nil means use the selected frame.

(fn FRAME)Fxw-color-defined-p
Internal function called by `color-defined-p', which see
.(Note that the Nextstep version of this function ignores FRAME.)

(fn COLOR &optional FRAME)Fxw-color-values
Internal function called by `color-values', which see.

(fn COLOR &optional FRAME)Fxw-display-color-p
Internal function called by `display-color-p', which see.

(fn &optional TERMINAL)Fx-display-grayscale-p
Return t if the X display supports shades of gray.
Note that color displays do support shades of gray.
The optional argument TERMINAL specifies which display to ask about.
TERMINAL should be a terminal object, a frame or a display name (a string).
If omitted or nil, that stands for the selected frame's display.

(fn &optional TERMINAL)Fx-display-pixel-width
Return the width in pixels of the X display TERMINAL.
The optional argument TERMINAL specifies which display to ask about.
TERMINAL should be a terminal object, a frame or a display name (a string).
If omitted or nil, that stands for the selected frame's display.

(fn &optional TERMINAL)Fx-display-pixel-height
Return the height in pixels of the X display TERMINAL.
The optional argument TERMINAL specifies which display to ask about.
TERMINAL should be a terminal object, a frame or a display name (a string).
If omitted or nil, that stands for the selected frame's display.

(fn &optional TERMINAL)Fx-display-planes
Return the number of bitplanes of the X display TERMINAL.
The optional argument TERMINAL specifies which display to ask about.
TERMINAL should be a terminal object, a frame or a display name (a string).
If omitted or nil, that stands for the selected frame's display.

(fn &optional TERMINAL)Fx-display-color-cells
Return the number of color cells of the X display TERMINAL.
The optional argument TERMINAL specifies which display to ask about.
TERMINAL should be a terminal object, a frame or a display name (a string).
If omitted or nil, that stands for the selected frame's display.

(fn &optional TERMINAL)Fx-server-max-request-size
Return the maximum request size of the X server of display TERMINAL.
The optional argument TERMINAL specifies which display to ask about.
TERMINAL should be a terminal object, a frame or a display name (a string).
If omitted or nil, that stands for the selected frame's display.

(fn &optional TERMINAL)Fx-server-vendor
Return the "vendor ID" string of the X server of display TERMINAL.
(Labeling every distributor as a "vendor" embodies the false assumption
that operating systems cannot be developed and distributed noncommercially.)
The optional argument TERMINAL specifies which display to ask about.
TERMINAL should be a terminal object, a frame or a display name (a string).
If omitted or nil, that stands for the selected frame's display.

(fn &optional TERMINAL)Fx-server-version
Return the version numbers of the X server of display TERMINAL.
The value is a list of three integers: the major and minor
version numbers of the X Protocol in use, and the distributor-specific release
number.  See also the function `x-server-vendor'.

The optional argument TERMINAL specifies which display to ask about.
TERMINAL should be a terminal object, a frame or a display name (a string).
If omitted or nil, that stands for the selected frame's display.

(fn &optional TERMINAL)Fx-display-screens
Return the number of screens on the X server of display TERMINAL.
The optional argument TERMINAL specifies which display to ask about.
TERMINAL should be a terminal object, a frame or a display name (a string).
If omitted or nil, that stands for the selected frame's display.

(fn &optional TERMINAL)Fx-display-mm-height
Return the height in millimeters of the X display TERMINAL.
The optional argument TERMINAL specifies which display to ask about.
TERMINAL should be a terminal object, a frame or a display name (a string).
If omitted or nil, that stands for the selected frame's display.

(fn &optional TERMINAL)Fx-display-mm-width
Return the width in millimeters of the X display TERMINAL.
The optional argument TERMINAL specifies which display to ask about.
TERMINAL should be a terminal object, a frame or a display name (a string).
If omitted or nil, that stands for the selected frame's display.

(fn &optional TERMINAL)Fx-display-backing-store
Return an indication of whether X display TERMINAL does backing store.
The value may be `always', `when-mapped', or `not-useful'.
The optional argument TERMINAL specifies which display to ask about.
TERMINAL should be a terminal object, a frame or a display name (a string).
If omitted or nil, that stands for the selected frame's display.

(fn &optional TERMINAL)Fx-display-visual-class
Return the visual class of the X display TERMINAL.
The value is one of the symbols `static-gray', `gray-scale',
`static-color', `pseudo-color', `true-color', or `direct-color'.

The optional argument TERMINAL specifies which display to ask about.
TERMINAL should a terminal object, a frame or a display name (a string).
If omitted or nil, that stands for the selected frame's display.

(fn &optional TERMINAL)Fx-display-save-under
Return t if the X display TERMINAL supports the save-under feature.
The optional argument TERMINAL specifies which display to ask about.
TERMINAL should be a terminal object, a frame or a display name (a string).
If omitted or nil, that stands for the selected frame's display.

(fn &optional TERMINAL)Fx-open-connection
Open a connection to a display server.
DISPLAY is the name of the display to connect to.
Optional second arg XRM-STRING is a string of resources in xrdb format.
If the optional third arg MUST-SUCCEED is non-nil,
terminate Emacs if we can't open the connection.
(In the Nextstep version, the last two arguments are currently ignored.)

(fn DISPLAY &optional XRM-STRING MUST-SUCCEED)Fx-close-connection
Close the connection to TERMINAL's X server.
For TERMINAL, specify a terminal object, a frame or a display name (a
string).  If TERMINAL is nil, that stands for the selected frame's
terminal.

(fn TERMINAL)Fx-display-list
Return the list of display names that Emacs has connections to.

(fn)Fx-synchronize
If ON is non-nil, report X errors as soon as the erring request is made.
This function only has an effect on X Windows.  With MS Windows, it is
defined but does nothing.

If ON is nil, allow buffering of requests.
Turning on synchronization prohibits the Xlib routines from buffering
requests and seriously degrades performance, but makes debugging much
easier.
The optional second argument TERMINAL specifies which display to act on.
TERMINAL should be a terminal object, a frame or a display name (a string).
If TERMINAL is omitted or nil, that stands for the selected frame's display.

(fn ON &optional TERMINAL)Fx-change-window-property
Change window property PROP to VALUE on the X window of FRAME.
PROP must be a string.  VALUE may be a string or a list of conses,
numbers and/or strings.  If an element in the list is a string, it is
converted to an atom and the value of the atom is used.  If an element
is a cons, it is converted to a 32 bit number where the car is the 16
top bits and the cdr is the lower 16 bits.

FRAME nil or omitted means use the selected frame.
If TYPE is given and non-nil, it is the name of the type of VALUE.
If TYPE is not given or nil, the type is STRING.
FORMAT gives the size in bits of each element if VALUE is a list.
It must be one of 8, 16 or 32.
If VALUE is a string or FORMAT is nil or not given, FORMAT defaults to 8.
If OUTER-P is non-nil, the property is changed for the outer X window of
FRAME.  Default is to change on the edit X window.

(fn PROP VALUE &optional FRAME TYPE FORMAT OUTER-P)Fx-delete-window-property
Remove window property PROP from X window of FRAME.
FRAME nil or omitted means use the selected frame.  Value is PROP.

(fn PROP &optional FRAME)Fx-window-property
Value is the value of window property PROP on FRAME.
If FRAME is nil or omitted, use the selected frame.

On X Windows, the following optional arguments are also accepted:
If TYPE is nil or omitted, get the property as a string.
Otherwise TYPE is the name of the atom that denotes the type expected.
If SOURCE is non-nil, get the property on that window instead of from
FRAME.  The number 0 denotes the root window.
If DELETE-P is non-nil, delete the property after retrieving it.
If VECTOR-RET-P is non-nil, don't return a string but a vector of values.

On MS Windows, this function accepts but ignores those optional arguments.

Value is nil if FRAME hasn't a property with name PROP or if PROP has
no value of TYPE (always string in the MS Windows case).

(fn PROP &optional FRAME TYPE SOURCE DELETE-P VECTOR-RET-P)Fx-show-tip
Show STRING in a "tooltip" window on frame FRAME.
A tooltip window is a small X window displaying a string.

This is an internal function; Lisp code should call `tooltip-show'.

FRAME nil or omitted means use the selected frame.

PARMS is an optional list of frame parameters which can be used to
change the tooltip's appearance.

Automatically hide the tooltip after TIMEOUT seconds.  TIMEOUT nil
means use the default timeout of 5 seconds.

If the list of frame parameters PARMS contains a `left' parameters,
the tooltip is displayed at that x-position.  Otherwise it is
displayed at the mouse position, with offset DX added (default is 5 if
DX isn't specified).  Likewise for the y-position; if a `top' frame
parameter is specified, it determines the y-position of the tooltip
window, otherwise it is displayed at the mouse position, with offset
DY added (default is -10).

A tooltip's maximum size is specified by `x-max-tooltip-size'.
Text larger than the specified size is clipped.

(fn STRING &optional FRAME PARMS TIMEOUT DX DY)Fx-hide-tip
Hide the current tooltip window, if there is any.
Value is t if tooltip was open, nil otherwise.

(fn)Fx-uses-old-gtk-dialog
Return t if the old Gtk+ file selection dialog is used.

(fn)Fx-file-dialog
Read file name, prompting with PROMPT in directory DIR.
Use a file selection dialog.  Select DEFAULT-FILENAME in the dialog's file
selection box, if specified.  If MUSTMATCH is non-nil, the returned file
or directory must exist.

This function is only defined on NS, MS Windows, and X Windows with the
Motif or Gtk toolkits.  With the Motif toolkit, ONLY-DIR-P is ignored.
Otherwise, if ONLY-DIR-P is non-nil, the user can only select directories.

(fn PROMPT DIR &optional DEFAULT-FILENAME MUSTMATCH ONLY-DIR-P)Fx-file-dialog
Read file name, prompting with PROMPT in directory DIR.
Use a file selection dialog.  Select DEFAULT-FILENAME in the dialog's file
selection box, if specified.  If MUSTMATCH is non-nil, the returned file
or directory must exist.

This function is only defined on NS, MS Windows, and X Windows with the
Motif or Gtk toolkits.  With the Motif toolkit, ONLY-DIR-P is ignored.
Otherwise, if ONLY-DIR-P is non-nil, the user can only select directories.

(fn PROMPT DIR &optional DEFAULT-FILENAME MUSTMATCH ONLY-DIR-P)Fx-select-font
Read a font using a GTK dialog.
Return either a font spec (for GTK versions >= 3.2) or a string
containing a GTK-style font name.

FRAME is the frame on which to pop up the font chooser.  If omitted or
nil, it defaults to the selected frame.

(fn &optional FRAME IGNORED)Fx-backspace-delete-keys-p
Check if both Backspace and Delete keys are on the keyboard of FRAME.
FRAME nil means use the selected frame.
Value is t if we know that both keys are present, and are mapped to the
usual X keysyms.  Value is `lambda' if we cannot determine if both keys are
present and mapped to the usual X keysyms.

(fn &optional FRAME)Vx-pointer-shape
The shape of the pointer when over text.
Changing the value does not affect existing frames
unless you set the mouse color.Vx-nontext-pointer-shape
The shape of the pointer when not over text.
This variable takes effect when you create a new frame
or when you set the mouse color.Vx-hourglass-pointer-shape
The shape of the pointer when Emacs is busy.
This variable takes effect when you create a new frame
or when you set the mouse color.Vx-mode-pointer-shape
The shape of the pointer when over the mode line.
This variable takes effect when you create a new frame
or when you set the mouse color.Vx-sensitive-text-pointer-shape
The shape of the pointer when over mouse-sensitive text.
This variable takes effect when you create a new frame
or when you set the mouse color.Vx-window-horizontal-drag-cursor
Pointer shape to use for indicating a window can be dragged horizontally.
This variable takes effect when you create a new frame
or when you set the mouse color.Vx-cursor-fore-pixel
A string indicating the foreground color of the cursor box.Vx-max-tooltip-size
Maximum size for tooltips.
Value is a pair (COLUMNS . ROWS).  Text larger than this is clipped.Vx-no-window-manager
Non-nil if no X window manager is in use.
Emacs doesn't try to figure this out; this is always nil
unless you set it to something else.Vx-pixel-size-width-font-regexp
Regexp matching a font name whose width is the same as `PIXEL_SIZE'.

Since Emacs gets width of a font matching with this regexp from
PIXEL_SIZE field of the name, font finding mechanism gets faster for
such a font.  This is especially effective for such large fonts as
Chinese, Japanese, and Korean.Vx-gtk-use-old-file-dialog
Non-nil means prompt with the old GTK file selection dialog.
If nil or if the file selection dialog is not available, the new GTK file
chooser is used instead.  To turn off all file dialogs set the
variable `use-file-dialog'.Vx-gtk-show-hidden-files
If non-nil, the GTK file chooser will by default show hidden files.
Note that this is just the default, there is a toggle button on the file
chooser to show or not show hidden files on a case by case basis.Vx-gtk-file-dialog-help-text
If non-nil, the GTK file chooser will show additional help text.
If more space for files in the file chooser dialog is wanted, set this to nil
to turn the additional text off.Vx-gtk-whole-detached-tool-bar
If non-nil, a detached tool bar is shown in full.
The default is to just show an arrow and pressing on that arrow shows
the tool bar buttons.Vx-gtk-use-system-tooltips
If non-nil with a Gtk+ built Emacs, the Gtk+ tooltip is used.
Otherwise use Emacs own tooltip implementation.
When using Gtk+ tooltips, the tooltip face is not used.Vmotif-version-string
Version info for LessTif/Motif.Vgtk-version-string
Version info for GTK+.Sxmenu.o
Fx-popup-dialog
Pop up a dialog box and return user's selection.
POSITION specifies which frame to use.
This is normally a mouse button event or a window or frame.
If POSITION is t, it means to use the frame the mouse is on.
The dialog box appears in the middle of the specified frame.

CONTENTS specifies the alternatives to display in the dialog box.
It is a list of the form (DIALOG ITEM1 ITEM2...).
Each ITEM is a cons cell (STRING . VALUE).
The return value is VALUE from the chosen item.

An ITEM may also be just a string--that makes a nonselectable item.
An ITEM may also be nil--that means to put all preceding items
on the left of the dialog box and all following items on the right.
(By default, approximately half appear on each side.)

If HEADER is non-nil, the frame title for the box is "Information",
otherwise it is "Question".

If the user gets rid of the dialog box without making a valid choice,
for instance using the window manager, then this produces a quit and
`x-popup-dialog' does not return.

(fn POSITION CONTENTS &optional HEADER)Fx-menu-bar-open-internal
Start key navigation of the menu bar in FRAME.
This initially opens the first menu bar item and you can then navigate with the
arrow keys, select a menu entry with the return key or cancel with the
escape key.  If FRAME has no menu bar this function does nothing.

If FRAME is nil or not given, use the selected frame.

(fn &optional FRAME)Fx-menu-bar-open-internal
Start key navigation of the menu bar in FRAME.
This initially opens the first menu bar item and you can then navigate with the
arrow keys, select a menu entry with the return key or cancel with the
escape key.  If FRAME has no menu bar this function does nothing.

If FRAME is nil or not given, use the selected frame.

(fn &optional FRAME)Fmenu-or-popup-active-p
Return t if a menu or popup dialog is active.

(fn)Sxselect.o
Fx-own-selection-internal
Assert an X selection of type SELECTION and value VALUE.
SELECTION is a symbol, typically `PRIMARY', `SECONDARY', or `CLIPBOARD'.
(Those are literal upper-case symbol names, since that's what X expects.)
VALUE is typically a string, or a cons of two markers, but may be
anything that the functions on `selection-converter-alist' know about.

FRAME should be a frame that should own the selection.  If omitted or
nil, it defaults to the selected frame.

On Nextstep, FRAME is unused.

(fn SELECTION VALUE &optional FRAME)Fx-get-selection-internal
Return text selected from some X window.
SELECTION-SYMBOL is typically `PRIMARY', `SECONDARY', or `CLIPBOARD'.
(Those are literal upper-case symbol names, since that's what X expects.)
TARGET-TYPE is the type of data desired, typically `STRING'.

TIME-STAMP is the time to use in the XConvertSelection call for foreign
selections.  If omitted, defaults to the time for the last event.

TERMINAL should be a terminal object or a frame specifying the X
server to query.  If omitted or nil, that stands for the selected
frame's display, or the first available X display.

On Nextstep, TIME-STAMP and TERMINAL are unused.

(fn SELECTION-SYMBOL TARGET-TYPE &optional TIME-STAMP TERMINAL)Fx-disown-selection-internal
If we own the selection SELECTION, disown it.
Disowning it means there is no such selection.

Sets the last-change time for the selection to TIME-OBJECT (by default
the time of the last event).

TERMINAL should be a terminal object or a frame specifying the X
server to query.  If omitted or nil, that stands for the selected
frame's display, or the first available X display.

On Nextstep, the TIME-OBJECT and TERMINAL arguments are unused.
On MS-DOS, all this does is return non-nil if we own the selection.

(fn SELECTION &optional TIME-OBJECT TERMINAL)Fx-selection-owner-p
Whether the current Emacs process owns the given X Selection.
The arg should be the name of the selection in question, typically one of
the symbols `PRIMARY', `SECONDARY', or `CLIPBOARD'.
(Those are literal upper-case symbol names, since that's what X expects.)
For convenience, the symbol nil is the same as `PRIMARY',
and t is the same as `SECONDARY'.

TERMINAL should be a terminal object or a frame specifying the X
server to query.  If omitted or nil, that stands for the selected
frame's display, or the first available X display.

On Nextstep, TERMINAL is unused.

(fn &optional SELECTION TERMINAL)Fx-selection-exists-p
Whether there is an owner for the given X selection.
SELECTION should be the name of the selection in question, typically
one of the symbols `PRIMARY', `SECONDARY', `CLIPBOARD', or
`CLIPBOARD_MANAGER' (X expects these literal upper-case names.)  The
symbol nil is the same as `PRIMARY', and t is the same as `SECONDARY'.

TERMINAL should be a terminal object or a frame specifying the X
server to query.  If omitted or nil, that stands for the selected
frame's display, or the first available X display.

On Nextstep, TERMINAL is unused.

(fn &optional SELECTION TERMINAL)Fx-get-atom-name
Return the X atom name for VALUE as a string.
VALUE may be a number or a cons where the car is the upper 16 bits and
the cdr is the lower 16 bits of a 32 bit value.
Use the display for FRAME or the current frame if FRAME is not given or nil.

If the value is 0 or the atom is not known, return the empty string.

(fn VALUE &optional FRAME)Fx-register-dnd-atom
Request that dnd events are made for ClientMessages with ATOM.
ATOM can be a symbol or a string.  The ATOM is interned on the display that
FRAME is on.  If FRAME is nil, the selected frame is used.

(fn ATOM &optional FRAME)Fx-send-client-message
Send a client message of MESSAGE-TYPE to window DEST on DISPLAY.

For DISPLAY, specify either a frame or a display name (a string).
If DISPLAY is nil, that stands for the selected frame's display.
DEST may be a number, in which case it is a Window id.  The value 0 may
be used to send to the root window of the DISPLAY.
If DEST is a cons, it is converted to a 32 bit number
with the high 16 bits from the car and the lower 16 bit from the cdr.  That
number is then used as a window id.
If DEST is a frame the event is sent to the outer window of that frame.
A value of nil means the currently selected frame.
If DEST is the string "PointerWindow" the event is sent to the window that
contains the pointer.  If DEST is the string "InputFocus" the event is
sent to the window that has the input focus.
FROM is the frame sending the event.  Use nil for currently selected frame.
MESSAGE-TYPE is the name of an Atom as a string.
FORMAT must be one of 8, 16 or 32 and determines the size of the values in
bits.  VALUES is a list of numbers, cons and/or strings containing the values
to send.  If a value is a string, it is converted to an Atom and the value of
the Atom is sent.  If a value is a cons, it is converted to a 32 bit number
with the high 16 bits from the car and the lower 16 bit from the cdr.
If more values than fits into the event is given, the excessive values
are ignored.

(fn DISPLAY DEST FROM MESSAGE-TYPE FORMAT VALUES)Vselection-converter-alist
An alist associating X Windows selection-types with functions.
These functions are called to convert the selection, with three args:
the name of the selection (typically `PRIMARY', `SECONDARY', or `CLIPBOARD');
a desired type to which the selection should be converted;
and the local selection value (whatever was given to `x-own-selection').

The function should return the value to send to the X server
(typically a string).  A return value of nil
means that the conversion could not be done.
A return value which is the symbol `NULL'
means that a side-effect was executed,
and there is no meaningful selection value.Vx-lost-selection-functions
A list of functions to be called when Emacs loses an X selection.
(This happens when some other X client makes its own selection
or when a Lisp program explicitly clears the selection.)
The functions are called with one argument, the selection type
(a symbol, typically `PRIMARY', `SECONDARY', or `CLIPBOARD').Vx-sent-selection-functions
A list of functions to be called when Emacs answers a selection request.
The functions are called with three arguments:
  - the selection name (typically `PRIMARY', `SECONDARY', or `CLIPBOARD');
  - the selection-type which Emacs was asked to convert the
    selection into before sending (for example, `STRING' or `LENGTH');
  - a flag indicating success or failure for responding to the request.
We might have failed (and declined the request) for any number of reasons,
including being asked for a selection that we no longer own, or being asked
to convert into a type that we don't know about or that is inappropriate.
This hook doesn't let you change the behavior of Emacs's selection replies,
it merely informs you that they have happened.Vx-select-enable-clipboard-manager
Whether to enable X clipboard manager support.
If non-nil, then whenever Emacs is killed or an Emacs frame is deleted
while owning the X clipboard, the clipboard contents are saved to the
clipboard manager if one is present.Vx-selection-timeout
Number of milliseconds to wait for a selection reply.
If the selection owner doesn't reply in this time, we give up.
A value of 0 means wait as long as necessary.  This is initialized from the
"*selectionTimeout" resource.Sxrdb.o
Sxsmfns.o
Fhandle-save-session
Handle the save_yourself event from a session manager.
A session manager can tell Emacs that the window system is shutting down
by sending Emacs a save_yourself message.  Emacs executes this function when
such an event occurs.  This function then executes `emacs-session-save'.
After that, this function informs the session manager that it can continue
or abort shutting down the window system depending on the return value
from `emacs-session-save'  If the return value is non-nil the session manager
is told to abort the window system shutdown.

Do not call this function yourself.

(fn EVENT)Vx-session-id
The session id Emacs got from the session manager for this session.
Changing the value does not change the session id used by Emacs.
The value is nil if no session manager is running.
See also `x-session-previous-id', `emacs-save-session-functions',
`emacs-session-save' and `emacs-session-restore'."Vx-session-previous-id
The previous session id Emacs got from session manager.
If Emacs is running on a window system that has a session manager, the
session manager gives Emacs a session id.  It is feasible for Emacs Lisp
code to use the session id to save configuration in, for example, a file
with a file name based on the session id.  If Emacs is running when the
window system is shut down, the session manager remembers that Emacs was
running and saves the session id Emacs had.

When the window system is started again, the session manager restarts
Emacs and hands Emacs the session id it had the last time it was
running.  This is now the previous session id and the value of this
variable.  If configuration was saved in a file as stated above, the
previous session id shall be used to reconstruct the file name.

The session id Emacs has while it is running is in the variable
`x-session-id'.  The value of this variable and `x-session-id' may be the
same, depending on how the session manager works.

See also `emacs-save-session-functions', `emacs-session-save' and
`emacs-session-restore'."Sfringe.o
Fdestroy-fringe-bitmap
Destroy fringe bitmap BITMAP.
If BITMAP overrides a standard fringe bitmap, the original bitmap is restored.

(fn BITMAP)Fdefine-fringe-bitmap
Define fringe bitmap BITMAP from BITS of size HEIGHT x WIDTH.
BITMAP is a symbol identifying the new fringe bitmap.
BITS is either a string or a vector of integers.
HEIGHT is height of bitmap.  If HEIGHT is nil, use length of BITS.
WIDTH must be an integer between 1 and 16, or nil which defaults to 8.
Optional fifth arg ALIGN may be one of `top', `center', or `bottom',
indicating the positioning of the bitmap relative to the rows where it
is used; the default is to center the bitmap.  Fifth arg may also be a
list (ALIGN PERIODIC) where PERIODIC non-nil specifies that the bitmap
should be repeated.
If BITMAP already exists, the existing definition is replaced.

(fn BITMAP BITS &optional HEIGHT WIDTH ALIGN)Fset-fringe-bitmap-face
Set face for fringe bitmap BITMAP to FACE.
If FACE is nil, reset face to default fringe face.

(fn BITMAP &optional FACE)Ffringe-bitmaps-at-pos
Return fringe bitmaps of row containing position POS in window WINDOW.
If WINDOW is nil, use selected window.  If POS is nil, use value of point
in that window.  Return value is a list (LEFT RIGHT OV), where LEFT
is the symbol for the bitmap in the left fringe (or nil if no bitmap),
RIGHT is similar for the right fringe, and OV is non-nil if there is an
overlay arrow in the left fringe.
Return nil if POS is not visible in WINDOW.

(fn &optional POS WINDOW)Voverflow-newline-into-fringe
Non-nil means that newline may flow into the right fringe.
This means that display lines which are exactly as wide as the window
(not counting the final newline) will only occupy one screen line, by
showing (or hiding) the final newline in the right fringe; when point
is at the final newline, the cursor is shown in the right fringe.
If nil, also continue lines which are exactly as wide as the window.Vfringe-bitmaps
List of fringe bitmap symbols.Simage.o
Fimage-size
Return the size of image SPEC as pair (WIDTH . HEIGHT).
PIXELS non-nil means return the size in pixels, otherwise return the
size in canonical character units.
FRAME is the frame on which the image will be displayed.  FRAME nil
or omitted means use the selected frame.

(fn SPEC &optional PIXELS FRAME)Fimage-mask-p
Return t if image SPEC has a mask bitmap.
FRAME is the frame on which the image will be displayed.  FRAME nil
or omitted means use the selected frame.

(fn SPEC &optional FRAME)Fimage-metadata
Return metadata for image SPEC.
FRAME is the frame on which the image will be displayed.  FRAME nil
or omitted means use the selected frame.

(fn SPEC &optional FRAME)Fclear-image-cache
Clear the image cache.
FILTER nil or a frame means clear all images in the selected frame.
FILTER t means clear the image caches of all frames.
Anything else, means only clear those images which refer to FILTER,
which is then usually a filename.

(fn &optional FILTER)Fimage-flush
Fush the image with specification SPEC on frame FRAME.
This removes the image from the Emacs image cache.  If SPEC specifies
an image file, the next redisplay of this image will read from the
current contents of that file.

FRAME nil or omitted means use the selected frame.
FRAME t means refresh the image on all frames.

(fn SPEC &optional FRAME)Fimagemagick-types
Return a list of image types supported by ImageMagick.
Each entry in this list is a symbol named after an ImageMagick format
tag.  See the ImageMagick manual for a list of ImageMagick formats and
their descriptions (http://www.imagemagick.org/script/formats.php).
You can also try the shell command: `identify -list format'.

Note that ImageMagick recognizes many file-types that Emacs does not
recognize as images, such as C.  See `imagemagick-types-enable'
and `imagemagick-types-inhibit'.

(fn)Fimagep
Value is non-nil if SPEC is a valid image specification.

(fn SPEC)Flookup-image


(fn SPEC)Finit-image-library
Initialize image library implementing image type TYPE.
Return non-nil if TYPE is a supported image type.

If image libraries are loaded dynamically (currently only the case on
MS-Windows), load the library for TYPE if it is not yet loaded, using
the library file(s) specified by `dynamic-library-alist'.

(fn TYPE)Vimage-types
List of potentially supported image types.
Each element of the list is a symbol for an image type, like 'jpeg or 'png.
To check whether it is really supported, use `image-type-available-p'.Vmax-image-size
Maximum size of images.
Emacs will not load an image into memory if its pixel width or
pixel height exceeds this limit.

If the value is an integer, it directly specifies the maximum
image height and width, measured in pixels.  If it is a floating
point number, it specifies the maximum image height and width
as a ratio to the frame height and width.  If the value is
non-numeric, there is no explicit limit on the size of images.Vcross-disabled-images
Non-nil means always draw a cross over disabled images.
Disabled images are those having a `:conversion disabled' property.
A cross is always drawn on black & white displays.Vx-bitmap-file-path
List of directories to search for window system bitmap files.Vimage-cache-eviction-delay
Maximum time after which images are removed from the cache.
When an image has not been displayed this many seconds, Emacs
automatically removes it from the image cache.  If the cache contains
a large number of images, the actual eviction time may be shorter.
The value can also be nil, meaning the cache is never cleared.

The function `clear-image-cache' disregards this variable.Vimagemagick-render-type
Integer indicating which ImageMagick rendering method to use.
The options are:
  0 -- the default method (pixel pushing)
  1 -- a newer method ("MagickExportImagePixels") that may perform
       better (speed etc) in some cases, but has not been as thoroughly
       tested with Emacs as the default method.  This method requires
       ImageMagick version 6.4.6 (approximately) or later.Sfontset.o
Fquery-fontset
Return the name of a fontset that matches PATTERN.
The value is nil if there is no matching fontset.
PATTERN can contain `*' or `?' as a wildcard
just as X font name matching algorithm allows.
If REGEXPP is non-nil, PATTERN is a regular expression.

(fn PATTERN &optional REGEXPP)Fset-fontset-font
Modify fontset NAME to use FONT-SPEC for TARGET characters.

NAME is a fontset name string, nil for the fontset of FRAME, or t for
the default fontset.

TARGET may be a cons; (FROM . TO), where FROM and TO are characters.
In that case, use FONT-SPEC for all characters in the range FROM and
TO (inclusive).

TARGET may be a script name symbol.  In that case, use FONT-SPEC for
all characters that belong to the script.

TARGET may be a charset.  In that case, use FONT-SPEC for all
characters in the charset.

TARGET may be nil.  In that case, use FONT-SPEC for any characters for
that no FONT-SPEC is specified.

FONT-SPEC may one of these:
 * A font-spec object made by the function `font-spec' (which see).
 * A cons (FAMILY . REGISTRY), where FAMILY is a font family name and
   REGISTRY is a font registry name.  FAMILY may contain foundry
   name, and REGISTRY may contain encoding name.
 * A font name string.
 * nil, which explicitly specifies that there's no font for TARGET.

Optional 4th argument FRAME is a frame or nil for the selected frame
that is concerned in the case that NAME is nil.

Optional 5th argument ADD, if non-nil, specifies how to add FONT-SPEC
to the font specifications for TARGET previously set.  If it is
`prepend', FONT-SPEC is prepended.  If it is `append', FONT-SPEC is
appended.  By default, FONT-SPEC overrides the previous settings.

(fn NAME TARGET FONT-SPEC &optional FRAME ADD)Fnew-fontset
Create a new fontset NAME from font information in FONTLIST.

FONTLIST is an alist of scripts vs the corresponding font specification list.
Each element of FONTLIST has the form (SCRIPT FONT-SPEC ...), where a
character of SCRIPT is displayed by a font that matches one of
FONT-SPEC.

SCRIPT is a symbol that appears in the first extra slot of the
char-table `char-script-table'.

FONT-SPEC is a vector, a cons, or a string.  See the documentation of
`set-fontset-font' for the meaning.

(fn NAME FONTLIST)Finternal-char-font
For internal use only.

(fn POSITION &optional CH)Ffontset-info
Return information about a fontset FONTSET on frame FRAME.

FONTSET is a fontset name string, nil for the fontset of FRAME, or t
for the default fontset.  FRAME nil means the selected frame.

The value is a char-table whose elements have this form:

    ((FONT OPENED-FONT ...) ...)

FONT is a name of font specified for a range of characters.

OPENED-FONT is a name of a font actually opened.

The char-table has one extra slot.  If FONTSET is not the default
fontset, the value the extra slot is a char-table containing the
information about the derived fonts from the default fontset.  The
format is the same as above.

(fn FONTSET &optional FRAME)Ffontset-font
Return a font name pattern for character CH in fontset NAME.
If NAME is t, find a pattern in the default fontset.
If NAME is nil, find a pattern in the fontset of the selected frame.

The value has the form (FAMILY . REGISTRY), where FAMILY is a font
family name and REGISTRY is a font registry name.  This is actually
the first font name pattern for CH in the fontset or in the default
fontset.

If the 2nd optional arg ALL is non-nil, return a list of all font name
patterns.

(fn NAME CH &optional ALL)Ffontset-list
Return a list of all defined fontset names.

(fn)Ffontset-list-all
Return a brief summary of all fontsets for debug use.

(fn)Vfont-encoding-charset-alist
Alist of charsets vs the charsets to determine the preferred font encoding.
Each element looks like (CHARSET . ENCODING-CHARSET),
where ENCODING-CHARSET is a charset registered in the variable
`font-encoding-alist' as ENCODING.

When a text has a property `charset' and the value is CHARSET, a font
whose encoding corresponds to ENCODING-CHARSET is preferred.Vuse-default-ascent
Char table of characters whose ascent values should be ignored.
If an entry for a character is non-nil, the ascent value of the glyph
is assumed to be specified by _MULE_DEFAULT_ASCENT property of a font.

This affects how a composite character which contains
such a character is displayed on screen.Vignore-relative-composition
Char table of characters which are not composed relatively.
If an entry for a character is non-nil, a composition sequence
which contains that character is displayed so that
the glyph of that character is put without considering
an ascent and descent value of a previous character.Valternate-fontname-alist
Alist of fontname vs list of the alternate fontnames.
When a specified font name is not found, the corresponding
alternate fontnames (if any) are tried instead.Vfontset-alias-alist
Alist of fontset names vs the aliases.Vvertical-centering-font-regexp
Regexp matching font names that require vertical centering on display.
When a character is displayed with such fonts, the character is displayed
at the vertical center of lines.Votf-script-alist
Alist of OpenType script tags vs the corresponding script names.Sdbusbind.o
Fdbus-init-bus
Establish the connection to D-Bus BUS.

BUS can be either the symbol `:system' or the symbol `:session', or it
can be a string denoting the address of the corresponding bus.  For
the system and session buses, this function is called when loading
`dbus.el', there is no need to call it again.

The function returns a number, which counts the connections this Emacs
session has established to the BUS under the same unique name (see
`dbus-get-unique-name').  It depends on the libraries Emacs is linked
with, and on the environment Emacs is running.  For example, if Emacs
is linked with the gtk toolkit, and it runs in a GTK-aware environment
like Gnome, another connection might already be established.

When PRIVATE is non-nil, a new connection is established instead of
reusing an existing one.  It results in a new unique name at the bus.
This can be used, if it is necessary to distinguish from another
connection used in the same Emacs process, like the one established by
GTK+.  It should be used with care for at least the `:system' and
`:session' buses, because other Emacs Lisp packages might already use
this connection to those buses.

(fn BUS &optional PRIVATE)Fdbus-get-unique-name
Return the unique name of Emacs registered at D-Bus BUS.

(fn BUS)Fdbus-message-internal
Send a D-Bus message.
This is an internal function, it shall not be used outside dbus.el.

The following usages are expected:

`dbus-call-method', `dbus-call-method-asynchronously':
  (dbus-message-internal
    dbus-message-type-method-call BUS SERVICE PATH INTERFACE METHOD HANDLER
    &optional :timeout TIMEOUT &rest ARGS)

`dbus-send-signal':
  (dbus-message-internal
    dbus-message-type-signal BUS SERVICE PATH INTERFACE SIGNAL &rest ARGS)

`dbus-method-return-internal':
  (dbus-message-internal
    dbus-message-type-method-return BUS SERVICE SERIAL &rest ARGS)

`dbus-method-error-internal':
  (dbus-message-internal
    dbus-message-type-error BUS SERVICE SERIAL &rest ARGS)

(fn &rest REST)Vdbus-compiled-version
The version of D-Bus Emacs is compiled against.Vdbus-runtime-version
The version of D-Bus Emacs runs with.Vdbus-message-type-invalid
This value is never a valid message type.Vdbus-message-type-method-call
Message type of a method call message.Vdbus-message-type-method-return
Message type of a method return message.Vdbus-message-type-error
Message type of an error reply message.Vdbus-message-type-signal
Message type of a signal message.Vdbus-registered-objects-table
Hash table of registered functions for D-Bus.

There are two different uses of the hash table: for accessing
registered interfaces properties, targeted by signals or method calls,
and for calling handlers in case of non-blocking method call returns.

In the first case, the key in the hash table is the list (TYPE BUS
INTERFACE MEMBER).  TYPE is one of the Lisp symbols `:method',
`:signal' or `:property'.  BUS is either a Lisp symbol, `:system' or
`:session', or a string denoting the bus address.  INTERFACE is a
string which denotes a D-Bus interface, and MEMBER, also a string, is
either a method, a signal or a property INTERFACE is offering.  All
arguments but BUS must not be nil.

The value in the hash table is a list of quadruple lists ((UNAME
SERVICE PATH OBJECT [RULE]) ...).  SERVICE is the service name as
registered, UNAME is the corresponding unique name.  In case of
registered methods and properties, UNAME is nil.  PATH is the object
path of the sending object.  All of them can be nil, which means a
wildcard then.  OBJECT is either the handler to be called when a D-Bus
message, which matches the key criteria, arrives (TYPE `:method' and
`:signal'), or a cons cell containing the value of the property (TYPE
`:property').

For entries of type `:signal', there is also a fifth element RULE,
which keeps the match string the signal is registered with.

In the second case, the key in the hash table is the list (:serial BUS
SERIAL).  BUS is either a Lisp symbol, `:system' or `:session', or a
string denoting the bus address.  SERIAL is the serial number of the
non-blocking method call, a reply is expected.  Both arguments must
not be nil.  The value in the hash table is HANDLER, the function to
be called when the D-Bus reply message arrives.Vdbus-debug
If non-nil, debug messages of D-Bus bindings are raised.Scygw32.o
Fcygwin-convert-file-name-to-windows
Convert a Cygwin file name FILE to a Windows-style file name.
If ABSOLUTE-P is non-nil, return an absolute file name.
For the reverse operation, see `cygwin-convert-file-name-from-windows'.

(fn FILE &optional ABSOLUTE-P)Fcygwin-convert-file-name-from-windows
Convert a Windows-style file name FILE to a Cygwin file name.
If ABSOLUTE-P is non-nil, return an absolute file name.
For the reverse operation, see `cygwin-convert-file-name-to-windows'.

(fn FILE &optional ABSOLUTE-P)Snsterm.o
Vns-input-file
The file specified in the last NS event.Vns-input-text
The data received in the last NS text drag event.Vns-working-text
String for visualizing working composition sequence.Vns-input-font
The font specified in the last NS event.Vns-input-fontsize
The fontsize specified in the last NS event.Vns-input-line
The line specified in the last NS event.Vns-input-color
The color specified in the last NS event.Vns-input-spi-name
The service name specified in the last NS event.Vns-input-spi-arg
The service argument specified in the last NS event.Vns-alternate-modifier
This variable describes the behavior of the alternate or option key.
Set to control, meta, alt, super, or hyper means it is taken to be that key.
Set to none means that the alternate / option key is not interpreted by Emacs
at all, allowing it to be used at a lower level for accented character entry.Vns-right-alternate-modifier
This variable describes the behavior of the right alternate or option key.
Set to control, meta, alt, super, or hyper means it is taken to be that key.
Set to left means be the same key as `ns-alternate-modifier'.
Set to none means that the alternate / option key is not interpreted by Emacs
at all, allowing it to be used at a lower level for accented character entry.Vns-command-modifier
This variable describes the behavior of the command key.
Set to control, meta, alt, super, or hyper means it is taken to be that key.Vns-right-command-modifier
This variable describes the behavior of the right command key.
Set to control, meta, alt, super, or hyper means it is taken to be that key.
Set to left means be the same key as `ns-command-modifier'.
Set to none means that the command / option key is not interpreted by Emacs
at all, allowing it to be used at a lower level for accented character entry.Vns-control-modifier
This variable describes the behavior of the control key.
Set to control, meta, alt, super, or hyper means it is taken to be that key.Vns-right-control-modifier
This variable describes the behavior of the right control key.
Set to control, meta, alt, super, or hyper means it is taken to be that key.
Set to left means be the same key as `ns-control-modifier'.
Set to none means that the control / option key is not interpreted by Emacs
at all, allowing it to be used at a lower level for accented character entry.Vns-function-modifier
This variable describes the behavior of the function key (on laptops).
Set to control, meta, alt, super, or hyper means it is taken to be that key.
Set to none means that the function key is not interpreted by Emacs at all,
allowing it to be used at a lower level for accented character entry.Vns-antialias-text
Non-nil (the default) means to render text antialiased.Vns-confirm-quit
Whether to confirm application quit using dialog.Vns-auto-hide-menu-bar
Non-nil means that the menu bar is hidden, but appears when the mouse is near.
Only works on OSX 10.6 or later.Vx-toolkit-scroll-bars
Which toolkit scroll bars Emacs uses, if any.
A value of nil means Emacs doesn't use toolkit scroll bars.
With the X Window system, the value is a symbol describing the
X toolkit.  Possible values are: gtk, motif, xaw, or xaw3d.
With MS Windows or Nextstep, the value is t.Vx-use-underline-position-properties
Non-nil means make use of UNDERLINE_POSITION font properties.
A value of nil means ignore them.  If you encounter fonts with bogus
UNDERLINE_POSITION font properties, for example 7x13 on XFree prior
to 4.1, set this to nil.Vx-underline-at-descent-line
Non-nil means to draw the underline at the same place as the descent line.
A value of nil means to draw the underline according to the value of the
variable `x-use-underline-position-properties', which is usually at the
baseline level.  The default value is nil.Snsfns.o
Fx-create-frame
Make a new Nextstep window, called a "frame" in Emacs terms.
Return an Emacs frame object.
PARMS is an alist of frame parameters.
If the parameters specify that the frame should not have a minibuffer,
and do not specify a specific minibuffer window to use,
then `default-minibuffer-frame' must be a frame whose minibuffer can
be shared by the new frame.

This function is an internal primitive--use `make-frame' instead.

(fn PARMS)Fx-focus-frame
Set the input focus to FRAME.
FRAME nil means use the selected frame.

(fn FRAME)Fns-popup-font-panel
Pop up the font panel.

(fn &optional FRAME)Fns-popup-color-panel
Pop up the color panel.

(fn &optional FRAME)Fns-read-file-name
Use a graphical panel to read a file name, using prompt PROMPT.
Optional arg DIR, if non-nil, supplies a default directory.
Optional arg MUSTMATCH, if non-nil, means the returned file or
directory must exist.
Optional arg INIT, if non-nil, provides a default file name to use.
Optional arg DIR_ONLY_P, if non-nil, means choose only directories.

(fn PROMPT &optional DIR MUSTMATCH INIT DIR-ONLY-P)Fns-get-resource
Return the value of the property NAME of OWNER from the defaults database.
If OWNER is nil, Emacs is assumed.

(fn OWNER NAME)Fns-set-resource
Set property NAME of OWNER to VALUE, from the defaults database.
If OWNER is nil, Emacs is assumed.
If VALUE is nil, the default is removed.

(fn OWNER NAME VALUE)Fx-server-max-request-size
This function is a no-op.  It is only present for completeness.

(fn &optional DISPLAY)Fx-server-vendor
Return the vendor ID string of Nextstep display server DISPLAY.
DISPLAY should be either a frame or a display name (a string).
If omitted or nil, the selected frame's display is used.

(fn &optional DISPLAY)Fx-server-version
Return the version numbers of the server of DISPLAY.
The value is a list of three integers: the major and minor
version numbers of the X Protocol in use, and the distributor-specific
release number.  See also the function `x-server-vendor'.

The optional argument DISPLAY specifies which display to ask about.
DISPLAY should be either a frame or a display name (a string).
If omitted or nil, that stands for the selected frame's display.

(fn &optional DISPLAY)Fx-display-screens
Return the number of screens on Nextstep display server DISPLAY.
DISPLAY should be a frame, the display name as a string, or a terminal ID.
If omitted or nil, the selected frame's display is used.

(fn &optional DISPLAY)Fx-display-mm-height
Return the height of Nextstep display server DISPLAY, in millimeters.
DISPLAY should be a frame, the display name as a string, or a terminal ID.
If omitted or nil, the selected frame's display is used.

(fn &optional DISPLAY)Fx-display-mm-width
Return the width of Nextstep display server DISPLAY, in millimeters.
DISPLAY should be a frame, the display name as a string, or a terminal ID.
If omitted or nil, the selected frame's display is used.

(fn &optional DISPLAY)Fx-display-backing-store
Return whether the Nextstep display DISPLAY supports backing store.
The value may be `buffered', `retained', or `non-retained'.
DISPLAY should be a frame, the display name as a string, or a terminal ID.
If omitted or nil, the selected frame's display is used.

(fn &optional DISPLAY)Fx-display-visual-class
Return the visual class of the Nextstep display server DISPLAY.
The value is one of the symbols `static-gray', `gray-scale',
`static-color', `pseudo-color', `true-color', or `direct-color'.
DISPLAY should be a frame, the display name as a string, or a terminal ID.
If omitted or nil, the selected frame's display is used.

(fn &optional DISPLAY)Fx-display-save-under
Return t if DISPLAY supports the save-under feature.
The optional argument DISPLAY specifies which display to ask about.
DISPLAY should be a frame, the display name as a string, or a terminal ID.
If omitted or nil, the selected frame's display is used.

(fn &optional DISPLAY)Fx-open-connection
Open a connection to a display server.
DISPLAY is the name of the display to connect to.
Optional second arg XRM-STRING is a string of resources in xrdb format.
If the optional third arg MUST-SUCCEED is non-nil,
terminate Emacs if we can't open the connection.
(In the Nextstep version, the last two arguments are currently ignored.)

(fn DISPLAY &optional RESOURCE-STRING MUST-SUCCEED)Fx-close-connection
Close the connection to the current Nextstep display server.
The argument DISPLAY is currently ignored.

(fn DISPLAY)Fx-display-list
Return the list of display names that Emacs has connections to.

(fn)Fns-hide-others
Hides all applications other than Emacs.

(fn)Fns-hide-emacs
If ON is non-nil, the entire Emacs application is hidden.
Otherwise if Emacs is hidden, it is unhidden.
If ON is equal to `activate', Emacs is unhidden and becomes
the active application.

(fn ON)Fns-emacs-info-panel
Shows the 'Info' or 'About' panel for Emacs.

(fn)Fns-font-name
Determine font PostScript or family name for font NAME.
NAME should be a string containing either the font name or an XLFD
font descriptor.  If string contains `fontset' and not
`fontset-startup', it is left alone.

(fn NAME)Fns-list-colors
Return a list of all available colors.
The optional argument FRAME is currently ignored.

(fn &optional FRAME)Fns-list-services
List available Nextstep services by querying NSApp.

(fn)Fns-perform-service
Perform Nextstep SERVICE on SEND.
SEND should be either a string or nil.
The return value is the result of the service, as string, or nil if
there was no result.

(fn SERVICE SEND)Fns-convert-utf8-nfd-to-nfc
Return an NFC string that matches the UTF-8 NFD string STR.

(fn STR)Fns-do-applescript
Execute AppleScript SCRIPT and return the result.
If compilation and execution are successful, the resulting script value
is returned as a string, a number or, in the case of other constructs, t.
In case the execution fails, an error is signaled.

(fn SCRIPT)Fxw-color-defined-p
Internal function called by `color-defined-p', which see.
(Note that the Nextstep version of this function ignores FRAME.)

(fn COLOR &optional FRAME)Fxw-color-values
Internal function called by `color-values', which see.

(fn COLOR &optional FRAME)Fxw-display-color-p
Internal function called by `display-color-p', which see.

(fn &optional DISPLAY)Fx-display-grayscale-p
Return t if the Nextstep display supports shades of gray.
Note that color displays do support shades of gray.
The optional argument DISPLAY specifies which display to ask about.
DISPLAY should be either a frame, a display name (a string), or terminal ID.
If omitted or nil, that stands for the selected frame's display.

(fn &optional DISPLAY)Fx-display-pixel-width
Return the width in pixels of the Nextstep display DISPLAY.
The optional argument DISPLAY specifies which display to ask about.
DISPLAY should be either a frame, a display name (a string), or terminal ID.
If omitted or nil, that stands for the selected frame's display.

(fn &optional DISPLAY)Fx-display-pixel-height
Return the height in pixels of the Nextstep display DISPLAY.
The optional argument DISPLAY specifies which display to ask about.
DISPLAY should be either a frame, a display name (a string), or terminal ID.
If omitted or nil, that stands for the selected frame's display.

(fn &optional DISPLAY)Fdisplay-usable-bounds
Return the bounds of the usable part of the screen.
The return value is a list of integers (LEFT TOP WIDTH HEIGHT), which
are the boundaries of the usable part of the screen, excluding areas
reserved for the Mac menu, dock, and so forth.

The screen queried corresponds to DISPLAY, which should be either a
frame, a display name (a string), or terminal ID.  If omitted or nil,
that stands for the selected frame's display.

(fn &optional DISPLAY)Fx-display-planes
Return the number of bitplanes of the Nextstep display DISPLAY.
The optional argument DISPLAY specifies which display to ask about.
DISPLAY should be either a frame, a display name (a string), or terminal ID.
If omitted or nil, that stands for the selected frame's display.

(fn &optional DISPLAY)Fx-display-color-cells
Returns the number of color cells of the Nextstep display DISPLAY.
The optional argument DISPLAY specifies which display to ask about.
DISPLAY should be either a frame, a display name (a string), or terminal ID.
If omitted or nil, that stands for the selected frame's display.

(fn &optional DISPLAY)Fx-show-tip
Show STRING in a "tooltip" window on frame FRAME.
A tooltip window is a small window displaying a string.

This is an internal function; Lisp code should call `tooltip-show'.

FRAME nil or omitted means use the selected frame.

PARMS is an optional list of frame parameters which can be used to
change the tooltip's appearance.

Automatically hide the tooltip after TIMEOUT seconds.  TIMEOUT nil
means use the default timeout of 5 seconds.

If the list of frame parameters PARMS contains a `left' parameter,
the tooltip is displayed at that x-position.  Otherwise it is
displayed at the mouse position, with offset DX added (default is 5 if
DX isn't specified).  Likewise for the y-position; if a `top' frame
parameter is specified, it determines the y-position of the tooltip
window, otherwise it is displayed at the mouse position, with offset
DY added (default is -10).

A tooltip's maximum size is specified by `x-max-tooltip-size'.
Text larger than the specified size is clipped.

(fn STRING &optional FRAME PARMS TIMEOUT DX DY)Fx-hide-tip
Hide the current tooltip window, if there is any.
Value is t if tooltip was open, nil otherwise.

(fn)Vns-icon-type-alist
Alist of elements (REGEXP . IMAGE) for images of icons associated to frames.
If the title of a frame matches REGEXP, then IMAGE.tiff is
selected as the image of the icon representing the frame when it's
miniaturized.  If an element is t, then Emacs tries to select an icon
based on the filetype of the visited file.

The images have to be installed in a folder called English.lproj in the
Emacs folder.  You have to restart Emacs after installing new icons.

Example: Install an icon Gnus.tiff and execute the following code

  (setq ns-icon-type-alist
        (append ns-icon-type-alist
                '(("^\\*\\(Group\\*$\\|Summary \\|Article\\*$\\)"
                   . "Gnus"))))

When you miniaturize a Group, Summary or Article frame, Gnus.tiff will
be used as the image of the icon representing the frame.Vns-version-string
Toolkit version for NS Windowing.Snsmenu.o
Fns-reset-menu
Cause the NS menu to be re-calculated.

(fn)Fx-popup-dialog
Pop up a dialog box and return user's selection.
POSITION specifies which frame to use.
This is normally a mouse button event or a window or frame.
If POSITION is t, it means to use the frame the mouse is on.
The dialog box appears in the middle of the specified frame.

CONTENTS specifies the alternatives to display in the dialog box.
It is a list of the form (DIALOG ITEM1 ITEM2...).
Each ITEM is a cons cell (STRING . VALUE).
The return value is VALUE from the chosen item.

An ITEM may also be just a string--that makes a nonselectable item.
An ITEM may also be nil--that means to put all preceding items
on the left of the dialog box and all following items on the right.
(By default, approximately half appear on each side.)

If HEADER is non-nil, the frame title for the box is "Information",
otherwise it is "Question".

If the user gets rid of the dialog box without making a valid choice,
for instance using the window manager, then this produces a quit and
`x-popup-dialog' does not return.

(fn POSITION CONTENTS &optional HEADER)Fmenu-or-popup-active-p
Return t if a menu or popup dialog is active.

(fn)Snsselect.o
Fx-own-selection-internal
Assert an X selection of type SELECTION and value VALUE.
SELECTION is a symbol, typically `PRIMARY', `SECONDARY', or `CLIPBOARD'.
(Those are literal upper-case symbol names, since that's what X expects.)
VALUE is typically a string, or a cons of two markers, but may be
anything that the functions on `selection-converter-alist' know about.

FRAME should be a frame that should own the selection.  If omitted or
nil, it defaults to the selected frame.

On Nextstep, FRAME is unused.

(fn SELECTION VALUE &optional FRAME)Fx-disown-selection-internal
If we own the selection SELECTION, disown it.
Disowning it means there is no such selection.

Sets the last-change time for the selection to TIME-OBJECT (by default
the time of the last event).

TERMINAL should be a terminal object or a frame specifying the X
server to query.  If omitted or nil, that stands for the selected
frame's display, or the first available X display.

On Nextstep, the TIME-OBJECT and TERMINAL arguments are unused.
On MS-DOS, all this does is return non-nil if we own the selection.

(fn SELECTION &optional TIME-OBJECT TERMINAL)Fx-selection-exists-p
Whether there is an owner for the given X selection.
SELECTION should be the name of the selection in question, typically
one of the symbols `PRIMARY', `SECONDARY', or `CLIPBOARD'.  (X expects
these literal upper-case names.)  The symbol nil is the same as
`PRIMARY', and t is the same as `SECONDARY'.

TERMINAL should be a terminal object or a frame specifying the X
server to query.  If omitted or nil, that stands for the selected
frame's display, or the first available X display.

On Nextstep, TERMINAL is unused.

(fn &optional SELECTION TERMINAL)Fx-selection-owner-p
Whether the current Emacs process owns the given X Selection.
The arg should be the name of the selection in question, typically one of
the symbols `PRIMARY', `SECONDARY', or `CLIPBOARD'.
(Those are literal upper-case symbol names, since that's what X expects.)
For convenience, the symbol nil is the same as `PRIMARY',
and t is the same as `SECONDARY'.

TERMINAL should be a terminal object or a frame specifying the X
server to query.  If omitted or nil, that stands for the selected
frame's display, or the first available X display.

On Nextstep, TERMINAL is unused.

(fn &optional SELECTION TERMINAL)Fx-get-selection-internal
Return text selected from some X window.
SELECTION-SYMBOL is typically `PRIMARY', `SECONDARY', or `CLIPBOARD'.
(Those are literal upper-case symbol names, since that's what X expects.)
TARGET-TYPE is the type of data desired, typically `STRING'.

TIME-STAMP is the time to use in the XConvertSelection call for foreign
selections.  If omitted, defaults to the time for the last event.

TERMINAL should be a terminal object or a frame specifying the X
server to query.  If omitted or nil, that stands for the selected
frame's display, or the first available X display.

On Nextstep, TIME-STAMP and TERMINAL are unused.

(fn SELECTION-NAME TARGET-TYPE &optional TIME-STAMP TERMINAL)Fns-get-selection-internal
Returns the value of SELECTION as a string.
SELECTION is a symbol, typically `PRIMARY', `SECONDARY', or `CLIPBOARD'.

(fn SELECTION)Fns-store-selection-internal
Sets the string value of SELECTION.
SELECTION is a symbol, typically `PRIMARY', `SECONDARY', or `CLIPBOARD'.

(fn SELECTION STRING)Vns-sent-selection-hooks
A list of functions to be called when Emacs answers a selection request.
The functions are called with four arguments:
  - the selection name (typically `PRIMARY', `SECONDARY', or `CLIPBOARD');
  - the selection-type which Emacs was asked to convert the
    selection into before sending (for example, `STRING' or `LENGTH');
  - a flag indicating success or failure for responding to the request.
We might have failed (and declined the request) for any number of reasons,
including being asked for a selection that we no longer own, or being asked
to convert into a type that we don't know about or that is inappropriate.
This hook doesn't let you change the behavior of Emacs's selection replies,
it merely informs you that they have happened.Vselection-converter-alist
An alist associating X Windows selection-types with functions.
These functions are called to convert the selection, with three args:
the name of the selection (typically `PRIMARY', `SECONDARY', or `CLIPBOARD');
a desired type to which the selection should be converted;
and the local selection value (whatever was given to `x-own-selection').

The function should return the value to send to the X server
(typically a string).  A return value of nil
means that the conversion could not be done.
A return value which is the symbol `NULL'
means that a side-effect was executed,
and there is no meaningful selection value.Vns-lost-selection-hooks
A list of functions to be called when Emacs loses an X selection.
(This happens when some other X client makes its own selection
or when a Lisp program explicitly clears the selection.)
The functions are called with one argument, the selection type
(a symbol, typically `PRIMARY', `SECONDARY', or `CLIPBOARD').Snsimage.o
Snsfont.o
Vns-reg-to-script
Internal use: maps font registry to Unicode script.Sw32.o
Sw32console.o
Fset-screen-color
Set screen foreground and background colors.

Arguments should be indices between 0 and 15, see w32console.el.

(fn FOREGROUND BACKGROUND)Fget-screen-color
Get color indices of the current screen foreground and background.

The colors are returned as a list of 2 indices (FOREGROUND BACKGROUND).
See w32console.el and `tty-defined-color-alist' for mapping of indices
to colors.

(fn)Fset-cursor-size
Set cursor size.

(fn SIZE)Vw32-use-full-screen-buffer
Non-nil means make terminal frames use the full screen buffer dimensions.
This is desirable when running Emacs over telnet.
A value of nil means use the current console window dimensions; this
may be preferable when working directly at the console with a large
scroll-back buffer.Sw32fns.o
Fw32-define-rgb-color
Convert RGB numbers to a Windows color reference and associate with NAME.
This adds or updates a named color to `w32-color-map', making it
available for use.  The original entry's RGB ref is returned, or nil
if the entry is new.

(fn RED GREEN BLUE NAME)Fw32-default-color-map
Return the default color map.

(fn)Fx-create-frame
Make a new window, which is called a "frame" in Emacs terms.
Return an Emacs frame object.
PARAMETERS is an alist of frame parameters.
If the parameters specify that the frame should not have a minibuffer,
and do not specify a specific minibuffer window to use,
then `default-minibuffer-frame' must be a frame whose minibuffer can
be shared by the new frame.

This function is an internal primitive--use `make-frame' instead.

(fn PARAMETERS)Fx-focus-frame
Give FRAME input focus, raising to foreground if necessary.

(fn FRAME)Fxw-color-defined-p
Internal function called by `color-defined-p', which see.
(Note that the Nextstep version of this function ignores FRAME.)

(fn COLOR &optional FRAME)Fxw-color-values
Internal function called by `color-values', which see.

(fn COLOR &optional FRAME)Fxw-display-color-p
Internal function called by `display-color-p', which see.

(fn &optional DISPLAY)Fx-display-grayscale-p
Return t if DISPLAY supports shades of gray.
Note that color displays do support shades of gray.
The optional argument DISPLAY specifies which display to ask about.
DISPLAY should be either a frame or a display name (a string).
If omitted or nil, that stands for the selected frame's display.

(fn &optional DISPLAY)Fx-display-pixel-width
Return the width in pixels of DISPLAY.
The optional argument DISPLAY specifies which display to ask about.
DISPLAY should be either a frame or a display name (a string).
If omitted or nil, that stands for the selected frame's display.

(fn &optional DISPLAY)Fx-display-pixel-height
Return the height in pixels of DISPLAY.
The optional argument DISPLAY specifies which display to ask about.
DISPLAY should be either a frame or a display name (a string).
If omitted or nil, that stands for the selected frame's display.

(fn &optional DISPLAY)Fx-display-planes
Return the number of bitplanes of DISPLAY.
The optional argument DISPLAY specifies which display to ask about.
DISPLAY should be either a frame or a display name (a string).
If omitted or nil, that stands for the selected frame's display.

(fn &optional DISPLAY)Fx-display-color-cells
Return the number of color cells of DISPLAY.
The optional argument DISPLAY specifies which display to ask about.
DISPLAY should be either a frame or a display name (a string).
If omitted or nil, that stands for the selected frame's display.

(fn &optional DISPLAY)Fx-server-max-request-size
Return the maximum request size of the server of DISPLAY.
The optional argument DISPLAY specifies which display to ask about.
DISPLAY should be either a frame or a display name (a string).
If omitted or nil, that stands for the selected frame's display.

(fn &optional DISPLAY)Fx-server-vendor
Return the "vendor ID" string of the W32 system (Microsoft).
The optional argument DISPLAY specifies which display to ask about.
DISPLAY should be either a frame or a display name (a string).
If omitted or nil, that stands for the selected frame's display.

(fn &optional DISPLAY)Fx-server-version
Return the version numbers of the server of DISPLAY.
The value is a list of three integers: the major and minor
version numbers of the X Protocol in use, and the distributor-specific
release number.  See also the function `x-server-vendor'.

The optional argument DISPLAY specifies which display to ask about.
DISPLAY should be either a frame or a display name (a string).
If omitted or nil, that stands for the selected frame's display.

(fn &optional DISPLAY)Fx-display-screens
Return the number of screens on the server of DISPLAY.
The optional argument DISPLAY specifies which display to ask about.
DISPLAY should be either a frame or a display name (a string).
If omitted or nil, that stands for the selected frame's display.

(fn &optional DISPLAY)Fx-display-mm-height
Return the height in millimeters of DISPLAY.
The optional argument DISPLAY specifies which display to ask about.
DISPLAY should be either a frame or a display name (a string).
If omitted or nil, that stands for the selected frame's display.

(fn &optional DISPLAY)Fx-display-mm-width
Return the width in millimeters of DISPLAY.
The optional argument DISPLAY specifies which display to ask about.
DISPLAY should be either a frame or a display name (a string).
If omitted or nil, that stands for the selected frame's display.

(fn &optional DISPLAY)Fx-display-backing-store
Return an indication of whether DISPLAY does backing store.
The value may be `always', `when-mapped', or `not-useful'.
The optional argument DISPLAY specifies which display to ask about.
DISPLAY should be either a frame or a display name (a string).
If omitted or nil, that stands for the selected frame's display.

(fn &optional DISPLAY)Fx-display-visual-class
Return the visual class of DISPLAY.
The value is one of the symbols `static-gray', `gray-scale',
`static-color', `pseudo-color', `true-color', or `direct-color'.

The optional argument DISPLAY specifies which display to ask about.
DISPLAY should be either a frame or a display name (a string).
If omitted or nil, that stands for the selected frame's display.

(fn &optional DISPLAY)Fx-display-save-under
Return t if DISPLAY supports the save-under feature.
The optional argument DISPLAY specifies which display to ask about.
DISPLAY should be either a frame or a display name (a string).
If omitted or nil, that stands for the selected frame's display.

(fn &optional DISPLAY)Fset-message-beep
Set the sound generated when the bell is rung.
SOUND is 'asterisk, 'exclamation, 'hand, 'question, 'ok, or 'silent
to use the corresponding system sound for the bell.  The 'silent sound
prevents Emacs from making any sound at all.
SOUND is nil to use the normal beep.

(fn SOUND)Fx-open-connection
Open a connection to a display server.
DISPLAY is the name of the display to connect to.
Optional second arg XRM-STRING is a string of resources in xrdb format.
If the optional third arg MUST-SUCCEED is non-nil,
terminate Emacs if we can't open the connection.
(In the Nextstep version, the last two arguments are currently ignored.)

(fn DISPLAY &optional XRM-STRING MUST-SUCCEED)Fx-close-connection
Close the connection to DISPLAY's server.
For DISPLAY, specify either a frame or a display name (a string).
If DISPLAY is nil, that stands for the selected frame's display.

(fn DISPLAY)Fx-display-list
Return the list of display names that Emacs has connections to.

(fn)Fx-synchronize
If ON is non-nil, report X errors as soon as the erring request is made.
This function only has an effect on X Windows.  With MS Windows, it is
defined but does nothing.

If ON is nil, allow buffering of requests.
Turning on synchronization prohibits the Xlib routines from buffering
requests and seriously degrades performance, but makes debugging much
easier.
The optional second argument TERMINAL specifies which display to act on.
TERMINAL should be a terminal object, a frame or a display name (a string).
If TERMINAL is omitted or nil, that stands for the selected frame's display.

(fn ON &optional DISPLAY)Fx-change-window-property
Change window property PROP to VALUE on the X window of FRAME.
PROP must be a string.  VALUE may be a string or a list of conses,
numbers and/or strings.  If an element in the list is a string, it is
converted to an atom and the value of the Atom is used.  If an element
is a cons, it is converted to a 32 bit number where the car is the 16
top bits and the cdr is the lower 16 bits.

FRAME nil or omitted means use the selected frame.
If TYPE is given and non-nil, it is the name of the type of VALUE.
If TYPE is not given or nil, the type is STRING.
FORMAT gives the size in bits of each element if VALUE is a list.
It must be one of 8, 16 or 32.
If VALUE is a string or FORMAT is nil or not given, FORMAT defaults to 8.
If OUTER-P is non-nil, the property is changed for the outer X window of
FRAME.  Default is to change on the edit X window.

(fn PROP VALUE &optional FRAME TYPE FORMAT OUTER-P)Fx-delete-window-property
Remove window property PROP from X window of FRAME.
FRAME nil or omitted means use the selected frame.  Value is PROP.

(fn PROP &optional FRAME)Fx-window-property
Value is the value of window property PROP on FRAME.
If FRAME is nil or omitted, use the selected frame.

On X Windows, the following optional arguments are also accepted:
If TYPE is nil or omitted, get the property as a string.
Otherwise TYPE is the name of the atom that denotes the type expected.
If SOURCE is non-nil, get the property on that window instead of from
FRAME.  The number 0 denotes the root window.
If DELETE-P is non-nil, delete the property after retrieving it.
If VECTOR-RET-P is non-nil, don't return a string but a vector of values.

On MS Windows, this function accepts but ignores those optional arguments.

Value is nil if FRAME hasn't a property with name PROP or if PROP has
no value of TYPE (always string in the MS Windows case).

(fn PROP &optional FRAME TYPE SOURCE DELETE-P VECTOR-RET-P)Fx-show-tip
Show STRING in a "tooltip" window on frame FRAME.
A tooltip window is a small window displaying a string.

This is an internal function; Lisp code should call `tooltip-show'.

FRAME nil or omitted means use the selected frame.

PARMS is an optional list of frame parameters which can be
used to change the tooltip's appearance.

Automatically hide the tooltip after TIMEOUT seconds.  TIMEOUT nil
means use the default timeout of 5 seconds.

If the list of frame parameters PARMS contains a `left' parameter,
the tooltip is displayed at that x-position.  Otherwise it is
displayed at the mouse position, with offset DX added (default is 5 if
DX isn't specified).  Likewise for the y-position; if a `top' frame
parameter is specified, it determines the y-position of the tooltip
window, otherwise it is displayed at the mouse position, with offset
DY added (default is -10).

A tooltip's maximum size is specified by `x-max-tooltip-size'.
Text larger than the specified size is clipped.

(fn STRING &optional FRAME PARMS TIMEOUT DX DY)Fx-hide-tip
Hide the current tooltip window, if there is any.
Value is t if tooltip was open, nil otherwise.

(fn)Fx-file-dialog
Read file name, prompting with PROMPT in directory DIR.
Use a file selection dialog.  Select DEFAULT-FILENAME in the dialog's file
selection box, if specified.  If MUSTMATCH is non-nil, the returned file
or directory must exist.

This function is only defined on NS, MS Windows, and X Windows with the
Motif or Gtk toolkits.  With the Motif toolkit, ONLY-DIR-P is ignored.
Otherwise, if ONLY-DIR-P is non-nil, the user can only select directories.

(fn PROMPT DIR &optional DEFAULT-FILENAME MUSTMATCH ONLY-DIR-P)Fsystem-move-file-to-trash
Move file or directory named FILENAME to the recycle bin.

(fn FILENAME)Fw32-send-sys-command
Send frame a Windows WM_SYSCOMMAND message of type COMMAND.
Some useful values for COMMAND are #xf030 to maximize frame (#xf020
to minimize), #xf120 to restore frame to original size, and #xf100
to activate the menubar for keyboard access.  #xf140 activates the
screen saver if defined.

If optional parameter FRAME is not specified, use selected frame.

(fn COMMAND &optional FRAME)Fw32-shell-execute
Get Windows to perform OPERATION on DOCUMENT.
This is a wrapper around the ShellExecute system function, which
invokes the application registered to handle OPERATION for DOCUMENT.

OPERATION is either nil or a string that names a supported operation.
What operations can be used depends on the particular DOCUMENT and its
handler application, but typically it is one of the following common
operations:

 "open"    - open DOCUMENT, which could be a file, a directory, or an
               executable program.  If it is an application, that
               application is launched in the current buffer's default
               directory.  Otherwise, the application associated with
               DOCUMENT is launched in the buffer's default directory.
 "print"   - print DOCUMENT, which must be a file
 "explore" - start the Windows Explorer on DOCUMENT
 "edit"    - launch an editor and open DOCUMENT for editing; which
               editor is launched depends on the association for the
               specified DOCUMENT
 "find"    - initiate search starting from DOCUMENT which must specify
               a directory
 nil       - invoke the default OPERATION, or "open" if default is
               not defined or unavailable

DOCUMENT is typically the name of a document file or a URL, but can
also be a program executable to run, or a directory to open in the
Windows Explorer.

If DOCUMENT is a program executable, the optional third arg PARAMETERS
can be a string containing command line parameters that will be passed
to the program; otherwise, PARAMETERS should be nil or unspecified.

Optional fourth argument SHOW-FLAG can be used to control how the
application will be displayed when it is invoked.  If SHOW-FLAG is nil
or unspecified, the application is displayed normally, otherwise it is
an integer representing a ShowWindow flag:

  0 - start hidden
  1 - start normally
  3 - start maximized
  6 - start minimized

(fn OPERATION DOCUMENT &optional PARAMETERS SHOW-FLAG)Fw32-register-hot-key
Register KEY as a hot-key combination.
Certain key combinations like Alt-Tab are reserved for system use on
Windows, and therefore are normally intercepted by the system.  However,
most of these key combinations can be received by registering them as
hot-keys, overriding their special meaning.

KEY must be a one element key definition in vector form that would be
acceptable to `define-key' (e.g. [A-tab] for Alt-Tab).  The meta
modifier is interpreted as Alt if `w32-alt-is-meta' is t, and hyper
is always interpreted as the Windows modifier keys.

The return value is the hotkey-id if registered, otherwise nil.

(fn KEY)Fw32-unregister-hot-key
Unregister KEY as a hot-key combination.

(fn KEY)Fw32-registered-hot-keys
Return list of registered hot-key IDs.

(fn)Fw32-reconstruct-hot-key
Convert hot-key ID to a lisp key combination.

(fn ID)Fw32-toggle-lock-key
Toggle the state of the lock key KEY.
KEY can be `capslock', `kp-numlock', or `scroll'.
If the optional parameter NEW-STATE is a number, then the state of KEY
is set to off if the low bit of NEW-STATE is zero, otherwise on.

(fn KEY &optional NEW-STATE)Fw32-window-exists-p
Return non-nil if a window exists with the specified CLASS and NAME.

This is a direct interface to the Windows API FindWindow function.

(fn CLASS NAME)Fw32-battery-status
Get power status information from Windows system.

The following %-sequences are provided:
%L AC line status (verbose)
%B Battery status (verbose)
%b Battery status, empty means high, `-' means low,
   `!' means critical, and `+' means charging
%p Battery load percentage
%s Remaining time (to charge or discharge) in seconds
%m Remaining time (to charge or discharge) in minutes
%h Remaining time (to charge or discharge) in hours
%t Remaining time (to charge or discharge) in the form `h:min'

(fn)Ffile-system-info
Return storage information about the file system FILENAME is on.
Value is a list of floats (TOTAL FREE AVAIL), where TOTAL is the total
storage of the file system, FREE is the free storage, and AVAIL is the
storage available to a non-superuser.  All 3 numbers are in bytes.
If the underlying system call fails, value is nil.

(fn FILENAME)Fdefault-printer-name
Return the name of Windows default printer device.

(fn)Vw32-color-map
An array of color name mappings for Windows.Vw32-pass-alt-to-system
Non-nil if Alt key presses are passed on to Windows.
When non-nil, for example, Alt pressed and released and then space will
open the System menu.  When nil, Emacs processes the Alt key events, and
then silently swallows them.Vw32-alt-is-meta
Non-nil if the Alt key is to be considered the same as the META key.
When nil, Emacs will translate the Alt key to the ALT modifier, not to META.Vw32-quit-key
If non-zero, the virtual key code for an alternative quit key.Vw32-pass-lwindow-to-system
If non-nil, the left "Windows" key is passed on to Windows.

When non-nil, the Start menu is opened by tapping the key.
If you set this to nil, the left "Windows" key is processed by Emacs
according to the value of `w32-lwindow-modifier', which see.

Note that some combinations of the left "Windows" key with other keys are
caught by Windows at low level, and so binding them in Emacs will have no
effect.  For example, <lwindow>-r always pops up the Windows Run dialog,
<lwindow>-<Pause> pops up the "System Properties" dialog, etc.  However, see
the doc string of `w32-phantom-key-code'.Vw32-pass-rwindow-to-system
If non-nil, the right "Windows" key is passed on to Windows.

When non-nil, the Start menu is opened by tapping the key.
If you set this to nil, the right "Windows" key is processed by Emacs
according to the value of `w32-rwindow-modifier', which see.

Note that some combinations of the right "Windows" key with other keys are
caught by Windows at low level, and so binding them in Emacs will have no
effect.  For example, <rwindow>-r always pops up the Windows Run dialog,
<rwindow>-<Pause> pops up the "System Properties" dialog, etc.  However, see
the doc string of `w32-phantom-key-code'.Vw32-phantom-key-code
Virtual key code used to generate "phantom" key presses.
Value is a number between 0 and 255.

Phantom key presses are generated in order to stop the system from
acting on "Windows" key events when `w32-pass-lwindow-to-system' or
`w32-pass-rwindow-to-system' is nil.Vw32-enable-num-lock
If non-nil, the Num Lock key acts normally.
Set to nil to handle Num Lock as the `kp-numlock' key.Vw32-enable-caps-lock
If non-nil, the Caps Lock key acts normally.
Set to nil to handle Caps Lock as the `capslock' key.Vw32-scroll-lock-modifier
Modifier to use for the Scroll Lock ON state.
The value can be hyper, super, meta, alt, control or shift for the
respective modifier, or nil to handle Scroll Lock as the `scroll' key.
Any other value will cause the Scroll Lock key to be ignored.Vw32-lwindow-modifier
Modifier to use for the left "Windows" key.
The value can be hyper, super, meta, alt, control or shift for the
respective modifier, or nil to appear as the `lwindow' key.
Any other value will cause the key to be ignored.Vw32-rwindow-modifier
Modifier to use for the right "Windows" key.
The value can be hyper, super, meta, alt, control or shift for the
respective modifier, or nil to appear as the `rwindow' key.
Any other value will cause the key to be ignored.Vw32-apps-modifier
Modifier to use for the "Apps" key.
The value can be hyper, super, meta, alt, control or shift for the
respective modifier, or nil to appear as the `apps' key.
Any other value will cause the key to be ignored.Vw32-enable-synthesized-fonts
Non-nil enables selection of artificially italicized and bold fonts.Vw32-enable-palette
Non-nil enables Windows palette management to map colors exactly.Vw32-mouse-button-tolerance
Analogue of double click interval for faking middle mouse events.
The value is the minimum time in milliseconds that must elapse between
left and right button down events before they are considered distinct events.
If both mouse buttons are depressed within this interval, a middle mouse
button down event is generated instead.Vw32-mouse-move-interval
Minimum interval between mouse move events.
The value is the minimum time in milliseconds that must elapse between
successive mouse move (or scroll bar drag) events before they are
reported as lisp events.Vw32-pass-extra-mouse-buttons-to-system
If non-nil, the fourth and fifth mouse buttons are passed to Windows.
Recent versions of Windows support mice with up to five buttons.
Since most applications don't support these extra buttons, most mouse
drivers will allow you to map them to functions at the system level.
If this variable is non-nil, Emacs will pass them on, allowing the
system to handle them.Vw32-pass-multimedia-buttons-to-system
If non-nil, media buttons are passed to Windows.
Some modern keyboards contain buttons for controlling media players, web
browsers and other applications.  Generally these buttons are handled on a
system wide basis, but by setting this to nil they are made available
to Emacs for binding.  Depending on your keyboard, additional keys that
may be available are:

browser-back, browser-forward, browser-refresh, browser-stop,
browser-search, browser-favorites, browser-home,
mail, mail-reply, mail-forward, mail-send,
app-1, app-2,
help, find, new, open, close, save, print, undo, redo, copy, cut, paste,
spell-check, correction-list, toggle-dictate-command,
media-next, media-previous, media-stop, media-play-pause, media-select,
media-play, media-pause, media-record, media-fast-forward, media-rewind,
media-channel-up, media-channel-down,
volume-mute, volume-up, volume-down,
mic-volume-mute, mic-volume-down, mic-volume-up, mic-toggle,
bass-down, bass-boost, bass-up, treble-down, treble-upVx-pointer-shape
The shape of the pointer when over text.
Changing the value does not affect existing frames
unless you set the mouse color.Vx-hourglass-pointer-shape
The shape of the pointer when Emacs is busy.
This variable takes effect when you create a new frame
or when you set the mouse color.Vx-sensitive-text-pointer-shape
The shape of the pointer when over mouse-sensitive text.
This variable takes effect when you create a new frame
or when you set the mouse color.Vx-window-horizontal-drag-cursor
Pointer shape to use for indicating a window can be dragged horizontally.
This variable takes effect when you create a new frame
or when you set the mouse color.Vx-cursor-fore-pixel
A string indicating the foreground color of the cursor box.Vx-max-tooltip-size
Maximum size for tooltips.
Value is a pair (COLUMNS . ROWS).  Text larger than this is clipped.Vx-no-window-manager
Non-nil if no window manager is in use.
Emacs doesn't try to figure this out; this is always nil
unless you set it to something else.Vx-pixel-size-width-font-regexp
Regexp matching a font name whose width is the same as `PIXEL_SIZE'.

Since Emacs gets width of a font matching with this regexp from
PIXEL_SIZE field of the name, font finding mechanism gets faster for
such a font.  This is especially effective for such large fonts as
Chinese, Japanese, and Korean.Vw32-bdf-filename-alist
List of bdf fonts and their corresponding filenames.Vw32-strict-fontnames
Non-nil means only use fonts that are exact matches for those requested.
Default is nil, which allows old fontnames that are not XLFD compliant,
and allows third-party CJK display to work by specifying false charset
fields to trick Emacs into translating to Big5, SJIS etc.
Setting this to t will prevent wrong fonts being selected when
fontsets are automatically created.Vw32-strict-painting
Non-nil means use strict rules for repainting frames.
Set this to nil to get the old behavior for repainting; this should
only be necessary if the default setting causes problems.Vw32-ansi-code-page
The ANSI code page used by the system.Sw32heap.o
Sw32inevt.o
Sw32menu.o
Fx-popup-dialog
Pop up a dialog box and return user's selection.
POSITION specifies which frame to use.
This is normally a mouse button event or a window or frame.
If POSITION is t, it means to use the frame the mouse is on.
The dialog box appears in the middle of the specified frame.

CONTENTS specifies the alternatives to display in the dialog box.
It is a list of the form (TITLE ITEM1 ITEM2...).
Each ITEM is a cons cell (STRING . VALUE).
The return value is VALUE from the chosen item.

An ITEM may also be just a string--that makes a nonselectable item.
An ITEM may also be nil--that means to put all preceding items
on the left of the dialog box and all following items on the right.
(By default, approximately half appear on each side.)

If HEADER is non-nil, the frame title for the box is "Information",
otherwise it is "Question".

(fn POSITION CONTENTS &optional HEADER)Fmenu-or-popup-active-p
Return t if a menu or popup dialog is active on selected frame.

(fn)Sw32proc.o
Fw32-has-winsock
Test for presence of the Windows socket library `winsock'.
Returns non-nil if winsock support is present, nil otherwise.

If the optional argument LOAD-NOW is non-nil, the winsock library is
also loaded immediately if not already loaded.  If winsock is loaded,
the winsock local hostname is returned (since this may be different from
the value of `system-name' and should supplant it), otherwise t is
returned to indicate winsock support is present.

(fn &optional LOAD-NOW)Fw32-unload-winsock
Unload the Windows socket library `winsock' if loaded.
This is provided to allow dial-up socket connections to be disconnected
when no longer needed.  Returns nil without unloading winsock if any
socket connections still exist.

(fn)Fw32-short-file-name
Return the short file name version (8.3) of the full path of FILENAME.
If FILENAME does not exist, return nil.
All path elements in FILENAME are converted to their short names.

(fn FILENAME)Fw32-long-file-name
Return the long file name version of the full path of FILENAME.
If FILENAME does not exist, return nil.
All path elements in FILENAME are converted to their long names.

(fn FILENAME)Fw32-set-process-priority
Set the priority of PROCESS to PRIORITY.
If PROCESS is nil, the priority of Emacs is changed, otherwise the
priority of the process whose pid is PROCESS is changed.
PRIORITY should be one of the symbols high, normal, or low;
any other symbol will be interpreted as normal.

If successful, the return value is t, otherwise nil.

(fn PROCESS PRIORITY)Fw32-get-locale-info
Return information about the Windows locale LCID.
By default, return a three letter locale code which encodes the default
language as the first two characters, and the country or regional variant
as the third letter.  For example, ENU refers to `English (United States)',
while ENC means `English (Canadian)'.

If the optional argument LONGFORM is t, the long form of the locale
name is returned, e.g. `English (United States)' instead; if LONGFORM
is a number, it is interpreted as an LCTYPE constant and the corresponding
locale information is returned.

If LCID (a 16-bit number) is not a valid locale, the result is nil.

(fn LCID &optional LONGFORM)Fw32-get-current-locale-id
Return Windows locale id for current locale setting.
This is a numerical value; use `w32-get-locale-info' to convert to a
human-readable form.

(fn)Fw32-get-valid-locale-ids
Return list of all valid Windows locale ids.
Each id is a numerical value; use `w32-get-locale-info' to convert to a
human-readable form.

(fn)Fw32-get-default-locale-id
Return Windows locale id for default locale setting.
By default, the system default locale setting is returned; if the optional
parameter USERP is non-nil, the user default locale setting is returned.
This is a numerical value; use `w32-get-locale-info' to convert to a
human-readable form.

(fn &optional USERP)Fw32-set-current-locale
Make Windows locale LCID be the current locale setting for Emacs.
If successful, the new locale id is returned, otherwise nil.

(fn LCID)Fw32-get-valid-codepages
Return list of all valid Windows codepages.

(fn)Fw32-get-console-codepage
Return current Windows codepage for console input.

(fn)Fw32-set-console-codepage
Make Windows codepage CP be the codepage for Emacs tty keyboard input.
This codepage setting affects keyboard input in tty mode.
If successful, the new CP is returned, otherwise nil.

(fn CP)Fw32-get-console-output-codepage
Return current Windows codepage for console output.

(fn)Fw32-set-console-output-codepage
Make Windows codepage CP be the codepage for Emacs console output.
This codepage setting affects display in tty mode.
If successful, the new CP is returned, otherwise nil.

(fn CP)Fw32-get-codepage-charset
Return charset ID corresponding to codepage CP.
Returns nil if the codepage is not valid.

(fn CP)Fw32-get-valid-keyboard-layouts
Return list of Windows keyboard languages and layouts.
The return value is a list of pairs of language id and layout id.

(fn)Fw32-get-keyboard-layout
Return current Windows keyboard language and layout.
The return value is the cons of the language id and the layout id.

(fn)Fw32-set-keyboard-layout
Make LAYOUT be the current keyboard layout for Emacs.
The keyboard layout setting affects interpretation of keyboard input.
If successful, the new layout id is returned, otherwise nil.

(fn LAYOUT)Vw32-quote-process-args
Non-nil enables quoting of process arguments to ensure correct parsing.
Because Windows does not directly pass argv arrays to child processes,
programs have to reconstruct the argv array by parsing the command
line string.  For an argument to contain a space, it must be enclosed
in double quotes or it will be parsed as multiple arguments.

If the value is a character, that character will be used to escape any
quote characters that appear, otherwise a suitable escape character
will be chosen based on the type of the program.Vw32-start-process-show-window
When nil, new child processes hide their windows.
When non-nil, they show their window in the method of their choice.
This variable doesn't affect GUI applications, which will never be hidden.Vw32-start-process-share-console
When nil, new child processes are given a new console.
When non-nil, they share the Emacs console; this has the limitation of
allowing only one DOS subprocess to run at a time (whether started directly
or indirectly by Emacs), and preventing Emacs from cleanly terminating the
subprocess group, but may allow Emacs to interrupt a subprocess that doesn't
otherwise respond to interrupts from Emacs.Vw32-start-process-inherit-error-mode
When nil, new child processes revert to the default error mode.
When non-nil, they inherit their error mode setting from Emacs, which stops
them blocking when trying to access unmounted drives etc.Vw32-pipe-read-delay
Forced delay before reading subprocess output.
This is done to improve the buffering of subprocess output, by
avoiding the inefficiency of frequently reading small amounts of data.

If positive, the value is the number of milliseconds to sleep before
reading the subprocess output.  If negative, the magnitude is the number
of time slices to wait (effectively boosting the priority of the child
process temporarily).  A value of zero disables waiting entirely.Vw32-downcase-file-names
Non-nil means convert all-upper case file names to lower case.
This applies when performing completions and file name expansion.
Note that the value of this setting also affects remote file names,
so you probably don't want to set to non-nil if you use case-sensitive
filesystems via ange-ftp.Vw32-generate-fake-inodes
Non-nil means attempt to fake realistic inode values.
This works by hashing the truename of files, and should detect
aliasing between long and short (8.3 DOS) names, but can have
false positives because of hash collisions.  Note that determining
the truename of a file can be slow.Vw32-get-true-file-attributes
Non-nil means determine accurate file attributes in `file-attributes'.
This option controls whether to issue additional system calls to determine
accurate link counts, file type, and ownership information.  It is more
useful for files on NTFS volumes, where hard links and file security are
supported, than on volumes of the FAT family.

Without these system calls, link count will always be reported as 1 and file
ownership will be attributed to the current user.
The default value `local' means only issue these system calls for files
on local fixed drives.  A value of nil means never issue them.
Any other non-nil value means do this even on remote and removable drives
where the performance impact may be noticeable even on modern hardware.Sw32reg.o
Sw32select.o
Fw32-set-clipboard-data
This sets the clipboard data to the given text.

(fn STRING &optional IGNORED)Fw32-get-clipboard-data
This gets the clipboard data in text format.

(fn &optional IGNORED)Fx-selection-exists-p
Whether there is an owner for the given X selection.
SELECTION should be the name of the selection in question, typically
one of the symbols `PRIMARY', `SECONDARY', or `CLIPBOARD'.  (X expects
these literal upper-case names.)  The symbol nil is the same as
`PRIMARY', and t is the same as `SECONDARY'.

TERMINAL should be a terminal object or a frame specifying the X
server to query.  If omitted or nil, that stands for the selected
frame's display, or the first available X display.

(fn &optional SELECTION TERMINAL)Vselection-coding-system
Coding system for communicating with other programs.

For MS-Windows and MS-DOS:
When sending or receiving text via selection and clipboard, the text
is encoded or decoded by this coding system.  The default value is
the current system default encoding on 9x/Me, `utf-16le-dos'
(Unicode) on NT/W2K/XP, and `iso-latin-1-dos' on MS-DOS.

For X Windows:
When sending text via selection and clipboard, if the target
data-type matches with the type of this coding system, it is used
for encoding the text.  Otherwise (including the case that this
variable is nil), a proper coding system is used as below:

data-type	coding system
---------	-------------
UTF8_STRING	utf-8
COMPOUND_TEXT	compound-text-with-extensions
STRING		iso-latin-1
C_STRING	no-conversion

When receiving text, if this coding system is non-nil, it is used
for decoding regardless of the data-type.  If this is nil, a
proper coding system is used according to the data-type as above.

See also the documentation of the variable `x-select-request-type' how
to control which data-type to request for receiving text.

The default value is nil.Vnext-selection-coding-system
Coding system for the next communication with other programs.
Usually, `selection-coding-system' is used for communicating with
other programs (X Windows clients or MS Windows programs).  But, if this
variable is set, it is used for the next communication only.
After the communication, this variable is set to nil.Sw32term.o
Vw32-num-mouse-buttons
Number of physical mouse buttons.Vw32-swap-mouse-buttons
Swap the mapping of middle and right mouse buttons.
When nil, middle button is mouse-2 and right button is mouse-3.Vw32-grab-focus-on-raise
Raised frame grabs input focus.
When t, `raise-frame' grabs input focus as well.  This fits well
with the normal Windows click-to-focus policy, but might not be
desirable when using a point-to-focus policy.Vw32-capslock-is-shiftlock
Apply CapsLock state to non character input keys.
When nil, CapsLock only affects normal character input keys.Vw32-recognize-altgr
Recognize right-alt and left-ctrl as AltGr.
When nil, the right-alt and left-ctrl key combination is
interpreted normally.Vw32-use-visible-system-caret
Flag to make the system caret visible.
When this is non-nil, Emacs will indicate the position of point by
using the system caret instead of drawing its own cursor.  Some screen
reader software does not track the system cursor properly when it is
invisible, and gets confused by Emacs drawing its own cursor, so this
variable is initialized to t when Emacs detects that screen reader
software is running as it starts up.

When this variable is set, other variables affecting the appearance of
the cursor have no effect.Vx-use-underline-position-properties
Non-nil means make use of UNDERLINE_POSITION font properties.
A value of nil means ignore them.  If you encounter fonts with bogus
UNDERLINE_POSITION font properties, for example 7x13 on XFree prior
to 4.1, set this to nil.  You can also use `underline-minimum-offset'
to override the font's UNDERLINE_POSITION for small font display
sizes.Vx-underline-at-descent-line
Non-nil means to draw the underline at the same place as the descent line.
A value of nil means to draw the underline according to the value of the
variable `x-use-underline-position-properties', which is usually at the
baseline level.  The default value is nil.Vx-toolkit-scroll-bars
Which toolkit scroll bars Emacs uses, if any.
A value of nil means Emacs doesn't use toolkit scroll bars.
With the X Window system, the value is a symbol describing the
X toolkit.  Possible values are: gtk, motif, xaw, or xaw3d.
With MS Windows or Nextstep, the value is t.Sw32xfns.o
Sw16select.o
Fw16-set-clipboard-data
This sets the clipboard data to the given text.

(fn STRING &optional FRAME)Fw16-get-clipboard-data
This gets the clipboard data in text format.

(fn &optional FRAME)Fx-selection-exists-p
Whether there is an owner for the given X selection.
SELECTION should be the name of the selection in question, typically
one of the symbols `PRIMARY', `SECONDARY', or `CLIPBOARD'.  (X expects
these literal upper-case names.)  The symbol nil is the same as
`PRIMARY', and t is the same as `SECONDARY'.

TERMINAL should be a terminal object or a frame specifying the X
server to query.  If omitted or nil, that stands for the selected
frame's display, or the first available X display.

(fn &optional SELECTION TERMINAL)Vselection-coding-system
Coding system for communicating with other programs.

For MS-Windows and MS-DOS:
When sending or receiving text via selection and clipboard, the text
is encoded or decoded by this coding system.  The default value is
the current system default encoding on 9x/Me, `utf-16le-dos'
(Unicode) on NT/W2K/XP, and `iso-latin-1-dos' on MS-DOS.

For X Windows:
When sending text via selection and clipboard, if the target
data-type matches with the type of this coding system, it is used
for encoding the text.  Otherwise (including the case that this
variable is nil), a proper coding system is used as below:

data-type	coding system
---------	-------------
UTF8_STRING	utf-8
COMPOUND_TEXT	compound-text-with-extensions
STRING		iso-latin-1
C_STRING	no-conversion

When receiving text, if this coding system is non-nil, it is used
for decoding regardless of the data-type.  If this is nil, a
proper coding system is used according to the data-type as above.

See also the documentation of the variable `x-select-request-type' how
to control which data-type to request for receiving text.

The default value is nil.Vnext-selection-coding-system
Coding system for the next communication with other programs.
Usually, `selection-coding-system' is used for communicating with
other programs (X Windows clients or MS Windows programs).  But, if this
variable is set, it is used for the next communication only.
After the communication, this variable is set to nil.Swidget.o
Sxfont.o
Sftfont.o
Sxftfont.o
Sftxfont.o
Sgtkutil.o
Sxsettings.o
Ffont-get-system-normal-font
Get the system default application font.

(fn)Ffont-get-system-font
Get the system default fixed width font.

(fn)Ftool-bar-get-system-style
Get the system tool bar style.
If no system tool bar style is known, return `tool-bar-style' if set to a
known style.  Otherwise return image.

(fn)Vfont-use-system-font
Non-nil means to apply the system defined font dynamically.
When this is non-nil and the system defined fixed width font changes, we
update frames dynamically.
If this variable is nil, Emacs ignores system font changes.Vxft-settings
Font settings applied to Xft.Sxgselect.o
Stermcap.o
Sdispnew.o
Fdump-redisplay-history
Dump redisplay history to stderr.

(fn)Fredraw-frame
Clear frame FRAME and output again what is supposed to appear on it.

(fn FRAME)Fredraw-display
Clear and redisplay all visible frames.

(fn)Fopen-termscript
Start writing all terminal output to FILE as well as the terminal.
FILE = nil means just close any termscript file currently open.

(fn FILE)Fsend-string-to-terminal
Send STRING to the terminal without alteration.
Control characters in STRING will have terminal-dependent effects.

Optional parameter TERMINAL specifies the tty terminal device to use.
It may be a terminal object, a frame, or nil for the terminal used by
the currently selected frame.  In batch mode, STRING is sent to stdout
when TERMINAL is nil.

(fn STRING &optional TERMINAL)Fding
Beep, or flash the screen.
Also, unless an argument is given,
terminate any keyboard macro currently executing.

(fn &optional ARG)Fsleep-for
Pause, without updating display, for SECONDS seconds.
SECONDS may be a floating-point value, meaning that you can wait for a
fraction of a second.  Optional second arg MILLISECONDS specifies an
additional wait period, in milliseconds; this is for backwards compatibility.
(Not all operating systems support waiting for a fraction of a second.)

(fn SECONDS &optional MILLISECONDS)Fredisplay
Perform redisplay.
Optional arg FORCE, if non-nil, prevents redisplay from being
preempted by arriving input, even if `redisplay-dont-pause' is nil.
If `redisplay-dont-pause' is non-nil (the default), redisplay is never
preempted by arriving input, so FORCE does nothing.

Return t if redisplay was performed, nil if redisplay was preempted
immediately by pending input.

(fn &optional FORCE)Fframe-or-buffer-changed-p
Return non-nil if the frame and buffer state appears to have changed.
VARIABLE is a variable name whose value is either nil or a state vector
that will be updated to contain all frames and buffers,
aside from buffers whose names start with space,
along with the buffers' read-only and modified flags.  This allows a fast
check to see whether buffer menus might need to be recomputed.
If this function returns non-nil, it updates the internal vector to reflect
the current state.

If VARIABLE is nil, an internal variable is used.  Users should not
pass nil for VARIABLE.

(fn &optional VARIABLE)Finternal-show-cursor
Set the cursor-visibility flag of WINDOW to SHOW.
WINDOW nil means use the selected window.  SHOW non-nil means
show a cursor in WINDOW in the next redisplay.  SHOW nil means
don't show a cursor.

(fn WINDOW SHOW)Finternal-show-cursor-p
Value is non-nil if next redisplay will display a cursor in WINDOW.
WINDOW nil or omitted means report on the selected window.

(fn &optional WINDOW)Flast-nonminibuffer-frame
Value is last nonminibuffer frame.

(fn)Vbaud-rate
The output baud rate of the terminal.
On most systems, changing this value will affect the amount of padding
and the other strategic decisions made during redisplay.Vinverse-video
Non-nil means invert the entire frame display.
This means everything is in inverse video which otherwise would not be.Vvisible-bell
Non-nil means try to flash the frame to represent a bell.

See also `ring-bell-function'.Vno-redraw-on-reenter
Non-nil means no need to redraw entire frame after suspending.
A non-nil value is useful if the terminal can automatically preserve
Emacs's frame display when you reenter Emacs.
It is up to you to set this variable if your terminal can do that.Vinitial-window-system
Name of the window system that Emacs uses for the first frame.
The value is a symbol:
 nil for a termcap frame (a character-only terminal),
 'x' for an Emacs frame that is really an X window,
 'w32' for an Emacs frame that is a window on MS-Windows display,
 'ns' for an Emacs frame on a GNUstep or Macintosh Cocoa display,
 'pc' for a direct-write MS-DOS frame.

Use of this variable as a boolean is deprecated.  Instead,
use `display-graphic-p' or any of the other `display-*-p'
predicates which report frame's specific UI-related capabilities.Vwindow-system
Name of window system through which the selected frame is displayed.
The value is a symbol:
 nil for a termcap frame (a character-only terminal),
 'x' for an Emacs frame that is really an X window,
 'w32' for an Emacs frame that is a window on MS-Windows display,
 'ns' for an Emacs frame on a GNUstep or Macintosh Cocoa display,
 'pc' for a direct-write MS-DOS frame.

Use of this variable as a boolean is deprecated.  Instead,
use `display-graphic-p' or any of the other `display-*-p'
predicates which report frame's specific UI-related capabilities.Vwindow-system-version
The version number of the window system in use.
For X windows, this is 11.Vcursor-in-echo-area
Non-nil means put cursor in minibuffer, at end of any message there.Vglyph-table
Table defining how to output a glyph code to the frame.
If not nil, this is a vector indexed by glyph code to define the glyph.
Each element can be:
 integer: a glyph code which this glyph is an alias for.
 string: output this glyph using that string (not impl. in X windows).
 nil: this glyph mod 524288 is the code of a character to output,
    and this glyph / 524288 is the face number (see `face-id') to use
    while outputting it.Vstandard-display-table
Display table to use for buffers that specify none.
See `buffer-display-table' for more information.Vredisplay-dont-pause
Non-nil means display update isn't paused when input is detected.Vredisplay-preemption-period
Period in seconds between checking for input during redisplay.
This has an effect only if `redisplay-dont-pause' is nil; in that
case, arriving input preempts redisplay until the input is processed.
If the value is nil, redisplay is never preempted.Sframe.o
Fframep
Return non-nil if OBJECT is a frame.
Value is:
  t for a termcap frame (a character-only terminal),
 'x' for an Emacs frame that is really an X window,
 'w32' for an Emacs frame that is a window on MS-Windows display,
 'ns' for an Emacs frame on a GNUstep or Macintosh Cocoa display,
 'pc' for a direct-write MS-DOS frame.
See also `frame-live-p'.

(fn OBJECT)Fframe-live-p
Return non-nil if OBJECT is a frame which has not been deleted.
Value is nil if OBJECT is not a live frame.  If object is a live
frame, the return value indicates what sort of terminal device it is
displayed on.  See the documentation of `framep' for possible
return values.

(fn OBJECT)Fwindow-system
The name of the window system that FRAME is displaying through.
The value is a symbol:
 nil for a termcap frame (a character-only terminal),
 'x' for an Emacs frame that is really an X window,
 'w32' for an Emacs frame that is a window on MS-Windows display,
 'ns' for an Emacs frame on a GNUstep or Macintosh Cocoa display,
 'pc' for a direct-write MS-DOS frame.

FRAME defaults to the currently selected frame.

Use of this function as a predicate is deprecated.  Instead,
use `display-graphic-p' or any of the other `display-*-p'
predicates which report frame's specific UI-related capabilities.

(fn &optional FRAME)Fmake-terminal-frame
Create an additional terminal frame, possibly on another terminal.
This function takes one argument, an alist specifying frame parameters.

You can create multiple frames on a single text terminal, but only one
of them (the selected terminal frame) is actually displayed.

In practice, generally you don't need to specify any parameters,
except when you want to create a new frame on another terminal.
In that case, the `tty' parameter specifies the device file to open,
and the `tty-type' parameter specifies the terminal type.  Example:

   (make-terminal-frame '((tty . "/dev/pts/5") (tty-type . "xterm")))

Note that changing the size of one terminal frame automatically
affects all frames on the same terminal device.

(fn PARMS)Fselect-frame
Select FRAME.
Subsequent editing commands apply to its selected window.
Optional argument NORECORD means to neither change the order of
recently selected windows nor the buffer list.

The selection of FRAME lasts until the next time the user does
something to select a different frame, or until the next time
this function is called.  If you are using a window system, the
previously selected frame may be restored as the selected frame
when returning to the command loop, because it still may have
the window system's input focus.  On a text terminal, the next
redisplay will display FRAME.

This function returns FRAME, or nil if FRAME has been deleted.

(fn FRAME &optional NORECORD)Fhandle-switch-frame
Handle a switch-frame event EVENT.
Switch-frame events are usually bound to this function.
A switch-frame event tells Emacs that the window manager has requested
that the user's events be directed to the frame mentioned in the event.
This function selects the selected window of the frame of EVENT.

If EVENT is frame object, handle it as if it were a switch-frame event
to that frame.

(fn EVENT)Fselected-frame
Return the frame that is now selected.

(fn)Fframe-list
Return a list of all live frames.

(fn)Fnext-frame
Return the next frame in the frame list after FRAME.
It considers only frames on the same terminal as FRAME.
By default, skip minibuffer-only frames.
If omitted, FRAME defaults to the selected frame.
If optional argument MINIFRAME is nil, exclude minibuffer-only frames.
If MINIFRAME is a window, include only its own frame
and any frame now using that window as the minibuffer.
If MINIFRAME is `visible', include all visible frames.
If MINIFRAME is 0, include all visible and iconified frames.
Otherwise, include all frames.

(fn &optional FRAME MINIFRAME)Fprevious-frame
Return the previous frame in the frame list before FRAME.
It considers only frames on the same terminal as FRAME.
By default, skip minibuffer-only frames.
If omitted, FRAME defaults to the selected frame.
If optional argument MINIFRAME is nil, exclude minibuffer-only frames.
If MINIFRAME is a window, include only its own frame
and any frame now using that window as the minibuffer.
If MINIFRAME is `visible', include all visible frames.
If MINIFRAME is 0, include all visible and iconified frames.
Otherwise, include all frames.

(fn &optional FRAME MINIFRAME)Fdelete-frame
Delete FRAME, permanently eliminating it from use.
FRAME defaults to the selected frame.

A frame may not be deleted if its minibuffer is used by other frames.
Normally, you may not delete a frame if all other frames are invisible,
but if the second optional argument FORCE is non-nil, you may do so.

This function runs `delete-frame-functions' before actually
deleting the frame, unless the frame is a tooltip.
The functions are run with one argument, the frame to be deleted.

(fn &optional FRAME FORCE)Fmouse-position
Return a list (FRAME X . Y) giving the current mouse frame and position.
The position is given in character cells, where (0, 0) is the
upper-left corner of the frame, X is the horizontal offset, and Y is
the vertical offset.
If Emacs is running on a mouseless terminal or hasn't been programmed
to read the mouse position, it returns the selected frame for FRAME
and nil for X and Y.
If `mouse-position-function' is non-nil, `mouse-position' calls it,
passing the normal return value to that function as an argument,
and returns whatever that function returns.

(fn)Fmouse-pixel-position
Return a list (FRAME X . Y) giving the current mouse frame and position.
The position is given in pixel units, where (0, 0) is the
upper-left corner of the frame, X is the horizontal offset, and Y is
the vertical offset.
If Emacs is running on a mouseless terminal or hasn't been programmed
to read the mouse position, it returns the selected frame for FRAME
and nil for X and Y.

(fn)Fset-mouse-position
Move the mouse pointer to the center of character cell (X,Y) in FRAME.
Coordinates are relative to the frame, not a window,
so the coordinates of the top left character in the frame
may be nonzero due to left-hand scroll bars or the menu bar.

The position is given in character cells, where (0, 0) is the
upper-left corner of the frame, X is the horizontal offset, and Y is
the vertical offset.

This function is a no-op for an X frame that is not visible.
If you have just created a frame, you must wait for it to become visible
before calling this function on it, like this.
  (while (not (frame-visible-p frame)) (sleep-for .5))

(fn FRAME X Y)Fset-mouse-pixel-position
Move the mouse pointer to pixel position (X,Y) in FRAME.
The position is given in pixels, where (0, 0) is the upper-left corner
of the frame, X is the horizontal offset, and Y is the vertical offset.

Note, this is a no-op for an X frame that is not visible.
If you have just created a frame, you must wait for it to become visible
before calling this function on it, like this.
  (while (not (frame-visible-p frame)) (sleep-for .5))

(fn FRAME X Y)Fmake-frame-visible
Make the frame FRAME visible (assuming it is an X window).
If omitted, FRAME defaults to the currently selected frame.

(fn &optional FRAME)Fmake-frame-invisible
Make the frame FRAME invisible.
If omitted, FRAME defaults to the currently selected frame.
On graphical displays, invisible frames are not updated and are
usually not displayed at all, even in a window system's "taskbar".

Normally you may not make FRAME invisible if all other frames are invisible,
but if the second optional argument FORCE is non-nil, you may do so.

This function has no effect on text terminal frames.  Such frames are
always considered visible, whether or not they are currently being
displayed in the terminal.

(fn &optional FRAME FORCE)Ficonify-frame
Make the frame FRAME into an icon.
If omitted, FRAME defaults to the currently selected frame.

(fn &optional FRAME)Fframe-visible-p
Return t if FRAME is "visible" (actually in use for display).
Return the symbol `icon' if FRAME is iconified or "minimized".
Return nil if FRAME was made invisible, via `make-frame-invisible'.
On graphical displays, invisible frames are not updated and are
usually not displayed at all, even in a window system's "taskbar".

If FRAME is a text terminal frame, this always returns t.
Such frames are always considered visible, whether or not they are
currently being displayed on the terminal.

(fn FRAME)Fvisible-frame-list
Return a list of all frames now "visible" (being updated).

(fn)Fraise-frame
Bring FRAME to the front, so it occludes any frames it overlaps.
If FRAME is invisible or iconified, make it visible.
If you don't specify a frame, the selected frame is used.
If Emacs is displaying on an ordinary terminal or some other device which
doesn't support multiple overlapping frames, this function selects FRAME.

(fn &optional FRAME)Flower-frame
Send FRAME to the back, so it is occluded by any frames that overlap it.
If you don't specify a frame, the selected frame is used.
If Emacs is displaying on an ordinary terminal or some other device which
doesn't support multiple overlapping frames, this function does nothing.

(fn &optional FRAME)Fredirect-frame-focus
Arrange for keystrokes typed at FRAME to be sent to FOCUS-FRAME.
In other words, switch-frame events caused by events in FRAME will
request a switch to FOCUS-FRAME, and `last-event-frame' will be
FOCUS-FRAME after reading an event typed at FRAME.

If FOCUS-FRAME is nil, any existing redirection is canceled, and the
frame again receives its own keystrokes.

Focus redirection is useful for temporarily redirecting keystrokes to
a surrogate minibuffer frame when a frame doesn't have its own
minibuffer window.

A frame's focus redirection can be changed by `select-frame'.  If frame
FOO is selected, and then a different frame BAR is selected, any
frames redirecting their focus to FOO are shifted to redirect their
focus to BAR.  This allows focus redirection to work properly when the
user switches from one frame to another using `select-window'.

This means that a frame whose focus is redirected to itself is treated
differently from a frame whose focus is redirected to nil; the former
is affected by `select-frame', while the latter is not.

The redirection lasts until `redirect-frame-focus' is called to change it.

(fn FRAME &optional FOCUS-FRAME)Fframe-focus
Return the frame to which FRAME's keystrokes are currently being sent.
This returns nil if FRAME's focus is not redirected.
See `redirect-frame-focus'.

(fn FRAME)Fframe-parameters
Return the parameters-alist of frame FRAME.
It is a list of elements of the form (PARM . VALUE), where PARM is a symbol.
The meaningful PARMs depend on the kind of frame.
If FRAME is omitted, return information on the currently selected frame.

(fn &optional FRAME)Fframe-parameter
Return FRAME's value for parameter PARAMETER.
If FRAME is nil, describe the currently selected frame.

(fn FRAME PARAMETER)Fmodify-frame-parameters
Modify the parameters of frame FRAME according to ALIST.
If FRAME is nil, it defaults to the selected frame.
ALIST is an alist of parameters to change and their new values.
Each element of ALIST has the form (PARM . VALUE), where PARM is a symbol.
The meaningful PARMs depend on the kind of frame.
Undefined PARMs are ignored, but stored in the frame's parameter list
so that `frame-parameters' will return them.

The value of frame parameter FOO can also be accessed
as a frame-local binding for the variable FOO, if you have
enabled such bindings for that variable with `make-variable-frame-local'.
Note that this functionality is obsolete as of Emacs 22.2, and its
use is not recommended.  Explicitly check for a frame-parameter instead.

(fn FRAME ALIST)Fframe-char-height
Height in pixels of a line in the font in frame FRAME.
If FRAME is omitted, the selected frame is used.
For a terminal frame, the value is always 1.

(fn &optional FRAME)Fframe-char-width
Width in pixels of characters in the font in frame FRAME.
If FRAME is omitted, the selected frame is used.
On a graphical screen, the width is the standard width of the default font.
For a terminal screen, the value is always 1.

(fn &optional FRAME)Fframe-pixel-height
Return a FRAME's height in pixels.
If FRAME is omitted, the selected frame is used.  The exact value
of the result depends on the window-system and toolkit in use:

In the Gtk+ version of Emacs, it includes only any window (including
the minibuffer or echo area), mode line, and header line.  It does not
include the tool bar or menu bar.

With other graphical versions, it also includes the tool bar and the
menu bar.

For a text terminal, it includes the menu bar.  In this case, the
result is really in characters rather than pixels (i.e., is identical
to `frame-height').

(fn &optional FRAME)Fframe-pixel-width
Return FRAME's width in pixels.
For a terminal frame, the result really gives the width in characters.
If FRAME is omitted, the selected frame is used.

(fn &optional FRAME)Ftool-bar-pixel-width
Return width in pixels of FRAME's tool bar.
The result is greater than zero only when the tool bar is on the left
or right side of FRAME.  If FRAME is omitted, the selected frame is
used.

(fn &optional FRAME)Fset-frame-height
Specify that the frame FRAME has LINES lines.
Optional third arg non-nil means that redisplay should use LINES lines
but that the idea of the actual height of the frame should not be changed.

(fn FRAME LINES &optional PRETEND)Fset-frame-width
Specify that the frame FRAME has COLS columns.
Optional third arg non-nil means that redisplay should use COLS columns
but that the idea of the actual width of the frame should not be changed.

(fn FRAME COLS &optional PRETEND)Fset-frame-size
Sets size of FRAME to COLS by ROWS, measured in characters.

(fn FRAME COLS ROWS)Fset-frame-position
Sets position of FRAME in pixels to XOFFSET by YOFFSET.
This is actually the position of the upper left corner of the frame.
Negative values for XOFFSET or YOFFSET are interpreted relative to
the rightmost or bottommost possible position (that stays within the screen).

(fn FRAME XOFFSET YOFFSET)Fx-get-resource
Return the value of ATTRIBUTE, of class CLASS, from the X defaults database.
This uses `INSTANCE.ATTRIBUTE' as the key and `Emacs.CLASS' as the
class, where INSTANCE is the name under which Emacs was invoked, or
the name specified by the `-name' or `-rn' command-line arguments.

The optional arguments COMPONENT and SUBCLASS add to the key and the
class, respectively.  You must specify both of them or neither.
If you specify them, the key is `INSTANCE.COMPONENT.ATTRIBUTE'
and the class is `Emacs.CLASS.SUBCLASS'.

(fn ATTRIBUTE CLASS &optional COMPONENT SUBCLASS)Fx-parse-geometry
Parse a display geometry string STRING.
Returns an alist of the form ((top . TOP), (left . LEFT) ... ).
The properties returned may include `top', `left', `height', and `width'.
For X, the value of `left' or `top' may be an integer,
or a list (+ N) meaning N pixels relative to top/left corner,
or a list (- N) meaning -N pixels relative to bottom/right corner.
On Nextstep, this just calls `ns-parse-geometry'.

(fn STRING)Fframe-pointer-visible-p
Return t if the mouse pointer displayed on FRAME is visible.
Otherwise it returns nil.  FRAME omitted or nil means the
selected frame.  This is useful when `make-pointer-invisible' is set.

(fn &optional FRAME)Vx-resource-name
The name Emacs uses to look up X resources.
`x-get-resource' uses this as the first component of the instance name
when requesting resource values.
Emacs initially sets `x-resource-name' to the name under which Emacs
was invoked, or to the value specified with the `-name' or `-rn'
switches, if present.

It may be useful to bind this variable locally around a call
to `x-get-resource'.  See also the variable `x-resource-class'.Vx-resource-class
The class Emacs uses to look up X resources.
`x-get-resource' uses this as the first component of the instance class
when requesting resource values.

Emacs initially sets `x-resource-class' to "Emacs".

Setting this variable permanently is not a reasonable thing to do,
but binding this variable locally around a call to `x-get-resource'
is a reasonable practice.  See also the variable `x-resource-name'.Vframe-alpha-lower-limit
The lower limit of the frame opacity (alpha transparency).
The value should range from 0 (invisible) to 100 (completely opaque).
You can also use a floating number between 0.0 and 1.0.
The default is 20.Vdefault-frame-alist
Alist of default values for frame creation.
These may be set in your init file, like this:
  (setq default-frame-alist '((width . 80) (height . 55) (menu-bar-lines . 1)))
These override values given in window system configuration data,
 including X Windows' defaults database.
For values specific to the first Emacs frame, see `initial-frame-alist'.
For window-system specific values, see `window-system-default-frame-alist'.
For values specific to the separate minibuffer frame, see
 `minibuffer-frame-alist'.
The `menu-bar-lines' element of the list controls whether new frames
 have menu bars; `menu-bar-mode' works by altering this element.
Setting this variable does not affect existing frames, only new ones.Vdefault-frame-scroll-bars
Default position of scroll bars on this window-system.Vterminal-frame
The initial frame-object, which represents Emacs's stdout.Vmouse-position-function
If non-nil, function to transform normal value of `mouse-position'.
`mouse-position' calls this function, passing its usual return value as
argument, and returns whatever this function returns.
This abnormal hook exists for the benefit of packages like `xt-mouse.el'
which need to do mouse handling at the Lisp level.Vmouse-highlight
If non-nil, clickable text is highlighted when mouse is over it.
If the value is an integer, highlighting is only shown after moving the
mouse, while keyboard input turns off the highlight even when the mouse
is over the clickable text.  However, the mouse shape still indicates
when the mouse is over clickable text.Vmake-pointer-invisible
If non-nil, make pointer invisible while typing.
The pointer becomes visible again when the mouse is moved.Vdelete-frame-functions
Functions run before deleting a frame.
The functions are run with one arg, the frame to be deleted.
See `delete-frame'.

Note that functions in this list may be called just before the frame is
actually deleted, or some time later (or even both when an earlier function
in `delete-frame-functions' (indirectly) calls `delete-frame'
recursively).Vmenu-bar-mode
Non-nil if Menu-Bar mode is enabled.
See the command `menu-bar-mode' for a description of this minor mode.
Setting this variable directly does not take effect;
either customize it (see the info node `Easy Customization')
or call the function `menu-bar-mode'.Vtool-bar-mode
Non-nil if Tool-Bar mode is enabled.
See the command `tool-bar-mode' for a description of this minor mode.
Setting this variable directly does not take effect;
either customize it (see the info node `Easy Customization')
or call the function `tool-bar-mode'.Vdefault-minibuffer-frame
Minibufferless frames use this frame's minibuffer.

Emacs cannot create minibufferless frames unless this is set to an
appropriate surrogate.

Emacs consults this variable only when creating minibufferless
frames; once the frame is created, it sticks with its assigned
minibuffer, no matter what this variable is set to.  This means that
this variable doesn't necessarily say anything meaningful about the
current set of frames, or where the minibuffer is currently being
displayed.

This variable is local to the current terminal and cannot be buffer-local.Vfocus-follows-mouse
Non-nil if window system changes focus when you move the mouse.
You should set this variable to tell Emacs how your window manager
handles focus, since there is no way in general for Emacs to find out
automatically.  See also `mouse-autoselect-window'.Sscroll.o
Sxdisp.o
Ftool-bar-lines-needed
Return the number of lines occupied by the tool bar of FRAME.

(fn &optional FRAME)Fdump-glyph-matrix
Dump the current matrix of the selected window to stderr.
Shows contents of glyph row structures.  With non-nil
parameter GLYPHS, dump glyphs as well.  If GLYPHS is 1 show
glyphs in short form, otherwise show glyphs in long form.

(fn &optional GLYPHS)Fdump-frame-glyph-matrix


(fn)Fdump-glyph-row
Dump glyph row ROW to stderr.
GLYPH 0 means don't dump glyphs.
GLYPH 1 means dump glyphs in short form.
GLYPH > 1 or omitted means dump glyphs in long form.

(fn ROW &optional GLYPHS)Fdump-tool-bar-row
Dump glyph row ROW of the tool-bar of the current frame to stderr.
GLYPH 0 means don't dump glyphs.
GLYPH 1 means dump glyphs in short form.
GLYPH > 1 or omitted means dump glyphs in long form.

(fn ROW &optional GLYPHS)Ftrace-redisplay
Toggle tracing of redisplay.
With ARG, turn tracing on if and only if ARG is positive.

(fn &optional ARG)Ftrace-to-stderr
Like `format', but print result to stderr.

(fn STRING &rest OBJECTS)Fcurrent-bidi-paragraph-direction
Return paragraph direction at point in BUFFER.
Value is either `left-to-right' or `right-to-left'.
If BUFFER is omitted or nil, it defaults to the current buffer.

Paragraph direction determines how the text in the paragraph is displayed.
In left-to-right paragraphs, text begins at the left margin of the window
and the reading direction is generally left to right.  In right-to-left
paragraphs, text begins at the right margin and is read from right to left.

See also `bidi-paragraph-direction'.

(fn &optional BUFFER)Fformat-mode-line
Format a string out of a mode line format specification.
First arg FORMAT specifies the mode line format (see `mode-line-format'
for details) to use.

By default, the format is evaluated for the currently selected window.

Optional second arg FACE specifies the face property to put on all
characters for which no face is specified.  The value nil means the
default face.  The value t means whatever face the window's mode line
currently uses (either `mode-line' or `mode-line-inactive',
depending on whether the window is the selected window or not).
An integer value means the value string has no text
properties.

Optional third and fourth args WINDOW and BUFFER specify the window
and buffer to use as the context for the formatting (defaults
are the selected window and the WINDOW's buffer).

(fn FORMAT &optional FACE WINDOW BUFFER)Finvisible-p
Non-nil if the property makes the text invisible.
POS-OR-PROP can be a marker or number, in which case it is taken to be
a position in the current buffer and the value of the `invisible' property
is checked; or it can be some other value, which is then presumed to be the
value of the `invisible' property of the text of interest.
The non-nil value returned can be t for truly invisible text or something
else if the text is replaced by an ellipsis.

(fn POS-OR-PROP)Flookup-image-map
Lookup in image map MAP coordinates X and Y.
An image map is an alist where each element has the format (AREA ID PLIST).
An AREA is specified as either a rectangle, a circle, or a polygon:
A rectangle is a cons (rect . ((x0 . y0) . (x1 . y1))) specifying the
pixel coordinates of the upper left and bottom right corners.
A circle is a cons (circle . ((x0 . y0) . r)) specifying the center
and the radius of the circle; r may be a float or integer.
A polygon is a cons (poly . [x0 y0 x1 y1 ...]) where each pair in the
vector describes one corner in the polygon.
Returns the alist element for the first matching AREA in MAP.

(fn MAP X Y)Vx-stretch-cursor
Non-nil means draw block cursor as wide as the glyph under it.
For example, if a block cursor is over a tab, it will be drawn as
wide as that tab on the display.Vshow-trailing-whitespace
Non-nil means highlight trailing whitespace.
The face used for trailing whitespace is `trailing-whitespace'.Vnobreak-char-display
Control highlighting of non-ASCII space and hyphen chars.
If the value is t, Emacs highlights non-ASCII chars which have the
same appearance as an ASCII space or hyphen, using the `nobreak-space'
or `escape-glyph' face respectively.

U+00A0 (no-break space), U+00AD (soft hyphen), U+2010 (hyphen), and
U+2011 (non-breaking hyphen) are affected.

Any other non-nil value means to display these characters as a escape
glyph followed by an ordinary space or hyphen.

A value of nil means no special handling of these characters.Vvoid-text-area-pointer
The pointer shape to show in void text areas.
A value of nil means to show the text pointer.  Other options are `arrow',
`text', `hand', `vdrag', `hdrag', `modeline', and `hourglass'.Vinhibit-redisplay
Non-nil means don't actually do any redisplay.
This is used for internal purposes.Vglobal-mode-string
String (or mode line construct) included (normally) in `mode-line-format'.Voverlay-arrow-position
Marker for where to display an arrow on top of the buffer text.
This must be the beginning of a line in order to work.
See also `overlay-arrow-string'.Voverlay-arrow-string
String to display as an arrow in non-window frames.
See also `overlay-arrow-position'.Voverlay-arrow-variable-list
List of variables (symbols) which hold markers for overlay arrows.
The symbols on this list are examined during redisplay to determine
where to display overlay arrows.Vscroll-step
The number of lines to try scrolling a window by when point moves out.
If that fails to bring point back on frame, point is centered instead.
If this is zero, point is always centered after it moves off frame.
If you want scrolling to always be a line at a time, you should set
`scroll-conservatively' to a large value rather than set this to 1.Vscroll-conservatively
Scroll up to this many lines, to bring point back on screen.
If point moves off-screen, redisplay will scroll by up to
`scroll-conservatively' lines in order to bring point just barely
onto the screen again.  If that cannot be done, then redisplay
recenters point as usual.

If the value is greater than 100, redisplay will never recenter point,
but will always scroll just enough text to bring point into view, even
if you move far away.

A value of zero means always recenter point if it moves off screen.Vscroll-margin
Number of lines of margin at the top and bottom of a window.
Recenter the window whenever point gets within this many lines
of the top or bottom of the window.Vdisplay-pixels-per-inch
Pixels per inch value for non-window system displays.
Value is a number or a cons (WIDTH-DPI . HEIGHT-DPI).Vdebug-end-pos
Don't ask.Vtruncate-partial-width-windows
Non-nil means truncate lines in windows narrower than the frame.
For an integer value, truncate lines in each window narrower than the
full frame width, provided the window width is less than that integer;
otherwise, respect the value of `truncate-lines'.

For any other non-nil value, truncate lines in all windows that do
not span the full frame width.

A value of nil means to respect the value of `truncate-lines'.

If `word-wrap' is enabled, you might want to reduce this.Vline-number-display-limit
Maximum buffer size for which line number should be displayed.
If the buffer is bigger than this, the line number does not appear
in the mode line.  A value of nil means no limit.Vline-number-display-limit-width
Maximum line width (in characters) for line number display.
If the average length of the lines near point is bigger than this, then the
line number may be omitted from the mode line.Vhighlight-nonselected-windows
Non-nil means highlight region even in nonselected windows.Vmultiple-frames
Non-nil if more than one frame is visible on this display.
Minibuffer-only frames don't count, but iconified frames do.
This variable is not guaranteed to be accurate except while processing
`frame-title-format' and `icon-title-format'.Vframe-title-format
Template for displaying the title bar of visible frames.
(Assuming the window manager supports this feature.)

This variable has the same structure as `mode-line-format', except that
the %c and %l constructs are ignored.  It is used only on frames for
which no explicit name has been set (see `modify-frame-parameters').Vicon-title-format
Template for displaying the title bar of an iconified frame.
(Assuming the window manager supports this feature.)
This variable has the same structure as `mode-line-format' (which see),
and is used only on frames for which no explicit name has been set
(see `modify-frame-parameters').Vmessage-log-max
Maximum number of lines to keep in the message log buffer.
If nil, disable message logging.  If t, log messages but don't truncate
the buffer when it becomes large.Vwindow-size-change-functions
Functions called before redisplay, if window sizes have changed.
The value should be a list of functions that take one argument.
Just before redisplay, for each frame, if any of its windows have changed
size since the last redisplay, or have been split or deleted,
all the functions in the list are called, with the frame as argument.Vwindow-scroll-functions
List of functions to call before redisplaying a window with scrolling.
Each function is called with two arguments, the window and its new
display-start position.  Note that these functions are also called by
`set-window-buffer'.  Also note that the value of `window-end' is not
valid when these functions are called.

Warning: Do not use this feature to alter the way the window
is scrolled.  It is not designed for that, and such use probably won't
work.Vwindow-text-change-functions
Functions to call in redisplay when text in the window might change.Vredisplay-end-trigger-functions
Functions called when redisplay of a window reaches the end trigger.
Each function is called with two arguments, the window and the end trigger value.
See `set-window-redisplay-end-trigger'.Vmouse-autoselect-window
Non-nil means autoselect window with mouse pointer.
If nil, do not autoselect windows.
A positive number means delay autoselection by that many seconds: a
window is autoselected only after the mouse has remained in that
window for the duration of the delay.
A negative number has a similar effect, but causes windows to be
autoselected only after the mouse has stopped moving.  (Because of
the way Emacs compares mouse events, you will occasionally wait twice
that time before the window gets selected.)
Any other value means to autoselect window instantaneously when the
mouse pointer enters it.

Autoselection selects the minibuffer only if it is active, and never
unselects the minibuffer if it is active.

When customizing this variable make sure that the actual value of
`focus-follows-mouse' matches the behavior of your window manager.Vauto-resize-tool-bars
Non-nil means automatically resize tool-bars.
This dynamically changes the tool-bar's height to the minimum height
that is needed to make all tool-bar items visible.
If value is `grow-only', the tool-bar's height is only increased
automatically; to decrease the tool-bar height, use \[recenter].Vauto-raise-tool-bar-buttons
Non-nil means raise tool-bar buttons when the mouse moves over them.Vmake-cursor-line-fully-visible
Non-nil means to scroll (recenter) cursor line if it is not fully visible.Vtool-bar-border
Border below tool-bar in pixels.
If an integer, use it as the height of the border.
If it is one of `internal-border-width' or `border-width', use the
value of the corresponding frame parameter.
Otherwise, no border is added below the tool-bar.Vtool-bar-button-margin
Margin around tool-bar buttons in pixels.
If an integer, use that for both horizontal and vertical margins.
Otherwise, value should be a pair of integers `(HORZ . VERT)' with
HORZ specifying the horizontal margin, and VERT specifying the
vertical margin.Vtool-bar-button-relief
Relief thickness of tool-bar buttons.Vtool-bar-style
Tool bar style to use.
It can be one of
 image            - show images only
 text             - show text only
 both             - show both, text below image
 both-horiz       - show text to the right of the image
 text-image-horiz - show text to the left of the image
 any other        - use system default or image if no system default.

This variable only affects the GTK+ toolkit version of Emacs.Vtool-bar-max-label-size
Maximum number of characters a label can have to be shown.
The tool bar style must also show labels for this to have any effect, see
`tool-bar-style'.Vfontification-functions
List of functions to call to fontify regions of text.
Each function is called with one argument POS.  Functions must
fontify a region starting at POS in the current buffer, and give
fontified regions the property `fontified'.Vunibyte-display-via-language-environment
Non-nil means display unibyte text according to language environment.
Specifically, this means that raw bytes in the range 160-255 decimal
are displayed by converting them to the equivalent multibyte characters
according to the current language environment.  As a result, they are
displayed according to the current fontset.

Note that this variable affects only how these bytes are displayed,
but does not change the fact they are interpreted as raw bytes.Vmax-mini-window-height
Maximum height for resizing mini-windows (the minibuffer and the echo area).
If a float, it specifies a fraction of the mini-window frame's height.
If an integer, it specifies a number of lines.Vresize-mini-windows
How to resize mini-windows (the minibuffer and the echo area).
A value of nil means don't automatically resize mini-windows.
A value of t means resize them to fit the text displayed in them.
A value of `grow-only', the default, means let mini-windows grow only;
they return to their normal size when the minibuffer is closed, or the
echo area becomes empty.Vblink-cursor-alist
Alist specifying how to blink the cursor off.
Each element has the form (ON-STATE . OFF-STATE).  Whenever the
`cursor-type' frame-parameter or variable equals ON-STATE,
comparing using `equal', Emacs uses OFF-STATE to specify
how to blink it off.  ON-STATE and OFF-STATE are values for
the `cursor-type' frame parameter.

If a frame's ON-STATE has no entry in this list,
the frame's other specifications determine how to blink the cursor off.Vauto-hscroll-mode
Allow or disallow automatic horizontal scrolling of windows.
If non-nil, windows are automatically scrolled horizontally to make
point visible.Vhscroll-margin
How many columns away from the window edge point is allowed to get
before automatic hscrolling will horizontally scroll the window.Vhscroll-step
How many columns to scroll the window when point gets too close to the edge.
When point is less than `hscroll-margin' columns from the window
edge, automatic hscrolling will scroll the window by the amount of columns
determined by this variable.  If its value is a positive integer, scroll that
many columns.  If it's a positive floating-point number, it specifies the
fraction of the window's width to scroll.  If it's nil or zero, point will be
centered horizontally after the scroll.  Any other value, including negative
numbers, are treated as if the value were zero.

Automatic hscrolling always moves point outside the scroll margin, so if
point was more than scroll step columns inside the margin, the window will
scroll more than the value given by the scroll step.

Note that the lower bound for automatic hscrolling specified by `scroll-left'
and `scroll-right' overrides this variable's effect.Vmessage-truncate-lines
If non-nil, messages are truncated instead of resizing the echo area.
Bind this around calls to `message' to let it take effect.Vmenu-bar-update-hook
Normal hook run to update the menu bar definitions.
Redisplay runs this hook before it redisplays the menu bar.
This is used to update submenus such as Buffers,
whose contents depend on various data.Vmenu-updating-frame
Frame for which we are updating a menu.
The enable predicate for a menu binding should check this variable.Vinhibit-menubar-update
Non-nil means don't update menu bars.  Internal use only.Vwrap-prefix
Prefix prepended to all continuation lines at display time.
The value may be a string, an image, or a stretch-glyph; it is
interpreted in the same way as the value of a `display' text property.

This variable is overridden by any `wrap-prefix' text or overlay
property.

To add a prefix to non-continuation lines, use `line-prefix'.Vline-prefix
Prefix prepended to all non-continuation lines at display time.
The value may be a string, an image, or a stretch-glyph; it is
interpreted in the same way as the value of a `display' text property.

This variable is overridden by any `line-prefix' text or overlay
property.

To add a prefix to continuation lines, use `wrap-prefix'.Vinhibit-eval-during-redisplay
Non-nil means don't eval Lisp during redisplay.Vinhibit-free-realized-faces
Non-nil means don't free realized faces.  Internal use only.Vinhibit-try-window-id
Inhibit try_window_id display optimization.Vinhibit-try-window-reusing
Inhibit try_window_reusing display optimization.Vinhibit-try-cursor-movement
Inhibit try_cursor_movement display optimization.Voverline-margin
Space between overline and text, in pixels.
The default value is 2: the height of the overline (1 pixel) plus 1 pixel
margin to the character height.Vunderline-minimum-offset
Minimum distance between baseline and underline.
This can improve legibility of underlined text at small font sizes,
particularly when using variable `x-use-underline-position-properties'
with fonts that specify an UNDERLINE_POSITION relatively close to the
baseline.  The default value is 1.Vdisplay-hourglass
Non-nil means show an hourglass pointer, when Emacs is busy.
This feature only works when on a window system that can change
cursor shapes.Vhourglass-delay
Seconds to wait before displaying an hourglass pointer when Emacs is busy.Vglyphless-char-display
Char-table defining glyphless characters.
Each element, if non-nil, should be one of the following:
  an ASCII acronym string: display this string in a box
  `hex-code':   display the hexadecimal code of a character in a box
  `empty-box':  display as an empty box
  `thin-space': display as 1-pixel width space
  `zero-width': don't display
An element may also be a cons cell (GRAPHICAL . TEXT), which specifies the
display method for graphical terminals and text terminals respectively.
GRAPHICAL and TEXT should each have one of the values listed above.

The char-table has one extra slot to control the display of a character for
which no font is found.  This slot only takes effect on graphical terminals.
Its value should be an ASCII acronym string, `hex-code', `empty-box', or
`thin-space'.  The default is `empty-box'.Vdebug-on-message
If non-nil, debug if a message matching this regexp is displayed.Smenu.o
Fx-popup-menu
Pop up a deck-of-cards menu and return user's selection.
POSITION is a position specification.  This is either a mouse button event
or a list ((XOFFSET YOFFSET) WINDOW)
where XOFFSET and YOFFSET are positions in pixels from the top left
corner of WINDOW.  (WINDOW may be a window or a frame object.)
This controls the position of the top left of the menu as a whole.
If POSITION is t, it means to use the current mouse position.

MENU is a specifier for a menu.  For the simplest case, MENU is a keymap.
The menu items come from key bindings that have a menu string as well as
a definition; actually, the "definition" in such a key binding looks like
(STRING . REAL-DEFINITION).  To give the menu a title, put a string into
the keymap as a top-level element.

If REAL-DEFINITION is nil, that puts a nonselectable string in the menu.
Otherwise, REAL-DEFINITION should be a valid key binding definition.

You can also use a list of keymaps as MENU.
  Then each keymap makes a separate pane.

When MENU is a keymap or a list of keymaps, the return value is the
list of events corresponding to the user's choice. Note that
`x-popup-menu' does not actually execute the command bound to that
sequence of events.

Alternatively, you can specify a menu of multiple panes
  with a list of the form (TITLE PANE1 PANE2...),
where each pane is a list of form (TITLE ITEM1 ITEM2...).
Each ITEM is normally a cons cell (STRING . VALUE);
but a string can appear as an item--that makes a nonselectable line
in the menu.
With this form of menu, the return value is VALUE from the chosen item.

If POSITION is nil, don't display the menu at all, just precalculate the
cached information about equivalent key sequences.

If the user gets rid of the menu without making a valid choice, for
instance by clicking the mouse away from a valid choice or by typing
keyboard input, then this normally results in a quit and
`x-popup-menu' does not return.  But if POSITION is a mouse button
event (indicating that the user invoked the menu with the mouse) then
no quit occurs and `x-popup-menu' returns nil.

(fn POSITION MENU)Swindow.o
Fwindowp
Return t if OBJECT is a window and nil otherwise.

(fn OBJECT)Fwindow-valid-p
Return t if OBJECT is a valid window and nil otherwise.
A valid window is either a window that displays a buffer or an internal
window.  Deleted windows are not live.

(fn OBJECT)Fwindow-live-p
Return t if OBJECT is a live window and nil otherwise.
A live window is a window that displays a buffer.
Internal windows and deleted windows are not live.

(fn OBJECT)Fwindow-frame
Return the frame that window WINDOW is on.
WINDOW must be a valid window and defaults to the selected one.

(fn WINDOW)Fframe-root-window
Return the root window of FRAME-OR-WINDOW.
If omitted, FRAME-OR-WINDOW defaults to the currently selected frame.
With a frame argument, return that frame's root window.
With a window argument, return the root window of that window's frame.

(fn &optional FRAME-OR-WINDOW)Fminibuffer-window
Return the minibuffer window for frame FRAME.
If FRAME is omitted or nil, it defaults to the selected frame.

(fn &optional FRAME)Fwindow-minibuffer-p
Return non-nil if WINDOW is a minibuffer window.
WINDOW must be a valid window and defaults to the selected one.

(fn &optional WINDOW)Fframe-first-window
Return the topmost, leftmost live window on FRAME-OR-WINDOW.
If omitted, FRAME-OR-WINDOW defaults to the currently selected frame.
Else if FRAME-OR-WINDOW denotes a valid window, return the first window
of that window's frame.  If FRAME-OR-WINDOW denotes a live frame, return
the first window of that frame.

(fn &optional FRAME-OR-WINDOW)Fframe-selected-window
Return the selected window of FRAME-OR-WINDOW.
If omitted, FRAME-OR-WINDOW defaults to the currently selected frame.
Else if FRAME-OR-WINDOW denotes a valid window, return the selected
window of that window's frame.  If FRAME-OR-WINDOW denotes a live frame,
return the selected window of that frame.

(fn &optional FRAME-OR-WINDOW)Fset-frame-selected-window
Set selected window of FRAME to WINDOW.
FRAME must be a live frame and defaults to the selected one.  If FRAME
is the selected frame, this makes WINDOW the selected window.  Optional
argument NORECORD non-nil means to neither change the order of recently
selected windows nor the buffer list.  WINDOW must denote a live window.
Return WINDOW.

(fn FRAME WINDOW &optional NORECORD)Fselected-window
Return the selected window.
The selected window is the window in which the standard cursor for
selected windows appears and to which many commands apply.

(fn)Fselect-window
Select WINDOW which must be a live window.
Also make WINDOW's frame the selected frame and WINDOW that frame's
selected window.  In addition, make WINDOW's buffer current and set that
buffer's value of `point' to the value of WINDOW's `window-point'.
Return WINDOW.

Optional second arg NORECORD non-nil means do not put this buffer at the
front of the buffer list and do not make this window the most recently
selected one.

Note that the main editor command loop sets the current buffer to the
buffer of the selected window before each command.

(fn WINDOW &optional NORECORD)Fwindow-buffer
Return the buffer displayed in window WINDOW.
If WINDOW is omitted or nil, it defaults to the selected window.
Return nil for an internal window or a deleted window.

(fn &optional WINDOW)Fwindow-parent
Return the parent window of window WINDOW.
WINDOW must be a valid window and defaults to the selected one.
Return nil for a window with no parent (e.g. a root window).

(fn &optional WINDOW)Fwindow-top-child
Return the topmost child window of window WINDOW.
WINDOW must be a valid window and defaults to the selected one.
Return nil if WINDOW is a live window (live windows have no children).
Return nil if WINDOW is an internal window whose children form a
horizontal combination.

(fn WINDOW)Fwindow-left-child
Return the leftmost child window of window WINDOW.
WINDOW must be a valid window and defaults to the selected one.
Return nil if WINDOW is a live window (live windows have no children).
Return nil if WINDOW is an internal window whose children form a
vertical combination.

(fn WINDOW)Fwindow-next-sibling
Return the next sibling window of window WINDOW.
WINDOW must be a valid window and defaults to the selected one.
Return nil if WINDOW has no next sibling.

(fn &optional WINDOW)Fwindow-prev-sibling
Return the previous sibling window of window WINDOW.
WINDOW must be a valid window and defaults to the selected one.
Return nil if WINDOW has no previous sibling.

(fn &optional WINDOW)Fwindow-combination-limit
Return combination limit of window WINDOW.
If the return value is nil, child windows of WINDOW can be recombined
with WINDOW's siblings.  A return value of t means that child windows of
WINDOW are never (re-)combined with WINDOW's siblings.

WINDOW must be a valid window.  The return value is meaningful for
internal windows only.

(fn WINDOW)Fset-window-combination-limit
Set combination limit of window WINDOW to LIMIT; return LIMIT.
If LIMIT is nil, child windows of WINDOW can be recombined with WINDOW's
siblings.  LIMIT t means that child windows of WINDOW are never
(re-)combined with WINDOW's siblings.  Other values are reserved for
future use.

WINDOW must be a valid window.  Setting the combination limit is
meaningful for internal windows only.

(fn WINDOW LIMIT)Fwindow-use-time
Return the use time of window WINDOW.
WINDOW must be a live window and defaults to the selected one.
The window with the highest use time is the most recently selected
one.  The window with the lowest use time is the least recently
selected one.

(fn &optional WINDOW)Fwindow-total-height
Return the total height, in lines, of window WINDOW.
WINDOW must be a valid window and defaults to the selected one.

The return value includes the mode line and header line, if any.
If WINDOW is an internal window, the total height is the height
of the screen areas spanned by its children.

On a graphical display, this total height is reported as an
integer multiple of the default character height.

(fn &optional WINDOW)Fwindow-total-width
Return the total width, in columns, of window WINDOW.
WINDOW must be a valid window and defaults to the selected one.

The return value includes any vertical dividers or scroll bars
belonging to WINDOW.  If WINDOW is an internal window, the total width
is the width of the screen areas spanned by its children.

On a graphical display, this total width is reported as an
integer multiple of the default character width.

(fn &optional WINDOW)Fwindow-new-total
Return the new total size of window WINDOW.
WINDOW must be a valid window and defaults to the selected one.

(fn &optional WINDOW)Fwindow-normal-size
Return the normal height of window WINDOW.
WINDOW must be a valid window and defaults to the selected one.
If HORIZONTAL is non-nil, return the normal width of WINDOW.

(fn &optional WINDOW HORIZONTAL)Fwindow-new-normal
Return new normal size of window WINDOW.
WINDOW must be a valid window and defaults to the selected one.

(fn &optional WINDOW)Fwindow-left-column
Return left column of window WINDOW.
This is the distance, in columns, between the left edge of WINDOW and
the left edge of the frame's window area.  For instance, the return
value is 0 if there is no window to the left of WINDOW.

WINDOW must be a valid window and defaults to the selected one.

(fn &optional WINDOW)Fwindow-top-line
Return top line of window WINDOW.
This is the distance, in lines, between the top of WINDOW and the top
of the frame's window area.  For instance, the return value is 0 if
there is no window above WINDOW.

WINDOW must be a valid window and defaults to the selected one.

(fn &optional WINDOW)Fwindow-body-height
Return the height, in lines, of WINDOW's text area.
WINDOW must be a live window and defaults to the selected one.

The returned height does not include the mode line or header line.
On a graphical display, the height is expressed as an integer multiple
of the default character height.  If a line at the bottom of the text
area is only partially visible, that counts as a whole line; to
exclude partially-visible lines, use `window-text-height'.

(fn &optional WINDOW)Fwindow-body-width
Return the width, in columns, of WINDOW's text area.
WINDOW must be a live window and defaults to the selected one.

The return value does not include any vertical dividers, fringe or
marginal areas, or scroll bars.  On a graphical display, the width is
expressed as an integer multiple of the default character width.

(fn &optional WINDOW)Fwindow-hscroll
Return the number of columns by which WINDOW is scrolled from left margin.
WINDOW must be a live window and defaults to the selected one.

(fn &optional WINDOW)Fset-window-hscroll
Set number of columns WINDOW is scrolled from left margin to NCOL.
WINDOW must be a live window and defaults to the selected one.
Clip the number to a reasonable value if out of range.
Return the new number.  NCOL should be zero or positive.

Note that if `automatic-hscrolling' is non-nil, you cannot scroll the
window so that the location of point moves off-window.

(fn WINDOW NCOL)Fwindow-redisplay-end-trigger
Return WINDOW's redisplay end trigger value.
WINDOW must be a live window and defaults to the selected one.
See `set-window-redisplay-end-trigger' for more information.

(fn &optional WINDOW)Fset-window-redisplay-end-trigger
Set WINDOW's redisplay end trigger value to VALUE.
WINDOW must be a live window and defaults to the selected one.  VALUE
should be a buffer position (typically a marker) or nil.  If it is a
buffer position, then if redisplay in WINDOW reaches a position beyond
VALUE, the functions in `redisplay-end-trigger-functions' are called
with two arguments: WINDOW, and the end trigger value.  Afterwards the
end-trigger value is reset to nil.

(fn WINDOW VALUE)Fwindow-edges
Return a list of the edge coordinates of WINDOW.
WINDOW must be a valid window and defaults to the selected one.

The returned list has the form (LEFT TOP RIGHT BOTTOM).  TOP and BOTTOM
count by lines, and LEFT and RIGHT count by columns, all relative to 0,
0 at top left corner of frame.

RIGHT is one more than the rightmost column occupied by WINDOW.  BOTTOM
is one more than the bottommost row occupied by WINDOW.  The edges
include the space used by WINDOW's scroll bar, display margins, fringes,
header line, and/or mode line.  For the edges of just the text area, use
`window-inside-edges'.

(fn &optional WINDOW)Fwindow-pixel-edges
Return a list of the edge pixel coordinates of WINDOW.
WINDOW must be a valid window and defaults to the selected one.

The returned list has the form (LEFT TOP RIGHT BOTTOM), all relative to
0, 0 at the top left corner of the frame.

RIGHT is one more than the rightmost x position occupied by WINDOW.
BOTTOM is one more than the bottommost y position occupied by WINDOW.
The pixel edges include the space used by WINDOW's scroll bar, display
margins, fringes, header line, and/or mode line.  For the pixel edges
of just the text area, use `window-inside-pixel-edges'.

(fn &optional WINDOW)Fwindow-absolute-pixel-edges
Return a list of the edge pixel coordinates of WINDOW.
WINDOW must be a valid window and defaults to the selected one.

The returned list has the form (LEFT TOP RIGHT BOTTOM), all relative to
0, 0 at the top left corner of the display.

RIGHT is one more than the rightmost x position occupied by WINDOW.
BOTTOM is one more than the bottommost y position occupied by WINDOW.
The pixel edges include the space used by WINDOW's scroll bar, display
margins, fringes, header line, and/or mode line.  For the pixel edges
of just the text area, use `window-inside-absolute-pixel-edges'.

(fn &optional WINDOW)Fwindow-inside-edges
Return a list of the edge coordinates of WINDOW.
WINDOW must be a live window and defaults to the selected one.

The returned list has the form (LEFT TOP RIGHT BOTTOM).  TOP and BOTTOM
count by lines, and LEFT and RIGHT count by columns, all relative to 0,
0 at top left corner of frame.

RIGHT is one more than the rightmost column of WINDOW's text area.
BOTTOM is one more than the bottommost row of WINDOW's text area.  The
inside edges do not include the space used by the WINDOW's scroll bar,
display margins, fringes, header line, and/or mode line.

(fn &optional WINDOW)Fwindow-inside-pixel-edges
Return a list of the edge pixel coordinates of WINDOW's text area.
WINDOW must be a live window and defaults to the selected one.

The returned list has the form (LEFT TOP RIGHT BOTTOM), all relative to
(0,0) at the top left corner of the frame's window area.

RIGHT is one more than the rightmost x position of WINDOW's text area.
BOTTOM is one more than the bottommost y position of WINDOW's text area.
The inside edges do not include the space used by WINDOW's scroll bar,
display margins, fringes, header line, and/or mode line.

(fn &optional WINDOW)Fwindow-inside-absolute-pixel-edges
Return a list of the edge pixel coordinates of WINDOW's text area.
WINDOW must be a live window and defaults to the selected one.

The returned list has the form (LEFT TOP RIGHT BOTTOM), all relative to
(0,0) at the top left corner of the frame's window area.

RIGHT is one more than the rightmost x position of WINDOW's text area.
BOTTOM is one more than the bottommost y position of WINDOW's text area.
The inside edges do not include the space used by WINDOW's scroll bar,
display margins, fringes, header line, and/or mode line.

(fn &optional WINDOW)Fcoordinates-in-window-p
Return non-nil if COORDINATES are in WINDOW.
WINDOW must be a live window and defaults to the selected one.
COORDINATES is a cons of the form (X . Y), X and Y being distances
measured in characters from the upper-left corner of the frame.
(0 . 0) denotes the character in the upper left corner of the
frame.
If COORDINATES are in the text portion of WINDOW,
   the coordinates relative to the window are returned.
If they are in the mode line of WINDOW, `mode-line' is returned.
If they are in the top mode line of WINDOW, `header-line' is returned.
If they are in the left fringe of WINDOW, `left-fringe' is returned.
If they are in the right fringe of WINDOW, `right-fringe' is returned.
If they are on the border between WINDOW and its right sibling,
  `vertical-line' is returned.
If they are in the windows's left or right marginal areas, `left-margin'
  or `right-margin' is returned.

(fn COORDINATES WINDOW)Fwindow-at
Return window containing coordinates X and Y on FRAME.
FRAME must be a live frame and defaults to the selected one.
The top left corner of the frame is considered to be row 0,
column 0.

(fn X Y &optional FRAME)Fwindow-point
Return current value of point in WINDOW.
WINDOW must be a live window and defaults to the selected one.

For a nonselected window, this is the value point would have if that
window were selected.

Note that, when WINDOW is selected, the value returned is the same as
that returned by `point' for WINDOW's buffer.  It would be more strictly
correct to return the `top-level' value of `point', outside of any
`save-excursion' forms.  But that is hard to define.

(fn &optional WINDOW)Fwindow-start
Return position at which display currently starts in WINDOW.
WINDOW must be a live window and defaults to the selected one.
This is updated by redisplay or by calling `set-window-start'.

(fn &optional WINDOW)Fwindow-end
Return position at which display currently ends in WINDOW.
WINDOW must be a live window and defaults to the selected one.
This is updated by redisplay, when it runs to completion.
Simply changing the buffer text or setting `window-start'
does not update this value.
Return nil if there is no recorded value.  (This can happen if the
last redisplay of WINDOW was preempted, and did not finish.)
If UPDATE is non-nil, compute the up-to-date position
if it isn't already recorded.

(fn &optional WINDOW UPDATE)Fset-window-point
Make point value in WINDOW be at position POS in WINDOW's buffer.
WINDOW must be a live window and defaults to the selected one.
Return POS.

(fn WINDOW POS)Fset-window-start
Make display in WINDOW start at position POS in WINDOW's buffer.
WINDOW must be a live window and defaults to the selected one.  Return
POS.  Optional third arg NOFORCE non-nil inhibits next redisplay from
overriding motion of point in order to display at this exact start.

(fn WINDOW POS &optional NOFORCE)Fpos-visible-in-window-p
Return non-nil if position POS is currently on the frame in WINDOW.
WINDOW must be a live window and defaults to the selected one.

Return nil if that position is scrolled vertically out of view.  If a
character is only partially visible, nil is returned, unless the
optional argument PARTIALLY is non-nil.  If POS is only out of view
because of horizontal scrolling, return non-nil.  If POS is t, it
specifies the position of the last visible glyph in WINDOW.  POS
defaults to point in WINDOW; WINDOW defaults to the selected window.

If POS is visible, return t if PARTIALLY is nil; if PARTIALLY is non-nil,
return value is a list of 2 or 6 elements (X Y [RTOP RBOT ROWH VPOS]),
where X and Y are the pixel coordinates relative to the top left corner
of the window.  The remaining elements are omitted if the character after
POS is fully visible; otherwise, RTOP and RBOT are the number of pixels
off-window at the top and bottom of the row, ROWH is the height of the
display row, and VPOS is the row number (0-based) containing POS.

(fn &optional POS WINDOW PARTIALLY)Fwindow-line-height
Return height in pixels of text line LINE in window WINDOW.
WINDOW must be a live window and defaults to the selected one.

Return height of current line if LINE is omitted or nil.  Return height of
header or mode line if LINE is `header-line' or `mode-line'.
Otherwise, LINE is a text line number starting from 0.  A negative number
counts from the end of the window.

Value is a list (HEIGHT VPOS YPOS OFFBOT), where HEIGHT is the height
in pixels of the visible part of the line, VPOS and YPOS are the
vertical position in lines and pixels of the line, relative to the top
of the first text line, and OFFBOT is the number of off-window pixels at
the bottom of the text line.  If there are off-window pixels at the top
of the (first) text line, YPOS is negative.

Return nil if window display is not up-to-date.  In that case, use
`pos-visible-in-window-p' to obtain the information.

(fn &optional LINE WINDOW)Fwindow-dedicated-p
Return non-nil when WINDOW is dedicated to its buffer.
More precisely, return the value assigned by the last call of
`set-window-dedicated-p' for WINDOW.  Return nil if that function was
never called with WINDOW as its argument, or the value set by that
function was internally reset since its last call.  WINDOW must be a
live window and defaults to the selected one.

When a window is dedicated to its buffer, `display-buffer' will refrain
from displaying another buffer in it.  `get-lru-window' and
`get-largest-window' treat dedicated windows specially.
`delete-windows-on', `replace-buffer-in-windows', `quit-window' and
`kill-buffer' can delete a dedicated window and the containing frame.

Functions like `set-window-buffer' may change the buffer displayed by a
window, unless that window is "strongly" dedicated to its buffer, that
is the value returned by `window-dedicated-p' is t.

(fn &optional WINDOW)Fset-window-dedicated-p
Mark WINDOW as dedicated according to FLAG.
WINDOW must be a live window and defaults to the selected one.  FLAG
non-nil means mark WINDOW as dedicated to its buffer.  FLAG nil means
mark WINDOW as non-dedicated.  Return FLAG.

When a window is dedicated to its buffer, `display-buffer' will refrain
from displaying another buffer in it.  `get-lru-window' and
`get-largest-window' treat dedicated windows specially.
`delete-windows-on', `replace-buffer-in-windows', `quit-window',
`quit-restore-window' and `kill-buffer' can delete a dedicated window
and the containing frame.

As a special case, if FLAG is t, mark WINDOW as "strongly" dedicated to
its buffer.  Functions like `set-window-buffer' may change the buffer
displayed by a window, unless that window is strongly dedicated to its
buffer.  If and when `set-window-buffer' displays another buffer in a
window, it also makes sure that the window is no more dedicated.

(fn WINDOW FLAG)Fwindow-prev-buffers
Return buffers previously shown in WINDOW.
WINDOW must be a live window and defaults to the selected one.

The return value is a list of elements (BUFFER WINDOW-START POS),
where BUFFER is a buffer, WINDOW-START is the start position of the
window for that buffer, and POS is a window-specific point value.

(fn &optional WINDOW)Fset-window-prev-buffers
Set WINDOW's previous buffers to PREV-BUFFERS.
WINDOW must be a live window and defaults to the selected one.

PREV-BUFFERS should be a list of elements (BUFFER WINDOW-START POS),
where BUFFER is a buffer, WINDOW-START is the start position of the
window for that buffer, and POS is a window-specific point value.

(fn WINDOW PREV-BUFFERS)Fwindow-next-buffers
Return list of buffers recently re-shown in WINDOW.
WINDOW must be a live window and defaults to the selected one.

(fn &optional WINDOW)Fset-window-next-buffers
Set WINDOW's next buffers to NEXT-BUFFERS.
WINDOW must be a live window and defaults to the selected one.
NEXT-BUFFERS should be a list of buffers.

(fn WINDOW NEXT-BUFFERS)Fwindow-parameters
Return the parameters of WINDOW and their values.
WINDOW must be a valid window and defaults to the selected one.  The
return value is a list of elements of the form (PARAMETER . VALUE).

(fn &optional WINDOW)Fwindow-parameter
Return WINDOW's value for PARAMETER.
WINDOW can be any window and defaults to the selected one.

(fn WINDOW PARAMETER)Fset-window-parameter
Set WINDOW's value of PARAMETER to VALUE.
WINDOW can be any window and defaults to the selected one.
Return VALUE.

(fn WINDOW PARAMETER VALUE)Fwindow-display-table
Return the display-table that WINDOW is using.
WINDOW must be a live window and defaults to the selected one.

(fn &optional WINDOW)Fset-window-display-table
Set WINDOW's display-table to TABLE.
WINDOW must be a live window and defaults to the selected one.

(fn WINDOW TABLE)Fnext-window
Return live window after WINDOW in the cyclic ordering of windows.
WINDOW must be a live window and defaults to the selected one.  The
optional arguments MINIBUF and ALL-FRAMES specify the set of windows to
consider.

MINIBUF nil or omitted means consider the minibuffer window only if the
minibuffer is active.  MINIBUF t means consider the minibuffer window
even if the minibuffer is not active.  Any other value means do not
consider the minibuffer window even if the minibuffer is active.

ALL-FRAMES nil or omitted means consider all windows on WINDOW's frame,
plus the minibuffer window if specified by the MINIBUF argument.  If the
minibuffer counts, consider all windows on all frames that share that
minibuffer too.  The following non-nil values of ALL-FRAMES have special
meanings:

- t means consider all windows on all existing frames.

- `visible' means consider all windows on all visible frames.

- 0 (the number zero) means consider all windows on all visible and
  iconified frames.

- A frame means consider all windows on that frame only.

Anything else means consider all windows on WINDOW's frame and no
others.

If you use consistent values for MINIBUF and ALL-FRAMES, you can use
`next-window' to iterate through the entire cycle of acceptable
windows, eventually ending up back at the window you started with.
`previous-window' traverses the same cycle, in the reverse order.

(fn &optional WINDOW MINIBUF ALL-FRAMES)Fprevious-window
Return live window before WINDOW in the cyclic ordering of windows.
WINDOW must be a live window and defaults to the selected one.  The
optional arguments MINIBUF and ALL-FRAMES specify the set of windows to
consider.

MINIBUF nil or omitted means consider the minibuffer window only if the
minibuffer is active.  MINIBUF t means consider the minibuffer window
even if the minibuffer is not active.  Any other value means do not
consider the minibuffer window even if the minibuffer is active.

ALL-FRAMES nil or omitted means consider all windows on WINDOW's frame,
plus the minibuffer window if specified by the MINIBUF argument.  If the
minibuffer counts, consider all windows on all frames that share that
minibuffer too.  The following non-nil values of ALL-FRAMES have special
meanings:

- t means consider all windows on all existing frames.

- `visible' means consider all windows on all visible frames.

- 0 (the number zero) means consider all windows on all visible and
  iconified frames.

- A frame means consider all windows on that frame only.

Anything else means consider all windows on WINDOW's frame and no
others.

If you use consistent values for MINIBUF and ALL-FRAMES, you can
use `previous-window' to iterate through the entire cycle of
acceptable windows, eventually ending up back at the window you
started with.  `next-window' traverses the same cycle, in the
reverse order.

(fn &optional WINDOW MINIBUF ALL-FRAMES)Fwindow-list
Return a list of windows on FRAME, starting with WINDOW.
FRAME nil or omitted means use the selected frame.
WINDOW nil or omitted means use the window selected within FRAME.
MINIBUF t means include the minibuffer window, even if it isn't active.
MINIBUF nil or omitted means include the minibuffer window only
if it's active.
MINIBUF neither nil nor t means never include the minibuffer window.

(fn &optional FRAME MINIBUF WINDOW)Fwindow-list-1
Return a list of all live windows.
WINDOW specifies the first window to list and defaults to the selected
window.

Optional argument MINIBUF nil or omitted means consider the minibuffer
window only if the minibuffer is active.  MINIBUF t means consider the
minibuffer window even if the minibuffer is not active.  Any other value
means do not consider the minibuffer window even if the minibuffer is
active.

Optional argument ALL-FRAMES nil or omitted means consider all windows
on WINDOW's frame, plus the minibuffer window if specified by the
MINIBUF argument.  If the minibuffer counts, consider all windows on all
frames that share that minibuffer too.  The following non-nil values of
ALL-FRAMES have special meanings:

- t means consider all windows on all existing frames.

- `visible' means consider all windows on all visible frames.

- 0 (the number zero) means consider all windows on all visible and
  iconified frames.

- A frame means consider all windows on that frame only.

Anything else means consider all windows on WINDOW's frame and no
others.

If WINDOW is not on the list of windows returned, some other window will
be listed first but no error is signaled.

(fn &optional WINDOW MINIBUF ALL-FRAMES)Fget-buffer-window
Return a window currently displaying BUFFER-OR-NAME, or nil if none.
BUFFER-OR-NAME may be a buffer or a buffer name and defaults to
the current buffer.

The optional argument ALL-FRAMES specifies the frames to consider:

- t means consider all windows on all existing frames.

- `visible' means consider all windows on all visible frames.

- 0 (the number zero) means consider all windows on all visible
    and iconified frames.

- A frame means consider all windows on that frame only.

Any other value of ALL-FRAMES means consider all windows on the
selected frame and no others.

(fn &optional BUFFER-OR-NAME ALL-FRAMES)Fdelete-other-windows-internal
Make WINDOW fill its frame.
Only the frame WINDOW is on is affected.  WINDOW must be a valid window
and defaults to the selected one.

Optional argument ROOT, if non-nil, must specify an internal window such
that WINDOW is in its window subtree.  If this is the case, replace ROOT
by WINDOW and leave alone any windows not part of ROOT's subtree.

When WINDOW is live try to reduce display jumps by keeping the text
previously visible in WINDOW in the same place on the frame.  Doing this
depends on the value of (window-start WINDOW), so if calling this
function in a program gives strange scrolling, make sure the
window-start value is reasonable when this function is called.

(fn &optional WINDOW ROOT)Frun-window-configuration-change-hook
Run `window-configuration-change-hook' for FRAME.

(fn FRAME)Fset-window-buffer
Make WINDOW display BUFFER-OR-NAME as its contents.
WINDOW must be a live window and defaults to the selected one.
BUFFER-OR-NAME must be a buffer or the name of an existing buffer.

Optional third argument KEEP-MARGINS non-nil means that WINDOW's current
display margins, fringe widths, and scroll bar settings are preserved;
the default is to reset these from the local settings for BUFFER-OR-NAME
or the frame defaults.  Return nil.

This function throws an error when WINDOW is strongly dedicated to its
buffer (that is `window-dedicated-p' returns t for WINDOW) and does not
already display BUFFER-OR-NAME.

This function runs `window-scroll-functions' before running
`window-configuration-change-hook'.

(fn WINDOW BUFFER-OR-NAME &optional KEEP-MARGINS)Fforce-window-update
Force all windows to be updated on next redisplay.
If optional arg OBJECT is a window, force redisplay of that window only.
If OBJECT is a buffer or buffer name, force redisplay of all windows
displaying that buffer.

(fn &optional OBJECT)Fset-window-new-total
Set new total size of WINDOW to SIZE.
WINDOW must be a valid window and defaults to the selected one.
Return SIZE.

Optional argument ADD non-nil means add SIZE to the new total size of
WINDOW and return the sum.

Note: This function does not operate on any child windows of WINDOW.

(fn WINDOW SIZE &optional ADD)Fset-window-new-normal
Set new normal size of WINDOW to SIZE.
WINDOW must be a valid window and defaults to the selected one.
Return SIZE.

Note: This function does not operate on any child windows of WINDOW.

(fn WINDOW &optional SIZE)Fwindow-resize-apply
Apply requested size values for window-tree of FRAME.
Optional argument HORIZONTAL omitted or nil means apply requested height
values.  HORIZONTAL non-nil means apply requested width values.

This function checks whether the requested values sum up to a valid
window layout, recursively assigns the new sizes of all child windows
and calculates and assigns the new start positions of these windows.

Note: This function does not check any of `window-fixed-size-p',
`window-min-height' or `window-min-width'.  All these checks have to
be applied on the Elisp level.

(fn FRAME &optional HORIZONTAL)Fsplit-window-internal
Split window OLD.
Second argument TOTAL-SIZE specifies the number of lines or columns of the
new window.  In any case TOTAL-SIZE must be a positive integer.

Third argument SIDE nil (or `below') specifies that the new window shall
be located below WINDOW.  SIDE `above' means the new window shall be
located above WINDOW.  In both cases TOTAL-SIZE specifies the number of
lines of the new window including space reserved for the mode and/or
header line.

SIDE t (or `right') specifies that the new window shall be located on
the right side of WINDOW.  SIDE `left' means the new window shall be
located on the left of WINDOW.  In both cases TOTAL-SIZE specifies the
number of columns of the new window including space reserved for fringes
and the scrollbar or a divider column.

Fourth argument NORMAL-SIZE specifies the normal size of the new window
according to the SIDE argument.

The new total and normal sizes of all involved windows must have been
set correctly.  See the code of `split-window' for how this is done.

(fn OLD TOTAL-SIZE SIDE NORMAL-SIZE)Fdelete-window-internal
Remove WINDOW from its frame.
WINDOW defaults to the selected window.  Return nil.
Signal an error when WINDOW is the only window on its frame.

(fn WINDOW)Fresize-mini-window-internal
Resize minibuffer window WINDOW.

(fn WINDOW)Fscroll-up
Scroll text of selected window upward ARG lines.
If ARG is omitted or nil, scroll upward by a near full screen.
A near full screen is `next-screen-context-lines' less than a full screen.
Negative ARG means scroll downward.
If ARG is the atom `-', scroll downward by nearly full screen.
When calling from a program, supply as argument a number, nil, or `-'.

(fn &optional ARG)Fscroll-down
Scroll text of selected window down ARG lines.
If ARG is omitted or nil, scroll down by a near full screen.
A near full screen is `next-screen-context-lines' less than a full screen.
Negative ARG means scroll upward.
If ARG is the atom `-', scroll upward by nearly full screen.
When calling from a program, supply as argument a number, nil, or `-'.

(fn &optional ARG)Fother-window-for-scrolling
Return the other window for "other window scroll" commands.
If `other-window-scroll-buffer' is non-nil, a window
showing that buffer is used.
If in the minibuffer, `minibuffer-scroll-window' if non-nil
specifies the window.  This takes precedence over
`other-window-scroll-buffer'.

(fn)Fscroll-other-window
Scroll next window upward ARG lines; or near full screen if no ARG.
A near full screen is `next-screen-context-lines' less than a full screen.
The next window is the one below the current one; or the one at the top
if the current one is at the bottom.  Negative ARG means scroll downward.
If ARG is the atom `-', scroll downward by nearly full screen.
When calling from a program, supply as argument a number, nil, or `-'.

If `other-window-scroll-buffer' is non-nil, scroll the window
showing that buffer, popping the buffer up if necessary.
If in the minibuffer, `minibuffer-scroll-window' if non-nil
specifies the window to scroll.  This takes precedence over
`other-window-scroll-buffer'.

(fn &optional ARG)Fscroll-left
Scroll selected window display ARG columns left.
Default for ARG is window width minus 2.
Value is the total amount of leftward horizontal scrolling in
effect after the change.
If SET-MINIMUM is non-nil, the new scroll amount becomes the
lower bound for automatic scrolling, i.e. automatic scrolling
will not scroll a window to a column less than the value returned
by this function.  This happens in an interactive call.

(fn &optional ARG SET-MINIMUM)Fscroll-right
Scroll selected window display ARG columns right.
Default for ARG is window width minus 2.
Value is the total amount of leftward horizontal scrolling in
effect after the change.
If SET-MINIMUM is non-nil, the new scroll amount becomes the
lower bound for automatic scrolling, i.e. automatic scrolling
will not scroll a window to a column less than the value returned
by this function.  This happens in an interactive call.

(fn &optional ARG SET-MINIMUM)Fminibuffer-selected-window
Return the window which was selected when entering the minibuffer.
Returns nil, if selected window is not a minibuffer window.

(fn)Frecenter
Center point in selected window and maybe redisplay frame.
With prefix argument ARG, recenter putting point on screen line ARG
relative to the selected window.  If ARG is negative, it counts up from the
bottom of the window.  (ARG should be less than the height of the window.)

If ARG is omitted or nil, then recenter with point on the middle line of
the selected window; if the variable `recenter-redisplay' is non-nil,
also erase the entire frame and redraw it (when `auto-resize-tool-bars'
is set to `grow-only', this resets the tool-bar's height to the minimum
height needed); if `recenter-redisplay' has the special value `tty',
then only tty frames are redrawn.

Just C-u as prefix means put point in the center of the window
and redisplay normally--don't erase and redraw the frame.

(fn &optional ARG)Fwindow-text-height
Return the height in lines of the text display area of WINDOW.
WINDOW must be a live window and defaults to the selected one.

The returned height does not include the mode line, any header line,
nor any partial-height lines at the bottom of the text area.

(fn &optional WINDOW)Fmove-to-window-line
Position point relative to window.
ARG nil means position point at center of window.
Else, ARG specifies vertical position within the window;
zero means top of window, negative means relative to bottom of window.

(fn ARG)Fwindow-configuration-p
Return t if OBJECT is a window-configuration object.

(fn OBJECT)Fwindow-configuration-frame
Return the frame that CONFIG, a window-configuration object, is about.

(fn CONFIG)Fset-window-configuration
Set the configuration of windows and buffers as specified by CONFIGURATION.
CONFIGURATION must be a value previously returned
by `current-window-configuration' (which see).
If CONFIGURATION was made from a frame that is now deleted,
only frame-independent values can be restored.  In this case,
the return value is nil.  Otherwise the value is t.

(fn CONFIGURATION)Fcurrent-window-configuration
Return an object representing the current window configuration of FRAME.
If FRAME is nil or omitted, use the selected frame.
This describes the number of windows, their sizes and current buffers,
and for each displayed buffer, where display starts, and the positions of
point and mark.  An exception is made for point in the current buffer:
its value is -not- saved.
This also records the currently selected frame, and FRAME's focus
redirection (see `redirect-frame-focus').  The variable
`window-persistent-parameters' specifies which window parameters are
saved by this function.

(fn &optional FRAME)Fset-window-margins
Set width of marginal areas of window WINDOW.
WINDOW must be a live window and defaults to the selected one.

Second arg LEFT-WIDTH specifies the number of character cells to
reserve for the left marginal area.  Optional third arg RIGHT-WIDTH
does the same for the right marginal area.  A nil width parameter
means no margin.

(fn WINDOW LEFT-WIDTH &optional RIGHT-WIDTH)Fwindow-margins
Get width of marginal areas of window WINDOW.
WINDOW must be a live window and defaults to the selected one.

Value is a cons of the form (LEFT-WIDTH . RIGHT-WIDTH).
If a marginal area does not exist, its width will be returned
as nil.

(fn &optional WINDOW)Fset-window-fringes
Set the fringe widths of window WINDOW.
WINDOW must be a live window and defaults to the selected one.

Second arg LEFT-WIDTH specifies the number of pixels to reserve for
the left fringe.  Optional third arg RIGHT-WIDTH specifies the right
fringe width.  If a fringe width arg is nil, that means to use the
frame's default fringe width.  Default fringe widths can be set with
the command `set-fringe-style'.
If optional fourth arg OUTSIDE-MARGINS is non-nil, draw the fringes
outside of the display margins.  By default, fringes are drawn between
display marginal areas and the text area.

(fn WINDOW LEFT-WIDTH &optional RIGHT-WIDTH OUTSIDE-MARGINS)Fwindow-fringes
Get width of fringes of window WINDOW.
WINDOW must be a live window and defaults to the selected one.

Value is a list of the form (LEFT-WIDTH RIGHT-WIDTH OUTSIDE-MARGINS).

(fn &optional WINDOW)Fset-window-scroll-bars
Set width and type of scroll bars of window WINDOW.
WINDOW must be a live window and defaults to the selected one.

Second parameter WIDTH specifies the pixel width for the scroll bar;
this is automatically adjusted to a multiple of the frame column width.
Third parameter VERTICAL-TYPE specifies the type of the vertical scroll
bar: left, right, or nil.
If WIDTH is nil, use the frame's scroll-bar width.
If VERTICAL-TYPE is t, use the frame's scroll-bar type.
Fourth parameter HORIZONTAL-TYPE is currently unused.

(fn WINDOW WIDTH &optional VERTICAL-TYPE HORIZONTAL-TYPE)Fwindow-scroll-bars
Get width and type of scroll bars of window WINDOW.
WINDOW must be a live window and defaults to the selected one.

Value is a list of the form (WIDTH COLS VERTICAL-TYPE HORIZONTAL-TYPE).
If WIDTH is nil or TYPE is t, the window is using the frame's corresponding
value.

(fn &optional WINDOW)Fwindow-vscroll
Return the amount by which WINDOW is scrolled vertically.
If WINDOW is omitted or nil, it defaults to the selected window.
Normally, value is a multiple of the canonical character height of WINDOW;
optional second arg PIXELS-P means value is measured in pixels.

(fn &optional WINDOW PIXELS-P)Fset-window-vscroll
Set amount by which WINDOW should be scrolled vertically to VSCROLL.
WINDOW nil means use the selected window.  Normally, VSCROLL is a
non-negative multiple of the canonical character height of WINDOW;
optional third arg PIXELS-P non-nil means that VSCROLL is in pixels.
If PIXELS-P is nil, VSCROLL may have to be rounded so that it
corresponds to an integral number of pixels.  The return value is the
result of this rounding.
If PIXELS-P is non-nil, the return value is VSCROLL.

(fn WINDOW VSCROLL &optional PIXELS-P)Fcompare-window-configurations
Compare two window configurations as regards the structure of windows.
This function ignores details such as the values of point and mark
and scrolling positions.

(fn X Y)Vtemp-buffer-show-function
Non-nil means call as function to display a help buffer.
The function is called with one argument, the buffer to be displayed.
Used by `with-output-to-temp-buffer'.
If this function is used, then it must do the entire job of showing
the buffer; `temp-buffer-show-hook' is not run unless this function runs it.Vminibuffer-scroll-window
Non-nil means it is the window that C-M-v in minibuffer should scroll.Vmode-line-in-non-selected-windows
Non-nil means to use `mode-line-inactive' face in non-selected windows.
If the minibuffer is active, the `minibuffer-scroll-window' mode line
is displayed in the `mode-line' face.Vother-window-scroll-buffer
If non-nil, this is a buffer and \[scroll-other-window] should scroll its window.Vauto-window-vscroll
Non-nil means to automatically adjust `window-vscroll' to view tall lines.Vnext-screen-context-lines
Number of lines of continuity when scrolling by screenfuls.Vscroll-preserve-screen-position
Controls if scroll commands move point to keep its screen position unchanged.
A value of nil means point does not keep its screen position except
at the scroll margin or window boundary respectively.
A value of t means point keeps its screen position if the scroll
command moved it vertically out of the window, e.g. when scrolling
by full screens.
Any other value means point always keeps its screen position.
Scroll commands should have the `scroll-command' property
on their symbols to be controlled by this variable.Vwindow-point-insertion-type
Type of marker to use for `window-point'.Vwindow-configuration-change-hook
Functions to call when window configuration changes.
The buffer-local part is run once per window, with the relevant window
selected; while the global part is run only once for the modified frame,
with the relevant frame selected.Vrecenter-redisplay
Non-nil means `recenter' redraws entire frame.
If this option is non-nil, then the `recenter' command with a nil
argument will redraw the entire frame; the special value `tty' causes
the frame to be redrawn only if it is a tty frame.Vwindow-combination-resize
If t, resize window combinations proportionally.
If this variable is nil, splitting a window gets the entire screen space
for displaying the new window from the window to split.  Deleting and
resizing a window preferably resizes one adjacent window only.

If this variable is t, splitting a window tries to get the space
proportionally from all windows in the same combination.  This also
allows to split a window that is otherwise too small or of fixed size.
Resizing and deleting a window proportionally resize all windows in the
same combination.

Other values are reserved for future use.

This variable takes no effect if `window-combination-limit' is non-nil.Vwindow-combination-limit
If non-nil, splitting a window makes a new parent window.
The following values are recognized:

nil means splitting a window will create a new parent window only if the
    window has no parent window or the window shall become part of a
    combination orthogonal to the one it is part of.

`window-size' means that splitting a window for displaying a buffer
    makes a new parent window provided `display-buffer' is supposed to
    explicitly set the window's size due to the presence of a
    `window-height' or `window-width' entry in the alist used by
    `display-buffer'.  Otherwise, this value is handled like nil.

`temp-buffer' means that splitting a window for displaying a temporary
    buffer always makes a new parent window.  Otherwise, this value is
    handled like nil.

`display-buffer' means that splitting a window for displaying a buffer
    always makes a new parent window.  Since temporary buffers are
    displayed by the function `display-buffer', this value is stronger
    than `temp-buffer'.  Splitting a window for other purpose makes a
    new parent window only if needed.

t means that splitting a window always creates a new parent window.  If
    all splits behave this way, each frame's window tree is a binary
    tree and every window but the frame's root window has exactly one
    sibling.

Other values are reserved for future use.Vwindow-persistent-parameters
Alist of persistent window parameters.
This alist specifies which window parameters shall get saved by
`current-window-configuration' and `window-state-get' and subsequently
restored to their previous values by `set-window-configuration' and
`window-state-put'.

The car of each entry of this alist is the symbol specifying the
parameter.  The cdr is one of the following:

nil means the parameter is neither saved by `window-state-get' nor by
`current-window-configuration'.

t means the parameter is saved by `current-window-configuration' and,
provided its WRITABLE argument is nil, by `window-state-get'.

The symbol `writable' means the parameter is saved unconditionally by
both `current-window-configuration' and `window-state-get'.  Do not use
this value for parameters without read syntax (like windows or frames).

Parameters not saved by `current-window-configuration' or
`window-state-get' are left alone by `set-window-configuration'
respectively are not installed by `window-state-put'.Scharset.o
Fcharsetp
Return non-nil if and only if OBJECT is a charset.

(fn OBJECT)Fmap-charset-chars
Call FUNCTION for all characters in CHARSET.
FUNCTION is called with an argument RANGE and the optional 3rd
argument ARG.

RANGE is a cons (FROM .  TO), where FROM and TO indicate a range of
characters contained in CHARSET.

The optional 4th and 5th arguments FROM-CODE and TO-CODE specify the
range of code points (in CHARSET) of target characters.

(fn FUNCTION CHARSET &optional ARG FROM-CODE TO-CODE)Fdefine-charset-internal
For internal use only.

(fn ...)Fdefine-charset-alias
Define ALIAS as an alias for charset CHARSET.

(fn ALIAS CHARSET)Fcharset-plist
Return the property list of CHARSET.

(fn CHARSET)Fset-charset-plist
Set CHARSET's property list to PLIST.

(fn CHARSET PLIST)Funify-charset
Unify characters of CHARSET with Unicode.
This means reading the relevant file and installing the table defined
by CHARSET's `:unify-map' property.

Optional second arg UNIFY-MAP is a file name string or a vector.  It has
the same meaning as the `:unify-map' attribute in the function
`define-charset' (which see).

Optional third argument DEUNIFY, if non-nil, means to de-unify CHARSET.

(fn CHARSET &optional UNIFY-MAP DEUNIFY)Fget-unused-iso-final-char
Return an unused ISO final char for a charset of DIMENSION and CHARS.
DIMENSION is the number of bytes to represent a character: 1 or 2.
CHARS is the number of characters in a dimension: 94 or 96.

This final char is for private use, thus the range is `0' (48) .. `?' (63).
If there's no unused final char for the specified kind of charset,
return nil.

(fn DIMENSION CHARS)Fdeclare-equiv-charset
Declare an equivalent charset for ISO-2022 decoding.

On decoding by an ISO-2022 base coding system, when a charset
specified by DIMENSION, CHARS, and FINAL-CHAR is designated, behave as
if CHARSET is designated instead.

(fn DIMENSION CHARS FINAL-CHAR CHARSET)Ffind-charset-region
Return a list of charsets in the region between BEG and END.
BEG and END are buffer positions.
Optional arg TABLE if non-nil is a translation table to look up.

If the current buffer is unibyte, the returned list may contain
only `ascii', `eight-bit-control', and `eight-bit-graphic'.

(fn BEG END &optional TABLE)Ffind-charset-string
Return a list of charsets in STR.
Optional arg TABLE if non-nil is a translation table to look up.

If STR is unibyte, the returned list may contain
only `ascii', `eight-bit-control', and `eight-bit-graphic'.

(fn STR &optional TABLE)Fdecode-char
Decode the pair of CHARSET and CODE-POINT into a character.
Return nil if CODE-POINT is not valid in CHARSET.

CODE-POINT may be a cons (HIGHER-16-BIT-VALUE . LOWER-16-BIT-VALUE).

Optional argument RESTRICTION specifies a way to map the pair of CCS
and CODE-POINT to a character.  Currently not supported and just ignored.

(fn CHARSET CODE-POINT &optional RESTRICTION)Fencode-char
Encode the character CH into a code-point of CHARSET.
Return nil if CHARSET doesn't include CH.

Optional argument RESTRICTION specifies a way to map CH to a
code-point in CCS.  Currently not supported and just ignored.

(fn CH CHARSET &optional RESTRICTION)Fmake-char
Return a character of CHARSET whose position codes are CODEn.

CODE1 through CODE4 are optional, but if you don't supply sufficient
position codes, it is assumed that the minimum code in each dimension
is specified.

(fn CHARSET &optional CODE1 CODE2 CODE3 CODE4)Fsplit-char
Return list of charset and one to four position-codes of CH.
The charset is decided by the current priority order of charsets.
A position-code is a byte value of each dimension of the code-point of
CH in the charset.

(fn CH)Fchar-charset
Return the charset of highest priority that contains CH.
If optional 2nd arg RESTRICTION is non-nil, it is a list of charsets
from which to find the charset.  It may also be a coding system.  In
that case, find the charset from what supported by that coding system.

(fn CH &optional RESTRICTION)Fcharset-after
Return charset of a character in the current buffer at position POS.
If POS is nil, it defaults to the current point.
If POS is out of range, the value is nil.

(fn &optional POS)Fiso-charset
Return charset of ISO's specification DIMENSION, CHARS, and FINAL-CHAR.

ISO 2022's designation sequence (escape sequence) distinguishes charsets
by their DIMENSION, CHARS, and FINAL-CHAR,
whereas Emacs distinguishes them by charset symbol.
See the documentation of the function `charset-info' for the meanings of
DIMENSION, CHARS, and FINAL-CHAR.

(fn DIMENSION CHARS FINAL-CHAR)Fclear-charset-maps
Internal use only.
Clear temporary charset mapping tables.
It should be called only from temacs invoked for dumping.

(fn)Fcharset-priority-list
Return the list of charsets ordered by priority.
HIGHESTP non-nil means just return the highest priority one.

(fn &optional HIGHESTP)Fset-charset-priority
Assign higher priority to the charsets given as arguments.

(fn &rest charsets)Fcharset-id-internal
Internal use only.
Return charset identification number of CHARSET.

(fn &optional CHARSET)Fsort-charsets
Sort charset list CHARSETS by a priority of each charset.
Return the sorted list.  CHARSETS is modified by side effects.
See also `charset-priority-list' and `set-charset-priority'.

(fn CHARSETS)Vcharset-map-path
List of directories to search for charset map files.Vinhibit-load-charset-map
Inhibit loading of charset maps.  Used when dumping Emacs.Vcharset-list
List of all charsets ever defined.Vcurrent-iso639-language
ISO639 language mnemonic symbol for the current language environment.
If the current language environment is for multiple languages (e.g. "Latin-1"),
the value may be a list of mnemonics.Scoding.o
Fcoding-system-p
Return t if OBJECT is nil or a coding-system.
See the documentation of `define-coding-system' for information
about coding-system objects.

(fn OBJECT)Fread-non-nil-coding-system
Read a coding system from the minibuffer, prompting with string PROMPT.

(fn PROMPT)Fread-coding-system
Read a coding system from the minibuffer, prompting with string PROMPT.
If the user enters null input, return second argument DEFAULT-CODING-SYSTEM.
Ignores case when completing coding systems (all Emacs coding systems
are lower-case).

(fn PROMPT &optional DEFAULT-CODING-SYSTEM)Fcheck-coding-system
Check validity of CODING-SYSTEM.
If valid, return CODING-SYSTEM, else signal a `coding-system-error' error.
It is valid if it is nil or a symbol defined as a coding system by the
function `define-coding-system'.

(fn CODING-SYSTEM)Fdetect-coding-region
Detect coding system of the text in the region between START and END.
Return a list of possible coding systems ordered by priority.
The coding systems to try and their priorities follows what
the function `coding-system-priority-list' (which see) returns.

If only ASCII characters are found (except for such ISO-2022 control
characters as ESC), it returns a list of single element `undecided'
or its subsidiary coding system according to a detected end-of-line
format.

If optional argument HIGHEST is non-nil, return the coding system of
highest priority.

(fn START END &optional HIGHEST)Fdetect-coding-string
Detect coding system of the text in STRING.
Return a list of possible coding systems ordered by priority.
The coding systems to try and their priorities follows what
the function `coding-system-priority-list' (which see) returns.

If only ASCII characters are found (except for such ISO-2022 control
characters as ESC), it returns a list of single element `undecided'
or its subsidiary coding system according to a detected end-of-line
format.

If optional argument HIGHEST is non-nil, return the coding system of
highest priority.

(fn STRING &optional HIGHEST)Ffind-coding-systems-region-internal
Internal use only.

(fn START END &optional EXCLUDE)Funencodable-char-position
Return position of first un-encodable character in a region.
START and END specify the region and CODING-SYSTEM specifies the
encoding to check.  Return nil if CODING-SYSTEM does encode the region.

If optional 4th argument COUNT is non-nil, it specifies at most how
many un-encodable characters to search.  In this case, the value is a
list of positions.

If optional 5th argument STRING is non-nil, it is a string to search
for un-encodable characters.  In that case, START and END are indexes
to the string.

(fn START END CODING-SYSTEM &optional COUNT STRING)Fcheck-coding-systems-region
Check if the region is encodable by coding systems.

START and END are buffer positions specifying the region.
CODING-SYSTEM-LIST is a list of coding systems to check.

The value is an alist ((CODING-SYSTEM POS0 POS1 ...) ...), where
CODING-SYSTEM is a member of CODING-SYSTEM-LIST and can't encode the
whole region, POS0, POS1, ... are buffer positions where non-encodable
characters are found.

If all coding systems in CODING-SYSTEM-LIST can encode the region, the
value is nil.

START may be a string.  In that case, check if the string is
encodable, and the value contains indices to the string instead of
buffer positions.  END is ignored.

If the current buffer (or START if it is a string) is unibyte, the value
is nil.

(fn START END CODING-SYSTEM-LIST)Fdecode-coding-region
Decode the current region from the specified coding system.
When called from a program, takes four arguments:
	START, END, CODING-SYSTEM, and DESTINATION.
START and END are buffer positions.

Optional 4th arguments DESTINATION specifies where the decoded text goes.
If nil, the region between START and END is replaced by the decoded text.
If buffer, the decoded text is inserted in that buffer after point (point
does not move).
In those cases, the length of the decoded text is returned.
If DESTINATION is t, the decoded text is returned.

This function sets `last-coding-system-used' to the precise coding system
used (which may be different from CODING-SYSTEM if CODING-SYSTEM is
not fully specified.)

(fn START END CODING-SYSTEM &optional DESTINATION)Fencode-coding-region
Encode the current region by specified coding system.
When called from a program, takes four arguments:
        START, END, CODING-SYSTEM and DESTINATION.
START and END are buffer positions.

Optional 4th arguments DESTINATION specifies where the encoded text goes.
If nil, the region between START and END is replace by the encoded text.
If buffer, the encoded text is inserted in that buffer after point (point
does not move).
In those cases, the length of the encoded text is returned.
If DESTINATION is t, the encoded text is returned.

This function sets `last-coding-system-used' to the precise coding system
used (which may be different from CODING-SYSTEM if CODING-SYSTEM is
not fully specified.)

(fn START END CODING-SYSTEM &optional DESTINATION)Fdecode-coding-string
Decode STRING which is encoded in CODING-SYSTEM, and return the result.

Optional third arg NOCOPY non-nil means it is OK to return STRING itself
if the decoding operation is trivial.

Optional fourth arg BUFFER non-nil means that the decoded text is
inserted in that buffer after point (point does not move).  In this
case, the return value is the length of the decoded text.

This function sets `last-coding-system-used' to the precise coding system
used (which may be different from CODING-SYSTEM if CODING-SYSTEM is
not fully specified.)

(fn STRING CODING-SYSTEM &optional NOCOPY BUFFER)Fencode-coding-string
Encode STRING to CODING-SYSTEM, and return the result.

Optional third arg NOCOPY non-nil means it is OK to return STRING
itself if the encoding operation is trivial.

Optional fourth arg BUFFER non-nil means that the encoded text is
inserted in that buffer after point (point does not move).  In this
case, the return value is the length of the encoded text.

This function sets `last-coding-system-used' to the precise coding system
used (which may be different from CODING-SYSTEM if CODING-SYSTEM is
not fully specified.)

(fn STRING CODING-SYSTEM &optional NOCOPY BUFFER)Fdecode-sjis-char
Decode a Japanese character which has CODE in shift_jis encoding.
Return the corresponding character.

(fn CODE)Fencode-sjis-char
Encode a Japanese character CH to shift_jis encoding.
Return the corresponding code in SJIS.

(fn CH)Fdecode-big5-char
Decode a Big5 character which has CODE in BIG5 coding system.
Return the corresponding character.

(fn CODE)Fencode-big5-char
Encode the Big5 character CH to BIG5 coding system.
Return the corresponding character code in Big5.

(fn CH)Fset-terminal-coding-system-internal
Internal use only.

(fn CODING-SYSTEM &optional TERMINAL)Fset-safe-terminal-coding-system-internal
Internal use only.

(fn CODING-SYSTEM)Fterminal-coding-system
Return coding system specified for terminal output on the given terminal.
TERMINAL may be a terminal object, a frame, or nil for the selected
frame's terminal device.

(fn &optional TERMINAL)Fset-keyboard-coding-system-internal
Internal use only.

(fn CODING-SYSTEM &optional TERMINAL)Fkeyboard-coding-system
Return coding system specified for decoding keyboard input.

(fn &optional TERMINAL)Ffind-operation-coding-system
Choose a coding system for an operation based on the target name.
The value names a pair of coding systems: (DECODING-SYSTEM . ENCODING-SYSTEM).
DECODING-SYSTEM is the coding system to use for decoding
(in case OPERATION does decoding), and ENCODING-SYSTEM is the coding system
for encoding (in case OPERATION does encoding).

The first argument OPERATION specifies an I/O primitive:
  For file I/O, `insert-file-contents' or `write-region'.
  For process I/O, `call-process', `call-process-region', or `start-process'.
  For network I/O, `open-network-stream'.

The remaining arguments should be the same arguments that were passed
to the primitive.  Depending on which primitive, one of those arguments
is selected as the TARGET.  For example, if OPERATION does file I/O,
whichever argument specifies the file name is TARGET.

TARGET has a meaning which depends on OPERATION:
  For file I/O, TARGET is a file name (except for the special case below).
  For process I/O, TARGET is a process name.
  For network I/O, TARGET is a service name or a port number.

This function looks up what is specified for TARGET in
`file-coding-system-alist', `process-coding-system-alist',
or `network-coding-system-alist' depending on OPERATION.
They may specify a coding system, a cons of coding systems,
or a function symbol to call.
In the last case, we call the function with one argument,
which is a list of all the arguments given to this function.
If the function can't decide a coding system, it can return
`undecided' so that the normal code-detection is performed.

If OPERATION is `insert-file-contents', the argument corresponding to
TARGET may be a cons (FILENAME . BUFFER).  In that case, FILENAME is a
file name to look up, and BUFFER is a buffer that contains the file's
contents (not yet decoded).  If `file-coding-system-alist' specifies a
function to call for FILENAME, that function should examine the
contents of BUFFER instead of reading the file.

(fn OPERATION ARGUMENTS...)Fset-coding-system-priority
Assign higher priority to the coding systems given as arguments.
If multiple coding systems belong to the same category,
all but the first one are ignored.

(fn &rest coding-systems)Fcoding-system-priority-list
Return a list of coding systems ordered by their priorities.
The list contains a subset of coding systems; i.e. coding systems
assigned to each coding category (see `coding-category-list').

HIGHESTP non-nil means just return the highest priority one.

(fn &optional HIGHESTP)Fdefine-coding-system-internal
For internal use only.

(fn ...)Fcoding-system-put
Change value in CODING-SYSTEM's property list PROP to VAL.

(fn CODING-SYSTEM PROP VAL)Fdefine-coding-system-alias
Define ALIAS as an alias for CODING-SYSTEM.

(fn ALIAS CODING-SYSTEM)Fcoding-system-base
Return the base of CODING-SYSTEM.
Any alias or subsidiary coding system is not a base coding system.

(fn CODING-SYSTEM)Fcoding-system-plist
Return the property list of CODING-SYSTEM.

(fn CODING-SYSTEM)Fcoding-system-aliases
Return the list of aliases of CODING-SYSTEM.

(fn CODING-SYSTEM)Fcoding-system-eol-type
Return eol-type of CODING-SYSTEM.
An eol-type is an integer 0, 1, 2, or a vector of coding systems.

Integer values 0, 1, and 2 indicate a format of end-of-line; LF, CRLF,
and CR respectively.

A vector value indicates that a format of end-of-line should be
detected automatically.  Nth element of the vector is the subsidiary
coding system whose eol-type is N.

(fn CODING-SYSTEM)Vcoding-system-list
List of coding systems.

Do not alter the value of this variable manually.  This variable should be
updated by the functions `define-coding-system' and
`define-coding-system-alias'.Vcoding-system-alist
Alist of coding system names.
Each element is one element list of coding system name.
This variable is given to `completing-read' as COLLECTION argument.

Do not alter the value of this variable manually.  This variable should be
updated by the functions `make-coding-system' and
`define-coding-system-alias'.Vcoding-category-list
List of coding-categories (symbols) ordered by priority.

On detecting a coding system, Emacs tries code detection algorithms
associated with each coding-category one by one in this order.  When
one algorithm agrees with a byte sequence of source text, the coding
system bound to the corresponding coding-category is selected.

Don't modify this variable directly, but use `set-coding-system-priority'.Vcoding-system-for-read
Specify the coding system for read operations.
It is useful to bind this variable with `let', but do not set it globally.
If the value is a coding system, it is used for decoding on read operation.
If not, an appropriate element is used from one of the coding system alists.
There are three such tables: `file-coding-system-alist',
`process-coding-system-alist', and `network-coding-system-alist'.Vcoding-system-for-write
Specify the coding system for write operations.
Programs bind this variable with `let', but you should not set it globally.
If the value is a coding system, it is used for encoding of output,
when writing it to a file and when sending it to a file or subprocess.

If this does not specify a coding system, an appropriate element
is used from one of the coding system alists.
There are three such tables: `file-coding-system-alist',
`process-coding-system-alist', and `network-coding-system-alist'.
For output to files, if the above procedure does not specify a coding system,
the value of `buffer-file-coding-system' is used.Vlast-coding-system-used
Coding system used in the latest file or process I/O.Vlast-code-conversion-error
Error status of the last code conversion.

When an error was detected in the last code conversion, this variable
is set to one of the following symbols.
  `insufficient-source'
  `inconsistent-eol'
  `invalid-source'
  `interrupted'
  `insufficient-memory'
When no error was detected, the value doesn't change.  So, to check
the error status of a code conversion by this variable, you must
explicitly set this variable to nil before performing code
conversion.Vinhibit-eol-conversion
*Non-nil means always inhibit code conversion of end-of-line format.
See info node `Coding Systems' and info node `Text and Binary' concerning
such conversion.Vinherit-process-coding-system
Non-nil means process buffer inherits coding system of process output.
Bind it to t if the process output is to be treated as if it were a file
read from some filesystem.Vfile-coding-system-alist
Alist to decide a coding system to use for a file I/O operation.
The format is ((PATTERN . VAL) ...),
where PATTERN is a regular expression matching a file name,
VAL is a coding system, a cons of coding systems, or a function symbol.
If VAL is a coding system, it is used for both decoding and encoding
the file contents.
If VAL is a cons of coding systems, the car part is used for decoding,
and the cdr part is used for encoding.
If VAL is a function symbol, the function must return a coding system
or a cons of coding systems which are used as above.  The function is
called with an argument that is a list of the arguments with which
`find-operation-coding-system' was called.  If the function can't decide
a coding system, it can return `undecided' so that the normal
code-detection is performed.

See also the function `find-operation-coding-system'
and the variable `auto-coding-alist'.Vprocess-coding-system-alist
Alist to decide a coding system to use for a process I/O operation.
The format is ((PATTERN . VAL) ...),
where PATTERN is a regular expression matching a program name,
VAL is a coding system, a cons of coding systems, or a function symbol.
If VAL is a coding system, it is used for both decoding what received
from the program and encoding what sent to the program.
If VAL is a cons of coding systems, the car part is used for decoding,
and the cdr part is used for encoding.
If VAL is a function symbol, the function must return a coding system
or a cons of coding systems which are used as above.

See also the function `find-operation-coding-system'.Vnetwork-coding-system-alist
Alist to decide a coding system to use for a network I/O operation.
The format is ((PATTERN . VAL) ...),
where PATTERN is a regular expression matching a network service name
or is a port number to connect to,
VAL is a coding system, a cons of coding systems, or a function symbol.
If VAL is a coding system, it is used for both decoding what received
from the network stream and encoding what sent to the network stream.
If VAL is a cons of coding systems, the car part is used for decoding,
and the cdr part is used for encoding.
If VAL is a function symbol, the function must return a coding system
or a cons of coding systems which are used as above.

See also the function `find-operation-coding-system'.Vlocale-coding-system
Coding system to use with system messages.
Also used for decoding keyboard input on X Window system.Veol-mnemonic-unix
*String displayed in mode line for UNIX-like (LF) end-of-line format.Veol-mnemonic-dos
*String displayed in mode line for DOS-like (CRLF) end-of-line format.Veol-mnemonic-mac
*String displayed in mode line for MAC-like (CR) end-of-line format.Veol-mnemonic-undecided
*String displayed in mode line when end-of-line format is not yet determined.Venable-character-translation
*Non-nil enables character translation while encoding and decoding.Vstandard-translation-table-for-decode
Table for translating characters while decoding.Vstandard-translation-table-for-encode
Table for translating characters while encoding.Vcharset-revision-table
Alist of charsets vs revision numbers.
While encoding, if a charset (car part of an element) is found,
designate it with the escape sequence identifying revision (cdr part
of the element).Vdefault-process-coding-system
Cons of coding systems used for process I/O by default.
The car part is used for decoding a process output,
the cdr part is used for encoding a text to be sent to a process.Vlatin-extra-code-table
Table of extra Latin codes in the range 128..159 (inclusive).
This is a vector of length 256.
If Nth element is non-nil, the existence of code N in a file
(or output of subprocess) doesn't prevent it to be detected as
a coding system of ISO 2022 variant which has a flag
`accept-latin-extra-code' t (e.g. iso-latin-1) on reading a file
or reading output of a subprocess.
Only 128th through 159th elements have a meaning.Vselect-safe-coding-system-function
Function to call to select safe coding system for encoding a text.

If set, this function is called to force a user to select a proper
coding system which can encode the text in the case that a default
coding system used in each operation can't encode the text.  The
function should take care that the buffer is not modified while
the coding system is being selected.

The default value is `select-safe-coding-system' (which see).Vcoding-system-require-warning
Internal use only.
If non-nil, on writing a file, `select-safe-coding-system-function' is
called even if `coding-system-for-write' is non-nil.  The command
`universal-coding-system-argument' binds this variable to t temporarily.Vinhibit-iso-escape-detection
If non-nil, Emacs ignores ISO-2022 escape sequences during code detection.

When Emacs reads text, it tries to detect how the text is encoded.
This code detection is sensitive to escape sequences.  If Emacs sees
a valid ISO-2022 escape sequence, it assumes the text is encoded in one
of the ISO2022 encodings, and decodes text by the corresponding coding
system (e.g. `iso-2022-7bit').

However, there may be a case that you want to read escape sequences in
a file as is.  In such a case, you can set this variable to non-nil.
Then the code detection will ignore any escape sequences, and no text is
detected as encoded in some ISO-2022 encoding.  The result is that all
escape sequences become visible in a buffer.

The default value is nil, and it is strongly recommended not to change
it.  That is because many Emacs Lisp source files that contain
non-ASCII characters are encoded by the coding system `iso-2022-7bit'
in Emacs's distribution, and they won't be decoded correctly on
reading if you suppress escape sequence detection.

The other way to read escape sequences in a file without decoding is
to explicitly specify some coding system that doesn't use ISO-2022
escape sequence (e.g., `latin-1') on reading by \[universal-coding-system-argument].Vinhibit-null-byte-detection
If non-nil, Emacs ignores null bytes on code detection.
By default, Emacs treats it as binary data, and does not attempt to
decode it.  The effect is as if you specified `no-conversion' for
reading that text.

Set this to non-nil when a regular text happens to include null bytes.
Examples are Index nodes of Info files and null-byte delimited output
from GNU Find and GNU Grep.  Emacs will then ignore the null bytes and
decode text as usual.Vtranslation-table-for-input
Char table for translating self-inserting characters.
This is applied to the result of input methods, not their input.
See also `keyboard-translate-table'.

Use of this variable for character code unification was rendered
obsolete in Emacs 23.1 and later, since Unicode is now the basis of
internal character representation.Scategory.o
Fmake-category-set
Return a newly created category-set which contains CATEGORIES.
CATEGORIES is a string of category mnemonics.
The value is a bool-vector which has t at the indices corresponding to
those categories.

(fn CATEGORIES)Fdefine-category
Define CATEGORY as a category which is described by DOCSTRING.
CATEGORY should be an ASCII printing character in the range ` ' to `~'.
DOCSTRING is the documentation string of the category.  The first line
should be a terse text (preferably less than 16 characters),
and the rest lines should be the full description.
The category is defined only in category table TABLE, which defaults to
the current buffer's category table.

(fn CATEGORY DOCSTRING &optional TABLE)Fcategory-docstring
Return the documentation string of CATEGORY, as defined in TABLE.
TABLE should be a category table and defaults to the current buffer's
category table.

(fn CATEGORY &optional TABLE)Fget-unused-category
Return a category which is not yet defined in TABLE.
If no category remains available, return nil.
The optional argument TABLE specifies which category table to modify;
it defaults to the current buffer's category table.

(fn &optional TABLE)Fcategory-table-p
Return t if ARG is a category table.

(fn ARG)Fcategory-table
Return the current category table.
This is the one specified by the current buffer.

(fn)Fstandard-category-table
Return the standard category table.
This is the one used for new buffers.

(fn)Fcopy-category-table
Construct a new category table and return it.
It is a copy of the TABLE, which defaults to the standard category table.

(fn &optional TABLE)Fmake-category-table
Construct a new and empty category table and return it.

(fn)Fset-category-table
Specify TABLE as the category table for the current buffer.
Return TABLE.

(fn TABLE)Fchar-category-set
Return the category set of CHAR.

(fn CHAR)Fcategory-set-mnemonics
Return a string containing mnemonics of the categories in CATEGORY-SET.
CATEGORY-SET is a bool-vector, and the categories "in" it are those
that are indexes where t occurs in the bool-vector.
The return value is a string containing those same categories.

(fn CATEGORY-SET)Fmodify-category-entry
Modify the category set of CHARACTER by adding CATEGORY to it.
The category is changed only for table TABLE, which defaults to
the current buffer's category table.
CHARACTER can be either a single character or a cons representing the
lower and upper ends of an inclusive character range to modify.
If optional fourth argument RESET is non-nil,
then delete CATEGORY from the category set instead of adding it.

(fn CHARACTER CATEGORY &optional TABLE RESET)Vword-combining-categories
List of pair (cons) of categories to determine word boundary.

Emacs treats a sequence of word constituent characters as a single
word (i.e. finds no word boundary between them) only if they belong to
the same script.  But, exceptions are allowed in the following cases.

(1) The case that characters are in different scripts is controlled
by the variable `word-combining-categories'.

Emacs finds no word boundary between characters of different scripts
if they have categories matching some element of this list.

More precisely, if an element of this list is a cons of category CAT1
and CAT2, and a multibyte character C1 which has CAT1 is followed by
C2 which has CAT2, there's no word boundary between C1 and C2.

For instance, to tell that Han characters followed by Hiragana
characters can form a single word, the element `(?C . ?H)' should be
in this list.

(2) The case that character are in the same script is controlled by
the variable `word-separating-categories'.

Emacs finds a word boundary between characters of the same script
if they have categories matching some element of this list.

More precisely, if an element of this list is a cons of category CAT1
and CAT2, and a multibyte character C1 which has CAT1 but not CAT2 is
followed by C2 which has CAT2 but not CAT1, there's a word boundary
between C1 and C2.

For instance, to tell that there's a word boundary between Hiragana
and Katakana (both are in the same script `kana'),
the element `(?H . ?K) should be in this list.Vword-separating-categories
List of pair (cons) of categories to determine word boundary.
See the documentation of the variable `word-combining-categories'.Sccl.o
Fccl-program-p
Return t if OBJECT is a CCL program name or a compiled CCL program code.
See the documentation of `define-ccl-program' for the detail of CCL program.

(fn OBJECT)Fccl-execute
Execute CCL-PROGRAM with registers initialized by REGISTERS.

CCL-PROGRAM is a CCL program name (symbol)
or compiled code generated by `ccl-compile' (for backward compatibility.
In the latter case, the execution overhead is bigger than in the former).
No I/O commands should appear in CCL-PROGRAM.

REGISTERS is a vector of [R0 R1 ... R7] where RN is an initial value
for the Nth register.

As side effect, each element of REGISTERS holds the value of
the corresponding register after the execution.

See the documentation of `define-ccl-program' for a definition of CCL
programs.

(fn CCL-PROG REG)Fccl-execute-on-string
Execute CCL-PROGRAM with initial STATUS on STRING.

CCL-PROGRAM is a symbol registered by `register-ccl-program',
or a compiled code generated by `ccl-compile' (for backward compatibility,
in this case, the execution is slower).

Read buffer is set to STRING, and write buffer is allocated automatically.

STATUS is a vector of [R0 R1 ... R7 IC], where
 R0..R7 are initial values of corresponding registers,
 IC is the instruction counter specifying from where to start the program.
If R0..R7 are nil, they are initialized to 0.
If IC is nil, it is initialized to head of the CCL program.

If optional 4th arg CONTINUE is non-nil, keep IC on read operation
when read buffer is exhausted, else, IC is always set to the end of
CCL-PROGRAM on exit.

It returns the contents of write buffer as a string,
 and as side effect, STATUS is updated.
If the optional 5th arg UNIBYTE-P is non-nil, the returned string
is a unibyte string.  By default it is a multibyte string.

See the documentation of `define-ccl-program' for the detail of CCL program.

(fn CCL-PROGRAM STATUS STRING &optional CONTINUE UNIBYTE-P)Fregister-ccl-program
Register CCL program CCL-PROG as NAME in `ccl-program-table'.
CCL-PROG should be a compiled CCL program (vector), or nil.
If it is nil, just reserve NAME as a CCL program name.
Return index number of the registered CCL program.

(fn NAME CCL-PROG)Fregister-code-conversion-map
Register SYMBOL as code conversion map MAP.
Return index number of the registered map.

(fn SYMBOL MAP)Vcode-conversion-map-vector
Vector of code conversion maps.Vfont-ccl-encoder-alist
Alist of fontname patterns vs corresponding CCL program.
Each element looks like (REGEXP . CCL-CODE),
 where CCL-CODE is a compiled CCL program.
When a font whose name matches REGEXP is used for displaying a character,
 CCL-CODE is executed to calculate the code point in the font
 from the charset number and position code(s) of the character which are set
 in CCL registers R0, R1, and R2 before the execution.
The code point in the font is set in CCL registers R1 and R2
 when the execution terminated.
 If the font is single-byte font, the register R2 is not used.Vtranslation-hash-table-vector
Vector containing all translation hash tables ever defined.
Comprises pairs (SYMBOL . TABLE) where SYMBOL and TABLE were set up by calls
to `define-translation-hash-table'.  The vector is indexed by the table id
used by CCL.Scharacter.o
Fcharacterp
Return non-nil if OBJECT is a character.
In Emacs Lisp, characters are represented by character codes, which
are non-negative integers.  The function `max-char' returns the
maximum character code.

(fn OBJECT)Fmax-char
Return the character of the maximum code.

(fn)Funibyte-char-to-multibyte
Convert the byte CH to multibyte character.

(fn CH)Fmultibyte-char-to-unibyte
Convert the multibyte character CH to a byte.
If the multibyte character does not represent a byte, return -1.

(fn CH)Fchar-width
Return width of CHAR when displayed in the current buffer.
The width is measured by how many columns it occupies on the screen.
Tab is taken to occupy `tab-width' columns.

(fn CHAR)Fstring-width
Return width of STRING when displayed in the current buffer.
Width is measured by how many columns it occupies on the screen.
When calculating width of a multibyte character in STRING,
only the base leading-code is considered; the validity of
the following bytes is not checked.  Tabs in STRING are always
taken to occupy `tab-width' columns.

(fn STRING)Fstring
Concatenate all the argument characters and make the result a string.

(fn &rest CHARACTERS)Funibyte-string
Concatenate all the argument bytes and make the result a unibyte string.

(fn &rest BYTES)Fchar-resolve-modifiers
Resolve modifiers in the character CHAR.
The value is a character with modifiers resolved into the character
code.  Unresolved modifiers are kept in the value.

(fn CHAR)Fget-byte
Return a byte value of a character at point.
Optional 1st arg POSITION, if non-nil, is a position of a character to get
a byte value.
Optional 2nd arg STRING, if non-nil, is a string of which first
character is a target to get a byte value.  In this case, POSITION, if
non-nil, is an index of a target character in the string.

If the current buffer (or STRING) is multibyte, and the target
character is not ASCII nor 8-bit character, an error is signaled.

(fn &optional POSITION STRING)Vtranslation-table-vector
Vector recording all translation tables ever defined.
Each element is a pair (SYMBOL . TABLE) relating the table to the
symbol naming it.  The ID of a translation table is an index into this vector.Vauto-fill-chars
A char-table for characters which invoke auto-filling.
Such characters have value t in this table.Vchar-width-table
A char-table for width (columns) of each character.Vprintable-chars
A char-table for each printable character.Vchar-script-table
Char table of script symbols.
It has one extra slot whose value is a list of script symbols.Vscript-representative-chars
Alist of scripts vs the representative characters.
Each element is a cons (SCRIPT . CHARS).
SCRIPT is a symbol representing a script or a subgroup of a script.
CHARS is a list or a vector of characters.
If it is a list, all characters in the list are necessary for supporting SCRIPT.
If it is a vector, one of the characters in the vector is necessary.
This variable is used to find a font for a specific script.Vunicode-category-table
Char table of Unicode's "General Category".
All Unicode characters have one of the following values (symbol):
  Lu, Ll, Lt, Lm, Lo, Mn, Mc, Me, Nd, Nl, No, Pc, Pd, Ps, Pe, Pi, Pf, Po,
  Sm, Sc, Sk, So, Zs, Zl, Zp, Cc, Cf, Cs, Co, Cn
See The Unicode Standard for the meaning of those values.Schartab.o
Fmake-char-table
Return a newly created char-table, with purpose PURPOSE.
Each element is initialized to INIT, which defaults to nil.

PURPOSE should be a symbol.  If it has a `char-table-extra-slots'
property, the property's value should be an integer between 0 and 10
that specifies how many extra slots the char-table has.  Otherwise,
the char-table has no extra slot.

(fn PURPOSE &optional INIT)Fchar-table-subtype
Return the subtype of char-table CHAR-TABLE.  The value is a symbol.

(fn CHAR-TABLE)Fchar-table-parent
Return the parent char-table of CHAR-TABLE.
The value is either nil or another char-table.
If CHAR-TABLE holds nil for a given character,
then the actual applicable value is inherited from the parent char-table
(or from its parents, if necessary).

(fn CHAR-TABLE)Fset-char-table-parent
Set the parent char-table of CHAR-TABLE to PARENT.
Return PARENT.  PARENT must be either nil or another char-table.

(fn CHAR-TABLE PARENT)Fchar-table-extra-slot
Return the value of CHAR-TABLE's extra-slot number N.

(fn CHAR-TABLE N)Fset-char-table-extra-slot
Set CHAR-TABLE's extra-slot number N to VALUE.

(fn CHAR-TABLE N VALUE)Fchar-table-range
Return the value in CHAR-TABLE for a range of characters RANGE.
RANGE should be nil (for the default value),
a cons of character codes (for characters in the range), or a character code.

(fn CHAR-TABLE RANGE)Fset-char-table-range
Set the value in CHAR-TABLE for a range of characters RANGE to VALUE.
RANGE should be t (for all characters), nil (for the default value),
a cons of character codes (for characters in the range),
or a character code.  Return VALUE.

(fn CHAR-TABLE RANGE VALUE)Foptimize-char-table
Optimize CHAR-TABLE.
TEST is the comparison function used to decide whether two entries are
equivalent and can be merged.  It defaults to `equal'.

(fn CHAR-TABLE &optional TEST)Fmap-char-table
Call FUNCTION for each character in CHAR-TABLE that has non-nil value.
FUNCTION is called with two arguments, KEY and VALUE.
KEY is a character code or a cons of character codes specifying a
range of characters that have the same value.
VALUE is what (char-table-range CHAR-TABLE KEY) returns.

(fn FUNCTION CHAR-TABLE)Funicode-property-table-internal
Return a char-table for Unicode character property PROP.
Use `get-unicode-property-internal' and
`put-unicode-property-internal' instead of `aref' and `aset' to get
and put an element value.

(fn PROP)Fget-unicode-property-internal
Return an element of CHAR-TABLE for character CH.
CHAR-TABLE must be what returned by `unicode-property-table-internal'.

(fn CHAR-TABLE CH)Fput-unicode-property-internal
Set an element of CHAR-TABLE for character CH to VALUE.
CHAR-TABLE must be what returned by `unicode-property-table-internal'.

(fn CHAR-TABLE CH VALUE)Vchar-code-property-alist
Alist of character property name vs char-table containing property values.
Internal use only.Sbidi.o
Scm.o
Sterm.o
Ftty-display-color-p
Return non-nil if the tty device TERMINAL can display colors.

TERMINAL can be a terminal object, a frame, or nil (meaning the
selected frame's terminal).  This function always returns nil if
TERMINAL does not refer to a text terminal.

(fn &optional TERMINAL)Ftty-display-color-cells
Return the number of colors supported by the tty device TERMINAL.

TERMINAL can be a terminal object, a frame, or nil (meaning the
selected frame's terminal).  This function always returns 0 if
TERMINAL does not refer to a text terminal.

(fn &optional TERMINAL)Ftty-type
Return the type of the tty device that TERMINAL uses.
Returns nil if TERMINAL is not on a tty device.

TERMINAL can be a terminal object, a frame, or nil (meaning the
selected frame's terminal).

(fn &optional TERMINAL)Fcontrolling-tty-p
Return non-nil if TERMINAL is the controlling tty of the Emacs process.

TERMINAL can be a terminal object, a frame, or nil (meaning the
selected frame's terminal).  This function always returns nil if
TERMINAL is not on a tty device.

(fn &optional TERMINAL)Ftty-no-underline
Declare that the tty used by TERMINAL does not handle underlining.
This is used to override the terminfo data, for certain terminals that
do not really do underlining, but say that they do.  This function has
no effect if used on a non-tty terminal.

TERMINAL can be a terminal object, a frame or nil (meaning the
selected frame's terminal).  This function always returns nil if
TERMINAL does not refer to a text terminal.

(fn &optional TERMINAL)Ftty-top-frame
Return the topmost terminal frame on TERMINAL.
TERMINAL can be a terminal object, a frame or nil (meaning the
selected frame's terminal).  This function returns nil if TERMINAL
does not refer to a text terminal.  Otherwise, it returns the
top-most frame on the text terminal.

(fn &optional TERMINAL)Fsuspend-tty
Suspend the terminal device TTY.

The device is restored to its default state, and Emacs ceases all
access to the tty device.  Frames that use the device are not deleted,
but input is not read from them and if they change, their display is
not updated.

TTY may be a terminal object, a frame, or nil for the terminal device
of the currently selected frame.

This function runs `suspend-tty-functions' after suspending the
device.  The functions are run with one arg, the id of the suspended
terminal device.

`suspend-tty' does nothing if it is called on a device that is already
suspended.

A suspended tty may be resumed by calling `resume-tty' on it.

(fn &optional TTY)Fresume-tty
Resume the previously suspended terminal device TTY.
The terminal is opened and reinitialized.  Frames that are on the
suspended terminal are revived.

It is an error to resume a terminal while another terminal is active
on the same device.

This function runs `resume-tty-functions' after resuming the terminal.
The functions are run with one arg, the id of the resumed terminal
device.

`resume-tty' does nothing if it is called on a device that is not
suspended.

TTY may be a terminal object, a frame, or nil (meaning the selected
frame's terminal).

(fn &optional TTY)Fgpm-mouse-start
Open a connection to Gpm.
Gpm-mouse can only be activated for one tty at a time.

(fn)Fgpm-mouse-stop
Close a connection to Gpm.

(fn)Vsystem-uses-terminfo
Non-nil means the system uses terminfo rather than termcap.
This variable can be used by terminal emulator packages.Vsuspend-tty-functions
Functions run after suspending a tty.
The functions are run with one argument, the terminal object to be suspended.
See `suspend-tty'.Vresume-tty-functions
Functions run after resuming a tty.
The functions are run with one argument, the terminal object that was revived.
See `resume-tty'.Vvisible-cursor
Non-nil means to make the cursor very visible.
This only has an effect when running in a text terminal.
What means "very visible" is up to your terminal.  It may make the cursor
bigger, or it may make it blink, or it may do nothing at all.Sterminal.o
Fdelete-terminal
Delete TERMINAL by deleting all frames on it and closing the terminal.
TERMINAL may be a terminal object, a frame, or nil (meaning the
selected frame's terminal).

Normally, you may not delete a display if all other displays are suspended,
but if the second argument FORCE is non-nil, you may do so.

(fn &optional TERMINAL FORCE)Fframe-terminal
Return the terminal that FRAME is displayed on.
If FRAME is nil, the selected frame is used.

The terminal device is represented by its integer identifier.

(fn &optional FRAME)Fterminal-live-p
Return non-nil if OBJECT is a terminal which has not been deleted.
Value is nil if OBJECT is not a live display terminal.
If object is a live display terminal, the return value indicates what
sort of output terminal it uses.  See the documentation of `framep' for
possible return values.

(fn OBJECT)Fterminal-list
Return a list of all terminal devices.

(fn)Fterminal-name
Return the name of the terminal device TERMINAL.
It is not guaranteed that the returned value is unique among opened devices.

TERMINAL may be a terminal object, a frame, or nil (meaning the
selected frame's terminal).

(fn &optional TERMINAL)Fterminal-parameters
Return the parameter-alist of terminal TERMINAL.
The value is a list of elements of the form (PARM . VALUE), where PARM
is a symbol.

TERMINAL can be a terminal object, a frame, or nil (meaning the
selected frame's terminal).

(fn &optional TERMINAL)Fterminal-parameter
Return TERMINAL's value for parameter PARAMETER.
TERMINAL can be a terminal object, a frame, or nil (meaning the
selected frame's terminal).

(fn TERMINAL PARAMETER)Fset-terminal-parameter
Set TERMINAL's value for parameter PARAMETER to VALUE.
Return the previous value of PARAMETER.

TERMINAL can be a terminal object, a frame or nil (meaning the
selected frame's terminal).

(fn TERMINAL PARAMETER VALUE)Vring-bell-function
Non-nil means call this function to ring the bell.
The function should accept no arguments.Vdelete-terminal-functions
Special hook run when a terminal is deleted.
Each function is called with argument, the terminal.
This may be called just before actually deleting the terminal,
or some time later.Sxfaces.o
Fdump-colors
Dump currently allocated colors to stderr.

(fn)Fclear-face-cache
Clear face caches on all frames.
Optional THOROUGHLY non-nil means try to free unused fonts, too.

(fn &optional THOROUGHLY)Fbitmap-spec-p
Value is non-nil if OBJECT is a valid bitmap specification.
A bitmap specification is either a string, a file name, or a list
(WIDTH HEIGHT DATA) where WIDTH is the pixel width of the bitmap,
HEIGHT is its height, and DATA is a string containing the bits of
the pixmap.  Bits are stored row by row, each row occupies
(WIDTH + 7)/8 bytes.

(fn OBJECT)Fcolor-gray-p
Return non-nil if COLOR is a shade of gray (or white or black).
FRAME specifies the frame and thus the display for interpreting COLOR.
If FRAME is nil or omitted, use the selected frame.

(fn COLOR &optional FRAME)Fcolor-supported-p
Return non-nil if COLOR can be displayed on FRAME.
BACKGROUND-P non-nil means COLOR is used as a background.
Otherwise, this function tells whether it can be used as a foreground.
If FRAME is nil or omitted, use the selected frame.
COLOR must be a valid color name.

(fn COLOR &optional FRAME BACKGROUND-P)Fx-family-fonts
Return a list of available fonts of family FAMILY on FRAME.
If FAMILY is omitted or nil, list all families.
Otherwise, FAMILY must be a string, possibly containing wildcards
`?' and `*'.
If FRAME is omitted or nil, use the selected frame.
Each element of the result is a vector [FAMILY WIDTH POINT-SIZE WEIGHT
SLANT FIXED-P FULL REGISTRY-AND-ENCODING].
FAMILY is the font family name.  POINT-SIZE is the size of the
font in 1/10 pt.  WIDTH, WEIGHT, and SLANT are symbols describing the
width, weight and slant of the font.  These symbols are the same as for
face attributes.  FIXED-P is non-nil if the font is fixed-pitch.
FULL is the full name of the font, and REGISTRY-AND-ENCODING is a string
giving the registry and encoding of the font.
The result list is sorted according to the current setting of
the face font sort order.

(fn &optional FAMILY FRAME)Fx-list-fonts
Return a list of the names of available fonts matching PATTERN.
If optional arguments FACE and FRAME are specified, return only fonts
the same size as FACE on FRAME.

PATTERN should be a string containing a font name in the XLFD,
Fontconfig, or GTK format.  A font name given in the XLFD format may
contain wildcard characters:
  the * character matches any substring, and
  the ? character matches any single character.
  PATTERN is case-insensitive.

The return value is a list of strings, suitable as arguments to
`set-face-font'.

Fonts Emacs can't use may or may not be excluded
even if they match PATTERN and FACE.
The optional fourth argument MAXIMUM sets a limit on how many
fonts to match.  The first MAXIMUM fonts are reported.
The optional fifth argument WIDTH, if specified, is a number of columns
occupied by a character of a font.  In that case, return only fonts
the WIDTH times as wide as FACE on FRAME.

(fn PATTERN &optional FACE FRAME MAXIMUM WIDTH)Finternal-make-lisp-face
Make FACE, a symbol, a Lisp face with all attributes nil.
If FACE was not known as a face before, create a new one.
If optional argument FRAME is specified, make a frame-local face
for that frame.  Otherwise operate on the global face definition.
Value is a vector of face attributes.

(fn FACE &optional FRAME)Finternal-lisp-face-p
Return non-nil if FACE names a face.
FACE should be a symbol or string.
If optional second argument FRAME is non-nil, check for the
existence of a frame-local face with name FACE on that frame.
Otherwise check for the existence of a global face.

(fn FACE &optional FRAME)Finternal-copy-lisp-face
Copy face FROM to TO.
If FRAME is t, copy the global face definition of FROM.
Otherwise, copy the frame-local definition of FROM on FRAME.
If NEW-FRAME is a frame, copy that data into the frame-local
definition of TO on NEW-FRAME.  If NEW-FRAME is nil,
FRAME controls where the data is copied to.

The value is TO.

(fn FROM TO FRAME NEW-FRAME)Finternal-set-lisp-face-attribute
Set attribute ATTR of FACE to VALUE.
FRAME being a frame means change the face on that frame.
FRAME nil means change the face of the selected frame.
FRAME t means change the default for new frames.
FRAME 0 means change the face on all frames, and change the default
  for new frames.

(fn FACE ATTR VALUE &optional FRAME)Finternal-face-x-get-resource


(fn RESOURCE CLASS FRAME)Finternal-set-lisp-face-attribute-from-resource


(fn FACE ATTR VALUE &optional FRAME)Fface-attribute-relative-p
Check whether a face attribute value is relative.
Specifically, this function returns t if the attribute ATTRIBUTE
with the value VALUE is relative.

A relative value is one that doesn't entirely override whatever is
inherited from another face.  For most possible attributes,
the only relative value that users see is `unspecified'.
However, for :height, floating point values are also relative.

(fn ATTRIBUTE VALUE)Fmerge-face-attribute
Return face ATTRIBUTE VALUE1 merged with VALUE2.
If VALUE1 or VALUE2 are absolute (see `face-attribute-relative-p'), then
the result will be absolute, otherwise it will be relative.

(fn ATTRIBUTE VALUE1 VALUE2)Finternal-get-lisp-face-attribute
Return face attribute KEYWORD of face SYMBOL.
If SYMBOL does not name a valid Lisp face or KEYWORD isn't a valid
face attribute name, signal an error.
If the optional argument FRAME is given, report on face SYMBOL in that
frame.  If FRAME is t, report on the defaults for face SYMBOL (for new
frames).  If FRAME is omitted or nil, use the selected frame.

(fn SYMBOL KEYWORD &optional FRAME)Finternal-lisp-face-attribute-values
Return a list of valid discrete values for face attribute ATTR.
Value is nil if ATTR doesn't have a discrete set of valid values.

(fn ATTR)Finternal-merge-in-global-face
Add attributes from frame-default definition of FACE to FACE on FRAME.
Default face attributes override any local face attributes.

(fn FACE FRAME)Fface-font
Return the font name of face FACE, or nil if it is unspecified.
The font name is, by default, for ASCII characters.
If the optional argument FRAME is given, report on face FACE in that frame.
If FRAME is t, report on the defaults for face FACE (for new frames).
  The font default for a face is either nil, or a list
  of the form (bold), (italic) or (bold italic).
If FRAME is omitted or nil, use the selected frame.  And, in this case,
if the optional third argument CHARACTER is given,
return the font name used for CHARACTER.

(fn FACE &optional FRAME CHARACTER)Finternal-lisp-face-equal-p
True if FACE1 and FACE2 are equal.
If the optional argument FRAME is given, report on FACE1 and FACE2 in that frame.
If FRAME is t, report on the defaults for FACE1 and FACE2 (for new frames).
If FRAME is omitted or nil, use the selected frame.

(fn FACE1 FACE2 &optional FRAME)Finternal-lisp-face-empty-p
True if FACE has no attribute specified.
If the optional argument FRAME is given, report on face FACE in that frame.
If FRAME is t, report on the defaults for face FACE (for new frames).
If FRAME is omitted or nil, use the selected frame.

(fn FACE &optional FRAME)Fframe-face-alist
Return an alist of frame-local faces defined on FRAME.
For internal use only.

(fn &optional FRAME)Fcolor-distance
Return an integer distance between COLOR1 and COLOR2 on FRAME.
COLOR1 and COLOR2 may be either strings containing the color name,
or lists of the form (RED GREEN BLUE).
If FRAME is unspecified or nil, the current frame is used.

(fn COLOR1 COLOR2 &optional FRAME)Fface-attributes-as-vector
Return a vector of face attributes corresponding to PLIST.

(fn PLIST)Fdisplay-supports-face-attributes-p
Return non-nil if all the face attributes in ATTRIBUTES are supported.
The optional argument DISPLAY can be a display name, a frame, or
nil (meaning the selected frame's display).

The definition of `supported' is somewhat heuristic, but basically means
that a face containing all the attributes in ATTRIBUTES, when merged
with the default face for display, can be represented in a way that's

 (1) different in appearance than the default face, and
 (2) `close in spirit' to what the attributes specify, if not exact.

Point (2) implies that a `:weight black' attribute will be satisfied by
any display that can display bold, and a `:foreground "yellow"' as long
as it can display a yellowish color, but `:slant italic' will _not_ be
satisfied by the tty display code's automatic substitution of a `dim'
face for italic.

(fn ATTRIBUTES &optional DISPLAY)Finternal-set-font-selection-order
Set font selection order for face font selection to ORDER.
ORDER must be a list of length 4 containing the symbols `:width',
`:height', `:weight', and `:slant'.  Face attributes appearing
first in ORDER are matched first, e.g. if `:height' appears before
`:weight' in ORDER, font selection first tries to find a font with
a suitable height, and then tries to match the font weight.
Value is ORDER.

(fn ORDER)Finternal-set-alternative-font-family-alist
Define alternative font families to try in face font selection.
ALIST is an alist of (FAMILY ALTERNATIVE1 ALTERNATIVE2 ...) entries.
Each ALTERNATIVE is tried in order if no fonts of font family FAMILY can
be found.  Value is ALIST.

(fn ALIST)Finternal-set-alternative-font-registry-alist
Define alternative font registries to try in face font selection.
ALIST is an alist of (REGISTRY ALTERNATIVE1 ALTERNATIVE2 ...) entries.
Each ALTERNATIVE is tried in order if no fonts of font registry REGISTRY can
be found.  Value is ALIST.

(fn ALIST)Ftty-suppress-bold-inverse-default-colors
Suppress/allow boldness of faces with inverse default colors.
SUPPRESS non-nil means suppress it.
This affects bold faces on TTYs whose foreground is the default background
color of the display and whose background is the default foreground color.
For such faces, the bold face attribute is ignored if this variable
is non-nil.

(fn SUPPRESS)Fx-load-color-file
Create an alist of color entries from an external file.

The file should define one named RGB color per line like so:
  R G B   name
where R,G,B are numbers between 0 and 255 and name is an arbitrary string.

(fn FILENAME)Fdump-face


(fn &optional N)Fshow-face-resources


(fn)Vface-new-frame-defaults
List of global face definitions (for internal use only.)Vface-default-stipple
Default stipple pattern used on monochrome displays.
This stipple pattern is used on monochrome displays
instead of shades of gray for a face background color.
See `set-face-stipple' for possible values for this variable.Vtty-defined-color-alist
An alist of defined terminal colors and their RGB values.
See the docstring of `tty-color-alist' for the details.Vscalable-fonts-allowed
Allowed scalable fonts.
A value of nil means don't allow any scalable fonts.
A value of t means allow any scalable font.
Otherwise, value must be a list of regular expressions.  A font may be
scaled if its name matches a regular expression in the list.
Note that if value is nil, a scalable font might still be used, if no
other font of the appropriate family and registry is available.Vface-ignored-fonts
List of ignored fonts.
Each element is a regular expression that matches names of fonts to
ignore.Vface-remapping-alist
Alist of face remappings.
Each element is of the form:

   (FACE . REPLACEMENT),

which causes display of the face FACE to use REPLACEMENT instead.
REPLACEMENT is a face specification, i.e. one of the following:

  (1) a face name
  (2) a property list of attribute/value pairs, or
  (3) a list in which each element has the form of (1) or (2).

List values for REPLACEMENT are merged to form the final face
specification, with earlier entries taking precedence, in the same as
as in the `face' text property.

Face-name remapping cycles are suppressed; recursive references use
the underlying face instead of the remapped face.  So a remapping of
the form:

   (FACE EXTRA-FACE... FACE)

or:

   (FACE (FACE-ATTR VAL ...) FACE)

causes EXTRA-FACE... or (FACE-ATTR VAL ...) to be _merged_ with the
existing definition of FACE.  Note that this isn't necessary for the
default face, since every face inherits from the default face.

If this variable is made buffer-local, the face remapping takes effect
only in that buffer.  For instance, the mode my-mode could define a
face `my-mode-default', and then in the mode setup function, do:

   (set (make-local-variable 'face-remapping-alist)
	'((default my-mode-default)))).

Because Emacs normally only redraws screen areas when the underlying
buffer contents change, you may need to call `redraw-display' after
changing this variable for it to take effect.Vface-font-rescale-alist
Alist of fonts vs the rescaling factors.
Each element is a cons (FONT-PATTERN . RESCALE-RATIO), where
FONT-PATTERN is a font-spec or a regular expression matching a font name, and
RESCALE-RATIO is a floating point number to specify how much larger
(or smaller) font we should use.  For instance, if a face requests
a font of 10 point, we actually use a font of 10 * RESCALE-RATIO point.Semacs.o
Finvocation-name
Return the program name that was used to run Emacs.
Any directory names are omitted.

(fn)Finvocation-directory
Return the directory name in which the Emacs executable was located.

(fn)Fkill-emacs
Exit the Emacs job and kill it.
If ARG is an integer, return ARG as the exit program code.
If ARG is a string, stuff it as keyboard input.

This function is called upon receipt of the signals SIGTERM
or SIGHUP, and upon SIGINT in batch mode.

The value of `kill-emacs-hook', if not void,
is a list of functions (of no args),
all of which are called before Emacs is actually killed.

(fn &optional ARG)Fdump-emacs
Dump current state of Emacs into executable file FILENAME.
Take symbols from SYMFILE (presumably the file you executed to run Emacs).
This is used in the file `loadup.el' when building Emacs.

You must run Emacs in batch mode in order to dump it.

(fn FILENAME SYMFILE)Fdaemonp
Return non-nil if the current emacs process is a daemon.
If the daemon was given a name argument, return that name.

(fn)Fdaemon-initialized
Mark the Emacs daemon as being initialized.
This finishes the daemonization process by doing the other half of detaching
from the parent process and its tty file descriptors.

(fn)Vcommand-line-args
Args passed by shell to Emacs, as a list of strings.
Many arguments are deleted from the list as they are processed.Vsystem-type
The value is a symbol indicating the type of operating system you are using.
Special values:
  `gnu'          compiled for a GNU Hurd system.
  `gnu/linux'    compiled for a GNU/Linux system.
  `gnu/kfreebsd' compiled for a GNU system with a FreeBSD kernel.
  `darwin'       compiled for Darwin (GNU-Darwin, Mac OS X, ...).
  `ms-dos'       compiled as an MS-DOS application.
  `windows-nt'   compiled as a native W32 application.
  `cygwin'       compiled using the Cygwin library.
Anything else (in Emacs 24.1, the possibilities are: aix, berkeley-unix,
hpux, irix, usg-unix-v) indicates some sort of Unix system.Vsystem-configuration
Value is string indicating configuration Emacs was built for.
On MS-Windows, the value reflects the OS flavor and version on which
Emacs is running.Vsystem-configuration-options
String containing the configuration options Emacs was built with.Vnoninteractive
Non-nil means Emacs is running without interactive terminal.Vkill-emacs-hook
Hook run when `kill-emacs' is called.
Since `kill-emacs' may be invoked when the terminal is disconnected (or
in other similar situations), functions placed on this hook should not
expect to be able to interact with the user.  To ask for confirmation,
see `kill-emacs-query-functions' instead.

Before Emacs 24.1, the hook was not run in batch mode, i.e., if
`noninteractive' was non-nil.Vpath-separator
String containing the character that separates directories in
search paths, such as PATH and other similar environment variables.Vinvocation-name
The program name that was used to run Emacs.
Any directory names are omitted.Vinvocation-directory
The directory in which the Emacs executable was found, to run it.
The value is nil if that directory's name is not known.Vinstallation-directory
A directory within which to look for the `lib-src' and `etc' directories.
In an installed Emacs, this is normally nil.  It is non-nil if
both `lib-src' (on MS-DOS, `info') and `etc' directories are found
within the variable `invocation-directory' or its parent.  For example,
this is the case when running an uninstalled Emacs executable from its
build directory.Vsystem-messages-locale
System locale for messages.Vprevious-system-messages-locale
Most recently used system locale for messages.Vsystem-time-locale
System locale for time.Vprevious-system-time-locale
Most recently used system locale for time.Vbefore-init-time
Value of `current-time' before Emacs begins initialization.Vafter-init-time
Value of `current-time' after loading the init files.
This is nil during initialization.Vinhibit-x-resources
If non-nil, X resources, Windows Registry settings, and NS defaults are not used.Vemacs-copyright
Short copyright string for this version of Emacs.Vemacs-version
Version numbers of this version of Emacs.Vdynamic-library-alist
Alist of dynamic libraries vs external files implementing them.
Each element is a list (LIBRARY FILE...), where the car is a symbol
representing a supported external library, and the rest are strings giving
alternate filenames for that library.

Emacs tries to load the library from the files in the order they appear on
the list; if none is loaded, the running session of Emacs won't have access
to that library.

Note that image types `pbm' and `xbm' do not need entries in this variable
because they do not depend on external libraries and are always available.

Also note that this is not a generic facility for accessing external
libraries; only those already known by Emacs will be loaded.Skeyboard.o
Frecursive-edit
Invoke the editor command loop recursively.
To get out of the recursive edit, a command can do `(throw 'exit nil)';
that tells this function to return.
Alternatively, `(throw 'exit t)' makes this function signal an error.
This function is called by the editor initialization to begin editing.

(fn)Ftop-level
Exit all recursive editing levels.
This also exits all active minibuffers.

(fn)Fexit-recursive-edit
Exit from the innermost recursive edit or minibuffer.

(fn)Fabort-recursive-edit
Abort the command that requested this recursive edit or minibuffer input.

(fn)Ftrack-mouse
Evaluate BODY with mouse movement events enabled.
Within a `track-mouse' form, mouse motion generates input events that
you can read with `read-event'.
Normally, mouse motion is ignored.

(fn BODY...)Fcurrent-idle-time
Return the current length of Emacs idleness, or nil.
The value when Emacs is idle is a list of four integers (HIGH LOW USEC PSEC)
in the same style as (current-time).

The value when Emacs is not idle is nil.

PSEC is a multiple of the system clock resolution.

(fn)Finternal-event-symbol-parse-modifiers
Parse the event symbol.  For internal use.

(fn SYMBOL)Fevent-convert-list
Convert the event description list EVENT-DESC to an event type.
EVENT-DESC should contain one base event type (a character or symbol)
and zero or more modifier names (control, meta, hyper, super, shift, alt,
drag, down, double or triple).  The base must be last.
The return value is an event type (a character or symbol) which
has the same base event type and all the specified modifiers.

(fn EVENT-DESC)Fread-key-sequence
Read a sequence of keystrokes and return as a string or vector.
The sequence is sufficient to specify a non-prefix command in the
current local and global maps.

First arg PROMPT is a prompt string.  If nil, do not prompt specially.
Second (optional) arg CONTINUE-ECHO, if non-nil, means this key echos
as a continuation of the previous key.

The third (optional) arg DONT-DOWNCASE-LAST, if non-nil, means do not
convert the last event to lower case.  (Normally any upper case event
is converted to lower case if the original event is undefined and the lower
case equivalent is defined.)  A non-nil value is appropriate for reading
a key sequence to be defined.

A C-g typed while in this function is treated like any other character,
and `quit-flag' is not set.

If the key sequence starts with a mouse click, then the sequence is read
using the keymaps of the buffer of the window clicked in, not the buffer
of the selected window as normal.

`read-key-sequence' drops unbound button-down events, since you normally
only care about the click or drag events which follow them.  If a drag
or multi-click event is unbound, but the corresponding click event would
be bound, `read-key-sequence' turns the event into a click event at the
drag's starting position.  This means that you don't have to distinguish
between click and drag, double, or triple events unless you want to.

`read-key-sequence' prefixes mouse events on mode lines, the vertical
lines separating windows, and scroll bars with imaginary keys
`mode-line', `vertical-line', and `vertical-scroll-bar'.

Optional fourth argument CAN-RETURN-SWITCH-FRAME non-nil means that this
function will process a switch-frame event if the user switches frames
before typing anything.  If the user switches frames in the middle of a
key sequence, or at the start of the sequence but CAN-RETURN-SWITCH-FRAME
is nil, then the event will be put off until after the current key sequence.

`read-key-sequence' checks `function-key-map' for function key
sequences, where they wouldn't conflict with ordinary bindings.  See
`function-key-map' for more details.

The optional fifth argument CMD-LOOP, if non-nil, means
that this key sequence is being read by something that will
read commands one after another.  It should be nil if the caller
will read just one key sequence.

(fn PROMPT &optional CONTINUE-ECHO DONT-DOWNCASE-LAST CAN-RETURN-SWITCH-FRAME CMD-LOOP)Fread-key-sequence-vector
Like `read-key-sequence' but always return a vector.

(fn PROMPT &optional CONTINUE-ECHO DONT-DOWNCASE-LAST CAN-RETURN-SWITCH-FRAME CMD-LOOP)Fcommand-execute
Execute CMD as an editor command.
CMD must be a symbol that satisfies the `commandp' predicate.
Optional second arg RECORD-FLAG non-nil
means unconditionally put this command in `command-history'.
Otherwise, that is done only if an arg is read using the minibuffer.
The argument KEYS specifies the value to use instead of (this-command-keys)
when reading the arguments; if it is nil, (this-command-keys) is used.
The argument SPECIAL, if non-nil, means that this command is executing
a special event, so ignore the prefix argument and don't clear it.

(fn CMD &optional RECORD-FLAG KEYS SPECIAL)Finput-pending-p
Return t if command input is currently available with no wait.
Actually, the value is nil only if we can be sure that no input is available;
if there is a doubt, the value is t.

(fn)Frecent-keys
Return vector of last 300 events, not counting those from keyboard macros.

(fn)Fthis-command-keys
Return the key sequence that invoked this command.
However, if the command has called `read-key-sequence', it returns
the last key sequence that has been read.
The value is a string or a vector.

See also `this-command-keys-vector'.

(fn)Fthis-command-keys-vector
Return the key sequence that invoked this command, as a vector.
However, if the command has called `read-key-sequence', it returns
the last key sequence that has been read.

See also `this-command-keys'.

(fn)Fthis-single-command-keys
Return the key sequence that invoked this command.
More generally, it returns the last key sequence read, either by
the command loop or by `read-key-sequence'.
Unlike `this-command-keys', this function's value
does not include prefix arguments.
The value is always a vector.

(fn)Fthis-single-command-raw-keys
Return the raw events that were read for this command.
More generally, it returns the last key sequence read, either by
the command loop or by `read-key-sequence'.
Unlike `this-single-command-keys', this function's value
shows the events before all translations (except for input methods).
The value is always a vector.

(fn)Freset-this-command-lengths
Make the unread events replace the last command and echo.
Used in `universal-argument-other-key'.

`universal-argument-other-key' rereads the event just typed.
It then gets translated through `function-key-map'.
The translated event has to replace the real events,
both in the value of (this-command-keys) and in echoing.
To achieve this, `universal-argument-other-key' calls
`reset-this-command-lengths', which discards the record of reading
these events the first time.

(fn)Fclear-this-command-keys
Clear out the vector that `this-command-keys' returns.
Also clear the record of the last 100 events, unless optional arg
KEEP-RECORD is non-nil.

(fn &optional KEEP-RECORD)Frecursion-depth
Return the current depth in recursive edits.

(fn)Fopen-dribble-file
Start writing all keyboard characters to a dribble file called FILE.
If FILE is nil, close any open dribble file.
The file will be closed when Emacs exits.

(fn FILE)Fdiscard-input
Discard the contents of the terminal input buffer.
Also end any kbd macro being defined.

(fn)Fsuspend-emacs
Stop Emacs and return to superior process.  You can resume later.
If `cannot-suspend' is non-nil, or if the system doesn't support job
control, run a subshell instead.

If optional arg STUFFSTRING is non-nil, its characters are stuffed
to be read as terminal input by Emacs's parent, after suspension.

Before suspending, run the normal hook `suspend-hook'.
After resumption run the normal hook `suspend-resume-hook'.

Some operating systems cannot stop the Emacs process and resume it later.
On such systems, Emacs starts a subshell instead of suspending.

(fn &optional STUFFSTRING)Fset-input-interrupt-mode
Set interrupt mode of reading keyboard input.
If INTERRUPT is non-nil, Emacs will use input interrupts;
otherwise Emacs uses CBREAK mode.

See also `current-input-mode'.

(fn INTERRUPT)Fset-output-flow-control
Enable or disable ^S/^Q flow control for output to TERMINAL.
If FLOW is non-nil, flow control is enabled and you cannot use C-s or
C-q in key sequences.

This setting only has an effect on tty terminals and only when
Emacs reads input in CBREAK mode; see `set-input-interrupt-mode'.

See also `current-input-mode'.

(fn FLOW &optional TERMINAL)Fset-input-meta-mode
Enable or disable 8-bit input on TERMINAL.
If META is t, Emacs will accept 8-bit input, and interpret the 8th
bit as the Meta modifier.

If META is nil, Emacs will ignore the top bit, on the assumption it is
parity.

Otherwise, Emacs will accept and pass through 8-bit input without
specially interpreting the top bit.

This setting only has an effect on tty terminal devices.

Optional parameter TERMINAL specifies the tty terminal device to use.
It may be a terminal object, a frame, or nil for the terminal used by
the currently selected frame.

See also `current-input-mode'.

(fn META &optional TERMINAL)Fset-quit-char
Specify character used for quitting.
QUIT must be an ASCII character.

This function only has an effect on the controlling tty of the Emacs
process.

See also `current-input-mode'.

(fn QUIT)Fset-input-mode
Set mode of reading keyboard input.
First arg INTERRUPT non-nil means use input interrupts;
 nil means use CBREAK mode.
Second arg FLOW non-nil means use ^S/^Q flow control for output to terminal
 (no effect except in CBREAK mode).
Third arg META t means accept 8-bit input (for a Meta key).
 META nil means ignore the top bit, on the assumption it is parity.
 Otherwise, accept 8-bit input and don't use the top bit for Meta.
Optional fourth arg QUIT if non-nil specifies character to use for quitting.
See also `current-input-mode'.

(fn INTERRUPT FLOW META &optional QUIT)Fcurrent-input-mode
Return information about the way Emacs currently reads keyboard input.
The value is a list of the form (INTERRUPT FLOW META QUIT), where
  INTERRUPT is non-nil if Emacs is using interrupt-driven input; if
    nil, Emacs is using CBREAK mode.
  FLOW is non-nil if Emacs uses ^S/^Q flow control for output to the
    terminal; this does not apply if Emacs uses interrupt-driven input.
  META is t if accepting 8-bit input with 8th bit as Meta flag.
    META nil means ignoring the top bit, on the assumption it is parity.
    META is neither t nor nil if accepting 8-bit input and using
    all 8 bits as the character code.
  QUIT is the character Emacs currently uses to quit.
The elements of this list correspond to the arguments of
`set-input-mode'.

(fn)Fposn-at-x-y
Return position information for pixel coordinates X and Y.
By default, X and Y are relative to text area of the selected window.
Optional third arg FRAME-OR-WINDOW non-nil specifies frame or window.
If optional fourth arg WHOLE is non-nil, X is relative to the left
edge of the window.

The return value is similar to a mouse click position:
   (WINDOW AREA-OR-POS (X . Y) TIMESTAMP OBJECT POS (COL . ROW)
    IMAGE (DX . DY) (WIDTH . HEIGHT))
The `posn-' functions access elements of such lists.

(fn X Y &optional FRAME-OR-WINDOW WHOLE)Fposn-at-point
Return position information for buffer POS in WINDOW.
POS defaults to point in WINDOW; WINDOW defaults to the selected window.

Return nil if position is not visible in window.  Otherwise,
the return value is similar to that returned by `event-start' for
a mouse click at the upper left corner of the glyph corresponding
to the given buffer position:
   (WINDOW AREA-OR-POS (X . Y) TIMESTAMP OBJECT POS (COL . ROW)
    IMAGE (DX . DY) (WIDTH . HEIGHT))
The `posn-' functions access elements of such lists.

(fn &optional POS WINDOW)Vlast-command-event
Last input event that was part of a command.Vlast-nonmenu-event
Last input event in a command, except for mouse menu events.
Mouse menus give back keys that don't look like mouse events;
this variable holds the actual mouse event that led to the menu,
so that you can determine whether the command was run by mouse or not.Vlast-input-event
Last input event.Vunread-command-events
List of events to be read as the command input.
These events are processed first, before actual keyboard input.
Events read from this list are not normally added to `this-command-keys',
as they will already have been added once as they were read for the first time.
An element of the form (t . EVENT) forces EVENT to be added to that list.Vunread-post-input-method-events
List of events to be processed as input by input methods.
These events are processed before `unread-command-events'
and actual keyboard input, but are not given to `input-method-function'.Vunread-input-method-events
List of events to be processed as input by input methods.
These events are processed after `unread-command-events', but
before actual keyboard input.
If there's an active input method, the events are given to
`input-method-function'.Vmeta-prefix-char
Meta-prefix character code.
Meta-foo as command input turns into this character followed by foo.Vlast-command
The last command executed.
Normally a symbol with a function definition, but can be whatever was found
in the keymap, or whatever the variable `this-command' was set to by that
command.

The value `mode-exit' is special; it means that the previous command
read an event that told it to exit, and it did so and unread that event.
In other words, the present command is the event that made the previous
command exit.

The value `kill-region' is special; it means that the previous command
was a kill command.

`last-command' has a separate binding for each terminal device.
See Info node `(elisp)Multiple Terminals'.Vreal-last-command
Same as `last-command', but never altered by Lisp code.
Taken from the previous value of `real-this-command'.Vlast-repeatable-command
Last command that may be repeated.
The last command executed that was not bound to an input event.
This is the command `repeat' will try to repeat.
Taken from a previous value of `real-this-command'.Vthis-command
The command now being executed.
The command can set this variable; whatever is put here
will be in `last-command' during the following command.Vreal-this-command
This is like `this-command', except that commands should never modify it.Vthis-command-keys-shift-translated
Non-nil if the key sequence activating this command was shift-translated.
Shift-translation occurs when there is no binding for the key sequence
as entered, but a binding was found by changing an upper-case letter
to lower-case, or a shifted function key to an unshifted one.Vthis-original-command
The command bound to the current key sequence before remapping.
It equals `this-command' if the original command was not remapped through
any of the active keymaps.  Otherwise, the value of `this-command' is the
result of looking up the original command in the active keymaps.Vauto-save-interval
Number of input events between auto-saves.
Zero means disable autosaving due to number of characters typed.Vauto-save-timeout
Number of seconds idle time before auto-save.
Zero or nil means disable auto-saving due to idleness.
After auto-saving due to this many seconds of idle time,
Emacs also does a garbage collection if that seems to be warranted.Vecho-keystrokes
Nonzero means echo unfinished commands after this many seconds of pause.
The value may be integer or floating point.
If the value is zero, don't echo at all.Vpolling-period
Interval between polling for input during Lisp execution.
The reason for polling is to make C-g work to stop a running program.
Polling is needed only when using X windows and SIGIO does not work.
Polling is automatically disabled in all other cases.Vdouble-click-time
Maximum time between mouse clicks to make a double-click.
Measured in milliseconds.  The value nil means disable double-click
recognition; t means double-clicks have no time limit and are detected
by position only.Vdouble-click-fuzz
Maximum mouse movement between clicks to make a double-click.
On window-system frames, value is the number of pixels the mouse may have
moved horizontally or vertically between two clicks to make a double-click.
On non window-system frames, value is interpreted in units of 1/8 characters
instead of pixels.

This variable is also the threshold for motion of the mouse
to count as a drag.Vinhibit-local-menu-bar-menus
Non-nil means inhibit local map menu bar menus.Vnum-input-keys
Number of complete key sequences read as input so far.
This includes key sequences read from keyboard macros.
The number is effectively the number of interactive command invocations.Vnum-nonmacro-input-events
Number of input events read from the keyboard so far.
This does not include events generated by keyboard macros.Vlast-event-frame
The frame in which the most recently read event occurred.
If the last event came from a keyboard macro, this is set to `macro'.Vtty-erase-char
The ERASE character as set by the user with stty.Vhelp-char
Character to recognize as meaning Help.
When it is read, do `(eval help-form)', and display result if it's a string.
If the value of `help-form' is nil, this char can be read normally.Vhelp-event-list
List of input events to recognize as meaning Help.
These work just like the value of `help-char' (see that).Vhelp-form
Form to execute when character `help-char' is read.
If the form returns a string, that string is displayed.
If `help-form' is nil, the help char is not recognized.Vprefix-help-command
Command to run when `help-char' character follows a prefix key.
This command is used only when there is no actual binding
for that character after that prefix key.Vtop-level
Form to evaluate when Emacs starts up.
Useful to set before you dump a modified Emacs.Vkeyboard-translate-table
Translate table for local keyboard input, or nil.
If non-nil, the value should be a char-table.  Each character read
from the keyboard is looked up in this char-table.  If the value found
there is non-nil, then it is used instead of the actual input character.

The value can also be a string or vector, but this is considered obsolete.
If it is a string or vector of length N, character codes N and up are left
untranslated.  In a vector, an element which is nil means "no translation".

This is applied to the characters supplied to input methods, not their
output.  See also `translation-table-for-input'.

This variable has a separate binding for each terminal.
See Info node `(elisp)Multiple Terminals'.Vcannot-suspend
Non-nil means to always spawn a subshell instead of suspending.
(Even if the operating system has support for stopping a process.)Vmenu-prompting
Non-nil means prompt with menus when appropriate.
This is done when reading from a keymap that has a prompt string,
for elements that have prompt strings.
The menu is displayed on the screen
if X menus were enabled at configuration
time and the previous event was a mouse click prefix key.
Otherwise, menu prompting uses the echo area.Vmenu-prompt-more-char
Character to see next line of menu prompt.
Type this character while in a menu prompt to rotate around the lines of it.Vextra-keyboard-modifiers
A mask of additional modifier keys to use with every keyboard character.
Emacs applies the modifiers of the character stored here to each keyboard
character it reads.  For example, after evaluating the expression
    (setq extra-keyboard-modifiers ?\C-x)
all input characters will have the control modifier applied to them.

Note that the character ?\C-@, equivalent to the integer zero, does
not count as a control character; rather, it counts as a character
with no modifiers; thus, setting `extra-keyboard-modifiers' to zero
cancels any modification.Vdeactivate-mark
If an editing command sets this to t, deactivate the mark afterward.
The command loop sets this to nil before each command,
and tests the value when the command returns.
Buffer modification stores t in this variable.Vpre-command-hook
Normal hook run before each command is executed.
If an unhandled error happens in running this hook,
the function in which the error occurred is unconditionally removed, since
otherwise the error might happen repeatedly and make Emacs nonfunctional.Vpost-command-hook
Normal hook run after each command is executed.
If an unhandled error happens in running this hook,
the function in which the error occurred is unconditionally removed, since
otherwise the error might happen repeatedly and make Emacs nonfunctional.Vecho-area-clear-hook
Normal hook run when clearing the echo area.Vlucid-menu-bar-dirty-flag
Non-nil means menu bar, specified Lucid style, needs to be recomputed.Vmenu-bar-final-items
List of menu bar items to move to the end of the menu bar.
The elements of the list are event types that may have menu bar bindings.Vtool-bar-separator-image-expression
Expression evaluating to the image spec for a tool-bar separator.
This is used internally by graphical displays that do not render
tool-bar separators natively.  Otherwise it is unused (e.g. on GTK).Voverriding-terminal-local-map
Per-terminal keymap that overrides all other local keymaps.
If this variable is non-nil, it is used as a keymap instead of the
buffer's local map, and the minor mode keymaps and text property keymaps.
It also replaces `overriding-local-map'.

This variable is intended to let commands such as `universal-argument'
set up a different keymap for reading the next command.

`overriding-terminal-local-map' has a separate binding for each
terminal device.
See Info node `(elisp)Multiple Terminals'.Voverriding-local-map
Keymap that overrides all other local keymaps.
If this variable is non-nil, it is used as a keymap--replacing the
buffer's local map, the minor mode keymaps, and char property keymaps.Voverriding-local-map-menu-flag
Non-nil means `overriding-local-map' applies to the menu bar.
Otherwise, the menu bar continues to reflect the buffer's local map
and the minor mode maps regardless of `overriding-local-map'.Vspecial-event-map
Keymap defining bindings for special events to execute at low level.Vtrack-mouse
Non-nil means generate motion events for mouse motion.Vsystem-key-alist
Alist of system-specific X windows key symbols.
Each element should have the form (N . SYMBOL) where N is the
numeric keysym code (sans the "system-specific" bit 1<<28)
and SYMBOL is its name.

`system-key-alist' has a separate binding for each terminal device.
See Info node `(elisp)Multiple Terminals'.Vlocal-function-key-map
Keymap that translates key sequences to key sequences during input.
This is used mainly for mapping key sequences into some preferred
key events (symbols).

The `read-key-sequence' function replaces any subsequence bound by
`local-function-key-map' with its binding.  More precisely, when the
active keymaps have no binding for the current key sequence but
`local-function-key-map' binds a suffix of the sequence to a vector or
string, `read-key-sequence' replaces the matching suffix with its
binding, and continues with the new sequence.

If the binding is a function, it is called with one argument (the prompt)
and its return value (a key sequence) is used.

The events that come from bindings in `local-function-key-map' are not
themselves looked up in `local-function-key-map'.

For example, suppose `local-function-key-map' binds `ESC O P' to [f1].
Typing `ESC O P' to `read-key-sequence' would return [f1].  Typing
`C-x ESC O P' would return [?\C-x f1].  If [f1] were a prefix key,
typing `ESC O P x' would return [f1 x].

`local-function-key-map' has a separate binding for each terminal
device.  See Info node `(elisp)Multiple Terminals'.  If you need to
define a binding on all terminals, change `function-key-map'
instead.  Initially, `local-function-key-map' is an empty keymap that
has `function-key-map' as its parent on all terminal devices.Vinput-decode-map
Keymap that decodes input escape sequences.
This is used mainly for mapping ASCII function key sequences into
real Emacs function key events (symbols).

The `read-key-sequence' function replaces any subsequence bound by
`input-decode-map' with its binding.  Contrary to `function-key-map',
this map applies its rebinding regardless of the presence of an ordinary
binding.  So it is more like `key-translation-map' except that it applies
before `function-key-map' rather than after.

If the binding is a function, it is called with one argument (the prompt)
and its return value (a key sequence) is used.

The events that come from bindings in `input-decode-map' are not
themselves looked up in `input-decode-map'.Vfunction-key-map
The parent keymap of all `local-function-key-map' instances.
Function key definitions that apply to all terminal devices should go
here.  If a mapping is defined in both the current
`local-function-key-map' binding and this variable, then the local
definition will take precedence.Vkey-translation-map
Keymap of key translations that can override keymaps.
This keymap works like `function-key-map', but comes after that,
and its non-prefix bindings override ordinary bindings.Vdeferred-action-list
List of deferred actions to be performed at a later time.
The precise format isn't relevant here; we just check whether it is nil.Vdeferred-action-function
Function to call to handle deferred actions, after each command.
This function is called with no arguments after each command
whenever `deferred-action-list' is non-nil.Vdelayed-warnings-list
List of warnings to be displayed after this command.
Each element must be a list (TYPE MESSAGE [LEVEL [BUFFER-NAME]]),
as per the args of `display-warning' (which see).
If this variable is non-nil, `delayed-warnings-hook' will be run
immediately after running `post-command-hook'.Vtimer-list
List of active absolute time timers in order of increasing time.Vtimer-idle-list
List of active idle-time timers in order of increasing time.Vinput-method-function
If non-nil, the function that implements the current input method.
It's called with one argument, a printing character that was just read.
(That means a character with code 040...0176.)
Typically this function uses `read-event' to read additional events.
When it does so, it should first bind `input-method-function' to nil
so it will not be called recursively.

The function should return a list of zero or more events
to be used as input.  If it wants to put back some events
to be reconsidered, separately, by the input method,
it can add them to the beginning of `unread-command-events'.

The input method function can find in `input-method-previous-message'
the previous echo area message.

The input method function should refer to the variables
`input-method-use-echo-area' and `input-method-exit-on-first-char'
for guidance on what to do.Vinput-method-previous-message
When `input-method-function' is called, hold the previous echo area message.
This variable exists because `read-event' clears the echo area
before running the input method.  It is nil if there was no message.Vshow-help-function
If non-nil, the function that implements the display of help.
It's called with one argument, the help string to display.Vdisable-point-adjustment
If non-nil, suppress point adjustment after executing a command.

After a command is executed, if point is moved into a region that has
special properties (e.g. composition, display), we adjust point to
the boundary of the region.  But, when a command sets this variable to
non-nil, we suppress the point adjustment.

This variable is set to nil before reading a command, and is checked
just after executing the command.Vglobal-disable-point-adjustment
If non-nil, always suppress point adjustment.

The default value is nil, in which case, point adjustment are
suppressed only after special commands that set
`disable-point-adjustment' (which see) to non-nil.Vminibuffer-message-timeout
How long to display an echo-area message when the minibuffer is active.
If the value is not a number, such messages don't time out.Vthrow-on-input
If non-nil, any keyboard input throws to this symbol.
The value of that variable is passed to `quit-flag' and later causes a
peculiar kind of quitting.Vcommand-error-function
If non-nil, function to output error messages.
The arguments are the error data, a list of the form
 (SIGNALED-CONDITIONS . SIGNAL-DATA)
such as just as `condition-case' would bind its variable to,
the context (a string which normally goes at the start of the message),
and the Lisp function within which the error was signaled.Venable-disabled-menus-and-buttons
If non-nil, don't ignore events produced by disabled menu items and tool-bar.

Help functions bind this to allow help on disabled menu items
and tool-bar buttons.Vselect-active-regions
If non-nil, an active region automatically sets the primary selection.
If the value is `only', only temporarily active regions (usually made
by mouse-dragging or shift-selection) set the window selection.

This takes effect only when Transient Mark mode is enabled.Vsaved-region-selection
Contents of active region prior to buffer modification.
If `select-active-regions' is non-nil, Emacs sets this to the
text in the region before modifying the buffer.  The next
`deactivate-mark' call uses this to set the window selection.Vselection-inhibit-update-commands
List of commands which should not update the selection.
Normally, if `select-active-regions' is non-nil and the mark remains
active after a command (i.e. the mark was not deactivated), the Emacs
command loop sets the selection to the text in the region.  However,
if the command is in this list, the selection is not updated.Vdebug-on-event
Enter debugger on this event.  When Emacs
receives the special event specified by this variable, it will try to
break into the debugger as soon as possible instead of processing the
event normally through `special-event-map'.

Currently, the only supported values for this
variable are `sigusr1' and `sigusr2'.Smacros.o
Fstart-kbd-macro
Record subsequent keyboard input, defining a keyboard macro.
The commands are recorded even as they are executed.
Use \[end-kbd-macro] to finish recording and make the macro available.
Use \[name-last-kbd-macro] to give it a permanent name.
Non-nil arg (prefix arg) means append to last macro defined;
this begins by re-executing that macro as if you typed it again.
If optional second arg, NO-EXEC, is non-nil, do not re-execute last
macro before appending to it.

(fn APPEND &optional NO-EXEC)Fend-kbd-macro
Finish defining a keyboard macro.
The definition was started by \[start-kbd-macro].
The macro is now available for use via \[call-last-kbd-macro],
or it can be given a name with \[name-last-kbd-macro] and then invoked
under that name.

With numeric arg, repeat macro now that many times,
counting the definition just completed as the first repetition.
An argument of zero means repeat until error.

In Lisp, optional second arg LOOPFUNC may be a function that is called prior to
each iteration of the macro.  Iteration stops if LOOPFUNC returns nil.

(fn &optional REPEAT LOOPFUNC)Fcancel-kbd-macro-events
Cancel the events added to a keyboard macro for this command.

(fn)Fstore-kbd-macro-event
Store EVENT into the keyboard macro being defined.

(fn EVENT)Fcall-last-kbd-macro
Call the last keyboard macro that you defined with \[start-kbd-macro].

A prefix argument serves as a repeat count.  Zero means repeat until error.

To make a macro permanent so you can call it even after
defining others, use \[name-last-kbd-macro].

In Lisp, optional second arg LOOPFUNC may be a function that is called prior to
each iteration of the macro.  Iteration stops if LOOPFUNC returns nil.

(fn &optional PREFIX LOOPFUNC)Fexecute-kbd-macro
Execute MACRO as string of editor command characters.
If MACRO is a symbol, its function definition is used.
COUNT is a repeat count, or nil for once, or 0 for infinite loop.

Optional third arg LOOPFUNC may be a function that is called prior to
each iteration of the macro.  Iteration stops if LOOPFUNC returns nil.

(fn MACRO &optional COUNT LOOPFUNC)Vkbd-macro-termination-hook
Normal hook run whenever a keyboard macro terminates.
This is run whether the macro ends normally or prematurely due to an error.Vdefining-kbd-macro
Non-nil while a keyboard macro is being defined.  Don't set this!
The value is the symbol `append' while appending to the definition of
an existing macro.Vexecuting-kbd-macro
Currently executing keyboard macro (string or vector).
This is nil when not executing a keyboard macro.Vexecuting-kbd-macro-index
Index in currently executing keyboard macro; undefined if none executing.Vlast-kbd-macro
Last kbd macro defined, as a string or vector; nil if none defined.Skeymap.o
Fmake-keymap
Construct and return a new keymap, of the form (keymap CHARTABLE . ALIST).
CHARTABLE is a char-table that holds the bindings for all characters
without modifiers.  All entries in it are initially nil, meaning
"command undefined".  ALIST is an assoc-list which holds bindings for
function keys, mouse events, and any other things that appear in the
input stream.  Initially, ALIST is nil.

The optional arg STRING supplies a menu name for the keymap
in case you use it as a menu with `x-popup-menu'.

(fn &optional STRING)Fmake-sparse-keymap
Construct and return a new sparse keymap.
Its car is `keymap' and its cdr is an alist of (CHAR . DEFINITION),
which binds the character CHAR to DEFINITION, or (SYMBOL . DEFINITION),
which binds the function key or mouse event SYMBOL to DEFINITION.
Initially the alist is nil.

The optional arg STRING supplies a menu name for the keymap
in case you use it as a menu with `x-popup-menu'.

(fn &optional STRING)Fkeymapp
Return t if OBJECT is a keymap.

A keymap is a list (keymap . ALIST),
or a symbol whose function definition is itself a keymap.
ALIST elements look like (CHAR . DEFN) or (SYMBOL . DEFN);
a vector of densely packed bindings for small character codes
is also allowed as an element.

(fn OBJECT)Fkeymap-prompt
Return the prompt-string of a keymap MAP.
If non-nil, the prompt is shown in the echo-area
when reading a key-sequence to be looked-up in this keymap.

(fn MAP)Fkeymap-parent
Return the parent keymap of KEYMAP.
If KEYMAP has no parent, return nil.

(fn KEYMAP)Fset-keymap-parent
Modify KEYMAP to set its parent map to PARENT.
Return PARENT.  PARENT should be nil or another keymap.

(fn KEYMAP PARENT)Fmap-keymap-internal
Call FUNCTION once for each event binding in KEYMAP.
FUNCTION is called with two arguments: the event that is bound, and
the definition it is bound to.  The event may be a character range.
If KEYMAP has a parent, this function returns it without processing it.

(fn FUNCTION KEYMAP)Fmap-keymap
Call FUNCTION once for each event binding in KEYMAP.
FUNCTION is called with two arguments: the event that is bound, and
the definition it is bound to.  The event may be a character range.

If KEYMAP has a parent, the parent's bindings are included as well.
This works recursively: if the parent has itself a parent, then the
grandparent's bindings are also included and so on.

(fn FUNCTION KEYMAP)Fcopy-keymap
Return a copy of the keymap KEYMAP.
The copy starts out with the same definitions of KEYMAP,
but changing either the copy or KEYMAP does not affect the other.
Any key definitions that are subkeymaps are recursively copied.
However, a key definition which is a symbol whose definition is a keymap
is not copied.

(fn KEYMAP)Fdefine-key
In KEYMAP, define key sequence KEY as DEF.
KEYMAP is a keymap.

KEY is a string or a vector of symbols and characters, representing a
sequence of keystrokes and events.  Non-ASCII characters with codes
above 127 (such as ISO Latin-1) can be represented by vectors.
Two types of vector have special meanings:
 [remap COMMAND] remaps any key binding for COMMAND.
 [t] creates a default definition, which applies to any event with no
    other definition in KEYMAP.

DEF is anything that can be a key's definition:
 nil (means key is undefined in this keymap),
 a command (a Lisp function suitable for interactive calling),
 a string (treated as a keyboard macro),
 a keymap (to define a prefix key),
 a symbol (when the key is looked up, the symbol will stand for its
    function definition, which should at that time be one of the above,
    or another symbol whose function definition is used, etc.),
 a cons (STRING . DEFN), meaning that DEFN is the definition
    (DEFN should be a valid definition in its own right),
 or a cons (MAP . CHAR), meaning use definition of CHAR in keymap MAP,
 or an extended menu item definition.
 (See info node `(elisp)Extended Menu Items'.)

If KEYMAP is a sparse keymap with a binding for KEY, the existing
binding is altered.  If there is no binding for KEY, the new pair
binding KEY to DEF is added at the front of KEYMAP.

(fn KEYMAP KEY DEF)Fcommand-remapping
Return the remapping for command COMMAND.
Returns nil if COMMAND is not remapped (or not a symbol).

If the optional argument POSITION is non-nil, it specifies a mouse
position as returned by `event-start' and `event-end', and the
remapping occurs in the keymaps associated with it.  It can also be a
number or marker, in which case the keymap properties at the specified
buffer position instead of point are used.  The KEYMAPS argument is
ignored if POSITION is non-nil.

If the optional argument KEYMAPS is non-nil, it should be a list of
keymaps to search for command remapping.  Otherwise, search for the
remapping in all currently active keymaps.

(fn COMMAND &optional POSITION KEYMAPS)Flookup-key
In keymap KEYMAP, look up key sequence KEY.  Return the definition.
A value of nil means undefined.  See doc of `define-key'
for kinds of definitions.

A number as value means KEY is "too long";
that is, characters or symbols in it except for the last one
fail to be a valid sequence of prefix characters in KEYMAP.
The number is how many characters at the front of KEY
it takes to reach a non-prefix key.

Normally, `lookup-key' ignores bindings for t, which act as default
bindings, used when nothing else in the keymap applies; this makes it
usable as a general function for probing keymaps.  However, if the
third optional argument ACCEPT-DEFAULT is non-nil, `lookup-key' will
recognize the default bindings, just as `read-key-sequence' does.

(fn KEYMAP KEY &optional ACCEPT-DEFAULT)Fcurrent-active-maps
Return a list of the currently active keymaps.
OLP if non-nil indicates that we should obey `overriding-local-map' and
`overriding-terminal-local-map'.  POSITION can specify a click position
like in the respective argument of `key-binding'.

(fn &optional OLP POSITION)Fkey-binding
Return the binding for command KEY in current keymaps.
KEY is a string or vector, a sequence of keystrokes.
The binding is probably a symbol with a function definition.

Normally, `key-binding' ignores bindings for t, which act as default
bindings, used when nothing else in the keymap applies; this makes it
usable as a general function for probing keymaps.  However, if the
optional second argument ACCEPT-DEFAULT is non-nil, `key-binding' does
recognize the default bindings, just as `read-key-sequence' does.

Like the normal command loop, `key-binding' will remap the command
resulting from looking up KEY by looking up the command in the
current keymaps.  However, if the optional third argument NO-REMAP
is non-nil, `key-binding' returns the unmapped command.

If KEY is a key sequence initiated with the mouse, the used keymaps
will depend on the clicked mouse position with regard to the buffer
and possible local keymaps on strings.

If the optional argument POSITION is non-nil, it specifies a mouse
position as returned by `event-start' and `event-end', and the lookup
occurs in the keymaps associated with it instead of KEY.  It can also
be a number or marker, in which case the keymap properties at the
specified buffer position instead of point are used.

(fn KEY &optional ACCEPT-DEFAULT NO-REMAP POSITION)Flocal-key-binding
Return the binding for command KEYS in current local keymap only.
KEYS is a string or vector, a sequence of keystrokes.
The binding is probably a symbol with a function definition.

If optional argument ACCEPT-DEFAULT is non-nil, recognize default
bindings; see the description of `lookup-key' for more details about this.

(fn KEYS &optional ACCEPT-DEFAULT)Fglobal-key-binding
Return the binding for command KEYS in current global keymap only.
KEYS is a string or vector, a sequence of keystrokes.
The binding is probably a symbol with a function definition.
This function's return values are the same as those of `lookup-key'
(which see).

If optional argument ACCEPT-DEFAULT is non-nil, recognize default
bindings; see the description of `lookup-key' for more details about this.

(fn KEYS &optional ACCEPT-DEFAULT)Fminor-mode-key-binding
Find the visible minor mode bindings of KEY.
Return an alist of pairs (MODENAME . BINDING), where MODENAME is
the symbol which names the minor mode binding KEY, and BINDING is
KEY's definition in that mode.  In particular, if KEY has no
minor-mode bindings, return nil.  If the first binding is a
non-prefix, all subsequent bindings will be omitted, since they would
be ignored.  Similarly, the list doesn't include non-prefix bindings
that come after prefix bindings.

If optional argument ACCEPT-DEFAULT is non-nil, recognize default
bindings; see the description of `lookup-key' for more details about this.

(fn KEY &optional ACCEPT-DEFAULT)Fdefine-prefix-command
Define COMMAND as a prefix command.  COMMAND should be a symbol.
A new sparse keymap is stored as COMMAND's function definition and its value.
If a second optional argument MAPVAR is given, the map is stored as
its value instead of as COMMAND's value; but COMMAND is still defined
as a function.
The third optional argument NAME, if given, supplies a menu name
string for the map.  This is required to use the keymap as a menu.
This function returns COMMAND.

(fn COMMAND &optional MAPVAR NAME)Fuse-global-map
Select KEYMAP as the global keymap.

(fn KEYMAP)Fuse-local-map
Select KEYMAP as the local keymap.
If KEYMAP is nil, that means no local keymap.

(fn KEYMAP)Fcurrent-local-map
Return current buffer's local keymap, or nil if it has none.
Normally the local keymap is set by the major mode with `use-local-map'.

(fn)Fcurrent-global-map
Return the current global keymap.

(fn)Fcurrent-minor-mode-maps
Return a list of keymaps for the minor modes of the current buffer.

(fn)Faccessible-keymaps
Find all keymaps accessible via prefix characters from KEYMAP.
Returns a list of elements of the form (KEYS . MAP), where the sequence
KEYS starting from KEYMAP gets you to MAP.  These elements are ordered
so that the KEYS increase in length.  The first element is ([] . KEYMAP).
An optional argument PREFIX, if non-nil, should be a key sequence;
then the value includes only maps for prefixes that start with PREFIX.

(fn KEYMAP &optional PREFIX)Fkey-description
Return a pretty description of key-sequence KEYS.
Optional arg PREFIX is the sequence of keys leading up to KEYS.
For example, [?C-x ?l] is converted into the string "C-x l".

For an approximate inverse of this, see `kbd'.

(fn KEYS &optional PREFIX)Fsingle-key-description
Return a pretty description of command character KEY.
Control characters turn into C-whatever, etc.
Optional argument NO-ANGLES non-nil means don't put angle brackets
around function keys and event symbols.

(fn KEY &optional NO-ANGLES)Ftext-char-description
Return a pretty description of file-character CHARACTER.
Control characters turn into "^char", etc.  This differs from
`single-key-description' which turns them into "C-char".
Also, this function recognizes the 2**7 bit as the Meta character,
whereas `single-key-description' uses the 2**27 bit for Meta.
See Info node `(elisp)Describing Characters' for examples.

(fn CHARACTER)Fwhere-is-internal
Return list of keys that invoke DEFINITION.
If KEYMAP is a keymap, search only KEYMAP and the global keymap.
If KEYMAP is nil, search all the currently active keymaps, except
 for `overriding-local-map' (which is ignored).
If KEYMAP is a list of keymaps, search only those keymaps.

If optional 3rd arg FIRSTONLY is non-nil, return the first key sequence found,
rather than a list of all possible key sequences.
If FIRSTONLY is the symbol `non-ascii', return the first binding found,
no matter what it is.
If FIRSTONLY has another non-nil value, prefer bindings
that use the modifier key specified in `where-is-preferred-modifier'
(or their meta variants) and entirely reject menu bindings.

If optional 4th arg NOINDIRECT is non-nil, don't follow indirections
to other keymaps or slots.  This makes it possible to search for an
indirect definition itself.

The optional 5th arg NO-REMAP alters how command remapping is handled:

- If another command OTHER-COMMAND is remapped to DEFINITION, normally
  search for the bindings of OTHER-COMMAND and include them in the
  returned list.  But if NO-REMAP is non-nil, include the vector
  [remap OTHER-COMMAND] in the returned list instead, without
  searching for those other bindings.

- If DEFINITION is remapped to OTHER-COMMAND, normally return the
  bindings for OTHER-COMMAND.  But if NO-REMAP is non-nil, return the
  bindings for DEFINITION instead, ignoring its remapping.

(fn DEFINITION &optional KEYMAP FIRSTONLY NOINDIRECT NO-REMAP)Fdescribe-buffer-bindings
Insert the list of all defined keys and their definitions.
The list is inserted in the current buffer, while the bindings are
looked up in BUFFER.
The optional argument PREFIX, if non-nil, should be a key sequence;
then we display only bindings that start with that prefix.
The optional argument MENUS, if non-nil, says to mention menu bindings.
(Ordinarily these are omitted from the output.)

(fn BUFFER &optional PREFIX MENUS)Fdescribe-vector
Insert a description of contents of VECTOR.
This is text showing the elements of vector matched against indices.
DESCRIBER is the output function used; nil means use `princ'.

(fn VECTOR &optional DESCRIBER)Fapropos-internal
Show all symbols whose names contain match for REGEXP.
If optional 2nd arg PREDICATE is non-nil, (funcall PREDICATE SYMBOL) is done
for each symbol and a symbol is mentioned only if that returns non-nil.
Return list of symbols found.

(fn REGEXP &optional PREDICATE)Vdefine-key-rebound-commands
List of commands given new key bindings recently.
This is used for internal purposes during Emacs startup;
don't alter it yourself.Vminibuffer-local-map
Default keymap to use when reading from the minibuffer.Vminibuffer-local-ns-map
Local keymap for the minibuffer when spaces are not allowed.Vminor-mode-map-alist
Alist of keymaps to use for minor modes.
Each element looks like (VARIABLE . KEYMAP); KEYMAP is used to read
key sequences and look up bindings if VARIABLE's value is non-nil.
If two active keymaps bind the same key, the keymap appearing earlier
in the list takes precedence.Vminor-mode-overriding-map-alist
Alist of keymaps to use for minor modes, in current major mode.
This variable is an alist just like `minor-mode-map-alist', and it is
used the same way (and before `minor-mode-map-alist'); however,
it is provided for major modes to bind locally.Vemulation-mode-map-alists
List of keymap alists to use for emulations modes.
It is intended for modes or packages using multiple minor-mode keymaps.
Each element is a keymap alist just like `minor-mode-map-alist', or a
symbol with a variable binding which is a keymap alist, and it is used
the same way.  The "active" keymaps in each alist are used before
`minor-mode-map-alist' and `minor-mode-overriding-map-alist'.Vwhere-is-preferred-modifier
Preferred modifier key to use for `where-is'.
When a single binding is requested, `where-is' will return one that
uses this modifier key if possible.  If nil, or if no such binding
exists, bindings using keys without modifiers (or only with meta) will
be preferred.Ssysdep.o
Sbuffer.o
Fbuffer-live-p
Return non-nil if OBJECT is a buffer which has not been killed.
Value is nil if OBJECT is not a buffer or if it has been killed.

(fn OBJECT)Fbuffer-list
Return a list of all existing live buffers.
If the optional arg FRAME is a frame, we return the buffer list in the
proper order for that frame: the buffers show in FRAME come first,
followed by the rest of the buffers.

(fn &optional FRAME)Fget-buffer
Return the buffer named BUFFER-OR-NAME.
BUFFER-OR-NAME must be either a string or a buffer.  If BUFFER-OR-NAME
is a string and there is no buffer with that name, return nil.  If
BUFFER-OR-NAME is a buffer, return it as given.

(fn BUFFER-OR-NAME)Fget-file-buffer
Return the buffer visiting file FILENAME (a string).
The buffer's `buffer-file-name' must match exactly the expansion of FILENAME.
If there is no such live buffer, return nil.
See also `find-buffer-visiting'.

(fn FILENAME)Fget-buffer-create
Return the buffer specified by BUFFER-OR-NAME, creating a new one if needed.
If BUFFER-OR-NAME is a string and a live buffer with that name exists,
return that buffer.  If no such buffer exists, create a new buffer with
that name and return it.  If BUFFER-OR-NAME starts with a space, the new
buffer does not keep undo information.

If BUFFER-OR-NAME is a buffer instead of a string, return it as given,
even if it is dead.  The return value is never nil.

(fn BUFFER-OR-NAME)Fmake-indirect-buffer
Create and return an indirect buffer for buffer BASE-BUFFER, named NAME.
BASE-BUFFER should be a live buffer, or the name of an existing buffer.
NAME should be a string which is not the name of an existing buffer.
Optional argument CLONE non-nil means preserve BASE-BUFFER's state,
such as major and minor modes, in the indirect buffer.
CLONE nil means the indirect buffer's state is reset to default values.

(fn BASE-BUFFER NAME &optional CLONE)Fgenerate-new-buffer-name
Return a string that is the name of no existing buffer based on NAME.
If there is no live buffer named NAME, then return NAME.
Otherwise modify name by appending `<NUMBER>', incrementing NUMBER
(starting at 2) until an unused name is found, and then return that name.
Optional second argument IGNORE specifies a name that is okay to use (if
it is in the sequence to be tried) even if a buffer with that name exists.

If NAME begins with a space (i.e., a buffer that is not normally
visible to users), then if buffer NAME already exists a random number
is first appended to NAME, to speed up finding a non-existent buffer.

(fn NAME &optional IGNORE)Fbuffer-name
Return the name of BUFFER, as a string.
BUFFER defaults to the current buffer.
Return nil if BUFFER has been killed.

(fn &optional BUFFER)Fbuffer-file-name
Return name of file BUFFER is visiting, or nil if none.
No argument or nil as argument means use the current buffer.

(fn &optional BUFFER)Fbuffer-base-buffer
Return the base buffer of indirect buffer BUFFER.
If BUFFER is not indirect, return nil.
BUFFER defaults to the current buffer.

(fn &optional BUFFER)Fbuffer-local-value
Return the value of VARIABLE in BUFFER.
If VARIABLE does not have a buffer-local binding in BUFFER, the value
is the default binding of the variable.

(fn VARIABLE BUFFER)Fbuffer-local-variables
Return an alist of variables that are buffer-local in BUFFER.
Most elements look like (SYMBOL . VALUE), describing one variable.
For a symbol that is locally unbound, just the symbol appears in the value.
Note that storing new VALUEs in these elements doesn't change the variables.
No argument or nil as argument means use current buffer as BUFFER.

(fn &optional BUFFER)Fbuffer-modified-p
Return t if BUFFER was modified since its file was last read or saved.
No argument or nil as argument means use current buffer as BUFFER.

(fn &optional BUFFER)Fset-buffer-modified-p
Mark current buffer as modified or unmodified according to FLAG.
A non-nil FLAG means mark the buffer modified.

(fn FLAG)Frestore-buffer-modified-p
Like `set-buffer-modified-p', with a difference concerning redisplay.
It is not ensured that mode lines will be updated to show the modified
state of the current buffer.  Use with care.

(fn FLAG)Fbuffer-modified-tick
Return BUFFER's tick counter, incremented for each change in text.
Each buffer has a tick counter which is incremented each time the
text in that buffer is changed.  It wraps around occasionally.
No argument or nil as argument means use current buffer as BUFFER.

(fn &optional BUFFER)Fbuffer-chars-modified-tick
Return BUFFER's character-change tick counter.
Each buffer has a character-change tick counter, which is set to the
value of the buffer's tick counter (see `buffer-modified-tick'), each
time text in that buffer is inserted or deleted.  By comparing the
values returned by two individual calls of `buffer-chars-modified-tick',
you can tell whether a character change occurred in that buffer in
between these calls.  No argument or nil as argument means use current
buffer as BUFFER.

(fn &optional BUFFER)Frename-buffer
Change current buffer's name to NEWNAME (a string).
If second arg UNIQUE is nil or omitted, it is an error if a
buffer named NEWNAME already exists.
If UNIQUE is non-nil, come up with a new name using
`generate-new-buffer-name'.
Interactively, you can set UNIQUE with a prefix argument.
We return the name we actually gave the buffer.
This does not change the name of the visited file (if any).

(fn NEWNAME &optional UNIQUE)Fother-buffer
Return most recently selected buffer other than BUFFER.
Buffers not visible in windows are preferred to visible buffers, unless
optional second argument VISIBLE-OK is non-nil.  Ignore the argument
BUFFER unless it denotes a live buffer.  If the optional third argument
FRAME is non-nil, use that frame's buffer list instead of the selected
frame's buffer list.

The buffer is found by scanning the selected or specified frame's buffer
list first, followed by the list of all buffers.  If no other buffer
exists, return the buffer `*scratch*' (creating it if necessary).

(fn &optional BUFFER VISIBLE-OK FRAME)Fbuffer-enable-undo
Start keeping undo information for buffer BUFFER.
No argument or nil as argument means do this for the current buffer.

(fn &optional BUFFER)Fkill-buffer
Kill the buffer specified by BUFFER-OR-NAME.
The argument may be a buffer or the name of an existing buffer.
Argument nil or omitted means kill the current buffer.  Return t if the
buffer is actually killed, nil otherwise.

The functions in `kill-buffer-query-functions' are called with the
buffer to be killed as the current buffer.  If any of them returns nil,
the buffer is not killed.  The hook `kill-buffer-hook' is run before the
buffer is actually killed.  The buffer being killed will be current
while the hook is running.  Functions called by any of these hooks are
supposed to not change the current buffer.

Any processes that have this buffer as the `process-buffer' are killed
with SIGHUP.  This function calls `replace-buffer-in-windows' for
cleaning up all windows currently displaying the buffer to be killed.

(fn &optional BUFFER-OR-NAME)Fbury-buffer-internal
Move BUFFER to the end of the buffer list.

(fn BUFFER)Fset-buffer-major-mode
Set an appropriate major mode for BUFFER.
For the *scratch* buffer, use `initial-major-mode', otherwise choose a mode
according to the default value of `major-mode'.
Use this function before selecting the buffer, since it may need to inspect
the current buffer's major mode.

(fn BUFFER)Fcurrent-buffer
Return the current buffer as a Lisp object.

(fn)Fset-buffer
Make buffer BUFFER-OR-NAME current for editing operations.
BUFFER-OR-NAME may be a buffer or the name of an existing buffer.  See
also `with-current-buffer' when you want to make a buffer current
temporarily.  This function does not display the buffer, so its effect
ends when the current command terminates.  Use `switch-to-buffer' or
`pop-to-buffer' to switch buffers permanently.

(fn BUFFER-OR-NAME)Fbarf-if-buffer-read-only
Signal a `buffer-read-only' error if the current buffer is read-only.

(fn)Ferase-buffer
Delete the entire contents of the current buffer.
Any narrowing restriction in effect (see `narrow-to-region') is removed,
so the buffer is truly empty after this.

(fn)Fbuffer-swap-text
Swap the text between current buffer and BUFFER.

(fn BUFFER)Fset-buffer-multibyte
Set the multibyte flag of the current buffer to FLAG.
If FLAG is t, this makes the buffer a multibyte buffer.
If FLAG is nil, this makes the buffer a single-byte buffer.
In these cases, the buffer contents remain unchanged as a sequence of
bytes but the contents viewed as characters do change.
If FLAG is `to', this makes the buffer a multibyte buffer by changing
all eight-bit bytes to eight-bit characters.
If the multibyte flag was really changed, undo information of the
current buffer is cleared.

(fn FLAG)Fkill-all-local-variables
Switch to Fundamental mode by killing current buffer's local variables.
Most local variable bindings are eliminated so that the default values
become effective once more.  Also, the syntax table is set from
`standard-syntax-table', the local keymap is set to nil,
and the abbrev table from `fundamental-mode-abbrev-table'.
This function also forces redisplay of the mode line.

Every function to select a new major mode starts by
calling this function.

As a special exception, local variables whose names have
a non-nil `permanent-local' property are not eliminated by this function.

The first thing this function does is run
the normal hook `change-major-mode-hook'.

(fn)Foverlayp
Return t if OBJECT is an overlay.

(fn OBJECT)Fmake-overlay
Create a new overlay with range BEG to END in BUFFER.
If omitted, BUFFER defaults to the current buffer.
BEG and END may be integers or markers.
The fourth arg FRONT-ADVANCE, if non-nil, makes the marker
for the front of the overlay advance when text is inserted there
(which means the text *is not* included in the overlay).
The fifth arg REAR-ADVANCE, if non-nil, makes the marker
for the rear of the overlay advance when text is inserted there
(which means the text *is* included in the overlay).

(fn BEG END &optional BUFFER FRONT-ADVANCE REAR-ADVANCE)Fmove-overlay
Set the endpoints of OVERLAY to BEG and END in BUFFER.
If BUFFER is omitted, leave OVERLAY in the same buffer it inhabits now.
If BUFFER is omitted, and OVERLAY is in no buffer, put it in the current
buffer.

(fn OVERLAY BEG END &optional BUFFER)Fdelete-overlay
Delete the overlay OVERLAY from its buffer.

(fn OVERLAY)Fdelete-all-overlays
Delete all overlays of BUFFER.
BUFFER omitted or nil means delete all overlays of the current
buffer.

(fn &optional BUFFER)Foverlay-start
Return the position at which OVERLAY starts.

(fn OVERLAY)Foverlay-end
Return the position at which OVERLAY ends.

(fn OVERLAY)Foverlay-buffer
Return the buffer OVERLAY belongs to.
Return nil if OVERLAY has been deleted.

(fn OVERLAY)Foverlay-properties
Return a list of the properties on OVERLAY.
This is a copy of OVERLAY's plist; modifying its conses has no effect on
OVERLAY.

(fn OVERLAY)Foverlays-at
Return a list of the overlays that contain the character at POS.

(fn POS)Foverlays-in
Return a list of the overlays that overlap the region BEG ... END.
Overlap means that at least one character is contained within the overlay
and also contained within the specified region.
Empty overlays are included in the result if they are located at BEG,
between BEG and END, or at END provided END denotes the position at the
end of the buffer.

(fn BEG END)Fnext-overlay-change
Return the next position after POS where an overlay starts or ends.
If there are no overlay boundaries from POS to (point-max),
the value is (point-max).

(fn POS)Fprevious-overlay-change
Return the previous position before POS where an overlay starts or ends.
If there are no overlay boundaries from (point-min) to POS,
the value is (point-min).

(fn POS)Foverlay-lists
Return a pair of lists giving all the overlays of the current buffer.
The car has all the overlays before the overlay center;
the cdr has all the overlays after the overlay center.
Recentering overlays moves overlays between these lists.
The lists you get are copies, so that changing them has no effect.
However, the overlays you get are the real objects that the buffer uses.

(fn)Foverlay-recenter
Recenter the overlays of the current buffer around position POS.
That makes overlay lookup faster for positions near POS (but perhaps slower
for positions far away from POS).

(fn POS)Foverlay-get
Get the property of overlay OVERLAY with property name PROP.

(fn OVERLAY PROP)Foverlay-put
Set one property of overlay OVERLAY: give property PROP value VALUE.
VALUE will be returned.

(fn OVERLAY PROP VALUE)Vdefault-mode-line-format
Default value of `mode-line-format' for buffers that don't override it.
This is the same as (default-value 'mode-line-format).Vdefault-header-line-format
Default value of `header-line-format' for buffers that don't override it.
This is the same as (default-value 'header-line-format).Vdefault-cursor-type
Default value of `cursor-type' for buffers that don't override it.
This is the same as (default-value 'cursor-type).Vdefault-line-spacing
Default value of `line-spacing' for buffers that don't override it.
This is the same as (default-value 'line-spacing).Vdefault-cursor-in-non-selected-windows
Default value of `cursor-in-non-selected-windows'.
This is the same as (default-value 'cursor-in-non-selected-windows).Vdefault-abbrev-mode
Default value of `abbrev-mode' for buffers that do not override it.
This is the same as (default-value 'abbrev-mode).Vdefault-ctl-arrow
Default value of `ctl-arrow' for buffers that do not override it.
This is the same as (default-value 'ctl-arrow).Vdefault-enable-multibyte-characters
Default value of `enable-multibyte-characters' for buffers not overriding it.
This is the same as (default-value 'enable-multibyte-characters).Vdefault-buffer-file-coding-system
Default value of `buffer-file-coding-system' for buffers not overriding it.
This is the same as (default-value 'buffer-file-coding-system).Vdefault-truncate-lines
Default value of `truncate-lines' for buffers that do not override it.
This is the same as (default-value 'truncate-lines).Vdefault-fill-column
Default value of `fill-column' for buffers that do not override it.
This is the same as (default-value 'fill-column).Vdefault-left-margin
Default value of `left-margin' for buffers that do not override it.
This is the same as (default-value 'left-margin).Vdefault-tab-width
Default value of `tab-width' for buffers that do not override it.
This is the same as (default-value 'tab-width).Vdefault-case-fold-search
Default value of `case-fold-search' for buffers that don't override it.
This is the same as (default-value 'case-fold-search).Vdefault-left-margin-width
Default value of `left-margin-width' for buffers that don't override it.
This is the same as (default-value 'left-margin-width).Vdefault-right-margin-width
Default value of `right-margin-width' for buffers that don't override it.
This is the same as (default-value 'right-margin-width).Vdefault-left-fringe-width
Default value of `left-fringe-width' for buffers that don't override it.
This is the same as (default-value 'left-fringe-width).Vdefault-right-fringe-width
Default value of `right-fringe-width' for buffers that don't override it.
This is the same as (default-value 'right-fringe-width).Vdefault-fringes-outside-margins
Default value of `fringes-outside-margins' for buffers that don't override it.
This is the same as (default-value 'fringes-outside-margins).Vdefault-scroll-bar-width
Default value of `scroll-bar-width' for buffers that don't override it.
This is the same as (default-value 'scroll-bar-width).Vdefault-vertical-scroll-bar
Default value of `vertical-scroll-bar' for buffers that don't override it.
This is the same as (default-value 'vertical-scroll-bar).Vdefault-indicate-empty-lines
Default value of `indicate-empty-lines' for buffers that don't override it.
This is the same as (default-value 'indicate-empty-lines).Vdefault-indicate-buffer-boundaries
Default value of `indicate-buffer-boundaries' for buffers that don't override it.
This is the same as (default-value 'indicate-buffer-boundaries).Vdefault-fringe-indicator-alist
Default value of `fringe-indicator-alist' for buffers that don't override it.
This is the same as (default-value 'fringe-indicator-alist').Vdefault-fringe-cursor-alist
Default value of `fringe-cursor-alist' for buffers that don't override it.
This is the same as (default-value 'fringe-cursor-alist').Vdefault-scroll-up-aggressively
Default value of `scroll-up-aggressively'.
This value applies in buffers that don't have their own local values.
This is the same as (default-value 'scroll-up-aggressively).Vdefault-scroll-down-aggressively
Default value of `scroll-down-aggressively'.
This value applies in buffers that don't have their own local values.
This is the same as (default-value 'scroll-down-aggressively).Vheader-line-format
Analogous to `mode-line-format', but controls the header line.
The header line appears, optionally, at the top of a window;
the mode line appears at the bottom.Vmode-line-format
Template for displaying mode line for current buffer.

The value may be nil, a string, a symbol or a list.

A value of nil means don't display a mode line.

For any symbol other than t or nil, the symbol's value is processed as
 a mode line construct.  As a special exception, if that value is a
 string, the string is processed verbatim, without handling any
 %-constructs (see below).  Also, unless the symbol has a non-nil
 `risky-local-variable' property, all properties in any strings, as
 well as all :eval and :propertize forms in the value, are ignored.

A list whose car is a string or list is processed by processing each
 of the list elements recursively, as separate mode line constructs,
 and concatenating the results.

A list of the form `(:eval FORM)' is processed by evaluating FORM and
 using the result as a mode line construct.  Be careful--FORM should
 not load any files, because that can cause an infinite recursion.

A list of the form `(:propertize ELT PROPS...)' is processed by
 processing ELT as the mode line construct, and adding the text
 properties PROPS to the result.

A list whose car is a symbol is processed by examining the symbol's
 value, and, if that value is non-nil, processing the cadr of the list
 recursively; and if that value is nil, processing the caddr of the
 list recursively.

A list whose car is an integer is processed by processing the cadr of
 the list, and padding (if the number is positive) or truncating (if
 negative) to the width specified by that number.

A string is printed verbatim in the mode line except for %-constructs:
  %b -- print buffer name.      %f -- print visited file name.
  %F -- print frame name.
  %* -- print %, * or hyphen.   %+ -- print *, % or hyphen.
	%& is like %*, but ignore read-only-ness.
	% means buffer is read-only and * means it is modified.
	For a modified read-only buffer, %* gives % and %+ gives *.
  %s -- print process status.   %l -- print the current line number.
  %c -- print the current column number (this makes editing slower).
        To make the column number update correctly in all cases,
	`column-number-mode' must be non-nil.
  %i -- print the size of the buffer.
  %I -- like %i, but use k, M, G, etc., to abbreviate.
  %p -- print percent of buffer above top of window, or Top, Bot or All.
  %P -- print percent of buffer above bottom of window, perhaps plus Top,
        or print Bottom or All.
  %n -- print Narrow if appropriate.
  %t -- visited file is text or binary (if OS supports this distinction).
  %z -- print mnemonics of keyboard, terminal, and buffer coding systems.
  %Z -- like %z, but including the end-of-line format.
  %e -- print error message about full memory.
  %@ -- print @ or hyphen.  @ means that default-directory is on a
        remote machine.
  %[ -- print one [ for each recursive editing level.  %] similar.
  %% -- print %.   %- -- print infinitely many dashes.
Decimal digits after the % specify field width to which to pad.Vdefault-major-mode
Value of `major-mode' for new buffers.Vmajor-mode
Symbol for current buffer's major mode.
The default value (normally `fundamental-mode') affects new buffers.
A value of nil means to use the current buffer's major mode, provided
it is not marked as "special".

When a mode is used by default, `find-file' switches to it before it
reads the contents into the buffer and before it finishes setting up
the buffer.  Thus, the mode and its hooks should not expect certain
variables such as `buffer-read-only' and `buffer-file-coding-system'
to be set up.Vmode-name
Pretty name of current buffer's major mode.
Usually a string, but can use any of the constructs for `mode-line-format',
which see.
Format with `format-mode-line' to produce a string value.Vlocal-abbrev-table
Local (mode-specific) abbrev table of current buffer.Vabbrev-mode
Non-nil if Abbrev mode is enabled.
Use the command `abbrev-mode' to change this variable.Vcase-fold-search
Non-nil if searches and matches should ignore case.Vfill-column
Column beyond which automatic line-wrapping should happen.
Interactively, you can set the buffer local value using \[set-fill-column].Vleft-margin
Column for the default `indent-line-function' to indent to.
Linefeed indents to this column in Fundamental mode.Vtab-width
Distance between tab stops (for display of tab characters), in columns.
This should be an integer greater than zero.Vctl-arrow
Non-nil means display control chars with uparrow.
A value of nil means use backslash and octal digits.
This variable does not apply to characters whose display is specified
in the current display table (if there is one).Venable-multibyte-characters
Non-nil means the buffer contents are regarded as multi-byte characters.
Otherwise they are regarded as unibyte.  This affects the display,
file I/O and the behavior of various editing commands.

This variable is buffer-local but you cannot set it directly;
use the function `set-buffer-multibyte' to change a buffer's representation.
See also Info node `(elisp)Text Representations'.Vbuffer-file-coding-system
Coding system to be used for encoding the buffer contents on saving.
This variable applies to saving the buffer, and also to `write-region'
and other functions that use `write-region'.
It does not apply to sending output to subprocesses, however.

If this is nil, the buffer is saved without any code conversion
unless some coding system is specified in `file-coding-system-alist'
for the buffer file.

If the text to be saved cannot be encoded as specified by this variable,
an alternative encoding is selected by `select-safe-coding-system', which see.

The variable `coding-system-for-write', if non-nil, overrides this variable.

This variable is never applied to a way of decoding a file while reading it.Vbidi-display-reordering
Non-nil means reorder bidirectional text for display in the visual order.Vbidi-paragraph-direction
If non-nil, forces directionality of text paragraphs in the buffer.

If this is nil (the default), the direction of each paragraph is
determined by the first strong directional character of its text.
The values of `right-to-left' and `left-to-right' override that.
Any other value is treated as nil.

This variable has no effect unless the buffer's value of
`bidi-display-reordering' is non-nil.Vtruncate-lines
Non-nil means do not display continuation lines.
Instead, give each line of text just one screen line.

Note that this is overridden by the variable
`truncate-partial-width-windows' if that variable is non-nil
and this buffer is not full-frame width.

Minibuffers set this variable to nil.Vword-wrap
Non-nil means to use word-wrapping for continuation lines.
When word-wrapping is on, continuation lines are wrapped at the space
or tab character nearest to the right window edge.
If nil, continuation lines are wrapped at the right screen edge.

This variable has no effect if long lines are truncated (see
`truncate-lines' and `truncate-partial-width-windows').  If you use
word-wrapping, you might want to reduce the value of
`truncate-partial-width-windows', since wrapping can make text readable
in narrower windows.

Instead of setting this variable directly, most users should use
Visual Line mode .  Visual Line mode, when enabled, sets `word-wrap'
to t, and additionally redefines simple editing commands to act on
visual lines rather than logical lines.  See the documentation of
`visual-line-mode'.Vdefault-directory
Name of default directory of current buffer.  Should end with slash.
To interactively change the default directory, use command `cd'.Vauto-fill-function
Function called (if non-nil) to perform auto-fill.
It is called after self-inserting any character specified in
the `auto-fill-chars' table.
NOTE: This variable is not a hook;
its value may not be a list of functions.Vbuffer-file-name
Name of file visited in current buffer, or nil if not visiting a file.Vbuffer-file-truename
Abbreviated truename of file visited in current buffer, or nil if none.
The truename of a file is calculated by `file-truename'
and then abbreviated with `abbreviate-file-name'.Vbuffer-auto-save-file-name
Name of file for auto-saving current buffer.
If it is nil, that means don't auto-save this buffer.Vbuffer-read-only
Non-nil if this buffer is read-only.Vbuffer-backed-up
Non-nil if this buffer's file has been backed up.
Backing up is done before the first time the file is saved.Vbuffer-saved-size
Length of current buffer when last read in, saved or auto-saved.
0 initially.
-1 means auto-saving turned off until next real save.

If you set this to -2, that means don't turn off auto-saving in this buffer
if its text size shrinks.   If you use `buffer-swap-text' on a buffer,
you probably should set this to -2 in that buffer.Vselective-display
Non-nil enables selective display.
An integer N as value means display only lines
that start with less than N columns of space.
A value of t means that the character ^M makes itself and
all the rest of the line invisible; also, when saving the buffer
in a file, save the ^M as a newline.Vselective-display-ellipses
Non-nil means display ... on previous line when a line is invisible.Voverwrite-mode
Non-nil if self-insertion should replace existing text.
The value should be one of `overwrite-mode-textual',
`overwrite-mode-binary', or nil.
If it is `overwrite-mode-textual', self-insertion still
inserts at the end of a line, and inserts when point is before a tab,
until the tab is filled in.
If `overwrite-mode-binary', self-insertion replaces newlines and tabs too.Vbuffer-display-table
Display table that controls display of the contents of current buffer.

If this variable is nil, the value of `standard-display-table' is used.
Each window can have its own, overriding display table, see
`set-window-display-table' and `window-display-table'.

The display table is a char-table created with `make-display-table'.
A char-table is an array indexed by character codes.  Normal array
primitives `aref' and `aset' can be used to access elements of a char-table.

Each of the char-table elements control how to display the corresponding
text character: the element at index C in the table says how to display
the character whose code is C.  Each element should be a vector of
characters or nil.  The value nil means display the character in the
default fashion; otherwise, the characters from the vector are delivered
to the screen instead of the original character.

For example, (aset buffer-display-table ?X [?Y]) tells Emacs
to display a capital Y instead of each X character.

In addition, a char-table has six extra slots to control the display of:

  the end of a truncated screen line (extra-slot 0, a single character);
  the end of a continued line (extra-slot 1, a single character);
  the escape character used to display character codes in octal
    (extra-slot 2, a single character);
  the character used as an arrow for control characters (extra-slot 3,
    a single character);
  the decoration indicating the presence of invisible lines (extra-slot 4,
    a vector of characters);
  the character used to draw the border between side-by-side windows
    (extra-slot 5, a single character).

See also the functions `display-table-slot' and `set-display-table-slot'.Vleft-margin-width
Width of left marginal area for display of a buffer.
A value of nil means no marginal area.Vright-margin-width
Width of right marginal area for display of a buffer.
A value of nil means no marginal area.Vleft-fringe-width
Width of this buffer's left fringe (in pixels).
A value of 0 means no left fringe is shown in this buffer's window.
A value of nil means to use the left fringe width from the window's frame.Vright-fringe-width
Width of this buffer's right fringe (in pixels).
A value of 0 means no right fringe is shown in this buffer's window.
A value of nil means to use the right fringe width from the window's frame.Vfringes-outside-margins
Non-nil means to display fringes outside display margins.
A value of nil means to display fringes between margins and buffer text.Vscroll-bar-width
Width of this buffer's scroll bars in pixels.
A value of nil means to use the scroll bar width from the window's frame.Vvertical-scroll-bar
Position of this buffer's vertical scroll bar.
The value takes effect whenever you tell a window to display this buffer;
for instance, with `set-window-buffer' or when `display-buffer' displays it.

A value of `left' or `right' means put the vertical scroll bar at that side
of the window; a value of nil means don't show any vertical scroll bars.
A value of t (the default) means do whatever the window's frame specifies.Vindicate-empty-lines
Visually indicate empty lines after the buffer end.
If non-nil, a bitmap is displayed in the left fringe of a window on
window-systems.Vindicate-buffer-boundaries
Visually indicate buffer boundaries and scrolling.
If non-nil, the first and last line of the buffer are marked in the fringe
of a window on window-systems with angle bitmaps, or if the window can be
scrolled, the top and bottom line of the window are marked with up and down
arrow bitmaps.

If value is a symbol `left' or `right', both angle and arrow bitmaps
are displayed in the left or right fringe, resp.  Any other value
that doesn't look like an alist means display the angle bitmaps in
the left fringe but no arrows.

You can exercise more precise control by using an alist as the
value.  Each alist element (INDICATOR . POSITION) specifies
where to show one of the indicators.  INDICATOR is one of `top',
`bottom', `up', `down', or t, which specifies the default position,
and POSITION is one of `left', `right', or nil, meaning do not show
this indicator.

For example, ((top . left) (t . right)) places the top angle bitmap in
left fringe, the bottom angle bitmap in right fringe, and both arrow
bitmaps in right fringe.  To show just the angle bitmaps in the left
fringe, but no arrow bitmaps, use ((top .  left) (bottom . left)).Vfringe-indicator-alist
Mapping from logical to physical fringe indicator bitmaps.
The value is an alist where each element (INDICATOR . BITMAPS)
specifies the fringe bitmaps used to display a specific logical
fringe indicator.

INDICATOR specifies the logical indicator type which is one of the
following symbols: `truncation' , `continuation', `overlay-arrow',
`top', `bottom', `top-bottom', `up', `down', empty-line', or `unknown'.

BITMAPS is a list of symbols (LEFT RIGHT [LEFT1 RIGHT1]) which specifies
the actual bitmap shown in the left or right fringe for the logical
indicator.  LEFT and RIGHT are the bitmaps shown in the left and/or
right fringe for the specific indicator.  The LEFT1 or RIGHT1 bitmaps
are used only for the `bottom' and `top-bottom' indicators when the
last (only) line has no final newline.  BITMAPS may also be a single
symbol which is used in both left and right fringes.Vfringe-cursor-alist
Mapping from logical to physical fringe cursor bitmaps.
The value is an alist where each element (CURSOR . BITMAP)
specifies the fringe bitmaps used to display a specific logical
cursor type in the fringe.

CURSOR specifies the logical cursor type which is one of the following
symbols: `box' , `hollow', `bar', `hbar', or `hollow-small'.  The last
one is used to show a hollow cursor on narrow lines display lines
where the normal hollow cursor will not fit.

BITMAP is the corresponding fringe bitmap shown for the logical
cursor type.Vscroll-up-aggressively
How far to scroll windows upward.
If you move point off the bottom, the window scrolls automatically.
This variable controls how far it scrolls.  The value nil, the default,
means scroll to center point.  A fraction means scroll to put point
that fraction of the window's height from the bottom of the window.
When the value is 0.0, point goes at the bottom line, which in the
simple case that you moved off with C-f means scrolling just one line.
1.0 means point goes at the top, so that in that simple case, the
window scrolls by a full window height.  Meaningful values are
between 0.0 and 1.0, inclusive.Vscroll-down-aggressively
How far to scroll windows downward.
If you move point off the top, the window scrolls automatically.
This variable controls how far it scrolls.  The value nil, the default,
means scroll to center point.  A fraction means scroll to put point
that fraction of the window's height from the top of the window.
When the value is 0.0, point goes at the top line, which in the
simple case that you moved off with C-b means scrolling just one line.
1.0 means point goes at the bottom, so that in that simple case, the
window scrolls by a full window height.  Meaningful values are
between 0.0 and 1.0, inclusive.Vbefore-change-functions
List of functions to call before each text change.
Two arguments are passed to each function: the positions of
the beginning and end of the range of old text to be changed.
(For an insertion, the beginning and end are at the same place.)
No information is given about the length of the text after the change.

Buffer changes made while executing the `before-change-functions'
don't call any before-change or after-change functions.
That's because `inhibit-modification-hooks' is temporarily set non-nil.

If an unhandled error happens in running these functions,
the variable's value remains nil.  That prevents the error
from happening repeatedly and making Emacs nonfunctional.Vafter-change-functions
List of functions to call after each text change.
Three arguments are passed to each function: the positions of
the beginning and end of the range of changed text,
and the length in bytes of the pre-change text replaced by that range.
(For an insertion, the pre-change length is zero;
for a deletion, that length is the number of bytes deleted,
and the post-change beginning and end are at the same place.)

Buffer changes made while executing the `after-change-functions'
don't call any before-change or after-change functions.
That's because `inhibit-modification-hooks' is temporarily set non-nil.

If an unhandled error happens in running these functions,
the variable's value remains nil.  That prevents the error
from happening repeatedly and making Emacs nonfunctional.Vfirst-change-hook
A list of functions to call before changing a buffer which is unmodified.
The functions are run using the `run-hooks' function.Vbuffer-undo-list
List of undo entries in current buffer.
Recent changes come first; older changes follow newer.

An entry (BEG . END) represents an insertion which begins at
position BEG and ends at position END.

An entry (TEXT . POSITION) represents the deletion of the string TEXT
from (abs POSITION).  If POSITION is positive, point was at the front
of the text being deleted; if negative, point was at the end.

An entry (t HIGH LOW USEC PSEC) indicates that the buffer was previously
unmodified; (HIGH LOW USEC PSEC) is in the same style as (current-time)
and is the visited file's modification time, as of that time.  If the
modification time of the most recent save is different, this entry is
obsolete.

An entry (nil PROPERTY VALUE BEG . END) indicates that a text property
was modified between BEG and END.  PROPERTY is the property name,
and VALUE is the old value.

An entry (apply FUN-NAME . ARGS) means undo the change with
(apply FUN-NAME ARGS).

An entry (apply DELTA BEG END FUN-NAME . ARGS) supports selective undo
in the active region.  BEG and END is the range affected by this entry
and DELTA is the number of bytes added or deleted in that range by
this change.

An entry (MARKER . DISTANCE) indicates that the marker MARKER
was adjusted in position by the offset DISTANCE (an integer).

An entry of the form POSITION indicates that point was at the buffer
location given by the integer.  Undoing an entry of this form places
point at POSITION.

Entries with value `nil' mark undo boundaries.  The undo command treats
the changes between two undo boundaries as a single step to be undone.

If the value of the variable is t, undo information is not recorded.Vmark-active
Non-nil means the mark and region are currently active in this buffer.Vcache-long-line-scans
Non-nil means that Emacs should use caches to handle long lines more quickly.

Normally, the line-motion functions work by scanning the buffer for
newlines.  Columnar operations (like `move-to-column' and
`compute-motion') also work by scanning the buffer, summing character
widths as they go.  This works well for ordinary text, but if the
buffer's lines are very long (say, more than 500 characters), these
motion functions will take longer to execute.  Emacs may also take
longer to update the display.

If `cache-long-line-scans' is non-nil, these motion functions cache the
results of their scans, and consult the cache to avoid rescanning
regions of the buffer until the text is modified.  The caches are most
beneficial when they prevent the most searching---that is, when the
buffer contains long lines and large regions of characters with the
same, fixed screen width.

When `cache-long-line-scans' is non-nil, processing short lines will
become slightly slower (because of the overhead of consulting the
cache), and the caches will use memory roughly proportional to the
number of newlines and characters whose screen width varies.

The caches require no explicit maintenance; their accuracy is
maintained internally by the Emacs primitives.  Enabling or disabling
the cache should not affect the behavior of any of the motion
functions; it should only affect their performance.Vpoint-before-scroll
Value of point before the last series of scroll operations, or nil.Vbuffer-file-format
List of formats to use when saving this buffer.
Formats are defined by `format-alist'.  This variable is
set when a file is visited.Vbuffer-auto-save-file-format
Format in which to write auto-save files.
Should be a list of symbols naming formats that are defined in `format-alist'.
If it is t, which is the default, auto-save files are written in the
same format as a regular save would use.Vbuffer-invisibility-spec
Invisibility spec of this buffer.
The default is t, which means that text is invisible
if it has a non-nil `invisible' property.
If the value is a list, a text character is invisible if its `invisible'
property is an element in that list (or is a list with members in common).
If an element is a cons cell of the form (PROP . ELLIPSIS),
then characters with property value PROP are invisible,
and they have an ellipsis as well if ELLIPSIS is non-nil.Vbuffer-display-count
A number incremented each time this buffer is displayed in a window.
The function `set-window-buffer' increments it.Vbuffer-display-time
Time stamp updated each time this buffer is displayed in a window.
The function `set-window-buffer' updates this variable
to the value obtained by calling `current-time'.
If the buffer has never been shown in a window, the value is nil.Vtransient-mark-mode
Non-nil if Transient Mark mode is enabled.
See the command `transient-mark-mode' for a description of this minor mode.

Non-nil also enables highlighting of the region whenever the mark is active.
The variable `highlight-nonselected-windows' controls whether to highlight
all windows or just the selected window.

Lisp programs may give this variable certain special values:

- A value of `lambda' enables Transient Mark mode temporarily.
  It is disabled again after any subsequent action that would
  normally deactivate the mark (e.g. buffer modification).

- A value of (only . OLDVAL) enables Transient Mark mode
  temporarily.  After any subsequent point motion command that is
  not shift-translated, or any other action that would normally
  deactivate the mark (e.g. buffer modification), the value of
  `transient-mark-mode' is set to OLDVAL.Vinhibit-read-only
Non-nil means disregard read-only status of buffers or characters.
If the value is t, disregard `buffer-read-only' and all `read-only'
text properties.  If the value is a list, disregard `buffer-read-only'
and disregard a `read-only' text property if the property value
is a member of the list.Vcursor-type
Cursor to use when this buffer is in the selected window.
Values are interpreted as follows:

  t 		  use the cursor specified for the frame
  nil		  don't display a cursor
  box		  display a filled box cursor
  hollow	  display a hollow box cursor
  bar		  display a vertical bar cursor with default width
  (bar . WIDTH)	  display a vertical bar cursor with width WIDTH
  hbar		  display a horizontal bar cursor with default height
  (hbar . HEIGHT) display a horizontal bar cursor with height HEIGHT
  ANYTHING ELSE	  display a hollow box cursor

When the buffer is displayed in a non-selected window, the
cursor's appearance is instead controlled by the variable
`cursor-in-non-selected-windows'.Vline-spacing
Additional space to put between lines when displaying a buffer.
The space is measured in pixels, and put below lines on graphic displays,
see `display-graphic-p'.
If value is a floating point number, it specifies the spacing relative
to the default frame line height.  A value of nil means add no extra space.Vcursor-in-non-selected-windows
Non-nil means show a cursor in non-selected windows.
If nil, only shows a cursor in the selected window.
If t, displays a cursor related to the usual cursor type
(a solid box becomes hollow, a bar becomes a narrower bar).
You can also specify the cursor type as in the `cursor-type' variable.
Use Custom to set this variable and update the display."Vkill-buffer-query-functions
List of functions called with no args to query before killing a buffer.
The buffer being killed will be current while the functions are running.

If any of them returns nil, the buffer is not killed.  Functions run by
this hook are supposed to not change the current buffer.Vchange-major-mode-hook
Normal hook run before changing the major mode of a buffer.
The function `kill-all-local-variables' runs this before doing anything else.Vbuffer-list-update-hook
Hook run when the buffer list changes.
Functions running this hook are `get-buffer-create',
`make-indirect-buffer', `rename-buffer', `kill-buffer',
and `bury-buffer-internal'.Sfilelock.o
Flock-buffer
Lock FILE, if current buffer is modified.
FILE defaults to current buffer's visited file,
or else nothing is done if current buffer isn't visiting a file.

(fn &optional FILE)Funlock-buffer
Unlock the file visited in the current buffer.
If the buffer is not modified, this does nothing because the file
should not be locked in that case.

(fn)Ffile-locked-p
Return a value indicating whether FILENAME is locked.
The value is nil if the FILENAME is not locked,
t if it is locked by you, else a string saying which user has locked it.

(fn FILENAME)Vtemporary-file-directory
The directory for writing temporary files.Vcreate-lockfiles
Non-nil means use lockfiles to avoid editing collisions.Sinsdel.o
Fcombine-after-change-execute
This function is for use internally in `combine-after-change-calls'.

(fn)Vcombine-after-change-calls
Used internally by the `combine-after-change-calls' macro.Vinhibit-modification-hooks
Non-nil means don't run any of the hooks that respond to buffer changes.
This affects `before-change-functions' and `after-change-functions',
as well as hooks attached to text properties and overlays.Smarker.o
Fmarker-buffer
Return the buffer that MARKER points into, or nil if none.
Returns nil if MARKER points into a dead buffer.

(fn MARKER)Fmarker-position
Return the position MARKER points at, as a character number.
Returns nil if MARKER points nowhere.

(fn MARKER)Fset-marker
Position MARKER before character number POSITION in BUFFER,
which defaults to the current buffer.  If POSITION is nil,
makes marker point nowhere so it no longer slows down
editing in any buffer.  Returns MARKER.

(fn MARKER POSITION &optional BUFFER)Fcopy-marker
Return a new marker pointing at the same place as MARKER.
If argument is a number, makes a new marker pointing
at that position in the current buffer.
If MARKER is not specified, the new marker does not point anywhere.
The optional argument TYPE specifies the insertion type of the new marker;
see `marker-insertion-type'.

(fn &optional MARKER TYPE)Fmarker-insertion-type
Return insertion type of MARKER: t if it stays after inserted text.
The value nil means the marker stays before text inserted there.

(fn MARKER)Fset-marker-insertion-type
Set the insertion-type of MARKER to TYPE.
If TYPE is t, it means the marker advances when you insert text at it.
If TYPE is nil, it means the marker stays behind when you insert text at it.

(fn MARKER TYPE)Fbuffer-has-markers-at
Return t if there are markers pointing at POSITION in the current buffer.

(fn POSITION)Sminibuf.o
Factive-minibuffer-window
Return the currently active minibuffer window, or nil if none.

(fn)Fset-minibuffer-window
Specify which minibuffer window to use for the minibuffer.
This affects where the minibuffer is displayed if you put text in it
without invoking the usual minibuffer commands.

(fn WINDOW)Fminibufferp
Return t if BUFFER is a minibuffer.
No argument or nil as argument means use current buffer as BUFFER.
BUFFER can be a buffer or a buffer name.

(fn &optional BUFFER)Fminibuffer-prompt-end
Return the buffer position of the end of the minibuffer prompt.
Return (point-min) if current buffer is not a minibuffer.

(fn)Fminibuffer-contents
Return the user input in a minibuffer as a string.
If the current buffer is not a minibuffer, return its entire contents.

(fn)Fminibuffer-contents-no-properties
Return the user input in a minibuffer as a string, without text-properties.
If the current buffer is not a minibuffer, return its entire contents.

(fn)Fminibuffer-completion-contents
Return the user input in a minibuffer before point as a string.
That is what completion commands operate on.
If the current buffer is not a minibuffer, return its entire contents.

(fn)Fread-from-minibuffer
Read a string from the minibuffer, prompting with string PROMPT.
The optional second arg INITIAL-CONTENTS is an obsolete alternative to
  DEFAULT-VALUE.  It normally should be nil in new code, except when
  HIST is a cons.  It is discussed in more detail below.

Third arg KEYMAP is a keymap to use whilst reading;
  if omitted or nil, the default is `minibuffer-local-map'.

If fourth arg READ is non-nil, interpret the result as a Lisp object
  and return that object:
  in other words, do `(car (read-from-string INPUT-STRING))'

Fifth arg HIST, if non-nil, specifies a history list and optionally
  the initial position in the list.  It can be a symbol, which is the
  history list variable to use, or a cons cell (HISTVAR . HISTPOS).
  In that case, HISTVAR is the history list variable to use, and
  HISTPOS is the initial position for use by the minibuffer history
  commands.  For consistency, you should also specify that element of
  the history as the value of INITIAL-CONTENTS.  Positions are counted
  starting from 1 at the beginning of the list.

Sixth arg DEFAULT-VALUE, if non-nil, should be a string, which is used
  as the default to `read' if READ is non-nil and the user enters
  empty input.  But if READ is nil, this function does _not_ return
  DEFAULT-VALUE for empty input!  Instead, it returns the empty string.

  Whatever the value of READ, DEFAULT-VALUE is made available via the
  minibuffer history commands.  DEFAULT-VALUE can also be a list of
  strings, in which case all the strings are available in the history,
  and the first string is the default to `read' if READ is non-nil.

Seventh arg INHERIT-INPUT-METHOD, if non-nil, means the minibuffer inherits
 the current input method and the setting of `enable-multibyte-characters'.

If the variable `minibuffer-allow-text-properties' is non-nil,
 then the string which is returned includes whatever text properties
 were present in the minibuffer.  Otherwise the value has no text properties.

The remainder of this documentation string describes the
INITIAL-CONTENTS argument in more detail.  It is only relevant when
studying existing code, or when HIST is a cons.  If non-nil,
INITIAL-CONTENTS is a string to be inserted into the minibuffer before
reading input.  Normally, point is put at the end of that string.
However, if INITIAL-CONTENTS is (STRING . POSITION), the initial
input is STRING, but point is placed at _one-indexed_ position
POSITION in the minibuffer.  Any integer value less than or equal to
one puts point at the beginning of the string.  *Note* that this
behavior differs from the way such arguments are used in `completing-read'
and some related functions, which use zero-indexing for POSITION.

(fn PROMPT &optional INITIAL-CONTENTS KEYMAP READ HIST DEFAULT-VALUE INHERIT-INPUT-METHOD)Fread-minibuffer
Return a Lisp object read using the minibuffer, unevaluated.
Prompt with PROMPT.  If non-nil, optional second arg INITIAL-CONTENTS
is a string to insert in the minibuffer before reading.
(INITIAL-CONTENTS can also be a cons of a string and an integer.
Such arguments are used as in `read-from-minibuffer'.)

(fn PROMPT &optional INITIAL-CONTENTS)Feval-minibuffer
Return value of Lisp expression read using the minibuffer.
Prompt with PROMPT.  If non-nil, optional second arg INITIAL-CONTENTS
is a string to insert in the minibuffer before reading.
(INITIAL-CONTENTS can also be a cons of a string and an integer.
Such arguments are used as in `read-from-minibuffer'.)

(fn PROMPT &optional INITIAL-CONTENTS)Fread-string
Read a string from the minibuffer, prompting with string PROMPT.
If non-nil, second arg INITIAL-INPUT is a string to insert before reading.
  This argument has been superseded by DEFAULT-VALUE and should normally
  be nil in new code.  It behaves as in `read-from-minibuffer'.  See the
  documentation string of that function for details.
The third arg HISTORY, if non-nil, specifies a history list
  and optionally the initial position in the list.
See `read-from-minibuffer' for details of HISTORY argument.
Fourth arg DEFAULT-VALUE is the default value or the list of default values.
 If non-nil, it is used for history commands, and as the value (or the first
 element of the list of default values) to return if the user enters the
 empty string.
Fifth arg INHERIT-INPUT-METHOD, if non-nil, means the minibuffer inherits
 the current input method and the setting of `enable-multibyte-characters'.

(fn PROMPT &optional INITIAL-INPUT HISTORY DEFAULT-VALUE INHERIT-INPUT-METHOD)Fread-no-blanks-input
Read a string from the terminal, not allowing blanks.
Prompt with PROMPT.  Whitespace terminates the input.  If INITIAL is
non-nil, it should be a string, which is used as initial input, with
point positioned at the end, so that SPACE will accept the input.
(Actually, INITIAL can also be a cons of a string and an integer.
Such values are treated as in `read-from-minibuffer', but are normally
not useful in this function.)
Third arg INHERIT-INPUT-METHOD, if non-nil, means the minibuffer inherits
the current input method and the setting of`enable-multibyte-characters'.

(fn PROMPT &optional INITIAL INHERIT-INPUT-METHOD)Fread-command
Read the name of a command and return as a symbol.
Prompt with PROMPT.  By default, return DEFAULT-VALUE or its first element
if it is a list.

(fn PROMPT &optional DEFAULT-VALUE)Fread-function
One arg PROMPT, a string.  Read the name of a function and return as a symbol.
Prompt with PROMPT.

(fn PROMPT)Fread-variable
Read the name of a user option and return it as a symbol.
Prompt with PROMPT.  By default, return DEFAULT-VALUE or its first element
if it is a list.
A user option, or customizable variable, is one for which
`custom-variable-p' returns non-nil.

(fn PROMPT &optional DEFAULT-VALUE)Fread-buffer
Read the name of a buffer and return as a string.
Prompt with PROMPT.
Optional second arg DEF is value to return if user enters an empty line.
 If DEF is a list of default values, return its first element.
Optional third arg REQUIRE-MATCH determines whether non-existing
 buffer names are allowed.  It has the same meaning as the
 REQUIRE-MATCH argument of `completing-read'.
The argument PROMPT should be a string ending with a colon and a space.
If `read-buffer-completion-ignore-case' is non-nil, completion ignores
case while reading the buffer name.
If `read-buffer-function' is non-nil, this works by calling it as a
function, instead of the usual behavior.

(fn PROMPT &optional DEF REQUIRE-MATCH)Ftry-completion
Return common substring of all completions of STRING in COLLECTION.
Test each possible completion specified by COLLECTION
to see if it begins with STRING.  The possible completions may be
strings or symbols.  Symbols are converted to strings before testing,
see `symbol-name'.
All that match STRING are compared together; the longest initial sequence
common to all these matches is the return value.
If there is no match at all, the return value is nil.
For a unique match which is exact, the return value is t.

If COLLECTION is an alist, the keys (cars of elements) are the
possible completions.  If an element is not a cons cell, then the
element itself is the possible completion.
If COLLECTION is a hash-table, all the keys that are strings or symbols
are the possible completions.
If COLLECTION is an obarray, the names of all symbols in the obarray
are the possible completions.

COLLECTION can also be a function to do the completion itself.
It receives three arguments: the values STRING, PREDICATE and nil.
Whatever it returns becomes the value of `try-completion'.

If optional third argument PREDICATE is non-nil,
it is used to test each possible match.
The match is a candidate only if PREDICATE returns non-nil.
The argument given to PREDICATE is the alist element
or the symbol from the obarray.  If COLLECTION is a hash-table,
predicate is called with two arguments: the key and the value.
Additionally to this predicate, `completion-regexp-list'
is used to further constrain the set of candidates.

(fn STRING COLLECTION &optional PREDICATE)Fall-completions
Search for partial matches to STRING in COLLECTION.
Test each of the possible completions specified by COLLECTION
to see if it begins with STRING.  The possible completions may be
strings or symbols.  Symbols are converted to strings before testing,
see `symbol-name'.
The value is a list of all the possible completions that match STRING.

If COLLECTION is an alist, the keys (cars of elements) are the
possible completions.  If an element is not a cons cell, then the
element itself is the possible completion.
If COLLECTION is a hash-table, all the keys that are strings or symbols
are the possible completions.
If COLLECTION is an obarray, the names of all symbols in the obarray
are the possible completions.

COLLECTION can also be a function to do the completion itself.
It receives three arguments: the values STRING, PREDICATE and t.
Whatever it returns becomes the value of `all-completions'.

If optional third argument PREDICATE is non-nil,
it is used to test each possible match.
The match is a candidate only if PREDICATE returns non-nil.
The argument given to PREDICATE is the alist element
or the symbol from the obarray.  If COLLECTION is a hash-table,
predicate is called with two arguments: the key and the value.
Additionally to this predicate, `completion-regexp-list'
is used to further constrain the set of candidates.

An obsolete optional fourth argument HIDE-SPACES is still accepted for
backward compatibility.  If non-nil, strings in COLLECTION that start
with a space are ignored unless STRING itself starts with a space.

(fn STRING COLLECTION &optional PREDICATE HIDE-SPACES)Fcompleting-read
Read a string in the minibuffer, with completion.
PROMPT is a string to prompt with; normally it ends in a colon and a space.
COLLECTION can be a list of strings, an alist, an obarray or a hash table.
COLLECTION can also be a function to do the completion itself.
PREDICATE limits completion to a subset of COLLECTION.
See `try-completion' and `all-completions' for more details
 on completion, COLLECTION, and PREDICATE.

REQUIRE-MATCH can take the following values:
- t means that the user is not allowed to exit unless
  the input is (or completes to) an element of COLLECTION or is null.
- nil means that the user can exit with any input.
- `confirm' means that the user can exit with any input, but she needs
  to confirm her choice if the input is not an element of COLLECTION.
- `confirm-after-completion' means that the user can exit with any
  input, but she needs to confirm her choice if she called
  `minibuffer-complete' right before `minibuffer-complete-and-exit'
  and the input is not an element of COLLECTION.
- anything else behaves like t except that typing RET does not exit if it
  does non-null completion.

If the input is null, `completing-read' returns DEF, or the first element
of the list of default values, or an empty string if DEF is nil,
regardless of the value of REQUIRE-MATCH.

If INITIAL-INPUT is non-nil, insert it in the minibuffer initially,
  with point positioned at the end.
  If it is (STRING . POSITION), the initial input is STRING, but point
  is placed at _zero-indexed_ position POSITION in STRING.  (*Note*
  that this is different from `read-from-minibuffer' and related
  functions, which use one-indexing for POSITION.)  This feature is
  deprecated--it is best to pass nil for INITIAL-INPUT and supply the
  default value DEF instead.  The user can yank the default value into
  the minibuffer easily using \<minibuffer-local-map>\[next-history-element].

HIST, if non-nil, specifies a history list and optionally the initial
  position in the list.  It can be a symbol, which is the history list
  variable to use, or it can be a cons cell (HISTVAR . HISTPOS).  In
  that case, HISTVAR is the history list variable to use, and HISTPOS
  is the initial position (the position in the list used by the
  minibuffer history commands).  For consistency, you should also
  specify that element of the history as the value of
  INITIAL-INPUT.  (This is the only case in which you should use
  INITIAL-INPUT instead of DEF.)  Positions are counted starting from
  1 at the beginning of the list.  The variable `history-length'
  controls the maximum length of a history list.

DEF, if non-nil, is the default value or the list of default values.

If INHERIT-INPUT-METHOD is non-nil, the minibuffer inherits
  the current input method and the setting of `enable-multibyte-characters'.

Completion ignores case if the ambient value of
  `completion-ignore-case' is non-nil.

See also `completing-read-function'.

(fn PROMPT COLLECTION &optional PREDICATE REQUIRE-MATCH INITIAL-INPUT HIST DEF INHERIT-INPUT-METHOD)Ftest-completion
Return non-nil if STRING is a valid completion.
Takes the same arguments as `all-completions' and `try-completion'.
If COLLECTION is a function, it is called with three arguments:
the values STRING, PREDICATE and `lambda'.

(fn STRING COLLECTION &optional PREDICATE)Finternal-complete-buffer
Perform completion on buffer names.
STRING and PREDICATE have the same meanings as in `try-completion',
`all-completions', and `test-completion'.

If FLAG is nil, invoke `try-completion'; if it is t, invoke
`all-completions'; otherwise invoke `test-completion'.

(fn STRING PREDICATE FLAG)Fassoc-string
Like `assoc' but specifically for strings (and symbols).

This returns the first element of LIST whose car matches the string or
symbol KEY, or nil if no match exists.  When performing the
comparison, symbols are first converted to strings, and unibyte
strings to multibyte.  If the optional arg CASE-FOLD is non-nil, case
is ignored.

Unlike `assoc', KEY can also match an entry in LIST consisting of a
single string, rather than a cons cell whose car is a string.

(fn KEY LIST &optional CASE-FOLD)Fminibuffer-depth
Return current depth of activations of minibuffer, a nonnegative integer.

(fn)Fminibuffer-prompt
Return the prompt string of the currently-active minibuffer.
If no minibuffer is active, return nil.

(fn)Vread-expression-history
A history list for arguments that are Lisp expressions to evaluate.
For example, `eval-expression' uses this.Vread-buffer-function
If this is non-nil, `read-buffer' does its work by calling this function.
The function is called with the arguments passed to `read-buffer'.Vread-buffer-completion-ignore-case
Non-nil means completion ignores case when reading a buffer name.Vminibuffer-setup-hook
Normal hook run just after entry to minibuffer.Vminibuffer-exit-hook
Normal hook run just after exit from minibuffer.Vhistory-length
Maximum length of history lists before truncation takes place.
A number means truncate to that length; truncation deletes old
elements, and is done just after inserting a new element.
A value of t means no truncation.

This variable only affects history lists that don't specify their own
maximum lengths.  Setting the `history-length' property of a history
variable overrides this default.Vhistory-delete-duplicates
Non-nil means to delete duplicates in history.
If set to t when adding a new history element, all previous identical
elements are deleted from the history list.Vhistory-add-new-input
Non-nil means to add new elements in history.
If set to nil, minibuffer reading functions don't add new elements to the
history list, so it is possible to do this afterwards by calling
`add-to-history' explicitly.Vcompletion-ignore-case
Non-nil means don't consider case significant in completion.
For file-name completion, `read-file-name-completion-ignore-case'
controls the behavior, rather than this variable.
For buffer name completion, `read-buffer-completion-ignore-case'
controls the behavior, rather than this variable.Venable-recursive-minibuffers
Non-nil means to allow minibuffer commands while in the minibuffer.
This variable makes a difference whenever the minibuffer window is active.Vminibuffer-completion-table
Alist or obarray used for completion in the minibuffer.
This becomes the ALIST argument to `try-completion' and `all-completions'.
The value can also be a list of strings or a hash table.

The value may alternatively be a function, which is given three arguments:
  STRING, the current buffer contents;
  PREDICATE, the predicate for filtering possible matches;
  CODE, which says what kind of things to do.
CODE can be nil, t or `lambda':
  nil    -- return the best completion of STRING, or nil if there is none.
  t      -- return a list of all possible completions of STRING.
  lambda -- return t if STRING is a valid completion as it stands.Vminibuffer-completion-predicate
Within call to `completing-read', this holds the PREDICATE argument.Vminibuffer-completion-confirm
Whether to demand confirmation of completion before exiting minibuffer.
If nil, confirmation is not required.
If the value is `confirm', the user may exit with an input that is not
 a valid completion alternative, but Emacs asks for confirmation.
If the value is `confirm-after-completion', the user may exit with an
 input that is not a valid completion alternative, but Emacs asks for
 confirmation if the user submitted the input right after any of the
 completion commands listed in `minibuffer-confirm-exit-commands'.Vminibuffer-completing-file-name
Non-nil means completing file names.Vminibuffer-help-form
Value that `help-form' takes on inside the minibuffer.Vminibuffer-history-variable
History list symbol to add minibuffer values to.
Each string of minibuffer input, as it appears on exit from the minibuffer,
is added with
  (set minibuffer-history-variable
  (cons STRING (symbol-value minibuffer-history-variable)))Vminibuffer-history-position
Current position of redoing in the history list.Vminibuffer-auto-raise
Non-nil means entering the minibuffer raises the minibuffer's frame.
Some uses of the echo area also raise that frame (since they use it too).Vcompletion-regexp-list
List of regexps that should restrict possible completions.
The basic completion functions only consider a completion acceptable
if it matches all regular expressions in this list, with
`case-fold-search' bound to the value of `completion-ignore-case'.
See Info node `(elisp)Basic Completion', for a description of these
functions.Vminibuffer-allow-text-properties
Non-nil means `read-from-minibuffer' should not discard text properties.
This also affects `read-string', but it does not affect `read-minibuffer',
`read-no-blanks-input', or any of the functions that do minibuffer input
with completion; they always discard text properties.Vminibuffer-prompt-properties
Text properties that are added to minibuffer prompts.
These are in addition to the basic `field' property, and stickiness
properties.Vread-expression-map
Minibuffer keymap used for reading Lisp expressions.Sfileio.o
Ffind-file-name-handler
Return FILENAME's handler function for OPERATION, if it has one.
Otherwise, return nil.
A file name is handled if one of the regular expressions in
`file-name-handler-alist' matches it.

If OPERATION equals `inhibit-file-name-operation', then we ignore
any handlers that are members of `inhibit-file-name-handlers',
but we still do run any other handlers.  This lets handlers
use the standard functions without calling themselves recursively.

(fn FILENAME OPERATION)Ffile-name-directory
Return the directory component in file name FILENAME.
Return nil if FILENAME does not include a directory.
Otherwise return a directory name.
Given a Unix syntax file name, returns a string ending in slash.

(fn FILENAME)Ffile-name-nondirectory
Return file name FILENAME sans its directory.
For example, in a Unix-syntax file name,
this is everything after the last slash,
or the entire name if it contains no slash.

(fn FILENAME)Funhandled-file-name-directory
Return a directly usable directory name somehow associated with FILENAME.
A `directly usable' directory name is one that may be used without the
intervention of any file handler.
If FILENAME is a directly usable file itself, return
(file-name-directory FILENAME).
If FILENAME refers to a file which is not accessible from a local process,
then this should return nil.
The `call-process' and `start-process' functions use this function to
get a current directory to run processes in.

(fn FILENAME)Ffile-name-as-directory
Return a string representing the file name FILE interpreted as a directory.
This operation exists because a directory is also a file, but its name as
a directory is different from its name as a file.
The result can be used as the value of `default-directory'
or passed as second argument to `expand-file-name'.
For a Unix-syntax file name, just appends a slash.

(fn FILE)Fdirectory-file-name
Returns the file name of the directory named DIRECTORY.
This is the name of the file that holds the data for the directory DIRECTORY.
This operation exists because a directory is also a file, but its name as
a directory is different from its name as a file.
In Unix-syntax, this function just removes the final slash.

(fn DIRECTORY)Fmake-temp-name
Generate temporary file name (string) starting with PREFIX (a string).
The Emacs process number forms part of the result,
so there is no danger of generating a name being used by another process.

In addition, this function makes an attempt to choose a name
which has no existing file.  To make this work,
PREFIX should be an absolute file name.

There is a race condition between calling `make-temp-name' and creating the
file which opens all kinds of security holes.  For that reason, you should
probably use `make-temp-file' instead, except in three circumstances:

* If you are creating the file in the user's home directory.
* If you are creating a directory rather than an ordinary file.
* If you are taking special precautions as `make-temp-file' does.

(fn PREFIX)Fexpand-file-name
Convert filename NAME to absolute, and canonicalize it.
Second arg DEFAULT-DIRECTORY is directory to start with if NAME is relative
(does not start with slash or tilde); if DEFAULT-DIRECTORY is nil or missing,
the current buffer's value of `default-directory' is used.
NAME should be a string that is a valid file name for the underlying
filesystem.
File name components that are `.' are removed, and
so are file name components followed by `..', along with the `..' itself;
note that these simplifications are done without checking the resulting
file names in the file system.
Multiple consecutive slashes are collapsed into a single slash,
except at the beginning of the file name when they are significant (e.g.,
UNC file names on MS-Windows.)
An initial `~/' expands to your home directory.
An initial `~USER/' expands to USER's home directory.
See also the function `substitute-in-file-name'.

For technical reasons, this function can return correct but
non-intuitive results for the root directory; for instance,
(expand-file-name ".." "/") returns "/..".  For this reason, use
(directory-file-name (file-name-directory dirname)) to traverse a
filesystem tree, not (expand-file-name ".."  dirname).

(fn NAME &optional DEFAULT-DIRECTORY)Fsubstitute-in-file-name
Substitute environment variables referred to in FILENAME.
`$FOO' where FOO is an environment variable name means to substitute
the value of that variable.  The variable name should be terminated
with a character not a letter, digit or underscore; otherwise, enclose
the entire variable name in braces.

If `/~' appears, all of FILENAME through that `/' is discarded.
If `//' appears, everything up to and including the first of
those `/' is discarded.

(fn FILENAME)Fcopy-file
Copy FILE to NEWNAME.  Both args must be strings.
If NEWNAME names a directory, copy FILE there.

This function always sets the file modes of the output file to match
the input file.

The optional third argument OK-IF-ALREADY-EXISTS specifies what to do
if file NEWNAME already exists.  If OK-IF-ALREADY-EXISTS is nil, we
signal a `file-already-exists' error without overwriting.  If
OK-IF-ALREADY-EXISTS is a number, we request confirmation from the user
about overwriting; this is what happens in interactive use with M-x.
Any other value for OK-IF-ALREADY-EXISTS means to overwrite the
existing file.

Fourth arg KEEP-TIME non-nil means give the output file the same
last-modified time as the old one.  (This works on only some systems.)

A prefix arg makes KEEP-TIME non-nil.

If PRESERVE-UID-GID is non-nil, we try to transfer the
uid and gid of FILE to NEWNAME.

If PRESERVE-SELINUX-CONTEXT is non-nil and SELinux is enabled
on the system, we copy the SELinux context of FILE to NEWNAME.

(fn FILE NEWNAME &optional OK-IF-ALREADY-EXISTS KEEP-TIME PRESERVE-UID-GID PRESERVE-SELINUX-CONTEXT)Fmake-directory-internal
Create a new directory named DIRECTORY.

(fn DIRECTORY)Fdelete-directory-internal
Delete the directory named DIRECTORY.  Does not follow symlinks.

(fn DIRECTORY)Fdelete-file
Delete file named FILENAME.  If it is a symlink, remove the symlink.
If file has multiple names, it continues to exist with the other names.
TRASH non-nil means to trash the file instead of deleting, provided
`delete-by-moving-to-trash' is non-nil.

When called interactively, TRASH is t if no prefix argument is given.
With a prefix argument, TRASH is nil.

(fn FILENAME &optional TRASH)Frename-file
Rename FILE as NEWNAME.  Both args must be strings.
If file has names other than FILE, it continues to have those names.
Signals a `file-already-exists' error if a file NEWNAME already exists
unless optional third argument OK-IF-ALREADY-EXISTS is non-nil.
A number as third arg means request confirmation if NEWNAME already exists.
This is what happens in interactive use with M-x.

(fn FILE NEWNAME &optional OK-IF-ALREADY-EXISTS)Fadd-name-to-file
Give FILE additional name NEWNAME.  Both args must be strings.
Signals a `file-already-exists' error if a file NEWNAME already exists
unless optional third argument OK-IF-ALREADY-EXISTS is non-nil.
A number as third arg means request confirmation if NEWNAME already exists.
This is what happens in interactive use with M-x.

(fn FILE NEWNAME &optional OK-IF-ALREADY-EXISTS)Fmake-symbolic-link
Make a symbolic link to FILENAME, named LINKNAME.
Both args must be strings.
Signals a `file-already-exists' error if a file LINKNAME already exists
unless optional third argument OK-IF-ALREADY-EXISTS is non-nil.
A number as third arg means request confirmation if LINKNAME already exists.
This happens for interactive use with M-x.

(fn FILENAME LINKNAME &optional OK-IF-ALREADY-EXISTS)Ffile-name-absolute-p
Return t if file FILENAME specifies an absolute file name.
On Unix, this is a name starting with a `/' or a `~'.

(fn FILENAME)Ffile-exists-p
Return t if file FILENAME exists (whether or not you can read it.)
See also `file-readable-p' and `file-attributes'.
This returns nil for a symlink to a nonexistent file.
Use `file-symlink-p' to test for such links.

(fn FILENAME)Ffile-executable-p
Return t if FILENAME can be executed by you.
For a directory, this means you can access files in that directory.

(fn FILENAME)Ffile-readable-p
Return t if file FILENAME exists and you can read it.
See also `file-exists-p' and `file-attributes'.

(fn FILENAME)Ffile-writable-p
Return t if file FILENAME can be written or created by you.

(fn FILENAME)Faccess-file
Access file FILENAME, and get an error if that does not work.
The second argument STRING is used in the error message.
If there is no error, returns nil.

(fn FILENAME STRING)Ffile-symlink-p
Return non-nil if file FILENAME is the name of a symbolic link.
The value is the link target, as a string.
Otherwise it returns nil.

This function returns t when given the name of a symlink that
points to a nonexistent file.

(fn FILENAME)Ffile-directory-p
Return t if FILENAME names an existing directory.
Symbolic links to directories count as directories.
See `file-symlink-p' to distinguish symlinks.

(fn FILENAME)Ffile-accessible-directory-p
Return t if file FILENAME names a directory you can open.
For the value to be t, FILENAME must specify the name of a directory as a file,
and the directory must allow you to open files in it.  In order to use a
directory as a buffer's current directory, this predicate must return true.
A directory name spec may be given instead; then the value is t
if the directory so specified exists and really is a readable and
searchable directory.

(fn FILENAME)Ffile-regular-p
Return t if FILENAME names a regular file.
This is the sort of file that holds an ordinary stream of data bytes.
Symbolic links to regular files count as regular files.
See `file-symlink-p' to distinguish symlinks.

(fn FILENAME)Ffile-selinux-context
Return SELinux context of file named FILENAME.
The return value is a list (USER ROLE TYPE RANGE), where the list
elements are strings naming the user, role, type, and range of the
file's SELinux security context.

Return (nil nil nil nil) if the file is nonexistent or inaccessible,
or if SELinux is disabled, or if Emacs lacks SELinux support.

(fn FILENAME)Fset-file-selinux-context
Set SELinux context of file named FILENAME to CONTEXT.
CONTEXT should be a list (USER ROLE TYPE RANGE), where the list
elements are strings naming the components of a SELinux context.

This function does nothing if SELinux is disabled, or if Emacs was not
compiled with SELinux support.

(fn FILENAME CONTEXT)Ffile-modes
Return mode bits of file named FILENAME, as an integer.
Return nil, if file does not exist or is not accessible.

(fn FILENAME)Fset-file-modes
Set mode bits of file named FILENAME to MODE (an integer).
Only the 12 low bits of MODE are used.

Interactively, mode bits are read by `read-file-modes', which accepts
symbolic notation, like the `chmod' command from GNU Coreutils.

(fn FILENAME MODE)Fset-default-file-modes
Set the file permission bits for newly created files.
The argument MODE should be an integer; only the low 9 bits are used.
This setting is inherited by subprocesses.

(fn MODE)Fdefault-file-modes
Return the default file protection for created files.
The value is an integer.

(fn)Fset-file-times
Set times of file FILENAME to TIMESTAMP.
Set both access and modification times.
Return t on success, else nil.
Use the current time if TIMESTAMP is nil.  TIMESTAMP is in the format of
`current-time'.

(fn FILENAME &optional TIMESTAMP)Funix-sync
Tell Unix to finish all pending disk updates.

(fn)Ffile-newer-than-file-p
Return t if file FILE1 is newer than file FILE2.
If FILE1 does not exist, the answer is nil;
otherwise, if FILE2 does not exist, the answer is t.

(fn FILE1 FILE2)Finsert-file-contents
Insert contents of file FILENAME after point.
Returns list of absolute file name and number of characters inserted.
If second argument VISIT is non-nil, the buffer's visited filename and
last save file modtime are set, and it is marked unmodified.  If
visiting and the file does not exist, visiting is completed before the
error is signaled.

The optional third and fourth arguments BEG and END specify what portion
of the file to insert.  These arguments count bytes in the file, not
characters in the buffer.  If VISIT is non-nil, BEG and END must be nil.

If optional fifth argument REPLACE is non-nil, replace the current
buffer contents (in the accessible portion) with the file contents.
This is better than simply deleting and inserting the whole thing
because (1) it preserves some marker positions and (2) it puts less data
in the undo list.  When REPLACE is non-nil, the second return value is
the number of characters that replace previous buffer contents.

This function does code conversion according to the value of
`coding-system-for-read' or `file-coding-system-alist', and sets the
variable `last-coding-system-used' to the coding system actually used.

In addition, this function decodes the inserted text from known formats
by calling `format-decode', which see.

(fn FILENAME &optional VISIT BEG END REPLACE)Fwrite-region
Write current region into specified file.
When called from a program, requires three arguments:
START, END and FILENAME.  START and END are normally buffer positions
specifying the part of the buffer to write.
If START is nil, that means to use the entire buffer contents.
If START is a string, then output that string to the file
instead of any buffer contents; END is ignored.

Optional fourth argument APPEND if non-nil means
  append to existing file contents (if any).  If it is an integer,
  seek to that offset in the file before writing.
Optional fifth argument VISIT, if t or a string, means
  set the last-save-file-modtime of buffer to this file's modtime
  and mark buffer not modified.
If VISIT is a string, it is a second file name;
  the output goes to FILENAME, but the buffer is marked as visiting VISIT.
  VISIT is also the file name to lock and unlock for clash detection.
If VISIT is neither t nor nil nor a string,
  that means do not display the "Wrote file" message.
The optional sixth arg LOCKNAME, if non-nil, specifies the name to
  use for locking and unlocking, overriding FILENAME and VISIT.
The optional seventh arg MUSTBENEW, if non-nil, insists on a check
  for an existing file with the same name.  If MUSTBENEW is `excl',
  that means to get an error if the file already exists; never overwrite.
  If MUSTBENEW is neither nil nor `excl', that means ask for
  confirmation before overwriting, but do go ahead and overwrite the file
  if the user confirms.

This does code conversion according to the value of
`coding-system-for-write', `buffer-file-coding-system', or
`file-coding-system-alist', and sets the variable
`last-coding-system-used' to the coding system actually used.

This calls `write-region-annotate-functions' at the start, and
`write-region-post-annotation-function' at the end.

(fn START END FILENAME &optional APPEND VISIT LOCKNAME MUSTBENEW)Fcar-less-than-car
Return t if (car A) is numerically less than (car B).

(fn A B)Fverify-visited-file-modtime
Return t if last mod time of BUF's visited file matches what BUF records.
This means that the file has not been changed since it was visited or saved.
If BUF is omitted or nil, it defaults to the current buffer.
See Info node `(elisp)Modification Time' for more details.

(fn &optional BUF)Fclear-visited-file-modtime
Clear out records of last mod time of visited file.
Next attempt to save will certainly not complain of a discrepancy.

(fn)Fvisited-file-modtime
Return the current buffer's recorded visited file modification time.
The value is a list of the form (HIGH LOW USEC PSEC), like the time values that
`file-attributes' returns.  If the current buffer has no recorded file
modification time, this function returns 0.  If the visited file
doesn't exist, HIGH will be -1.
See Info node `(elisp)Modification Time' for more details.

(fn)Fset-visited-file-modtime
Update buffer's recorded modification time from the visited file's time.
Useful if the buffer was not read from the file normally
or if the file itself has been changed for some known benign reason.
An argument specifies the modification time value to use
(instead of that of the visited file), in the form of a list
(HIGH LOW USEC PSEC) as returned by `current-time'.

(fn &optional TIME-LIST)Fdo-auto-save
Auto-save all buffers that need it.
This is all buffers that have auto-saving enabled
and are changed since last auto-saved.
Auto-saving writes the buffer into a file
so that your editing is not lost if the system crashes.
This file is not the file you visited; that changes only when you save.
Normally we run the normal hook `auto-save-hook' before saving.

A non-nil NO-MESSAGE argument means do not print any message if successful.
A non-nil CURRENT-ONLY argument means save only current buffer.

(fn &optional NO-MESSAGE CURRENT-ONLY)Fset-buffer-auto-saved
Mark current buffer as auto-saved with its current text.
No auto-save file will be written until the buffer changes again.

(fn)Fclear-buffer-auto-save-failure
Clear any record of a recent auto-save failure in the current buffer.

(fn)Frecent-auto-save-p
Return t if current buffer has been auto-saved recently.
More precisely, if it has been auto-saved since last read from or saved
in the visited file.  If the buffer has no visited file,
then any auto-save counts as "recent".

(fn)Fnext-read-file-uses-dialog-p
Return t if a call to `read-file-name' will use a dialog.
The return value is only relevant for a call to `read-file-name' that happens
before any other event (mouse or keypress) is handled.

(fn)Vfile-name-coding-system
Coding system for encoding file names.
If it is nil, `default-file-name-coding-system' (which see) is used.Vdefault-file-name-coding-system
Default coding system for encoding file names.
This variable is used only when `file-name-coding-system' is nil.

This variable is set/changed by the command `set-language-environment'.
User should not set this variable manually,
instead use `file-name-coding-system' to get a constant encoding
of file names regardless of the current language environment.Vfile-name-handler-alist
Alist of elements (REGEXP . HANDLER) for file names handled specially.
If a file name matches REGEXP, all I/O on that file is done by calling
HANDLER.  If a file name matches more than one handler, the handler
whose match starts last in the file name gets precedence.  The
function `find-file-name-handler' checks this list for a handler for
its argument.

HANDLER should be a function.  The first argument given to it is the
name of the I/O primitive to be handled; the remaining arguments are
the arguments that were passed to that primitive.  For example, if you
do (file-exists-p FILENAME) and FILENAME is handled by HANDLER, then
HANDLER is called like this:

  (funcall HANDLER 'file-exists-p FILENAME)

Note that HANDLER must be able to handle all I/O primitives; if it has
nothing special to do for a primitive, it should reinvoke the
primitive to handle the operation "the usual way".
See Info node `(elisp)Magic File Names' for more details.Vset-auto-coding-function
If non-nil, a function to call to decide a coding system of file.
Two arguments are passed to this function: the file name
and the length of a file contents following the point.
This function should return a coding system to decode the file contents.
It should check the file name against `auto-coding-alist'.
If no coding system is decided, it should check a coding system
specified in the heading lines with the format:
	-*- ... coding: CODING-SYSTEM; ... -*-
or local variable spec of the tailing lines with `coding:' tag.Vafter-insert-file-functions
A list of functions to be called at the end of `insert-file-contents'.
Each is passed one argument, the number of characters inserted,
with point at the start of the inserted text.  Each function
should leave point the same, and return the new character count.
If `insert-file-contents' is intercepted by a handler from
`file-name-handler-alist', that handler is responsible for calling the
functions in `after-insert-file-functions' if appropriate.Vwrite-region-annotate-functions
A list of functions to be called at the start of `write-region'.
Each is passed two arguments, START and END as for `write-region'.
These are usually two numbers but not always; see the documentation
for `write-region'.  The function should return a list of pairs
of the form (POSITION . STRING), consisting of strings to be effectively
inserted at the specified positions of the file being written (1 means to
insert before the first byte written).  The POSITIONs must be sorted into
increasing order.

If there are several annotation functions, the lists returned by these
functions are merged destructively.  As each annotation function runs,
the variable `write-region-annotations-so-far' contains a list of all
annotations returned by previous annotation functions.

An annotation function can return with a different buffer current.
Doing so removes the annotations returned by previous functions, and
resets START and END to `point-min' and `point-max' of the new buffer.

After `write-region' completes, Emacs calls the function stored in
`write-region-post-annotation-function', once for each buffer that was
current when building the annotations (i.e., at least once), with that
buffer current.Vwrite-region-post-annotation-function
Function to call after `write-region' completes.
The function is called with no arguments.  If one or more of the
annotation functions in `write-region-annotate-functions' changed the
current buffer, the function stored in this variable is called for
each of those additional buffers as well, in addition to the original
buffer.  The relevant buffer is current during each function call.Vwrite-region-annotations-so-far
When an annotation function is called, this holds the previous annotations.
These are the annotations made by other annotation functions
that were already called.  See also `write-region-annotate-functions'.Vinhibit-file-name-handlers
A list of file name handlers that temporarily should not be used.
This applies only to the operation `inhibit-file-name-operation'.Vinhibit-file-name-operation
The operation for which `inhibit-file-name-handlers' is applicable.Vauto-save-list-file-name
File name in which we write a list of all auto save file names.
This variable is initialized automatically from `auto-save-list-file-prefix'
shortly after Emacs reads your init file, if you have not yet given it
a non-nil value.Vauto-save-visited-file-name
Non-nil says auto-save a buffer in the file it is visiting, when practical.
Normally auto-save files are written under other names.Vauto-save-include-big-deletions
If non-nil, auto-save even if a large part of the text is deleted.
If nil, deleting a substantial portion of the text disables auto-save
in the buffer; this is the default behavior, because the auto-save
file is usually more useful if it contains the deleted text.Vwrite-region-inhibit-fsync
Non-nil means don't call fsync in `write-region'.
This variable affects calls to `write-region' as well as save commands.
A non-nil value may result in data loss!Vdelete-by-moving-to-trash
Specifies whether to use the system's trash can.
When non-nil, certain file deletion commands use the function
`move-file-to-trash' instead of deleting files outright.
This includes interactive calls to `delete-file' and
`delete-directory' and the Dired deletion commands.Sdired.o
Fdirectory-files
Return a list of names of files in DIRECTORY.
There are three optional arguments:
If FULL is non-nil, return absolute file names.  Otherwise return names
 that are relative to the specified directory.
If MATCH is non-nil, mention only file names that match the regexp MATCH.
If NOSORT is non-nil, the list is not sorted--its order is unpredictable.
 Otherwise, the list returned is sorted with `string-lessp'.
 NOSORT is useful if you plan to sort the result yourself.

(fn DIRECTORY &optional FULL MATCH NOSORT)Fdirectory-files-and-attributes
Return a list of names of files and their attributes in DIRECTORY.
There are four optional arguments:
If FULL is non-nil, return absolute file names.  Otherwise return names
 that are relative to the specified directory.
If MATCH is non-nil, mention only file names that match the regexp MATCH.
If NOSORT is non-nil, the list is not sorted--its order is unpredictable.
 NOSORT is useful if you plan to sort the result yourself.
ID-FORMAT specifies the preferred format of attributes uid and gid, see
`file-attributes' for further documentation.
On MS-Windows, performance depends on `w32-get-true-file-attributes',
which see.

(fn DIRECTORY &optional FULL MATCH NOSORT ID-FORMAT)Ffile-name-completion
Complete file name FILE in directory DIRECTORY.
Returns the longest string
common to all file names in DIRECTORY that start with FILE.
If there is only one and FILE matches it exactly, returns t.
Returns nil if DIRECTORY contains no name starting with FILE.

If PREDICATE is non-nil, call PREDICATE with each possible
completion (in absolute form) and ignore it if PREDICATE returns nil.

This function ignores some of the possible completions as
determined by the variable `completion-ignored-extensions', which see.

(fn FILE DIRECTORY &optional PREDICATE)Ffile-name-all-completions
Return a list of all completions of file name FILE in directory DIRECTORY.
These are all file names in directory DIRECTORY which begin with FILE.

(fn FILE DIRECTORY)Ffile-attributes
Return a list of attributes of file FILENAME.
Value is nil if specified file cannot be opened.

ID-FORMAT specifies the preferred format of attributes uid and gid (see
below) - valid values are 'string and 'integer.  The latter is the
default, but we plan to change that, so you should specify a non-nil value
for ID-FORMAT if you use the returned uid or gid.

Elements of the attribute list are:
 0. t for directory, string (name linked to) for symbolic link, or nil.
 1. Number of links to file.
 2. File uid as a string or a number.  If a string value cannot be
  looked up, a numeric value, either an integer or a float, is returned.
 3. File gid, likewise.
 4. Last access time, as a list of integers (HIGH LOW USEC PSEC) in the
  same style as (current-time).
  (See a note below about access time on FAT-based filesystems.)
 5. Last modification time, likewise.  This is the time of the last
  change to the file's contents.
 6. Last status change time, likewise.  This is the time of last change
  to the file's attributes: owner and group, access mode bits, etc.
 7. Size in bytes.
  This is a floating point number if the size is too large for an integer.
 8. File modes, as a string of ten letters or dashes as in ls -l.
 9. t if file's gid would change if file were deleted and recreated.
10. inode number.  If it is larger than what an Emacs integer can hold,
  this is of the form (HIGH . LOW): first the high bits, then the low 16 bits.
  If even HIGH is too large for an Emacs integer, this is instead of the form
  (HIGH MIDDLE . LOW): first the high bits, then the middle 24 bits,
  and finally the low 16 bits.
11. Filesystem device number.  If it is larger than what the Emacs
  integer can hold, this is a cons cell, similar to the inode number.

On most filesystems, the combination of the inode and the device
number uniquely identifies the file.

On MS-Windows, performance depends on `w32-get-true-file-attributes',
which see.

On some FAT-based filesystems, only the date of last access is recorded,
so last access time will always be midnight of that day.

(fn FILENAME &optional ID-FORMAT)Ffile-attributes-lessp
Return t if first arg file attributes list is less than second.
Comparison is in lexicographic order and case is significant.

(fn F1 F2)Fsystem-users
Return a list of user names currently registered in the system.
If we don't know how to determine that on this platform, just
return a list with one element, taken from `user-real-login-name'.

(fn)Fsystem-groups
Return a list of user group names currently registered in the system.
The value may be nil if not supported on this platform.

(fn)Vcompletion-ignored-extensions
Completion ignores file names ending in any string in this list.
It does not ignore them if all possible completions end in one of
these strings or when displaying a list of completions.
It ignores directory names if they match any string in this list which
ends in a slash.Scmds.o
Fforward-point
Return buffer position N characters after (before if N negative) point.

(fn N)Fforward-char
Move point N characters forward (backward if N is negative).
On reaching end or beginning of buffer, stop and signal error.
Interactively, N is the numeric prefix argument.

Depending on the bidirectional context, the movement may be to the
right or to the left on the screen.  This is in contrast with
\[right-char], which see.

(fn &optional N)Fbackward-char
Move point N characters backward (forward if N is negative).
On attempt to pass beginning or end of buffer, stop and signal error.
Interactively, N is the numeric prefix argument.

Depending on the bidirectional context, the movement may be to the
right or to the left on the screen.  This is in contrast with
\[left-char], which see.

(fn &optional N)Fforward-line
Move N lines forward (backward if N is negative).
Precisely, if point is on line I, move to the start of line I + N
("start of line" in the logical order).
If there isn't room, go as far as possible (no error).
Returns the count of lines left to move.  If moving forward,
that is N - number of lines moved; if backward, N + number moved.
With positive N, a non-empty line at the end counts as one line
successfully moved (for the return value).

(fn &optional N)Fbeginning-of-line
Move point to beginning of current line (in the logical order).
With argument N not nil or 1, move forward N - 1 lines first.
If point reaches the beginning or end of buffer, it stops there.

This function constrains point to the current field unless this moves
point to a different line than the original, unconstrained result.
If N is nil or 1, and a front-sticky field starts at point, the point
does not move.  To ignore field boundaries bind
`inhibit-field-text-motion' to t, or use the `forward-line' function
instead.  For instance, `(forward-line 0)' does the same thing as
`(beginning-of-line)', except that it ignores field boundaries.

(fn &optional N)Fend-of-line
Move point to end of current line (in the logical order).
With argument N not nil or 1, move forward N - 1 lines first.
If point reaches the beginning or end of buffer, it stops there.
To ignore intangibility, bind `inhibit-point-motion-hooks' to t.

This function constrains point to the current field unless this moves
point to a different line than the original, unconstrained result.  If
N is nil or 1, and a rear-sticky field ends at point, the point does
not move.  To ignore field boundaries bind `inhibit-field-text-motion'
to t.

(fn &optional N)Fdelete-char
Delete the following N characters (previous if N is negative).
Optional second arg KILLFLAG non-nil means kill instead (save in kill ring).
Interactively, N is the prefix arg, and KILLFLAG is set if
N was explicitly specified.

The command `delete-forward-char' is preferable for interactive use.

(fn N &optional KILLFLAG)Fself-insert-command
Insert the character you type.
Whichever character you type to run this command is inserted.
Before insertion, `expand-abbrev' is executed if the inserted character does
not have word syntax and the previous character in the buffer does.
After insertion, the value of `auto-fill-function' is called if the
`auto-fill-chars' table has a non-nil value for the inserted character.
At the end, it runs `post-self-insert-hook'.

(fn N)Vpost-self-insert-hook
Hook run at the end of `self-insert-command'.
This is run after inserting the character.Scasetab.o
Fcase-table-p
Return t if OBJECT is a case table.
See `set-case-table' for more information on these data structures.

(fn OBJECT)Fcurrent-case-table
Return the case table of the current buffer.

(fn)Fstandard-case-table
Return the standard case table.
This is the one used for new buffers.

(fn)Fset-case-table
Select a new case table for the current buffer.
A case table is a char-table which maps characters
to their lower-case equivalents.  It also has three "extra" slots
which may be additional char-tables or nil.
These slots are called UPCASE, CANONICALIZE and EQUIVALENCES.
UPCASE maps each non-upper-case character to its upper-case equivalent.
 (The value in UPCASE for an upper-case character is never used.)
 If lower and upper case characters are in 1-1 correspondence,
 you may use nil and the upcase table will be deduced from DOWNCASE.
CANONICALIZE maps each character to a canonical equivalent;
 any two characters that are related by case-conversion have the same
 canonical equivalent character; it may be nil, in which case it is
 deduced from DOWNCASE and UPCASE.
EQUIVALENCES is a map that cyclically permutes each equivalence class
 (of characters with the same canonical equivalent); it may be nil,
 in which case it is deduced from CANONICALIZE.

(fn TABLE)Fset-standard-case-table
Select a new standard case table for new buffers.
See `set-case-table' for more info on case tables.

(fn TABLE)Scasefiddle.o
Fupcase
Convert argument to upper case and return that.
The argument may be a character or string.  The result has the same type.
The argument object is not altered--the value is a copy.
See also `capitalize', `downcase' and `upcase-initials'.

(fn OBJ)Fdowncase
Convert argument to lower case and return that.
The argument may be a character or string.  The result has the same type.
The argument object is not altered--the value is a copy.

(fn OBJ)Fcapitalize
Convert argument to capitalized form and return that.
This means that each word's first character is upper case
and the rest is lower case.
The argument may be a character or string.  The result has the same type.
The argument object is not altered--the value is a copy.

(fn OBJ)Fupcase-initials
Convert the initial of each word in the argument to upper case.
Do not change the other letters of each word.
The argument may be a character or string.  The result has the same type.
The argument object is not altered--the value is a copy.

(fn OBJ)Fupcase-region
Convert the region to upper case.  In programs, wants two arguments.
These arguments specify the starting and ending character numbers of
the region to operate on.  When used as a command, the text between
point and the mark is operated on.
See also `capitalize-region'.

(fn BEG END)Fdowncase-region
Convert the region to lower case.  In programs, wants two arguments.
These arguments specify the starting and ending character numbers of
the region to operate on.  When used as a command, the text between
point and the mark is operated on.

(fn BEG END)Fcapitalize-region
Convert the region to capitalized form.
Capitalized form means each word's first character is upper case
and the rest of it is lower case.
In programs, give two arguments, the starting and ending
character positions to operate on.

(fn BEG END)Fupcase-initials-region
Upcase the initial of each word in the region.
Subsequent letters of each word are not changed.
In programs, give two arguments, the starting and ending
character positions to operate on.

(fn BEG END)Fupcase-word
Convert following word (or ARG words) to upper case, moving over.
With negative argument, convert previous words but do not move.
See also `capitalize-word'.

(fn ARG)Fdowncase-word
Convert following word (or ARG words) to lower case, moving over.
With negative argument, convert previous words but do not move.

(fn ARG)Fcapitalize-word
Capitalize the following word (or ARG words), moving over.
This gives the word(s) a first character in upper case
and the rest lower case.
With negative argument, capitalize previous words but do not move.

(fn ARG)Sindent.o
Fcurrent-column
Return the horizontal position of point.  Beginning of line is column 0.
This is calculated by adding together the widths of all the displayed
representations of the character between the start of the previous line
and point (e.g., control characters will have a width of 2 or 4, tabs
will have a variable width).
Ignores finite width of frame, which means that this function may return
values greater than (frame-width).
Whether the line is visible (if `selective-display' is t) has no effect;
however, ^M is treated as end of line when `selective-display' is t.
Text that has an invisible property is considered as having width 0, unless
`buffer-invisibility-spec' specifies that it is replaced by an ellipsis.

(fn)Findent-to
Indent from point with tabs and spaces until COLUMN is reached.
Optional second argument MINIMUM says always do at least MINIMUM spaces
even if that goes past COLUMN; by default, MINIMUM is zero.

The return value is COLUMN.

(fn COLUMN &optional MINIMUM)Fcurrent-indentation
Return the indentation of the current line.
This is the horizontal position of the character
following any initial whitespace.

(fn)Fmove-to-column
Move point to column COLUMN in the current line.
Interactively, COLUMN is the value of prefix numeric argument.
The column of a character is calculated by adding together the widths
as displayed of the previous characters in the line.
This function ignores line-continuation;
there is no upper limit on the column number a character can have
and horizontal scrolling has no effect.

If specified column is within a character, point goes after that character.
If it's past end of line, point goes to end of line.

Optional second argument FORCE non-nil means if COLUMN is in the
middle of a tab character, change it to spaces.
In addition, if FORCE is t, and the line is too short to reach
COLUMN, add spaces/tabs to get there.

The return value is the current column.

(fn COLUMN &optional FORCE)Fcompute-motion
Scan through the current buffer, calculating screen position.
Scan the current buffer forward from offset FROM,
assuming it is at position FROMPOS--a cons of the form (HPOS . VPOS)--
to position TO or position TOPOS--another cons of the form (HPOS . VPOS)--
and return the ending buffer position and screen location.

If TOPOS is nil, the actual width and height of the window's
text area are used.

There are three additional arguments:

WIDTH is the number of columns available to display text;
this affects handling of continuation lines.  A value of nil
corresponds to the actual number of available text columns.

OFFSETS is either nil or a cons cell (HSCROLL . TAB-OFFSET).
HSCROLL is the number of columns not being displayed at the left
margin; this is usually taken from a window's hscroll member.
TAB-OFFSET is the number of columns of the first tab that aren't
being displayed, perhaps because the line was continued within it.
If OFFSETS is nil, HSCROLL and TAB-OFFSET are assumed to be zero.

WINDOW is the window to operate on.  It is used to choose the display table;
if it is showing the current buffer, it is used also for
deciding which overlay properties apply.
Note that `compute-motion' always operates on the current buffer.

The value is a list of five elements:
  (POS HPOS VPOS PREVHPOS CONTIN)
POS is the buffer position where the scan stopped.
VPOS is the vertical position where the scan stopped.
HPOS is the horizontal position where the scan stopped.

PREVHPOS is the horizontal position one character back from POS.
CONTIN is t if a line was continued after (or within) the previous character.

For example, to find the buffer position of column COL of line LINE
of a certain window, pass the window's starting location as FROM
and the window's upper-left coordinates as FROMPOS.
Pass the buffer's (point-max) as TO, to limit the scan to the end of the
visible section of the buffer, and pass LINE and COL as TOPOS.

(fn FROM FROMPOS TO TOPOS WIDTH OFFSETS WINDOW)Fvertical-motion
Move point to start of the screen line LINES lines down.
If LINES is negative, this means moving up.

This function is an ordinary cursor motion function
which calculates the new position based on how text would be displayed.
The new position may be the start of a line,
or just the start of a continuation line.
The function returns number of screen lines moved over;
that usually equals LINES, but may be closer to zero
if beginning or end of buffer was reached.

The optional second argument WINDOW specifies the window to use for
parameters such as width, horizontal scrolling, and so on.
The default is to use the selected window's parameters.

LINES can optionally take the form (COLS . LINES), in which case
the motion will not stop at the start of a screen line but on
its column COLS (if such exists on that line, that is).

`vertical-motion' always uses the current buffer,
regardless of which buffer is displayed in WINDOW.
This is consistent with other cursor motion functions
and makes it possible to use `vertical-motion' in any buffer,
whether or not it is currently displayed in some window.

(fn LINES &optional WINDOW)Vindent-tabs-mode
Indentation can insert tabs if this is non-nil.Ssearch.o
Flooking-at
Return t if text after point matches regular expression REGEXP.
This function modifies the match data that `match-beginning',
`match-end' and `match-data' access; save and restore the match
data if you want to preserve them.

(fn REGEXP)Fposix-looking-at
Return t if text after point matches regular expression REGEXP.
Find the longest match, in accord with Posix regular expression rules.
This function modifies the match data that `match-beginning',
`match-end' and `match-data' access; save and restore the match
data if you want to preserve them.

(fn REGEXP)Fstring-match
Return index of start of first match for REGEXP in STRING, or nil.
Matching ignores case if `case-fold-search' is non-nil.
If third arg START is non-nil, start search at that index in STRING.
For index of first char beyond the match, do (match-end 0).
`match-end' and `match-beginning' also give indices of substrings
matched by parenthesis constructs in the pattern.

You can use the function `match-string' to extract the substrings
matched by the parenthesis constructions in REGEXP.

(fn REGEXP STRING &optional START)Fposix-string-match
Return index of start of first match for REGEXP in STRING, or nil.
Find the longest match, in accord with Posix regular expression rules.
Case is ignored if `case-fold-search' is non-nil in the current buffer.
If third arg START is non-nil, start search at that index in STRING.
For index of first char beyond the match, do (match-end 0).
`match-end' and `match-beginning' also give indices of substrings
matched by parenthesis constructs in the pattern.

(fn REGEXP STRING &optional START)Fsearch-backward
Search backward from point for STRING.
Set point to the beginning of the occurrence found, and return point.
An optional second argument bounds the search; it is a buffer position.
The match found must not extend before that position.
Optional third argument, if t, means if fail just return nil (no error).
 If not nil and not t, position at limit of search and return nil.
Optional fourth argument COUNT, if non-nil, means to search for COUNT
 successive occurrences.  If COUNT is negative, search forward,
 instead of backward, for -COUNT occurrences.

Search case-sensitivity is determined by the value of the variable
`case-fold-search', which see.

See also the functions `match-beginning', `match-end' and `replace-match'.

(fn STRING &optional BOUND NOERROR COUNT)Fsearch-forward
Search forward from point for STRING.
Set point to the end of the occurrence found, and return point.
An optional second argument bounds the search; it is a buffer position.
The match found must not extend after that position.  A value of nil is
  equivalent to (point-max).
Optional third argument, if t, means if fail just return nil (no error).
  If not nil and not t, move to limit of search and return nil.
Optional fourth argument COUNT, if non-nil, means to search for COUNT
 successive occurrences.  If COUNT is negative, search backward,
 instead of forward, for -COUNT occurrences.

Search case-sensitivity is determined by the value of the variable
`case-fold-search', which see.

See also the functions `match-beginning', `match-end' and `replace-match'.

(fn STRING &optional BOUND NOERROR COUNT)Fre-search-backward
Search backward from point for match for regular expression REGEXP.
Set point to the beginning of the match, and return point.
The match found is the one starting last in the buffer
and yet ending before the origin of the search.
An optional second argument bounds the search; it is a buffer position.
The match found must start at or after that position.
Optional third argument, if t, means if fail just return nil (no error).
  If not nil and not t, move to limit of search and return nil.
Optional fourth argument is repeat count--search for successive occurrences.

Search case-sensitivity is determined by the value of the variable
`case-fold-search', which see.

See also the functions `match-beginning', `match-end', `match-string',
and `replace-match'.

(fn REGEXP &optional BOUND NOERROR COUNT)Fre-search-forward
Search forward from point for regular expression REGEXP.
Set point to the end of the occurrence found, and return point.
An optional second argument bounds the search; it is a buffer position.
The match found must not extend after that position.
Optional third argument, if t, means if fail just return nil (no error).
  If not nil and not t, move to limit of search and return nil.
Optional fourth argument is repeat count--search for successive occurrences.

Search case-sensitivity is determined by the value of the variable
`case-fold-search', which see.

See also the functions `match-beginning', `match-end', `match-string',
and `replace-match'.

(fn REGEXP &optional BOUND NOERROR COUNT)Fposix-search-backward
Search backward from point for match for regular expression REGEXP.
Find the longest match in accord with Posix regular expression rules.
Set point to the beginning of the match, and return point.
The match found is the one starting last in the buffer
and yet ending before the origin of the search.
An optional second argument bounds the search; it is a buffer position.
The match found must start at or after that position.
Optional third argument, if t, means if fail just return nil (no error).
  If not nil and not t, move to limit of search and return nil.
Optional fourth argument is repeat count--search for successive occurrences.

Search case-sensitivity is determined by the value of the variable
`case-fold-search', which see.

See also the functions `match-beginning', `match-end', `match-string',
and `replace-match'.

(fn REGEXP &optional BOUND NOERROR COUNT)Fposix-search-forward
Search forward from point for regular expression REGEXP.
Find the longest match in accord with Posix regular expression rules.
Set point to the end of the occurrence found, and return point.
An optional second argument bounds the search; it is a buffer position.
The match found must not extend after that position.
Optional third argument, if t, means if fail just return nil (no error).
  If not nil and not t, move to limit of search and return nil.
Optional fourth argument is repeat count--search for successive occurrences.

Search case-sensitivity is determined by the value of the variable
`case-fold-search', which see.

See also the functions `match-beginning', `match-end', `match-string',
and `replace-match'.

(fn REGEXP &optional BOUND NOERROR COUNT)Freplace-match
Replace text matched by last search with NEWTEXT.
Leave point at the end of the replacement text.

If optional second arg FIXEDCASE is non-nil, do not alter the case of
the replacement text.  Otherwise, maybe capitalize the whole text, or
maybe just word initials, based on the replaced text.  If the replaced
text has only capital letters and has at least one multiletter word,
convert NEWTEXT to all caps.  Otherwise if all words are capitalized
in the replaced text, capitalize each word in NEWTEXT.

If optional third arg LITERAL is non-nil, insert NEWTEXT literally.
Otherwise treat `\' as special:
  `\&' in NEWTEXT means substitute original matched text.
  `\N' means substitute what matched the Nth `\(...\)'.
       If Nth parens didn't match, substitute nothing.
  `\\' means insert one `\'.
  `\?' is treated literally
       (for compatibility with `query-replace-regexp').
  Any other character following `\' signals an error.
Case conversion does not apply to these substitutions.

If optional fourth argument STRING is non-nil, it should be a string
to act on; this should be the string on which the previous match was
done via `string-match'.  In this case, `replace-match' creates and
returns a new string, made by copying STRING and replacing the part of
STRING that was matched (the original STRING itself is not altered).

The optional fifth argument SUBEXP specifies a subexpression;
it says to replace just that subexpression with NEWTEXT,
rather than replacing the entire matched text.
This is, in a vague sense, the inverse of using `\N' in NEWTEXT;
`\N' copies subexp N into NEWTEXT, but using N as SUBEXP puts
NEWTEXT in place of subexp N.
This is useful only after a regular expression search or match,
since only regular expressions have distinguished subexpressions.

(fn NEWTEXT &optional FIXEDCASE LITERAL STRING SUBEXP)Fmatch-beginning
Return position of start of text matched by last search.
SUBEXP, a number, specifies which parenthesized expression in the last
  regexp.
Value is nil if SUBEXPth pair didn't match, or there were less than
  SUBEXP pairs.
Zero means the entire text matched by the whole regexp or whole string.

(fn SUBEXP)Fmatch-end
Return position of end of text matched by last search.
SUBEXP, a number, specifies which parenthesized expression in the last
  regexp.
Value is nil if SUBEXPth pair didn't match, or there were less than
  SUBEXP pairs.
Zero means the entire text matched by the whole regexp or whole string.

(fn SUBEXP)Fmatch-data
Return a list containing all info on what the last search matched.
Element 2N is `(match-beginning N)'; element 2N + 1 is `(match-end N)'.
All the elements are markers or nil (nil if the Nth pair didn't match)
if the last match was on a buffer; integers or nil if a string was matched.
Use `set-match-data' to reinstate the data in this list.

If INTEGERS (the optional first argument) is non-nil, always use
integers (rather than markers) to represent buffer positions.  In
this case, and if the last match was in a buffer, the buffer will get
stored as one additional element at the end of the list.

If REUSE is a list, reuse it as part of the value.  If REUSE is long
enough to hold all the values, and if INTEGERS is non-nil, no consing
is done.

If optional third arg RESEAT is non-nil, any previous markers on the
REUSE list will be modified to point to nowhere.

Return value is undefined if the last search failed.

(fn &optional INTEGERS REUSE RESEAT)Fset-match-data
Set internal data on last search match from elements of LIST.
LIST should have been created by calling `match-data' previously.

If optional arg RESEAT is non-nil, make markers on LIST point nowhere.

(fn LIST &optional RESEAT)Fregexp-quote
Return a regexp string which matches exactly STRING and nothing else.

(fn STRING)Vsearch-spaces-regexp
Regexp to substitute for bunches of spaces in regexp search.
Some commands use this for user-specified regexps.
Spaces that occur inside character classes or repetition operators
or other such regexp constructs are not replaced with this.
A value of nil (which is the normal value) means treat spaces literally.Vinhibit-changing-match-data
Internal use only.
If non-nil, the primitive searching and matching functions
such as `looking-at', `string-match', `re-search-forward', etc.,
do not set the match data.  The proper way to use this variable
is to bind it with `let' around a small expression.Sregex.o
Sundo.o
Fundo-boundary
Mark a boundary between units of undo.
An undo command will stop at this point,
but another undo command will undo to the previous boundary.

(fn)Fprimitive-undo
Undo N records from the front of the list LIST.
Return what remains of the list.

(fn N LIST)Vundo-limit
Keep no more undo information once it exceeds this size.
This limit is applied when garbage collection happens.
When a previous command increases the total undo list size past this
value, the earlier commands that came before it are forgotten.

The size is counted as the number of bytes occupied,
which includes both saved text and other data.Vundo-strong-limit
Don't keep more than this much size of undo information.
This limit is applied when garbage collection happens.
When a previous command increases the total undo list size past this
value, that command and the earlier commands that came before it are forgotten.
However, the most recent buffer-modifying command's undo info
is never discarded for this reason.

The size is counted as the number of bytes occupied,
which includes both saved text and other data.Vundo-outer-limit
Outer limit on size of undo information for one command.
At garbage collection time, if the current command has produced
more than this much undo information, it discards the info and displays
a warning.  This is a last-ditch limit to prevent memory overflow.

The size is counted as the number of bytes occupied, which includes
both saved text and other data.  A value of nil means no limit.  In
this case, accumulating one huge undo entry could make Emacs crash as
a result of memory overflow.

In fact, this calls the function which is the value of
`undo-outer-limit-function' with one argument, the size.
The text above describes the behavior of the function
that variable usually specifies.Vundo-outer-limit-function
Function to call when an undo list exceeds `undo-outer-limit'.
This function is called with one argument, the current undo list size
for the most recent command (since the last undo boundary).
If the function returns t, that means truncation has been fully handled.
If it returns nil, the other forms of truncation are done.

Garbage collection is inhibited around the call to this function,
so it must make sure not to do a lot of consing.Vundo-inhibit-record-point
Non-nil means do not record `point' in `buffer-undo-list'.Salloc.o
Fmake-string
Return a newly created string of length LENGTH, with INIT in each element.
LENGTH must be an integer.
INIT must be an integer that represents a character.

(fn LENGTH INIT)Fmake-bool-vector
Return a new bool-vector of length LENGTH, using INIT for each element.
LENGTH must be a number.  INIT matters only in whether it is t or nil.

(fn LENGTH INIT)Fcons
Create a new cons, give it CAR and CDR as components, and return it.

(fn CAR CDR)Flist
Return a newly created list with specified arguments as elements.
Any number of arguments, even zero arguments, are allowed.

(fn &rest OBJECTS)Fmake-list
Return a newly created list of length LENGTH, with each element being INIT.

(fn LENGTH INIT)Fmake-vector
Return a newly created vector of length LENGTH, with each element being INIT.
See also the function `vector'.

(fn LENGTH INIT)Fvector
Return a newly created vector with specified arguments as elements.
Any number of arguments, even zero arguments, are allowed.

(fn &rest OBJECTS)Fmake-byte-code
Create a byte-code object with specified arguments as elements.
The arguments should be the ARGLIST, bytecode-string BYTE-CODE, constant
vector CONSTANTS, maximum stack size DEPTH, (optional) DOCSTRING,
and (optional) INTERACTIVE-SPEC.
The first four arguments are required; at most six have any
significance.
The ARGLIST can be either like the one of `lambda', in which case the arguments
will be dynamically bound before executing the byte code, or it can be an
integer of the form NNNNNNNRMMMMMMM where the 7bit MMMMMMM specifies the
minimum number of arguments, the 7-bit NNNNNNN specifies the maximum number
of arguments (ignoring &rest) and the R bit specifies whether there is a &rest
argument to catch the left-over arguments.  If such an integer is used, the
arguments will not be dynamically bound but will be instead pushed on the
stack before executing the byte-code.

(fn ARGLIST BYTE-CODE CONSTANTS DEPTH &optional DOCSTRING INTERACTIVE-SPEC &rest ELEMENTS)Fmake-symbol
Return a newly allocated uninterned symbol whose name is NAME.
Its value and function definition are void, and its property list is nil.

(fn NAME)Fmake-marker
Return a newly allocated marker which does not point at any place.

(fn)Fgc-status
Show information about live and zombie objects.

(fn)Fpurecopy
Make a copy of object OBJ in pure storage.
Recursively copies contents of vectors and cons cells.
Does not copy symbols.  Copies strings without text properties.

(fn OBJ)Fgarbage-collect
Reclaim storage for Lisp objects no longer needed.
Garbage collection happens automatically if you cons more than
`gc-cons-threshold' bytes of Lisp data since previous garbage collection.
`garbage-collect' normally returns a list with info on amount of space in use,
where each entry has the form (NAME SIZE USED FREE), where:
- NAME is a symbol describing the kind of objects this entry represents,
- SIZE is the number of bytes used by each one,
- USED is the number of those objects that were found live in the heap,
- FREE is the number of those objects that are not live but that Emacs
  keeps around for future allocations (maybe because it does not know how
  to return them to the OS).
However, if there was overflow in pure space, `garbage-collect'
returns nil, because real GC can't be done.
See Info node `(elisp)Garbage Collection'.

(fn)Fmemory-limit
Return the address of the last byte Emacs has allocated, divided by 1024.
This may be helpful in debugging Emacs's memory usage.
We divide the value by 1024 to make sure it fits in a Lisp integer.

(fn)Fmemory-use-counts
Return a list of counters that measure how much consing there has been.
Each of these counters increments for a certain kind of object.
The counters wrap around from the largest positive integer to zero.
Garbage collection does not decrease them.
The elements of the value are as follows:
  (CONSES FLOATS VECTOR-CELLS SYMBOLS STRING-CHARS MISCS INTERVALS STRINGS)
All are in units of 1 = one object consed
except for VECTOR-CELLS and STRING-CHARS, which count the total length of
objects consed.
MISCS include overlays, markers, and some internal types.
Frames, windows, buffers, and subprocesses count as vectors
  (but the contents of a buffer's text do not count here).

(fn)Vgc-cons-threshold
Number of bytes of consing between garbage collections.
Garbage collection can happen automatically once this many bytes have been
allocated since the last garbage collection.  All data types count.

Garbage collection happens automatically only when `eval' is called.

By binding this temporarily to a large number, you can effectively
prevent garbage collection during a part of the program.
See also `gc-cons-percentage'.Vgc-cons-percentage
Portion of the heap used for allocation.
Garbage collection can happen automatically once this portion of the heap
has been allocated since the last garbage collection.
If this portion is smaller than `gc-cons-threshold', this is ignored.Vpure-bytes-used
Number of bytes of shareable Lisp data allocated so far.Vcons-cells-consed
Number of cons cells that have been consed so far.Vfloats-consed
Number of floats that have been consed so far.Vvector-cells-consed
Number of vector cells that have been consed so far.Vsymbols-consed
Number of symbols that have been consed so far.Vstring-chars-consed
Number of string characters that have been consed so far.Vmisc-objects-consed
Number of miscellaneous objects that have been consed so far.
These include markers and overlays, plus certain objects not visible
to users.Vintervals-consed
Number of intervals that have been consed so far.Vstrings-consed
Number of strings that have been consed so far.Vpurify-flag
Non-nil means loading Lisp code in order to dump an executable.
This means that certain objects should be allocated in shared (pure) space.
It can also be set to a hash-table, in which case this table is used to
do hash-consing of the objects allocated to pure space.Vgarbage-collection-messages
Non-nil means display messages at start and end of garbage collection.Vpost-gc-hook
Hook run after garbage collection has finished.Vmemory-signal-data
Precomputed `signal' argument for memory-full error.Vmemory-full
Non-nil means Emacs cannot get much more Lisp memory.Vgc-elapsed
Accumulated time elapsed in garbage collections.
The time is in seconds as a floating point value.Vgcs-done
Accumulated number of garbage collections done.Sdata.o
Feq
Return t if the two args are the same Lisp object.

(fn OBJ1 OBJ2)Fnull
Return t if OBJECT is nil.

(fn OBJECT)Ftype-of
Return a symbol representing the type of OBJECT.
The symbol returned names the object's basic type;
for example, (type-of 1) returns `integer'.

(fn OBJECT)Fconsp
Return t if OBJECT is a cons cell.

(fn OBJECT)Fatom
Return t if OBJECT is not a cons cell.  This includes nil.

(fn OBJECT)Flistp
Return t if OBJECT is a list, that is, a cons cell or nil.
Otherwise, return nil.

(fn OBJECT)Fnlistp
Return t if OBJECT is not a list.  Lists include nil.

(fn OBJECT)Fsymbolp
Return t if OBJECT is a symbol.

(fn OBJECT)Fkeywordp
Return t if OBJECT is a keyword.
This means that it is a symbol with a print name beginning with `:'
interned in the initial obarray.

(fn OBJECT)Fvectorp
Return t if OBJECT is a vector.

(fn OBJECT)Fstringp
Return t if OBJECT is a string.

(fn OBJECT)Fmultibyte-string-p
Return t if OBJECT is a multibyte string.

(fn OBJECT)Fchar-table-p
Return t if OBJECT is a char-table.

(fn OBJECT)Fvector-or-char-table-p
Return t if OBJECT is a char-table or vector.

(fn OBJECT)Fbool-vector-p
Return t if OBJECT is a bool-vector.

(fn OBJECT)Farrayp
Return t if OBJECT is an array (string or vector).

(fn OBJECT)Fsequencep
Return t if OBJECT is a sequence (list or array).

(fn OBJECT)Fbufferp
Return t if OBJECT is an editor buffer.

(fn OBJECT)Fmarkerp
Return t if OBJECT is a marker (editor pointer).

(fn OBJECT)Fsubrp
Return t if OBJECT is a built-in function.

(fn OBJECT)Fbyte-code-function-p
Return t if OBJECT is a byte-compiled function object.

(fn OBJECT)Fchar-or-string-p
Return t if OBJECT is a character or a string.

(fn OBJECT)Fintegerp
Return t if OBJECT is an integer.

(fn OBJECT)Finteger-or-marker-p
Return t if OBJECT is an integer or a marker (editor pointer).

(fn OBJECT)Fnatnump
Return t if OBJECT is a nonnegative integer.

(fn OBJECT)Fnumberp
Return t if OBJECT is a number (floating point or integer).

(fn OBJECT)Fnumber-or-marker-p
Return t if OBJECT is a number or a marker.

(fn OBJECT)Ffloatp
Return t if OBJECT is a floating point number.

(fn OBJECT)Fcar
Return the car of LIST.  If arg is nil, return nil.
Error if arg is not nil and not a cons cell.  See also `car-safe'.

See Info node `(elisp)Cons Cells' for a discussion of related basic
Lisp concepts such as car, cdr, cons cell and list.

(fn LIST)Fcar-safe
Return the car of OBJECT if it is a cons cell, or else nil.

(fn OBJECT)Fcdr
Return the cdr of LIST.  If arg is nil, return nil.
Error if arg is not nil and not a cons cell.  See also `cdr-safe'.

See Info node `(elisp)Cons Cells' for a discussion of related basic
Lisp concepts such as cdr, car, cons cell and list.

(fn LIST)Fcdr-safe
Return the cdr of OBJECT if it is a cons cell, or else nil.

(fn OBJECT)Fsetcar
Set the car of CELL to be NEWCAR.  Returns NEWCAR.

(fn CELL NEWCAR)Fsetcdr
Set the cdr of CELL to be NEWCDR.  Returns NEWCDR.

(fn CELL NEWCDR)Fboundp
Return t if SYMBOL's value is not void.
Note that if `lexical-binding' is in effect, this refers to the
global value outside of any lexical scope.

(fn SYMBOL)Ffboundp
Return t if SYMBOL's function definition is not void.

(fn SYMBOL)Fmakunbound
Make SYMBOL's value be void.
Return SYMBOL.

(fn SYMBOL)Ffmakunbound
Make SYMBOL's function definition be void.
Return SYMBOL.

(fn SYMBOL)Fsymbol-function
Return SYMBOL's function definition.  Error if that is void.

(fn SYMBOL)Fsymbol-plist
Return SYMBOL's property list.

(fn SYMBOL)Fsymbol-name
Return SYMBOL's name, a string.

(fn SYMBOL)Ffset
Set SYMBOL's function definition to DEFINITION, and return DEFINITION.

(fn SYMBOL DEFINITION)Fdefalias
Set SYMBOL's function definition to DEFINITION.
Associates the function with the current load file, if any.
The optional third argument DOCSTRING specifies the documentation string
for SYMBOL; if it is omitted or nil, SYMBOL uses the documentation string
determined by DEFINITION.
The return value is undefined.

(fn SYMBOL DEFINITION &optional DOCSTRING)Fsetplist
Set SYMBOL's property list to NEWPLIST, and return NEWPLIST.

(fn SYMBOL NEWPLIST)Fsubr-arity
Return minimum and maximum number of args allowed for SUBR.
SUBR must be a built-in function.
The returned value is a pair (MIN . MAX).  MIN is the minimum number
of args.  MAX is the maximum number or the symbol `many', for a
function with `&rest' args, or `unevalled' for a special form.

(fn SUBR)Fsubr-name
Return name of subroutine SUBR.
SUBR must be a built-in function.

(fn SUBR)Finteractive-form
Return the interactive form of CMD or nil if none.
If CMD is not a command, the return value is nil.
Value, if non-nil, is a list (interactive SPEC).

(fn CMD)Findirect-variable
Return the variable at the end of OBJECT's variable chain.
If OBJECT is a symbol, follow its variable indirections (if any), and
return the variable at the end of the chain of aliases.  See Info node
`(elisp)Variable Aliases'.

If OBJECT is not a symbol, just return it.  If there is a loop in the
chain of aliases, signal a `cyclic-variable-indirection' error.

(fn OBJECT)Fsymbol-value
Return SYMBOL's value.  Error if that is void.
Note that if `lexical-binding' is in effect, this returns the
global value outside of any lexical scope.

(fn SYMBOL)Fset
Set SYMBOL's value to NEWVAL, and return NEWVAL.

(fn SYMBOL NEWVAL)Fdefault-boundp
Return t if SYMBOL has a non-void default value.
This is the value that is seen in buffers that do not have their own values
for this variable.

(fn SYMBOL)Fdefault-value
Return SYMBOL's default value.
This is the value that is seen in buffers that do not have their own values
for this variable.  The default value is meaningful for variables with
local bindings in certain buffers.

(fn SYMBOL)Fset-default
Set SYMBOL's default value to VALUE.  SYMBOL and VALUE are evaluated.
The default value is seen in buffers that do not have their own values
for this variable.

(fn SYMBOL VALUE)Fsetq-default
Set the default value of variable VAR to VALUE.
VAR, the variable name, is literal (not evaluated);
VALUE is an expression: it is evaluated and its value returned.
The default value of a variable is seen in buffers
that do not have their own values for the variable.

More generally, you can use multiple variables and values, as in
  (setq-default VAR VALUE VAR VALUE...)
This sets each VAR's default value to the corresponding VALUE.
The VALUE for the Nth VAR can refer to the new default values
of previous VARs.

(fn [VAR VALUE]...)Fmake-variable-buffer-local
Make VARIABLE become buffer-local whenever it is set.
At any time, the value for the current buffer is in effect,
unless the variable has never been set in this buffer,
in which case the default value is in effect.
Note that binding the variable with `let', or setting it while
a `let'-style binding made in this buffer is in effect,
does not make the variable buffer-local.  Return VARIABLE.

In most cases it is better to use `make-local-variable',
which makes a variable local in just one buffer.

The function `default-value' gets the default value and `set-default' sets it.

(fn VARIABLE)Fmake-local-variable
Make VARIABLE have a separate value in the current buffer.
Other buffers will continue to share a common default value.
(The buffer-local value of VARIABLE starts out as the same value
VARIABLE previously had.  If VARIABLE was void, it remains void.)
Return VARIABLE.

If the variable is already arranged to become local when set,
this function causes a local value to exist for this buffer,
just as setting the variable would do.

This function returns VARIABLE, and therefore
  (set (make-local-variable 'VARIABLE) VALUE-EXP)
works.

See also `make-variable-buffer-local'.

Do not use `make-local-variable' to make a hook variable buffer-local.
Instead, use `add-hook' and specify t for the LOCAL argument.

(fn VARIABLE)Fkill-local-variable
Make VARIABLE no longer have a separate value in the current buffer.
From now on the default value will apply in this buffer.  Return VARIABLE.

(fn VARIABLE)Fmake-variable-frame-local
Enable VARIABLE to have frame-local bindings.
This does not create any frame-local bindings for VARIABLE,
it just makes them possible.

A frame-local binding is actually a frame parameter value.
If a frame F has a value for the frame parameter named VARIABLE,
that also acts as a frame-local binding for VARIABLE in F--
provided this function has been called to enable VARIABLE
to have frame-local bindings at all.

The only way to create a frame-local binding for VARIABLE in a frame
is to set the VARIABLE frame parameter of that frame.  See
`modify-frame-parameters' for how to set frame parameters.

Note that since Emacs 23.1, variables cannot be both buffer-local and
frame-local any more (buffer-local bindings used to take precedence over
frame-local bindings).

(fn VARIABLE)Flocal-variable-p
Non-nil if VARIABLE has a local binding in buffer BUFFER.
BUFFER defaults to the current buffer.

(fn VARIABLE &optional BUFFER)Flocal-variable-if-set-p
Non-nil if VARIABLE is local in buffer BUFFER when set there.
BUFFER defaults to the current buffer.

More precisely, return non-nil if either VARIABLE already has a local
value in BUFFER, or if VARIABLE is automatically buffer-local (see
`make-variable-buffer-local').

(fn VARIABLE &optional BUFFER)Fvariable-binding-locus
Return a value indicating where VARIABLE's current binding comes from.
If the current binding is buffer-local, the value is the current buffer.
If the current binding is frame-local, the value is the selected frame.
If the current binding is global (the default), the value is nil.

(fn VARIABLE)Fterminal-local-value
Return the terminal-local value of SYMBOL on TERMINAL.
If SYMBOL is not a terminal-local variable, then return its normal
value, like `symbol-value'.

TERMINAL may be a terminal object, a frame, or nil (meaning the
selected frame's terminal device).

(fn SYMBOL TERMINAL)Fset-terminal-local-value
Set the terminal-local binding of SYMBOL on TERMINAL to VALUE.
If VARIABLE is not a terminal-local variable, then set its normal
binding, like `set'.

TERMINAL may be a terminal object, a frame, or nil (meaning the
selected frame's terminal device).

(fn SYMBOL TERMINAL VALUE)Findirect-function
Return the function at the end of OBJECT's function chain.
If OBJECT is not a symbol, just return it.  Otherwise, follow all
function indirections to find the final function binding and return it.
If the final symbol in the chain is unbound, signal a void-function error.
Optional arg NOERROR non-nil means to return nil instead of signaling.
Signal a cyclic-function-indirection error if there is a loop in the
function chain of symbols.

(fn OBJECT &optional NOERROR)Faref
Return the element of ARRAY at index IDX.
ARRAY may be a vector, a string, a char-table, a bool-vector,
or a byte-code object.  IDX starts at 0.

(fn ARRAY IDX)Faset
Store into the element of ARRAY at index IDX the value NEWELT.
Return NEWELT.  ARRAY may be a vector, a string, a char-table or a
bool-vector.  IDX starts at 0.

(fn ARRAY IDX NEWELT)F=
Return t if two args, both numbers or markers, are equal.

(fn NUM1 NUM2)F<
Return t if first arg is less than second arg.  Both must be numbers or markers.

(fn NUM1 NUM2)F>
Return t if first arg is greater than second arg.  Both must be numbers or markers.

(fn NUM1 NUM2)F<=
Return t if first arg is less than or equal to second arg.
Both must be numbers or markers.

(fn NUM1 NUM2)F>=
Return t if first arg is greater than or equal to second arg.
Both must be numbers or markers.

(fn NUM1 NUM2)F/=
Return t if first arg is not equal to second arg.  Both must be numbers or markers.

(fn NUM1 NUM2)Fzerop
Return t if NUMBER is zero.

(fn NUMBER)Fnumber-to-string
Return the decimal representation of NUMBER as a string.
Uses a minus sign if negative.
NUMBER may be an integer or a floating point number.

(fn NUMBER)Fstring-to-number
Parse STRING as a decimal number and return the number.
This parses both integers and floating point numbers.
It ignores leading spaces and tabs, and all trailing chars.

If BASE, interpret STRING as a number in that base.  If BASE isn't
present, base 10 is used.  BASE must be between 2 and 16 (inclusive).
If the base used is not 10, STRING is always parsed as integer.

(fn STRING &optional BASE)F+
Return sum of any number of arguments, which are numbers or markers.

(fn &rest NUMBERS-OR-MARKERS)F-
Negate number or subtract numbers or markers and return the result.
With one arg, negates it.  With more than one arg,
subtracts all but the first from the first.

(fn &optional NUMBER-OR-MARKER &rest MORE-NUMBERS-OR-MARKERS)F*
Return product of any number of arguments, which are numbers or markers.

(fn &rest NUMBERS-OR-MARKERS)F/
Return first argument divided by all the remaining arguments.
The arguments must be numbers or markers.

(fn DIVIDEND DIVISOR &rest DIVISORS)F%
Return remainder of X divided by Y.
Both must be integers or markers.

(fn X Y)Fmod
Return X modulo Y.
The result falls between zero (inclusive) and Y (exclusive).
Both X and Y must be numbers or markers.

(fn X Y)Fmax
Return largest of all the arguments (which must be numbers or markers).
The value is always a number; markers are converted to numbers.

(fn NUMBER-OR-MARKER &rest NUMBERS-OR-MARKERS)Fmin
Return smallest of all the arguments (which must be numbers or markers).
The value is always a number; markers are converted to numbers.

(fn NUMBER-OR-MARKER &rest NUMBERS-OR-MARKERS)Flogand
Return bitwise-and of all the arguments.
Arguments may be integers, or markers converted to integers.

(fn &rest INTS-OR-MARKERS)Flogior
Return bitwise-or of all the arguments.
Arguments may be integers, or markers converted to integers.

(fn &rest INTS-OR-MARKERS)Flogxor
Return bitwise-exclusive-or of all the arguments.
Arguments may be integers, or markers converted to integers.

(fn &rest INTS-OR-MARKERS)Fash
Return VALUE with its bits shifted left by COUNT.
If COUNT is negative, shifting is actually to the right.
In this case, the sign bit is duplicated.

(fn VALUE COUNT)Flsh
Return VALUE with its bits shifted left by COUNT.
If COUNT is negative, shifting is actually to the right.
In this case, zeros are shifted in on the left.

(fn VALUE COUNT)F1+
Return NUMBER plus one.  NUMBER may be a number or a marker.
Markers are converted to integers.

(fn NUMBER)F1-
Return NUMBER minus one.  NUMBER may be a number or a marker.
Markers are converted to integers.

(fn NUMBER)Flognot
Return the bitwise complement of NUMBER.  NUMBER must be an integer.

(fn NUMBER)Fbyteorder
Return the byteorder for the machine.
Returns 66 (ASCII uppercase B) for big endian machines or 108 (ASCII
lowercase l) for small endian machines.

(fn)Vmost-positive-fixnum
The largest value that is representable in a Lisp integer.Vmost-negative-fixnum
The smallest value that is representable in a Lisp integer.Sdoc.o
Fdocumentation
Return the documentation string of FUNCTION.
Unless a non-nil second argument RAW is given, the
string is passed through `substitute-command-keys'.

(fn FUNCTION &optional RAW)Fdocumentation-property
Return the documentation string that is SYMBOL's PROP property.
Third argument RAW omitted or nil means pass the result through
`substitute-command-keys' if it is a string.

This differs from `get' in that it can refer to strings stored in the
`etc/DOC' file; and that it evaluates documentation properties that
aren't strings.

(fn SYMBOL PROP &optional RAW)FSnarf-documentation
Used during Emacs initialization to scan the `etc/DOC...' file.
This searches the `etc/DOC...' file for doc strings and
records them in function and variable definitions.
The function takes one argument, FILENAME, a string;
it specifies the file name (without a directory) of the DOC file.
That file is found in `../etc' now; later, when the dumped Emacs is run,
the same file name is found in the `doc-directory'.

(fn FILENAME)Fsubstitute-command-keys
Substitute key descriptions for command names in STRING.
Each substring of the form \=\[COMMAND] is replaced by either a
keystroke sequence that invokes COMMAND, or "M-x COMMAND" if COMMAND
is not on any keys.

Each substring of the form \=\{MAPVAR} is replaced by a summary of
the value of MAPVAR as a keymap.  This summary is similar to the one
produced by `describe-bindings'.  The summary ends in two newlines
(used by the helper function `help-make-xrefs' to find the end of the
summary).

Each substring of the form \=\<MAPVAR> specifies the use of MAPVAR
as the keymap for future \=\[COMMAND] substrings.
\=\= quotes the following character and is discarded;
thus, \=\=\=\= puts \=\= into the output, and \=\=\=\[ puts \=\[ into the output.

Return the original STRING if no substitutions are made.
Otherwise, return a new string, without any text properties.

(fn STRING)Vinternal-doc-file-name
Name of file containing documentation strings of built-in symbols.Vbuild-files
A list of files used to build this Emacs binary.Seditfns.o
Fchar-to-string
Convert arg CHAR to a string containing that character.

(fn CHAR)Fbyte-to-string
Convert arg BYTE to a unibyte string containing that byte.

(fn BYTE)Fstring-to-char
Return the first character in STRING.

(fn STRING)Fpoint
Return value of point, as an integer.
Beginning of buffer is position (point-min).

(fn)Fpoint-marker
Return value of point, as a marker object.

(fn)Fgoto-char
Set point to POSITION, a number or marker.
Beginning of buffer is position (point-min), end is (point-max).

The return value is POSITION.

(fn POSITION)Fregion-beginning
Return the integer value of point or mark, whichever is smaller.

(fn)Fregion-end
Return the integer value of point or mark, whichever is larger.

(fn)Fmark-marker
Return this buffer's mark, as a marker object.
Watch out!  Moving this marker changes the mark position.
If you set the marker not to point anywhere, the buffer will have no mark.

(fn)Fdelete-field
Delete the field surrounding POS.
A field is a region of text with the same `field' property.
If POS is nil, the value of point is used for POS.

(fn &optional POS)Ffield-string
Return the contents of the field surrounding POS as a string.
A field is a region of text with the same `field' property.
If POS is nil, the value of point is used for POS.

(fn &optional POS)Ffield-string-no-properties
Return the contents of the field around POS, without text properties.
A field is a region of text with the same `field' property.
If POS is nil, the value of point is used for POS.

(fn &optional POS)Ffield-beginning
Return the beginning of the field surrounding POS.
A field is a region of text with the same `field' property.
If POS is nil, the value of point is used for POS.
If ESCAPE-FROM-EDGE is non-nil and POS is at the beginning of its
field, then the beginning of the *previous* field is returned.
If LIMIT is non-nil, it is a buffer position; if the beginning of the field
is before LIMIT, then LIMIT will be returned instead.

(fn &optional POS ESCAPE-FROM-EDGE LIMIT)Ffield-end
Return the end of the field surrounding POS.
A field is a region of text with the same `field' property.
If POS is nil, the value of point is used for POS.
If ESCAPE-FROM-EDGE is non-nil and POS is at the end of its field,
then the end of the *following* field is returned.
If LIMIT is non-nil, it is a buffer position; if the end of the field
is after LIMIT, then LIMIT will be returned instead.

(fn &optional POS ESCAPE-FROM-EDGE LIMIT)Fconstrain-to-field
Return the position closest to NEW-POS that is in the same field as OLD-POS.
A field is a region of text with the same `field' property.

If NEW-POS is nil, then use the current point instead, and move point
to the resulting constrained position, in addition to returning that
position.

If OLD-POS is at the boundary of two fields, then the allowable
positions for NEW-POS depends on the value of the optional argument
ESCAPE-FROM-EDGE: If ESCAPE-FROM-EDGE is nil, then NEW-POS is
constrained to the field that has the same `field' char-property
as any new characters inserted at OLD-POS, whereas if ESCAPE-FROM-EDGE
is non-nil, NEW-POS is constrained to the union of the two adjacent
fields.  Additionally, if two fields are separated by another field with
the special value `boundary', then any point within this special field is
also considered to be `on the boundary'.

If the optional argument ONLY-IN-LINE is non-nil and constraining
NEW-POS would move it to a different line, NEW-POS is returned
unconstrained.  This useful for commands that move by line, like
\[next-line] or \[beginning-of-line], which should generally respect field boundaries
only in the case where they can still move to the right line.

If the optional argument INHIBIT-CAPTURE-PROPERTY is non-nil, and OLD-POS has
a non-nil property of that name, then any field boundaries are ignored.

Field boundaries are not noticed if `inhibit-field-text-motion' is non-nil.

(fn NEW-POS OLD-POS &optional ESCAPE-FROM-EDGE ONLY-IN-LINE INHIBIT-CAPTURE-PROPERTY)Fline-beginning-position
Return the character position of the first character on the current line.
With optional argument N, scan forward N - 1 lines first.
If the scan reaches the end of the buffer, return that position.

This function ignores text display directionality; it returns the
position of the first character in logical order, i.e. the smallest
character position on the line.

This function constrains the returned position to the current field
unless that position would be on a different line than the original,
unconstrained result.  If N is nil or 1, and a front-sticky field
starts at point, the scan stops as soon as it starts.  To ignore field
boundaries, bind `inhibit-field-text-motion' to t.

This function does not move point.

(fn &optional N)Fline-end-position
Return the character position of the last character on the current line.
With argument N not nil or 1, move forward N - 1 lines first.
If scan reaches end of buffer, return that position.

This function ignores text display directionality; it returns the
position of the last character in logical order, i.e. the largest
character position on the line.

This function constrains the returned position to the current field
unless that would be on a different line than the original,
unconstrained result.  If N is nil or 1, and a rear-sticky field ends
at point, the scan stops as soon as it starts.  To ignore field
boundaries bind `inhibit-field-text-motion' to t.

This function does not move point.

(fn &optional N)Fsave-excursion
Save point, mark, and current buffer; execute BODY; restore those things.
Executes BODY just like `progn'.
The values of point, mark and the current buffer are restored
even in case of abnormal exit (throw or error).
The state of activation of the mark is also restored.

This construct does not save `deactivate-mark', and therefore
functions that change the buffer will still cause deactivation
of the mark at the end of the command.  To prevent that, bind
`deactivate-mark' with `let'.

If you only want to save the current buffer but not point nor mark,
then just use `save-current-buffer', or even `with-current-buffer'.

(fn &rest BODY)Fsave-current-buffer
Record which buffer is current; execute BODY; make that buffer current.
BODY is executed just like `progn'.

(fn &rest BODY)Fbuffer-size
Return the number of characters in the current buffer.
If BUFFER, return the number of characters in that buffer instead.

(fn &optional BUFFER)Fpoint-min
Return the minimum permissible value of point in the current buffer.
This is 1, unless narrowing (a buffer restriction) is in effect.

(fn)Fpoint-min-marker
Return a marker to the minimum permissible value of point in this buffer.
This is the beginning, unless narrowing (a buffer restriction) is in effect.

(fn)Fpoint-max
Return the maximum permissible value of point in the current buffer.
This is (1+ (buffer-size)), unless narrowing (a buffer restriction)
is in effect, in which case it is less.

(fn)Fpoint-max-marker
Return a marker to the maximum permissible value of point in this buffer.
This is (1+ (buffer-size)), unless narrowing (a buffer restriction)
is in effect, in which case it is less.

(fn)Fgap-position
Return the position of the gap, in the current buffer.
See also `gap-size'.

(fn)Fgap-size
Return the size of the current buffer's gap.
See also `gap-position'.

(fn)Fposition-bytes
Return the byte position for character position POSITION.
If POSITION is out of range, the value is nil.

(fn POSITION)Fbyte-to-position
Return the character position for byte position BYTEPOS.
If BYTEPOS is out of range, the value is nil.

(fn BYTEPOS)Ffollowing-char
Return the character following point, as a number.
At the end of the buffer or accessible region, return 0.

(fn)Fpreceding-char
Return the character preceding point, as a number.
At the beginning of the buffer or accessible region, return 0.

(fn)Fbobp
Return t if point is at the beginning of the buffer.
If the buffer is narrowed, this means the beginning of the narrowed part.

(fn)Feobp
Return t if point is at the end of the buffer.
If the buffer is narrowed, this means the end of the narrowed part.

(fn)Fbolp
Return t if point is at the beginning of a line.

(fn)Feolp
Return t if point is at the end of a line.
`End of a line' includes point being at the end of the buffer.

(fn)Fchar-after
Return character in current buffer at position POS.
POS is an integer or a marker and defaults to point.
If POS is out of range, the value is nil.

(fn &optional POS)Fchar-before
Return character in current buffer preceding position POS.
POS is an integer or a marker and defaults to point.
If POS is out of range, the value is nil.

(fn &optional POS)Fuser-login-name
Return the name under which the user logged in, as a string.
This is based on the effective uid, not the real uid.
Also, if the environment variables LOGNAME or USER are set,
that determines the value of this function.

If optional argument UID is an integer or a float, return the login name
of the user with that uid, or nil if there is no such user.

(fn &optional UID)Fuser-real-login-name
Return the name of the user's real uid, as a string.
This ignores the environment variables LOGNAME and USER, so it differs from
`user-login-name' when running under `su'.

(fn)Fuser-uid
Return the effective uid of Emacs.
Value is an integer or a float, depending on the value.

(fn)Fuser-real-uid
Return the real uid of Emacs.
Value is an integer or a float, depending on the value.

(fn)Fuser-full-name
Return the full name of the user logged in, as a string.
If the full name corresponding to Emacs's userid is not known,
return "unknown".

If optional argument UID is an integer or float, return the full name
of the user with that uid, or nil if there is no such user.
If UID is a string, return the full name of the user with that login
name, or nil if there is no such user.

(fn &optional UID)Fsystem-name
Return the host name of the machine you are running on, as a string.

(fn)Femacs-pid
Return the process ID of Emacs, as a number.

(fn)Fcurrent-time
Return the current time, as the number of seconds since 1970-01-01 00:00:00.
The time is returned as a list of integers (HIGH LOW USEC PSEC).
HIGH has the most significant bits of the seconds, while LOW has the
least significant 16 bits.  USEC and PSEC are the microsecond and
picosecond counts.

(fn)Fget-internal-run-time
Return the current run time used by Emacs.
The time is returned as a list (HIGH LOW USEC PSEC), using the same
style as (current-time).

On systems that can't determine the run time, `get-internal-run-time'
does the same thing as `current-time'.

(fn)Ffloat-time
Return the current time, as a float number of seconds since the epoch.
If SPECIFIED-TIME is given, it is the time to convert to float
instead of the current time.  The argument should have the form
(HIGH LOW) or (HIGH LOW USEC) or (HIGH LOW USEC PSEC).  Thus,
you can use times from `current-time' and from `file-attributes'.
SPECIFIED-TIME can also have the form (HIGH . LOW), but this is
considered obsolete.

WARNING: Since the result is floating point, it may not be exact.
If precise time stamps are required, use either `current-time',
or (if you need time as a string) `format-time-string'.

(fn &optional SPECIFIED-TIME)Fformat-time-string
Use FORMAT-STRING to format the time TIME, or now if omitted.
TIME is specified as (HIGH LOW USEC PSEC), as returned by
`current-time' or `file-attributes'.  The obsolete form (HIGH . LOW)
is also still accepted.
The third, optional, argument UNIVERSAL, if non-nil, means describe TIME
as Universal Time; nil means describe TIME in the local time zone.
The value is a copy of FORMAT-STRING, but with certain constructs replaced
by text that describes the specified date and time in TIME:

%Y is the year, %y within the century, %C the century.
%G is the year corresponding to the ISO week, %g within the century.
%m is the numeric month.
%b and %h are the locale's abbreviated month name, %B the full name.
%d is the day of the month, zero-padded, %e is blank-padded.
%u is the numeric day of week from 1 (Monday) to 7, %w from 0 (Sunday) to 6.
%a is the locale's abbreviated name of the day of week, %A the full name.
%U is the week number starting on Sunday, %W starting on Monday,
 %V according to ISO 8601.
%j is the day of the year.

%H is the hour on a 24-hour clock, %I is on a 12-hour clock, %k is like %H
 only blank-padded, %l is like %I blank-padded.
%p is the locale's equivalent of either AM or PM.
%M is the minute.
%S is the second.
%N is the nanosecond, %6N the microsecond, %3N the millisecond, etc.
%Z is the time zone name, %z is the numeric form.
%s is the number of seconds since 1970-01-01 00:00:00 +0000.

%c is the locale's date and time format.
%x is the locale's "preferred" date format.
%D is like "%m/%d/%y".

%R is like "%H:%M", %T is like "%H:%M:%S", %r is like "%I:%M:%S %p".
%X is the locale's "preferred" time format.

Finally, %n is a newline, %t is a tab, %% is a literal %.

Certain flags and modifiers are available with some format controls.
The flags are `_', `-', `^' and `#'.  For certain characters X,
%_X is like %X, but padded with blanks; %-X is like %X,
but without padding.  %^X is like %X, but with all textual
characters up-cased; %#X is like %X, but with letter-case of
all textual characters reversed.
%NX (where N stands for an integer) is like %X,
but takes up at least N (a number) positions.
The modifiers are `E' and `O'.  For certain characters X,
%EX is a locale's alternative version of %X;
%OX is like %X, but uses the locale's number symbols.

For example, to produce full ISO 8601 format, use "%Y-%m-%dT%T%z".

(fn FORMAT-STRING &optional TIME UNIVERSAL)Fdecode-time
Decode a time value as (SEC MINUTE HOUR DAY MONTH YEAR DOW DST ZONE).
The optional SPECIFIED-TIME should be a list of (HIGH LOW . IGNORED),
as from `current-time' and `file-attributes', or nil to use the
current time.  The obsolete form (HIGH . LOW) is also still accepted.
The list has the following nine members: SEC is an integer between 0
and 60; SEC is 60 for a leap second, which only some operating systems
support.  MINUTE is an integer between 0 and 59.  HOUR is an integer
between 0 and 23.  DAY is an integer between 1 and 31.  MONTH is an
integer between 1 and 12.  YEAR is an integer indicating the
four-digit year.  DOW is the day of week, an integer between 0 and 6,
where 0 is Sunday.  DST is t if daylight saving time is in effect,
otherwise nil.  ZONE is an integer indicating the number of seconds
east of Greenwich.  (Note that Common Lisp has different meanings for
DOW and ZONE.)

(fn &optional SPECIFIED-TIME)Fencode-time
Convert SECOND, MINUTE, HOUR, DAY, MONTH, YEAR and ZONE to internal time.
This is the reverse operation of `decode-time', which see.
ZONE defaults to the current time zone rule.  This can
be a string or t (as from `set-time-zone-rule'), or it can be a list
(as from `current-time-zone') or an integer (as from `decode-time')
applied without consideration for daylight saving time.

You can pass more than 7 arguments; then the first six arguments
are used as SECOND through YEAR, and the *last* argument is used as ZONE.
The intervening arguments are ignored.
This feature lets (apply 'encode-time (decode-time ...)) work.

Out-of-range values for SECOND, MINUTE, HOUR, DAY, or MONTH are allowed;
for example, a DAY of 0 means the day preceding the given month.
Year numbers less than 100 are treated just like other year numbers.
If you want them to stand for years in this century, you must do that yourself.

Years before 1970 are not guaranteed to work.  On some systems,
year values as low as 1901 do work.

(fn SECOND MINUTE HOUR DAY MONTH YEAR &optional ZONE)Fcurrent-time-string
Return the current local time, as a human-readable string.
Programs can use this function to decode a time,
since the number of columns in each field is fixed
if the year is in the range 1000-9999.
The format is `Sun Sep 16 01:03:52 1973'.
However, see also the functions `decode-time' and `format-time-string'
which provide a much more powerful and general facility.

If SPECIFIED-TIME is given, it is a time to format instead of the
current time.  The argument should have the form (HIGH LOW . IGNORED).
Thus, you can use times obtained from `current-time' and from
`file-attributes'.  SPECIFIED-TIME can also have the form (HIGH . LOW),
but this is considered obsolete.

(fn &optional SPECIFIED-TIME)Fcurrent-time-zone
Return the offset and name for the local time zone.
This returns a list of the form (OFFSET NAME).
OFFSET is an integer number of seconds ahead of UTC (east of Greenwich).
    A negative value means west of Greenwich.
NAME is a string giving the name of the time zone.
If SPECIFIED-TIME is given, the time zone offset is determined from it
instead of using the current time.  The argument should have the form
(HIGH LOW . IGNORED).  Thus, you can use times obtained from
`current-time' and from `file-attributes'.  SPECIFIED-TIME can also
have the form (HIGH . LOW), but this is considered obsolete.

Some operating systems cannot provide all this information to Emacs;
in this case, `current-time-zone' returns a list containing nil for
the data it can't find.

(fn &optional SPECIFIED-TIME)Fset-time-zone-rule
Set the local time zone using TZ, a string specifying a time zone rule.
If TZ is nil, use implementation-defined default time zone information.
If TZ is t, use Universal Time.

Instead of calling this function, you typically want (setenv "TZ" TZ).
That changes both the environment of the Emacs process and the
variable `process-environment', whereas `set-time-zone-rule' affects
only the former.

(fn TZ)Finsert
Insert the arguments, either strings or characters, at point.
Point and before-insertion markers move forward to end up
 after the inserted text.
Any other markers at the point of insertion remain before the text.

If the current buffer is multibyte, unibyte strings are converted
to multibyte for insertion (see `string-make-multibyte').
If the current buffer is unibyte, multibyte strings are converted
to unibyte for insertion (see `string-make-unibyte').

When operating on binary data, it may be necessary to preserve the
original bytes of a unibyte string when inserting it into a multibyte
buffer; to accomplish this, apply `string-as-multibyte' to the string
and insert the result.

(fn &rest ARGS)Finsert-and-inherit
Insert the arguments at point, inheriting properties from adjoining text.
Point and before-insertion markers move forward to end up
 after the inserted text.
Any other markers at the point of insertion remain before the text.

If the current buffer is multibyte, unibyte strings are converted
to multibyte for insertion (see `unibyte-char-to-multibyte').
If the current buffer is unibyte, multibyte strings are converted
to unibyte for insertion.

(fn &rest ARGS)Finsert-before-markers
Insert strings or characters at point, relocating markers after the text.
Point and markers move forward to end up after the inserted text.

If the current buffer is multibyte, unibyte strings are converted
to multibyte for insertion (see `unibyte-char-to-multibyte').
If the current buffer is unibyte, multibyte strings are converted
to unibyte for insertion.

(fn &rest ARGS)Finsert-before-markers-and-inherit
Insert text at point, relocating markers and inheriting properties.
Point and markers move forward to end up after the inserted text.

If the current buffer is multibyte, unibyte strings are converted
to multibyte for insertion (see `unibyte-char-to-multibyte').
If the current buffer is unibyte, multibyte strings are converted
to unibyte for insertion.

(fn &rest ARGS)Finsert-char
Insert COUNT copies of CHARACTER.
Interactively, prompt for CHARACTER.  You can specify CHARACTER in one
of these ways:

 - As its Unicode character name, e.g. "LATIN SMALL LETTER A".
   Completion is available; if you type a substring of the name
   preceded by an asterisk `*', Emacs shows all names which include
   that substring, not necessarily at the beginning of the name.

 - As a hexadecimal code point, e.g. 263A.  Note that code points in
   Emacs are equivalent to Unicode up to 10FFFF (which is the limit of
   the Unicode code space).

 - As a code point with a radix specified with #, e.g. #o21430
   (octal), #x2318 (hex), or #10r8984 (decimal).

If called interactively, COUNT is given by the prefix argument.  If
omitted or nil, it defaults to 1.

Inserting the character(s) relocates point and before-insertion
markers in the same ways as the function `insert'.

The optional third argument INHERIT, if non-nil, says to inherit text
properties from adjoining text, if those properties are sticky.  If
called interactively, INHERIT is t.

(fn CHARACTER &optional COUNT INHERIT)Finsert-byte
Insert COUNT (second arg) copies of BYTE (first arg).
Both arguments are required.
BYTE is a number of the range 0..255.

If BYTE is 128..255 and the current buffer is multibyte, the
corresponding eight-bit character is inserted.

Point, and before-insertion markers, are relocated as in the function `insert'.
The optional third arg INHERIT, if non-nil, says to inherit text properties
from adjoining text, if those properties are sticky.

(fn BYTE COUNT &optional INHERIT)Fbuffer-substring
Return the contents of part of the current buffer as a string.
The two arguments START and END are character positions;
they can be in either order.
The string returned is multibyte if the buffer is multibyte.

This function copies the text properties of that part of the buffer
into the result string; if you don't want the text properties,
use `buffer-substring-no-properties' instead.

(fn START END)Fbuffer-substring-no-properties
Return the characters of part of the buffer, without the text properties.
The two arguments START and END are character positions;
they can be in either order.

(fn START END)Fbuffer-string
Return the contents of the current buffer as a string.
If narrowing is in effect, this function returns only the visible part
of the buffer.

(fn)Finsert-buffer-substring
Insert before point a substring of the contents of BUFFER.
BUFFER may be a buffer or a buffer name.
Arguments START and END are character positions specifying the substring.
They default to the values of (point-min) and (point-max) in BUFFER.

(fn BUFFER &optional START END)Fcompare-buffer-substrings
Compare two substrings of two buffers; return result as number.
Return -N if first string is less after N-1 chars, +N if first string is
greater after N-1 chars, or 0 if strings match.  Each substring is
represented as three arguments: BUFFER, START and END.  That makes six
args in all, three for each substring.

The value of `case-fold-search' in the current buffer
determines whether case is significant or ignored.

(fn BUFFER1 START1 END1 BUFFER2 START2 END2)Fsubst-char-in-region
From START to END, replace FROMCHAR with TOCHAR each time it occurs.
If optional arg NOUNDO is non-nil, don't record this change for undo
and don't mark the buffer as really changed.
Both characters must have the same length of multi-byte form.

(fn START END FROMCHAR TOCHAR &optional NOUNDO)Ftranslate-region-internal
Internal use only.
From START to END, translate characters according to TABLE.
TABLE is a string or a char-table; the Nth character in it is the
mapping for the character with code N.
It returns the number of characters changed.

(fn START END TABLE)Fdelete-region
Delete the text between START and END.
If called interactively, delete the region between point and mark.
This command deletes buffer text without modifying the kill ring.

(fn START END)Fdelete-and-extract-region
Delete the text between START and END and return it.

(fn START END)Fwiden
Remove restrictions (narrowing) from current buffer.
This allows the buffer's full text to be seen and edited.

(fn)Fnarrow-to-region
Restrict editing in this buffer to the current region.
The rest of the text becomes temporarily invisible and untouchable
but is not deleted; if you save the buffer in a file, the invisible
text is included in the file.  \[widen] makes all visible again.
See also `save-restriction'.

When calling from a program, pass two arguments; positions (integers
or markers) bounding the text that should remain visible.

(fn START END)Fsave-restriction
Execute BODY, saving and restoring current buffer's restrictions.
The buffer's restrictions make parts of the beginning and end invisible.
(They are set up with `narrow-to-region' and eliminated with `widen'.)
This special form, `save-restriction', saves the current buffer's restrictions
when it is entered, and restores them when it is exited.
So any `narrow-to-region' within BODY lasts only until the end of the form.
The old restrictions settings are restored
even in case of abnormal exit (throw or error).

The value returned is the value of the last form in BODY.

Note: if you are using both `save-excursion' and `save-restriction',
use `save-excursion' outermost:
    (save-excursion (save-restriction ...))

(fn &rest BODY)Fmessage
Display a message at the bottom of the screen.
The message also goes into the `*Messages*' buffer, if `message-log-max'
is non-nil.  (In keyboard macros, that's all it does.)
Return the message.

The first argument is a format control string, and the rest are data
to be formatted under control of the string.  See `format' for details.

Note: Use (message "%s" VALUE) to print the value of expressions and
variables to avoid accidentally interpreting `%' as format specifiers.

If the first argument is nil or the empty string, the function clears
any existing message; this lets the minibuffer contents show.  See
also `current-message'.

(fn FORMAT-STRING &rest ARGS)Fmessage-box
Display a message, in a dialog box if possible.
If a dialog box is not available, use the echo area.
The first argument is a format control string, and the rest are data
to be formatted under control of the string.  See `format' for details.

If the first argument is nil or the empty string, clear any existing
message; let the minibuffer contents show.

(fn FORMAT-STRING &rest ARGS)Fmessage-or-box
Display a message in a dialog box or in the echo area.
If this command was invoked with the mouse, use a dialog box if
`use-dialog-box' is non-nil.
Otherwise, use the echo area.
The first argument is a format control string, and the rest are data
to be formatted under control of the string.  See `format' for details.

If the first argument is nil or the empty string, clear any existing
message; let the minibuffer contents show.

(fn FORMAT-STRING &rest ARGS)Fcurrent-message
Return the string currently displayed in the echo area, or nil if none.

(fn)Fpropertize
Return a copy of STRING with text properties added.
First argument is the string to copy.
Remaining arguments form a sequence of PROPERTY VALUE pairs for text
properties to add to the result.

(fn STRING &rest PROPERTIES)Fformat
Format a string out of a format-string and arguments.
The first argument is a format control string.
The other arguments are substituted into it to make the result, a string.

The format control string may contain %-sequences meaning to substitute
the next available argument:

%s means print a string argument.  Actually, prints any object, with `princ'.
%d means print as number in decimal (%o octal, %x hex).
%X is like %x, but uses upper case.
%e means print a number in exponential notation.
%f means print a number in decimal-point notation.
%g means print a number in exponential notation
  or decimal-point notation, whichever uses fewer characters.
%c means print a number as a single character.
%S means print any object as an s-expression (using `prin1').

The argument used for %d, %o, %x, %e, %f, %g or %c must be a number.
Use %% to put a single % into the output.

A %-sequence may contain optional flag, width, and precision
specifiers, as follows:

  %<flags><width><precision>character

where flags is [+ #-0]+, width is [0-9]+, and precision is .[0-9]+

The + flag character inserts a + before any positive number, while a
space inserts a space before any positive number; these flags only
affect %d, %e, %f, and %g sequences, and the + flag takes precedence.
The - and 0 flags affect the width specifier, as described below.

The # flag means to use an alternate display form for %o, %x, %X, %e,
%f, and %g sequences: for %o, it ensures that the result begins with
"0"; for %x and %X, it prefixes the result with "0x" or "0X";
for %e, %f, and %g, it causes a decimal point to be included even if
the precision is zero.

The width specifier supplies a lower limit for the length of the
printed representation.  The padding, if any, normally goes on the
left, but it goes on the right if the - flag is present.  The padding
character is normally a space, but it is 0 if the 0 flag is present.
The 0 flag is ignored if the - flag is present, or the format sequence
is something other than %d, %e, %f, and %g.

For %e, %f, and %g sequences, the number after the "." in the
precision specifier says how many decimal places to show; if zero, the
decimal point itself is omitted.  For %s and %S, the precision
specifier truncates the string to the given width.

(fn STRING &rest OBJECTS)Fchar-equal
Return t if two characters match, optionally ignoring case.
Both arguments must be characters (i.e. integers).
Case is ignored if `case-fold-search' is non-nil in the current buffer.

(fn C1 C2)Ftranspose-regions
Transpose region STARTR1 to ENDR1 with STARTR2 to ENDR2.
The regions should not be overlapping, because the size of the buffer is
never changed in a transposition.

Optional fifth arg LEAVE-MARKERS, if non-nil, means don't update
any markers that happen to be located in the regions.

Transposing beyond buffer boundaries is an error.

(fn STARTR1 ENDR1 STARTR2 ENDR2 &optional LEAVE-MARKERS)Vinhibit-field-text-motion
Non-nil means text motion commands don't notice fields.Vbuffer-access-fontify-functions
List of functions called by `buffer-substring' to fontify if necessary.
Each function is called with two arguments which specify the range
of the buffer being accessed.Vbuffer-access-fontified-property
Property which (if non-nil) indicates text has been fontified.
`buffer-substring' need not call the `buffer-access-fontify-functions'
functions if all the text being accessed has this property.Vsystem-name
The host name of the machine Emacs is running on.Vuser-full-name
The full name of the user logged in.Vuser-login-name
The user's name, taken from environment variables if possible.Vuser-real-login-name
The user's name, based upon the real uid only.Voperating-system-release
The release of the operating system Emacs is running on.Scallint.o
Finteractive
Specify a way of parsing arguments for interactive use of a function.
For example, write
 (defun foo (arg buf) "Doc string" (interactive "P\nbbuffer: ") .... )
 to make ARG be the raw prefix argument, and set BUF to an existing buffer,
 when `foo' is called as a command.
The "call" to `interactive' is actually a declaration rather than a function;
 it tells `call-interactively' how to read arguments
 to pass to the function.
When actually called, `interactive' just returns nil.

Usually the argument of `interactive' is a string containing a code letter
 followed optionally by a prompt.  (Some code letters do not use I/O to get
 the argument and do not use prompts.)  To get several arguments, concatenate
 the individual strings, separating them by newline characters.
Prompts are passed to format, and may use % escapes to print the
 arguments that have already been read.
If the argument is not a string, it is evaluated to get a list of
 arguments to pass to the function.
Just `(interactive)' means pass no args when calling interactively.

Code letters available are:
a -- Function name: symbol with a function definition.
b -- Name of existing buffer.
B -- Name of buffer, possibly nonexistent.
c -- Character (no input method is used).
C -- Command name: symbol with interactive function definition.
d -- Value of point as number.  Does not do I/O.
D -- Directory name.
e -- Parameterized event (i.e., one that's a list) that invoked this command.
     If used more than once, the Nth `e' returns the Nth parameterized event.
     This skips events that are integers or symbols.
f -- Existing file name.
F -- Possibly nonexistent file name.
G -- Possibly nonexistent file name, defaulting to just directory name.
i -- Ignored, i.e. always nil.  Does not do I/O.
k -- Key sequence (downcase the last event if needed to get a definition).
K -- Key sequence to be redefined (do not downcase the last event).
m -- Value of mark as number.  Does not do I/O.
M -- Any string.  Inherits the current input method.
n -- Number read using minibuffer.
N -- Numeric prefix arg, or if none, do like code `n'.
p -- Prefix arg converted to number.  Does not do I/O.
P -- Prefix arg in raw form.  Does not do I/O.
r -- Region: point and mark as 2 numeric args, smallest first.  Does no I/O.
s -- Any string.  Does not inherit the current input method.
S -- Any symbol.
U -- Mouse up event discarded by a previous k or K argument.
v -- Variable name: symbol that is `custom-variable-p'.
x -- Lisp expression read but not evaluated.
X -- Lisp expression read and evaluated.
z -- Coding system.
Z -- Coding system, nil if no prefix arg.

In addition, if the string begins with `*', an error is signaled if
  the buffer is read-only.
If `@' appears at the beginning of the string, and if the key sequence
 used to invoke the command includes any mouse events, then the window
 associated with the first of those events is selected before the
 command is run.
If the string begins with `^' and `shift-select-mode' is non-nil,
 Emacs first calls the function `handle-shift-selection'.
You may use `@', `*', and `^' together.  They are processed in the
 order that they appear, before reading any arguments.

(fn &optional ARGS)Fcall-interactively
Call FUNCTION, providing args according to its interactive calling specs.
Return the value FUNCTION returns.
The function contains a specification of how to do the argument reading.
In the case of user-defined functions, this is specified by placing a call
to the function `interactive' at the top level of the function body.
See `interactive'.

Optional second arg RECORD-FLAG non-nil
means unconditionally put this command in the command-history.
Otherwise, this is done only if an arg is read using the minibuffer.

Optional third arg KEYS, if given, specifies the sequence of events to
supply, as a vector, if the command inquires which events were used to
invoke it.  If KEYS is omitted or nil, the return value of
`this-command-keys-vector' is used.

(fn FUNCTION &optional RECORD-FLAG KEYS)Fprefix-numeric-value
Return numeric meaning of raw prefix argument RAW.
A raw prefix argument is what you get from `(interactive "P")'.
Its numeric meaning is what you would get from `(interactive "p")'.

(fn RAW)Vprefix-arg
The value of the prefix argument for the next editing command.
It may be a number, or the symbol `-' for just a minus sign as arg,
or a list whose car is a number for just one or more C-u's
or nil if no argument has been specified.

You cannot examine this variable to find the argument for this command
since it has been set to nil by the time you can look.
Instead, you should use the variable `current-prefix-arg', although
normally commands can get this prefix argument with (interactive "P").Vlast-prefix-arg
The value of the prefix argument for the previous editing command.
See `prefix-arg' for the meaning of the value.Vcurrent-prefix-arg
The value of the prefix argument for this editing command.
It may be a number, or the symbol `-' for just a minus sign as arg,
or a list whose car is a number for just one or more C-u's
or nil if no argument has been specified.
This is what `(interactive "P")' returns.Vcommand-history
List of recent commands that read arguments from terminal.
Each command is represented as a form to evaluate.

Maximum length of the history list is determined by the value
of `history-length', which see.Vcommand-debug-status
Debugging status of current interactive command.
Bound each time `call-interactively' is called;
may be set by the debugger as a reminder for itself.Vmark-even-if-inactive
Non-nil means you can use the mark even when inactive.
This option makes a difference in Transient Mark mode.
When the option is non-nil, deactivation of the mark
turns off region highlighting, but commands that use the mark
behave as if the mark were still active.Vmouse-leave-buffer-hook
Hook to run when about to switch windows with a mouse command.
Its purpose is to give temporary modes such as Isearch mode
a way to turn themselves off when a mouse command switches windows.Seval.o
For
Eval args until one of them yields non-nil, then return that value.
The remaining args are not evalled at all.
If all args return nil, return nil.

(fn CONDITIONS...)Fand
Eval args until one of them yields nil, then return nil.
The remaining args are not evalled at all.
If no arg yields nil, return the last arg's value.

(fn CONDITIONS...)Fif
If COND yields non-nil, do THEN, else do ELSE...
Returns the value of THEN or the value of the last of the ELSE's.
THEN must be one expression, but ELSE... can be zero or more expressions.
If COND yields nil, and there are no ELSE's, the value is nil.

(fn COND THEN ELSE...)Fcond
Try each clause until one succeeds.
Each clause looks like (CONDITION BODY...).  CONDITION is evaluated
and, if the value is non-nil, this clause succeeds:
then the expressions in BODY are evaluated and the last one's
value is the value of the cond-form.
If no clause succeeds, cond returns nil.
If a clause has one element, as in (CONDITION),
CONDITION's value if non-nil is returned from the cond-form.

(fn CLAUSES...)Fprogn
Eval BODY forms sequentially and return value of last one.

(fn BODY...)Fprog1
Eval FIRST and BODY sequentially; return value from FIRST.
The value of FIRST is saved during the evaluation of the remaining args,
whose values are discarded.

(fn FIRST BODY...)Fprog2
Eval FORM1, FORM2 and BODY sequentially; return value from FORM2.
The value of FORM2 is saved during the evaluation of the
remaining args, whose values are discarded.

(fn FORM1 FORM2 BODY...)Fsetq
Set each SYM to the value of its VAL.
The symbols SYM are variables; they are literal (not evaluated).
The values VAL are expressions; they are evaluated.
Thus, (setq x (1+ y)) sets `x' to the value of `(1+ y)'.
The second VAL is not computed until after the first SYM is set, and so on;
each VAL can use the new value of variables set earlier in the `setq'.
The return value of the `setq' form is the value of the last VAL.

(fn [SYM VAL]...)Fquote
Return the argument, without evaluating it.  `(quote x)' yields `x'.
Warning: `quote' does not construct its return value, but just returns
the value that was pre-constructed by the Lisp reader (see info node
`(elisp)Printed Representation').
This means that '(a . b) is not identical to (cons 'a 'b): the former
does not cons.  Quoting should be reserved for constants that will
never be modified by side-effects, unless you like self-modifying code.
See the common pitfall in info node `(elisp)Rearrangement' for an example
of unexpected results when a quoted object is modified.

(fn ARG)Ffunction
Like `quote', but preferred for objects which are functions.
In byte compilation, `function' causes its argument to be compiled.
`quote' cannot do that.

(fn ARG)Finteractive-p
Return t if the containing function was run directly by user input.
This means that the function was called with `call-interactively'
(which includes being called as the binding of a key)
and input is currently coming from the keyboard (not a keyboard macro),
and Emacs is not running in batch mode (`noninteractive' is nil).

The only known proper use of `interactive-p' is in deciding whether to
display a helpful message, or how to display it.  If you're thinking
of using it for any other purpose, it is quite likely that you're
making a mistake.  Think: what do you want to do when the command is
called from a keyboard macro?

To test whether your function was called with `call-interactively',
either (i) add an extra optional argument and give it an `interactive'
spec that specifies non-nil unconditionally (such as "p"); or (ii)
use `called-interactively-p'.

(fn)Fcalled-interactively-p
Return t if the containing function was called by `call-interactively'.
If KIND is `interactive', then only return t if the call was made
interactively by the user, i.e. not in `noninteractive' mode nor
when `executing-kbd-macro'.
If KIND is `any', on the other hand, it will return t for any kind of
interactive call, including being called as the binding of a key, or
from a keyboard macro, or in `noninteractive' mode.

The only known proper use of `interactive' for KIND is in deciding
whether to display a helpful message, or how to display it.  If you're
thinking of using it for any other purpose, it is quite likely that
you're making a mistake.  Think: what do you want to do when the
command is called from a keyboard macro?

Instead of using this function, it is sometimes cleaner to give your
function an extra optional argument whose `interactive' spec specifies
non-nil unconditionally ("p" is a good way to do this), or via
(not (or executing-kbd-macro noninteractive)).

(fn &optional KIND)Fdefvaralias
Make NEW-ALIAS a variable alias for symbol BASE-VARIABLE.
Aliased variables always have the same value; setting one sets the other.
Third arg DOCSTRING, if non-nil, is documentation for NEW-ALIAS.  If it is
omitted or nil, NEW-ALIAS gets the documentation string of BASE-VARIABLE,
or of the variable at the end of the chain of aliases, if BASE-VARIABLE is
itself an alias.  If NEW-ALIAS is bound, and BASE-VARIABLE is not,
then the value of BASE-VARIABLE is set to that of NEW-ALIAS.
The return value is BASE-VARIABLE.

(fn NEW-ALIAS BASE-VARIABLE &optional DOCSTRING)Fdefvar
Define SYMBOL as a variable, and return SYMBOL.
You are not required to define a variable in order to use it, but
defining it lets you supply an initial value and documentation, which
can be referred to by the Emacs help facilities and other programming
tools.  The `defvar' form also declares the variable as "special",
so that it is always dynamically bound even if `lexical-binding' is t.

The optional argument INITVALUE is evaluated, and used to set SYMBOL,
only if SYMBOL's value is void.  If SYMBOL is buffer-local, its
default value is what is set; buffer-local values are not affected.
If INITVALUE is missing, SYMBOL's value is not set.

If SYMBOL has a local binding, then this form affects the local
binding.  This is usually not what you want.  Thus, if you need to
load a file defining variables, with this form or with `defconst' or
`defcustom', you should always load that file _outside_ any bindings
for these variables.  (`defconst' and `defcustom' behave similarly in
this respect.)

The optional argument DOCSTRING is a documentation string for the
variable.

To define a user option, use `defcustom' instead of `defvar'.

(fn SYMBOL &optional INITVALUE DOCSTRING)Fdefconst
Define SYMBOL as a constant variable.
This declares that neither programs nor users should ever change the
value.  This constancy is not actually enforced by Emacs Lisp, but
SYMBOL is marked as a special variable so that it is never lexically
bound.

The `defconst' form always sets the value of SYMBOL to the result of
evalling INITVALUE.  If SYMBOL is buffer-local, its default value is
what is set; buffer-local values are not affected.  If SYMBOL has a
local binding, then this form sets the local binding's value.
However, you should normally not make local bindings for variables
defined with this form.

The optional DOCSTRING specifies the variable's documentation string.

(fn SYMBOL INITVALUE [DOCSTRING])Finternal-make-var-non-special
Internal function.

(fn SYMBOL)Flet*
Bind variables according to VARLIST then eval BODY.
The value of the last form in BODY is returned.
Each element of VARLIST is a symbol (which is bound to nil)
or a list (SYMBOL VALUEFORM) (which binds SYMBOL to the value of VALUEFORM).
Each VALUEFORM can refer to the symbols already bound by this VARLIST.

(fn VARLIST BODY...)Flet
Bind variables according to VARLIST then eval BODY.
The value of the last form in BODY is returned.
Each element of VARLIST is a symbol (which is bound to nil)
or a list (SYMBOL VALUEFORM) (which binds SYMBOL to the value of VALUEFORM).
All the VALUEFORMs are evalled before any symbols are bound.

(fn VARLIST BODY...)Fwhile
If TEST yields non-nil, eval BODY... and repeat.
The order of execution is thus TEST, BODY, TEST, BODY and so on
until TEST returns nil.

(fn TEST BODY...)Fmacroexpand
Return result of expanding macros at top level of FORM.
If FORM is not a macro call, it is returned unchanged.
Otherwise, the macro is expanded and the expansion is considered
in place of FORM.  When a non-macro-call results, it is returned.

The second optional arg ENVIRONMENT specifies an environment of macro
definitions to shadow the loaded ones for use in file byte-compilation.

(fn FORM &optional ENVIRONMENT)Fcatch
Eval BODY allowing nonlocal exits using `throw'.
TAG is evalled to get the tag to use; it must not be nil.

Then the BODY is executed.
Within BODY, a call to `throw' with the same TAG exits BODY and this `catch'.
If no throw happens, `catch' returns the value of the last BODY form.
If a throw happens, it specifies the value to return from `catch'.

(fn TAG BODY...)Fthrow
Throw to the catch for TAG and return VALUE from it.
Both TAG and VALUE are evalled.

(fn TAG VALUE)Funwind-protect
Do BODYFORM, protecting with UNWINDFORMS.
If BODYFORM completes normally, its value is returned
after executing the UNWINDFORMS.
If BODYFORM exits nonlocally, the UNWINDFORMS are executed anyway.

(fn BODYFORM UNWINDFORMS...)Fcondition-case
Regain control when an error is signaled.
Executes BODYFORM and returns its value if no error happens.
Each element of HANDLERS looks like (CONDITION-NAME BODY...)
where the BODY is made of Lisp expressions.

A handler is applicable to an error
if CONDITION-NAME is one of the error's condition names.
If an error happens, the first applicable handler is run.

The car of a handler may be a list of condition names instead of a
single condition name; then it handles all of them.  If the special
condition name `debug' is present in this list, it allows another
condition in the list to run the debugger if `debug-on-error' and the
other usual mechanisms says it should (otherwise, `condition-case'
suppresses the debugger).

When a handler handles an error, control returns to the `condition-case'
and it executes the handler's BODY...
with VAR bound to (ERROR-SYMBOL . SIGNAL-DATA) from the error.
(If VAR is nil, the handler can't access that information.)
Then the value of the last BODY form is returned from the `condition-case'
expression.

See also the function `signal' for more info.

(fn VAR BODYFORM &rest HANDLERS)Fsignal
Signal an error.  Args are ERROR-SYMBOL and associated DATA.
This function does not return.

An error symbol is a symbol with an `error-conditions' property
that is a list of condition names.
A handler for any of those names will get to handle this signal.
The symbol `error' should normally be one of them.

DATA should be a list.  Its elements are printed as part of the error message.
See Info anchor `(elisp)Definition of signal' for some details on how this
error message is constructed.
If the signal is handled, DATA is made available to the handler.
See also the function `condition-case'.

(fn ERROR-SYMBOL DATA)Fcommandp
Non-nil if FUNCTION makes provisions for interactive calling.
This means it contains a description for how to read arguments to give it.
The value is nil for an invalid function or a symbol with no function
definition.

Interactively callable functions include strings and vectors (treated
as keyboard macros), lambda-expressions that contain a top-level call
to `interactive', autoload definitions made by `autoload' with non-nil
fourth argument, and some of the built-in functions of Lisp.

Also, a symbol satisfies `commandp' if its function definition does so.

If the optional argument FOR-CALL-INTERACTIVELY is non-nil,
then strings and vectors are not accepted.

(fn FUNCTION &optional FOR-CALL-INTERACTIVELY)Fautoload
Define FUNCTION to autoload from FILE.
FUNCTION is a symbol; FILE is a file name string to pass to `load'.
Third arg DOCSTRING is documentation for the function.
Fourth arg INTERACTIVE if non-nil says function can be called interactively.
Fifth arg TYPE indicates the type of the object:
   nil or omitted says FUNCTION is a function,
   `keymap' says FUNCTION is really a keymap, and
   `macro' or t says FUNCTION is really a macro.
Third through fifth args give info about the real definition.
They default to nil.
If FUNCTION is already defined other than as an autoload,
this does nothing and returns nil.

(fn FUNCTION FILE &optional DOCSTRING INTERACTIVE TYPE)Fautoload-do-load
Load FUNDEF which should be an autoload.
If non-nil, FUNNAME should be the symbol whose function value is FUNDEF,
in which case the function returns the new autoloaded function value.
If equal to `macro', MACRO-ONLY specifies that FUNDEF should only be loaded if
it is defines a macro.

(fn FUNDEF &optional FUNNAME MACRO-ONLY)Feval
Evaluate FORM and return its value.
If LEXICAL is t, evaluate using lexical scoping.

(fn FORM &optional LEXICAL)Fapply
Call FUNCTION with our remaining args, using our last arg as list of args.
Then return the value FUNCTION returns.
Thus, (apply '+ 1 2 '(3 4)) returns 10.

(fn FUNCTION &rest ARGUMENTS)Frun-hooks
Run each hook in HOOKS.
Each argument should be a symbol, a hook variable.
These symbols are processed in the order specified.
If a hook symbol has a non-nil value, that value may be a function
or a list of functions to be called to run the hook.
If the value is a function, it is called with no arguments.
If it is a list, the elements are called, in order, with no arguments.

Major modes should not use this function directly to run their mode
hook; they should use `run-mode-hooks' instead.

Do not use `make-local-variable' to make a hook variable buffer-local.
Instead, use `add-hook' and specify t for the LOCAL argument.

(fn &rest HOOKS)Frun-hook-with-args
Run HOOK with the specified arguments ARGS.
HOOK should be a symbol, a hook variable.  The value of HOOK
may be nil, a function, or a list of functions.  Call each
function in order with arguments ARGS.  The final return value
is unspecified.

Do not use `make-local-variable' to make a hook variable buffer-local.
Instead, use `add-hook' and specify t for the LOCAL argument.

(fn HOOK &rest ARGS)Frun-hook-with-args-until-success
Run HOOK with the specified arguments ARGS.
HOOK should be a symbol, a hook variable.  The value of HOOK
may be nil, a function, or a list of functions.  Call each
function in order with arguments ARGS, stopping at the first
one that returns non-nil, and return that value.  Otherwise (if
all functions return nil, or if there are no functions to call),
return nil.

Do not use `make-local-variable' to make a hook variable buffer-local.
Instead, use `add-hook' and specify t for the LOCAL argument.

(fn HOOK &rest ARGS)Frun-hook-with-args-until-failure
Run HOOK with the specified arguments ARGS.
HOOK should be a symbol, a hook variable.  The value of HOOK
may be nil, a function, or a list of functions.  Call each
function in order with arguments ARGS, stopping at the first
one that returns nil, and return nil.  Otherwise (if all functions
return non-nil, or if there are no functions to call), return non-nil
(do not rely on the precise return value in this case).

Do not use `make-local-variable' to make a hook variable buffer-local.
Instead, use `add-hook' and specify t for the LOCAL argument.

(fn HOOK &rest ARGS)Frun-hook-wrapped
Run HOOK, passing each function through WRAP-FUNCTION.
I.e. instead of calling each function FUN directly with arguments ARGS,
it calls WRAP-FUNCTION with arguments FUN and ARGS.
As soon as a call to WRAP-FUNCTION returns non-nil, `run-hook-wrapped'
aborts and returns that value.

(fn HOOK WRAP-FUNCTION &rest ARGS)Ffunctionp
Non-nil if OBJECT is a function.

(fn OBJECT)Ffuncall
Call first argument as a function, passing remaining arguments to it.
Return the value that function returns.
Thus, (funcall 'cons 'x 'y) returns (x . y).

(fn FUNCTION &rest ARGUMENTS)Ffetch-bytecode
If byte-compiled OBJECT is lazy-loaded, fetch it now.

(fn OBJECT)Fspecial-variable-p
Return non-nil if SYMBOL's global binding has been declared special.
A special variable is one that will be bound dynamically, even in a
context where binding is lexical by default.

(fn SYMBOL)Fbacktrace-debug
Set the debug-on-exit flag of eval frame LEVEL levels down to FLAG.
The debugger is entered when that frame exits, if the flag is non-nil.

(fn LEVEL FLAG)Fbacktrace
Print a trace of Lisp function calls currently active.
Output stream used is value of `standard-output'.

(fn)Fbacktrace-frame
Return the function and arguments NFRAMES up from current execution point.
If that frame has not evaluated the arguments yet (or is a special form),
the value is (nil FUNCTION ARG-FORMS...).
If that frame has evaluated its arguments and called its function already,
the value is (t FUNCTION ARG-VALUES...).
A &rest arg is represented as the tail of the list ARG-VALUES.
FUNCTION is whatever was supplied as car of evaluated list,
or a lambda expression for macro calls.
If NFRAMES is more than the number of frames, the value is nil.

(fn NFRAMES)Vmax-specpdl-size
Limit on number of Lisp variable bindings and `unwind-protect's.
If Lisp code tries to increase the total number past this amount,
an error is signaled.
You can safely use a value considerably larger than the default value,
if that proves inconveniently small.  However, if you increase it too far,
Emacs could run out of memory trying to make the stack bigger.Vmax-lisp-eval-depth
Limit on depth in `eval', `apply' and `funcall' before error.

This limit serves to catch infinite recursions for you before they cause
actual stack overflow in C, which would be fatal for Emacs.
You can safely make it considerably larger than its default value,
if that proves inconveniently small.  However, if you increase it too far,
Emacs could overflow the real C stack, and crash.Vquit-flag
Non-nil causes `eval' to abort, unless `inhibit-quit' is non-nil.
If the value is t, that means do an ordinary quit.
If the value equals `throw-on-input', that means quit by throwing
to the tag specified in `throw-on-input'; it's for handling `while-no-input'.
Typing C-g sets `quit-flag' to t, regardless of `inhibit-quit',
but `inhibit-quit' non-nil prevents anything from taking notice of that.Vinhibit-quit
Non-nil inhibits C-g quitting from happening immediately.
Note that `quit-flag' will still be set by typing C-g,
so a quit will be signaled as soon as `inhibit-quit' is nil.
To prevent this happening, set `quit-flag' to nil
before making `inhibit-quit' nil.Vinhibit-debugger
Non-nil means never enter the debugger.
Normally set while the debugger is already active, to avoid recursive
invocations.Vdebug-on-error
Non-nil means enter debugger if an error is signaled.
Does not apply to errors handled by `condition-case' or those
matched by `debug-ignored-errors'.
If the value is a list, an error only means to enter the debugger
if one of its condition symbols appears in the list.
When you evaluate an expression interactively, this variable
is temporarily non-nil if `eval-expression-debug-on-error' is non-nil.
The command `toggle-debug-on-error' toggles this.
See also the variable `debug-on-quit' and `inhibit-debugger'.Vdebug-ignored-errors
List of errors for which the debugger should not be called.
Each element may be a condition-name or a regexp that matches error messages.
If any element applies to a given error, that error skips the debugger
and just returns to top level.
This overrides the variable `debug-on-error'.
It does not apply to errors handled by `condition-case'.Vdebug-on-quit
Non-nil means enter debugger if quit is signaled (C-g, for example).
Does not apply if quit is handled by a `condition-case'.Vdebug-on-next-call
Non-nil means enter debugger before next `eval', `apply' or `funcall'.Vdebugger-may-continue
Non-nil means debugger may continue execution.
This is nil when the debugger is called under circumstances where it
might not be safe to continue.Vdebugger
Function to call to invoke debugger.
If due to frame exit, args are `exit' and the value being returned;
 this function's value will be returned instead of that.
If due to error, args are `error' and a list of the args to `signal'.
If due to `apply' or `funcall' entry, one arg, `lambda'.
If due to `eval' entry, one arg, t.Vsignal-hook-function
If non-nil, this is a function for `signal' to call.
It receives the same arguments that `signal' was given.
The Edebug package uses this to regain control.Vdebug-on-signal
Non-nil means call the debugger regardless of condition handlers.
Note that `debug-on-error', `debug-on-quit' and friends
still determine whether to handle the particular condition.Vinternal-interpreter-environment
If non-nil, the current lexical environment of the lisp interpreter.
When lexical binding is not being used, this variable is nil.
A value of `(t)' indicates an empty environment, otherwise it is an
alist of active lexical bindings.Sfloatfns.o
Facos
Return the inverse cosine of ARG.

(fn ARG)Fasin
Return the inverse sine of ARG.

(fn ARG)Fatan
Return the inverse tangent of the arguments.
If only one argument Y is given, return the inverse tangent of Y.
If two arguments Y and X are given, return the inverse tangent of Y
divided by X, i.e. the angle in radians between the vector (X, Y)
and the x-axis.

(fn Y &optional X)Fcos
Return the cosine of ARG.

(fn ARG)Fsin
Return the sine of ARG.

(fn ARG)Ftan
Return the tangent of ARG.

(fn ARG)Fisnan
Return non nil iff argument X is a NaN.

(fn X)Fcopysign
Copy sign of X2 to value of X1, and return the result.
Cause an error if X1 or X2 is not a float.

(fn X1 X2)Ffrexp
Get significand and exponent of a floating point number.
Breaks the floating point number X into its binary significand SGNFCAND
(a floating point value between 0.5 (included) and 1.0 (excluded))
and an integral exponent EXP for 2, such that:

  X = SGNFCAND * 2^EXP

The function returns the cons cell (SGNFCAND . EXP).
If X is zero, both parts (SGNFCAND and EXP) are zero.

(fn X)Fldexp
Construct number X from significand SGNFCAND and exponent EXP.
Returns the floating point value resulting from multiplying SGNFCAND
(the significand) by 2 raised to the power of EXP (the exponent).

(fn SGNFCAND &optional EXPONENT)Fexp
Return the exponential base e of ARG.

(fn ARG)Fexpt
Return the exponential ARG1 ** ARG2.

(fn ARG1 ARG2)Flog
Return the natural logarithm of ARG.
If the optional argument BASE is given, return log ARG using that base.

(fn ARG &optional BASE)Flog10
Return the logarithm base 10 of ARG.

(fn ARG)Fsqrt
Return the square root of ARG.

(fn ARG)Fabs
Return the absolute value of ARG.

(fn ARG)Ffloat
Return the floating point number equal to ARG.

(fn ARG)Flogb
Returns largest integer <= the base 2 log of the magnitude of ARG.
This is the same as the exponent of a float.

(fn ARG)Fceiling
Return the smallest integer no less than ARG.
This rounds the value towards +inf.
With optional DIVISOR, return the smallest integer no less than ARG/DIVISOR.

(fn ARG &optional DIVISOR)Ffloor
Return the largest integer no greater than ARG.
This rounds the value towards -inf.
With optional DIVISOR, return the largest integer no greater than ARG/DIVISOR.

(fn ARG &optional DIVISOR)Fround
Return the nearest integer to ARG.
With optional DIVISOR, return the nearest integer to ARG/DIVISOR.

Rounding a value equidistant between two integers may choose the
integer closer to zero, or it may prefer an even integer, depending on
your machine.  For example, (round 2.5) can return 3 on some
systems, but 2 on others.

(fn ARG &optional DIVISOR)Ftruncate
Truncate a floating point number to an int.
Rounds ARG toward zero.
With optional DIVISOR, truncate ARG/DIVISOR.

(fn ARG &optional DIVISOR)Ffceiling
Return the smallest integer no less than ARG, as a float.
(Round toward +inf.)

(fn ARG)Fffloor
Return the largest integer no greater than ARG, as a float.
(Round towards -inf.)

(fn ARG)Ffround
Return the nearest integer to ARG, as a float.

(fn ARG)Fftruncate
Truncate a floating point number to an integral float value.
Rounds the value toward zero.

(fn ARG)Sfns.o
Fidentity
Return the argument unchanged.

(fn ARG)Frandom
Return a pseudo-random number.
All integers representable in Lisp, i.e. between `most-negative-fixnum'
and `most-positive-fixnum', inclusive, are equally likely.

With positive integer LIMIT, return random number in interval [0,LIMIT).
With argument t, set the random number seed from the current time and pid.
With a string argument, set the seed based on the string's contents.
Other values of LIMIT are ignored.

See Info node `(elisp)Random Numbers' for more details.

(fn &optional LIMIT)Flength
Return the length of vector, list or string SEQUENCE.
A byte-code function object is also allowed.
If the string contains multibyte characters, this is not necessarily
the number of bytes in the string; it is the number of characters.
To get the number of bytes, use `string-bytes'.

(fn SEQUENCE)Fsafe-length
Return the length of a list, but avoid error or infinite loop.
This function never gets an error.  If LIST is not really a list,
it returns 0.  If LIST is circular, it returns a finite value
which is at least the number of distinct elements.

(fn LIST)Fstring-bytes
Return the number of bytes in STRING.
If STRING is multibyte, this may be greater than the length of STRING.

(fn STRING)Fstring-equal
Return t if two strings have identical contents.
Case is significant, but text properties are ignored.
Symbols are also allowed; their print names are used instead.

(fn S1 S2)Fcompare-strings
Compare the contents of two strings, converting to multibyte if needed.
The arguments START1, END1, START2, and END2, if non-nil, are
positions specifying which parts of STR1 or STR2 to compare.  In
string STR1, compare the part between START1 (inclusive) and END1
(exclusive).  If START1 is nil, it defaults to 0, the beginning of
the string; if END1 is nil, it defaults to the length of the string.
Likewise, in string STR2, compare the part between START2 and END2.

The strings are compared by the numeric values of their characters.
For instance, STR1 is "less than" STR2 if its first differing
character has a smaller numeric value.  If IGNORE-CASE is non-nil,
characters are converted to lower-case before comparing them.  Unibyte
strings are converted to multibyte for comparison.

The value is t if the strings (or specified portions) match.
If string STR1 is less, the value is a negative number N;
  - 1 - N is the number of characters that match at the beginning.
If string STR1 is greater, the value is a positive number N;
  N - 1 is the number of characters that match at the beginning.

(fn STR1 START1 END1 STR2 START2 END2 &optional IGNORE-CASE)Fstring-lessp
Return t if first arg string is less than second in lexicographic order.
Case is significant.
Symbols are also allowed; their print names are used instead.

(fn S1 S2)Fappend
Concatenate all the arguments and make the result a list.
The result is a list whose elements are the elements of all the arguments.
Each argument may be a list, vector or string.
The last argument is not copied, just used as the tail of the new list.

(fn &rest SEQUENCES)Fconcat
Concatenate all the arguments and make the result a string.
The result is a string whose elements are the elements of all the arguments.
Each argument may be a string or a list or vector of characters (integers).

(fn &rest SEQUENCES)Fvconcat
Concatenate all the arguments and make the result a vector.
The result is a vector whose elements are the elements of all the arguments.
Each argument may be a list, vector or string.

(fn &rest SEQUENCES)Fcopy-sequence
Return a copy of a list, vector, string or char-table.
The elements of a list or vector are not copied; they are shared
with the original.

(fn ARG)Fstring-make-multibyte
Return the multibyte equivalent of STRING.
If STRING is unibyte and contains non-ASCII characters, the function
`unibyte-char-to-multibyte' is used to convert each unibyte character
to a multibyte character.  In this case, the returned string is a
newly created string with no text properties.  If STRING is multibyte
or entirely ASCII, it is returned unchanged.  In particular, when
STRING is unibyte and entirely ASCII, the returned string is unibyte.
(When the characters are all ASCII, Emacs primitives will treat the
string the same way whether it is unibyte or multibyte.)

(fn STRING)Fstring-make-unibyte
Return the unibyte equivalent of STRING.
Multibyte character codes are converted to unibyte according to
`nonascii-translation-table' or, if that is nil, `nonascii-insert-offset'.
If the lookup in the translation table fails, this function takes just
the low 8 bits of each character.

(fn STRING)Fstring-as-unibyte
Return a unibyte string with the same individual bytes as STRING.
If STRING is unibyte, the result is STRING itself.
Otherwise it is a newly created string, with no text properties.
If STRING is multibyte and contains a character of charset
`eight-bit', it is converted to the corresponding single byte.

(fn STRING)Fstring-as-multibyte
Return a multibyte string with the same individual bytes as STRING.
If STRING is multibyte, the result is STRING itself.
Otherwise it is a newly created string, with no text properties.

If STRING is unibyte and contains an individual 8-bit byte (i.e. not
part of a correct utf-8 sequence), it is converted to the corresponding
multibyte character of charset `eight-bit'.
See also `string-to-multibyte'.

Beware, this often doesn't really do what you think it does.
It is similar to (decode-coding-string STRING 'utf-8-emacs).
If you're not sure, whether to use `string-as-multibyte' or
`string-to-multibyte', use `string-to-multibyte'.

(fn STRING)Fstring-to-multibyte
Return a multibyte string with the same individual chars as STRING.
If STRING is multibyte, the result is STRING itself.
Otherwise it is a newly created string, with no text properties.

If STRING is unibyte and contains an 8-bit byte, it is converted to
the corresponding multibyte character of charset `eight-bit'.

This differs from `string-as-multibyte' by converting each byte of a correct
utf-8 sequence to an eight-bit character, not just bytes that don't form a
correct sequence.

(fn STRING)Fstring-to-unibyte
Return a unibyte string with the same individual chars as STRING.
If STRING is unibyte, the result is STRING itself.
Otherwise it is a newly created string, with no text properties,
where each `eight-bit' character is converted to the corresponding byte.
If STRING contains a non-ASCII, non-`eight-bit' character,
an error is signaled.

(fn STRING)Fcopy-alist
Return a copy of ALIST.
This is an alist which represents the same mapping from objects to objects,
but does not share the alist structure with ALIST.
The objects mapped (cars and cdrs of elements of the alist)
are shared, however.
Elements of ALIST that are not conses are also shared.

(fn ALIST)Fsubstring
Return a new string whose contents are a substring of STRING.
The returned string consists of the characters between index FROM
(inclusive) and index TO (exclusive) of STRING.  FROM and TO are
zero-indexed: 0 means the first character of STRING.  Negative values
are counted from the end of STRING.  If TO is nil, the substring runs
to the end of STRING.

The STRING argument may also be a vector.  In that case, the return
value is a new vector that contains the elements between index FROM
(inclusive) and index TO (exclusive) of that vector argument.

(fn STRING FROM &optional TO)Fsubstring-no-properties
Return a substring of STRING, without text properties.
It starts at index FROM and ends before TO.
TO may be nil or omitted; then the substring runs to the end of STRING.
If FROM is nil or omitted, the substring starts at the beginning of STRING.
If FROM or TO is negative, it counts from the end.

With one argument, just copy STRING without its properties.

(fn STRING &optional FROM TO)Fnthcdr
Take cdr N times on LIST, return the result.

(fn N LIST)Fnth
Return the Nth element of LIST.
N counts from zero.  If LIST is not that long, nil is returned.

(fn N LIST)Felt
Return element of SEQUENCE at index N.

(fn SEQUENCE N)Fmember
Return non-nil if ELT is an element of LIST.  Comparison done with `equal'.
The value is actually the tail of LIST whose car is ELT.

(fn ELT LIST)Fmemq
Return non-nil if ELT is an element of LIST.  Comparison done with `eq'.
The value is actually the tail of LIST whose car is ELT.

(fn ELT LIST)Fmemql
Return non-nil if ELT is an element of LIST.  Comparison done with `eql'.
The value is actually the tail of LIST whose car is ELT.

(fn ELT LIST)Fassq
Return non-nil if KEY is `eq' to the car of an element of LIST.
The value is actually the first element of LIST whose car is KEY.
Elements of LIST that are not conses are ignored.

(fn KEY LIST)Fassoc
Return non-nil if KEY is `equal' to the car of an element of LIST.
The value is actually the first element of LIST whose car equals KEY.

(fn KEY LIST)Frassq
Return non-nil if KEY is `eq' to the cdr of an element of LIST.
The value is actually the first element of LIST whose cdr is KEY.

(fn KEY LIST)Frassoc
Return non-nil if KEY is `equal' to the cdr of an element of LIST.
The value is actually the first element of LIST whose cdr equals KEY.

(fn KEY LIST)Fdelq
Delete members of LIST which are `eq' to ELT, and return the result.
More precisely, this function skips any members `eq' to ELT at the
front of LIST, then removes members `eq' to ELT from the remaining
sublist by modifying its list structure, then returns the resulting
list.

Write `(setq foo (delq element foo))' to be sure of correctly changing
the value of a list `foo'.

(fn ELT LIST)Fdelete
Delete members of SEQ which are `equal' to ELT, and return the result.
SEQ must be a sequence (i.e. a list, a vector, or a string).
The return value is a sequence of the same type.

If SEQ is a list, this behaves like `delq', except that it compares
with `equal' instead of `eq'.  In particular, it may remove elements
by altering the list structure.

If SEQ is not a list, deletion is never performed destructively;
instead this function creates and returns a new vector or string.

Write `(setq foo (delete element foo))' to be sure of correctly
changing the value of a sequence `foo'.

(fn ELT SEQ)Fnreverse
Reverse LIST by modifying cdr pointers.
Return the reversed list.  Expects a properly nil-terminated list.

(fn LIST)Freverse
Reverse LIST, copying.  Return the reversed list.
See also the function `nreverse', which is used more often.

(fn LIST)Fsort
Sort LIST, stably, comparing elements using PREDICATE.
Returns the sorted list.  LIST is modified by side effects.
PREDICATE is called with two elements of LIST, and should return non-nil
if the first element should sort before the second.

(fn LIST PREDICATE)Fplist-get
Extract a value from a property list.
PLIST is a property list, which is a list of the form
(PROP1 VALUE1 PROP2 VALUE2...).  This function returns the value
corresponding to the given PROP, or nil if PROP is not one of the
properties on the list.  This function never signals an error.

(fn PLIST PROP)Fget
Return the value of SYMBOL's PROPNAME property.
This is the last value stored with `(put SYMBOL PROPNAME VALUE)'.

(fn SYMBOL PROPNAME)Fplist-put
Change value in PLIST of PROP to VAL.
PLIST is a property list, which is a list of the form
(PROP1 VALUE1 PROP2 VALUE2 ...).  PROP is a symbol and VAL is any object.
If PROP is already a property on the list, its value is set to VAL,
otherwise the new PROP VAL pair is added.  The new plist is returned;
use `(setq x (plist-put x prop val))' to be sure to use the new value.
The PLIST is modified by side effects.

(fn PLIST PROP VAL)Fput
Store SYMBOL's PROPNAME property with value VALUE.
It can be retrieved with `(get SYMBOL PROPNAME)'.

(fn SYMBOL PROPNAME VALUE)Flax-plist-get
Extract a value from a property list, comparing with `equal'.
PLIST is a property list, which is a list of the form
(PROP1 VALUE1 PROP2 VALUE2...).  This function returns the value
corresponding to the given PROP, or nil if PROP is not
one of the properties on the list.

(fn PLIST PROP)Flax-plist-put
Change value in PLIST of PROP to VAL, comparing with `equal'.
PLIST is a property list, which is a list of the form
(PROP1 VALUE1 PROP2 VALUE2 ...).  PROP and VAL are any objects.
If PROP is already a property on the list, its value is set to VAL,
otherwise the new PROP VAL pair is added.  The new plist is returned;
use `(setq x (lax-plist-put x prop val))' to be sure to use the new value.
The PLIST is modified by side effects.

(fn PLIST PROP VAL)Feql
Return t if the two args are the same Lisp object.
Floating-point numbers of equal value are `eql', but they may not be `eq'.

(fn OBJ1 OBJ2)Fequal
Return t if two Lisp objects have similar structure and contents.
They must have the same data type.
Conses are compared by comparing the cars and the cdrs.
Vectors and strings are compared element by element.
Numbers are compared by value, but integers cannot equal floats.
 (Use `=' if you want integers and floats to be able to be equal.)
Symbols must match exactly.

(fn O1 O2)Fequal-including-properties
Return t if two Lisp objects have similar structure and contents.
This is like `equal' except that it compares the text properties
of strings.  (`equal' ignores text properties.)

(fn O1 O2)Ffillarray
Store each element of ARRAY with ITEM.
ARRAY is a vector, string, char-table, or bool-vector.

(fn ARRAY ITEM)Fclear-string
Clear the contents of STRING.
This makes STRING unibyte and may change its length.

(fn STRING)Fnconc
Concatenate any number of lists by altering them.
Only the last argument is not altered, and need not be a list.

(fn &rest LISTS)Fmapconcat
Apply FUNCTION to each element of SEQUENCE, and concat the results as strings.
In between each pair of results, stick in SEPARATOR.  Thus, " " as
SEPARATOR results in spaces between the values returned by FUNCTION.
SEQUENCE may be a list, a vector, a bool-vector, or a string.

(fn FUNCTION SEQUENCE SEPARATOR)Fmapcar
Apply FUNCTION to each element of SEQUENCE, and make a list of the results.
The result is a list just as long as SEQUENCE.
SEQUENCE may be a list, a vector, a bool-vector, or a string.

(fn FUNCTION SEQUENCE)Fmapc
Apply FUNCTION to each element of SEQUENCE for side effects only.
Unlike `mapcar', don't accumulate the results.  Return SEQUENCE.
SEQUENCE may be a list, a vector, a bool-vector, or a string.

(fn FUNCTION SEQUENCE)Fmapcan
Apply FUNCTION to each element of SEQUENCE, and concatenate
the results by altering them (using `nconc').
SEQUENCE may be a list, a vector, a bool-vector, or a string.

(fn FUNCTION SEQUENCE)Fyes-or-no-p
Ask user a yes-or-no question.  Return t if answer is yes.
PROMPT is the string to display to ask the question.  It should end in
a space; `yes-or-no-p' adds "(yes or no) " to it.

The user must confirm the answer with RET, and can edit it until it
has been confirmed.

Under a windowing system a dialog box will be used if `last-nonmenu-event'
is nil, and `use-dialog-box' is non-nil.

(fn PROMPT)Fload-average
Return list of 1 minute, 5 minute and 15 minute load averages.

Each of the three load averages is multiplied by 100, then converted
to integer.

When USE-FLOATS is non-nil, floats will be used instead of integers.
These floats are not multiplied by 100.

If the 5-minute or 15-minute load averages are not available, return a
shortened list, containing only those averages which are available.

An error is thrown if the load average can't be obtained.  In some
cases making it work would require Emacs being installed setuid or
setgid so that it can read kernel information, and that usually isn't
advisable.

(fn &optional USE-FLOATS)Ffeaturep
Return t if FEATURE is present in this Emacs.

Use this to conditionalize execution of lisp code based on the
presence or absence of Emacs or environment extensions.
Use `provide' to declare that a feature is available.  This function
looks at the value of the variable `features'.  The optional argument
SUBFEATURE can be used to check a specific subfeature of FEATURE.

(fn FEATURE &optional SUBFEATURE)Fprovide
Announce that FEATURE is a feature of the current Emacs.
The optional argument SUBFEATURES should be a list of symbols listing
particular subfeatures supported in this version of FEATURE.

(fn FEATURE &optional SUBFEATURES)Frequire
If feature FEATURE is not loaded, load it from FILENAME.
If FEATURE is not a member of the list `features', then the feature
is not loaded; so load the file FILENAME.
If FILENAME is omitted, the printname of FEATURE is used as the file name,
and `load' will try to load this name appended with the suffix `.elc' or
`.el', in that order.  The name without appended suffix will not be used.
See `get-load-suffixes' for the complete list of suffixes.
If the optional third argument NOERROR is non-nil,
then return nil if the file is not found instead of signaling an error.
Normally the return value is FEATURE.
The normal messages at start and end of loading FILENAME are suppressed.

(fn FEATURE &optional FILENAME NOERROR)Fplist-member
Return non-nil if PLIST has the property PROP.
PLIST is a property list, which is a list of the form
(PROP1 VALUE1 PROP2 VALUE2 ...).  PROP is a symbol.
Unlike `plist-get', this allows you to distinguish between a missing
property and a property with the value nil.
The value is actually the tail of PLIST whose car is PROP.

(fn PLIST PROP)Fwidget-put
In WIDGET, set PROPERTY to VALUE.
The value can later be retrieved with `widget-get'.

(fn WIDGET PROPERTY VALUE)Fwidget-get
In WIDGET, get the value of PROPERTY.
The value could either be specified when the widget was created, or
later with `widget-put'.

(fn WIDGET PROPERTY)Fwidget-apply
Apply the value of WIDGET's PROPERTY to the widget itself.
ARGS are passed as extra arguments to the function.

(fn WIDGET PROPERTY &rest ARGS)Flocale-info
Access locale data ITEM for the current C locale, if available.
ITEM should be one of the following:

`codeset', returning the character set as a string (locale item CODESET);

`days', returning a 7-element vector of day names (locale items DAY_n);

`months', returning a 12-element vector of month names (locale items MON_n);

`paper', returning a list (WIDTH HEIGHT) for the default paper size,
  both measured in millimeters (locale items PAPER_WIDTH, PAPER_HEIGHT).

If the system can't provide such information through a call to
`nl_langinfo', or if ITEM isn't from the list above, return nil.

See also Info node `(libc)Locales'.

The data read from the system are decoded using `locale-coding-system'.

(fn ITEM)Fbase64-encode-region
Base64-encode the region between BEG and END.
Return the length of the encoded text.
Optional third argument NO-LINE-BREAK means do not break long lines
into shorter lines.

(fn BEG END &optional NO-LINE-BREAK)Fbase64-encode-string
Base64-encode STRING and return the result.
Optional second argument NO-LINE-BREAK means do not break long lines
into shorter lines.

(fn STRING &optional NO-LINE-BREAK)Fbase64-decode-region
Base64-decode the region between BEG and END.
Return the length of the decoded text.
If the region can't be decoded, signal an error and don't modify the buffer.

(fn BEG END)Fbase64-decode-string
Base64-decode STRING and return the result.

(fn STRING)Fsxhash
Compute a hash code for OBJ and return it as integer.

(fn OBJ)Fmake-hash-table
Create and return a new hash table.

Arguments are specified as keyword/argument pairs.  The following
arguments are defined:

:test TEST -- TEST must be a symbol that specifies how to compare
keys.  Default is `eql'.  Predefined are the tests `eq', `eql', and
`equal'.  User-supplied test and hash functions can be specified via
`define-hash-table-test'.

:size SIZE -- A hint as to how many elements will be put in the table.
Default is 65.

:rehash-size REHASH-SIZE - Indicates how to expand the table when it
fills up.  If REHASH-SIZE is an integer, increase the size by that
amount.  If it is a float, it must be > 1.0, and the new size is the
old size multiplied by that factor.  Default is 1.5.

:rehash-threshold THRESHOLD -- THRESHOLD must a float > 0, and <= 1.0.
Resize the hash table when the ratio (number of entries / table size)
is greater than or equal to THRESHOLD.  Default is 0.8.

:weakness WEAK -- WEAK must be one of nil, t, `key', `value',
`key-or-value', or `key-and-value'.  If WEAK is not nil, the table
returned is a weak table.  Key/value pairs are removed from a weak
hash table when there are no non-weak references pointing to their
key, value, one of key or value, or both key and value, depending on
WEAK.  WEAK t is equivalent to `key-and-value'.  Default value of WEAK
is nil.

(fn &rest KEYWORD-ARGS)Fcopy-hash-table
Return a copy of hash table TABLE.

(fn TABLE)Fhash-table-count
Return the number of elements in TABLE.

(fn TABLE)Fhash-table-rehash-size
Return the current rehash size of TABLE.

(fn TABLE)Fhash-table-rehash-threshold
Return the current rehash threshold of TABLE.

(fn TABLE)Fhash-table-size
Return the size of TABLE.
The size can be used as an argument to `make-hash-table' to create
a hash table than can hold as many elements as TABLE holds
without need for resizing.

(fn TABLE)Fhash-table-test
Return the test TABLE uses.

(fn TABLE)Fhash-table-weakness
Return the weakness of TABLE.

(fn TABLE)Fhash-table-p
Return t if OBJ is a Lisp hash table object.

(fn OBJ)Fclrhash
Clear hash table TABLE and return it.

(fn TABLE)Fgethash
Look up KEY in TABLE and return its associated value.
If KEY is not found, return DFLT which defaults to nil.

(fn KEY TABLE &optional DFLT)Fputhash
Associate KEY with VALUE in hash table TABLE.
If KEY is already present in table, replace its current value with
VALUE.  In any case, return VALUE.

(fn KEY VALUE TABLE)Fremhash
Remove KEY from TABLE.

(fn KEY TABLE)Fmaphash
Call FUNCTION for all entries in hash table TABLE.
FUNCTION is called with two arguments, KEY and VALUE.

(fn FUNCTION TABLE)Fdefine-hash-table-test
Define a new hash table test with name NAME, a symbol.

In hash tables created with NAME specified as test, use TEST to
compare keys, and HASH for computing hash codes of keys.

TEST must be a function taking two arguments and returning non-nil if
both arguments are the same.  HASH must be a function taking one
argument and return an integer that is the hash code of the argument.
Hash code computation should use the whole value range of integers,
including negative integers.

(fn NAME TEST HASH)Fmd5
Return MD5 message digest of OBJECT, a buffer or string.

A message digest is a cryptographic checksum of a document, and the
algorithm to calculate it is defined in RFC 1321.

The two optional arguments START and END are character positions
specifying for which part of OBJECT the message digest should be
computed.  If nil or omitted, the digest is computed for the whole
OBJECT.

The MD5 message digest is computed from the result of encoding the
text in a coding system, not directly from the internal Emacs form of
the text.  The optional fourth argument CODING-SYSTEM specifies which
coding system to encode the text with.  It should be the same coding
system that you used or will use when actually writing the text into a
file.

If CODING-SYSTEM is nil or omitted, the default depends on OBJECT.  If
OBJECT is a buffer, the default for CODING-SYSTEM is whatever coding
system would be chosen by default for writing this text into a file.

If OBJECT is a string, the most preferred coding system (see the
command `prefer-coding-system') is used.

If NOERROR is non-nil, silently assume the `raw-text' coding if the
guesswork fails.  Normally, an error is signaled in such case.

(fn OBJECT &optional START END CODING-SYSTEM NOERROR)Fsecure-hash
Return the secure hash of OBJECT, a buffer or string.
ALGORITHM is a symbol specifying the hash to use:
md5, sha1, sha224, sha256, sha384 or sha512.

The two optional arguments START and END are positions specifying for
which part of OBJECT to compute the hash.  If nil or omitted, uses the
whole OBJECT.

If BINARY is non-nil, returns a string in binary form.

(fn ALGORITHM OBJECT &optional START END BINARY)Vfeatures
A list of symbols which are the features of the executing Emacs.
Used by `featurep' and `require', and altered by `provide'.Vuse-dialog-box
Non-nil means mouse commands use dialog boxes to ask questions.
This applies to `y-or-n-p' and `yes-or-no-p' questions asked by commands
invoked by mouse clicks and mouse menu items.

On some platforms, file selection dialogs are also enabled if this is
non-nil.Vuse-file-dialog
Non-nil means mouse commands use a file dialog to ask for files.
This applies to commands from menus and tool bar buttons even when
they are initiated from the keyboard.  If `use-dialog-box' is nil,
that disables the use of a file dialog, regardless of the value of
this variable.Sfont.o
Ffontp
Return t if OBJECT is a font-spec, font-entity, or font-object.
Return nil otherwise.
Optional 2nd argument EXTRA-TYPE, if non-nil, specifies to check
which kind of font it is.  It must be one of `font-spec', `font-entity',
`font-object'.

(fn OBJECT &optional EXTRA-TYPE)Ffont-spec
Return a newly created font-spec with arguments as properties.

ARGS must come in pairs KEY VALUE of font properties.  KEY must be a
valid font property name listed below:

`:family', `:weight', `:slant', `:width'

They are the same as face attributes of the same name.  See
`set-face-attribute'.

`:foundry'

VALUE must be a string or a symbol specifying the font foundry, e.g. ``misc''.

`:adstyle'

VALUE must be a string or a symbol specifying the additional
typographic style information of a font, e.g. ``sans''.

`:registry'

VALUE must be a string or a symbol specifying the charset registry and
encoding of a font, e.g. ``iso8859-1''.

`:size'

VALUE must be a non-negative integer or a floating point number
specifying the font size.  It specifies the font size in pixels (if
VALUE is an integer), or in points (if VALUE is a float).

`:name'

VALUE must be a string of XLFD-style or fontconfig-style font name.

`:script'

VALUE must be a symbol representing a script that the font must
support.  It may be a symbol representing a subgroup of a script
listed in the variable `script-representative-chars'.

`:lang'

VALUE must be a symbol of two-letter ISO-639 language names,
e.g. `ja'.

`:otf'

VALUE must be a list (SCRIPT-TAG LANGSYS-TAG GSUB [ GPOS ]) to specify
required OpenType features.

  SCRIPT-TAG: OpenType script tag symbol (e.g. `deva').
  LANGSYS-TAG: OpenType language system tag symbol,
     or nil for the default language system.
  GSUB: List of OpenType GSUB feature tag symbols, or nil if none required.
  GPOS: List of OpenType GPOS feature tag symbols, or nil if none required.

GSUB and GPOS may contain `nil' element.  In such a case, the font
must not have any of the remaining elements.

For instance, if the VALUE is `(thai nil nil (mark))', the font must
be an OpenType font whose GPOS table of `thai' script's default
language system must contain `mark' feature.

(fn ARGS...)Ffont-get
Return the value of FONT's property KEY.
FONT is a font-spec, a font-entity, or a font-object.
KEY is any symbol, but these are reserved for specific meanings:
  :family, :weight, :slant, :width, :foundry, :adstyle, :registry,
  :size, :name, :script, :otf
See the documentation of `font-spec' for their meanings.
In addition, if FONT is a font-entity or a font-object, values of
:script and :otf are different from those of a font-spec as below:

The value of :script may be a list of scripts that are supported by the font.

The value of :otf is a cons (GSUB . GPOS) where GSUB and GPOS are lists
representing the OpenType features supported by the font by this form:
  ((SCRIPT (LANGSYS FEATURE ...) ...) ...)
SCRIPT, LANGSYS, and FEATURE are all symbols representing OpenType
Layout tags.

(fn FONT KEY)Ffont-face-attributes
Return a plist of face attributes generated by FONT.
FONT is a font name, a font-spec, a font-entity, or a font-object.
The return value is a list of the form

(:family FAMILY :height HEIGHT :weight WEIGHT :slant SLANT :width WIDTH)

where FAMILY, HEIGHT, WEIGHT, SLANT, and WIDTH are face attribute values
compatible with `set-face-attribute'.  Some of these key-attribute pairs
may be omitted from the list if they are not specified by FONT.

The optional argument FRAME specifies the frame that the face attributes
are to be displayed on.  If omitted, the selected frame is used.

(fn FONT &optional FRAME)Ffont-put
Set one property of FONT: give property KEY value VAL.
FONT is a font-spec, a font-entity, or a font-object.

If FONT is a font-spec, KEY can be any symbol.  But if KEY is the one
accepted by the function `font-spec' (which see), VAL must be what
allowed in `font-spec'.

If FONT is a font-entity or a font-object, KEY must not be the one
accepted by `font-spec'.

(fn FONT PROP VAL)Flist-fonts
List available fonts matching FONT-SPEC on the current frame.
Optional 2nd argument FRAME specifies the target frame.
Optional 3rd argument NUM, if non-nil, limits the number of returned fonts.
Optional 4th argument PREFER, if non-nil, is a font-spec to
control the order of the returned list.  Fonts are sorted by
how close they are to PREFER.

(fn FONT-SPEC &optional FRAME NUM PREFER)Ffont-family-list
List available font families on the current frame.
Optional argument FRAME, if non-nil, specifies the target frame.

(fn &optional FRAME)Ffind-font
Return a font-entity matching with FONT-SPEC on the current frame.
Optional 2nd argument FRAME, if non-nil, specifies the target frame.

(fn FONT-SPEC &optional FRAME)Ffont-xlfd-name
Return XLFD name of FONT.
FONT is a font-spec, font-entity, or font-object.
If the name is too long for XLFD (maximum 255 chars), return nil.
If the 2nd optional arg FOLD-WILDCARDS is non-nil,
the consecutive wildcards are folded into one.

(fn FONT &optional FOLD-WILDCARDS)Fclear-font-cache
Clear font cache.

(fn)Ffont-shape-gstring
Shape the glyph-string GSTRING.
Shaping means substituting glyphs and/or adjusting positions of glyphs
to get the correct visual image of character sequences set in the
header of the glyph-string.

If the shaping was successful, the value is GSTRING itself or a newly
created glyph-string.  Otherwise, the value is nil.

See the documentation of `composition-get-gstring' for the format of
GSTRING.

(fn GSTRING)Ffont-variation-glyphs
Return a list of variation glyphs for CHAR in FONT-OBJECT.
Each element of the value is a cons (VARIATION-SELECTOR . GLYPH-ID),
where
  VARIATION-SELECTOR is a character code of variation selection
    (#xFE00..#xFE0F or #xE0100..#xE01EF)
  GLYPH-ID is a glyph code of the corresponding variation glyph.

(fn FONT-OBJECT CHARACTER)Ffont-drive-otf
Apply OpenType features on glyph-string GSTRING-IN.
OTF-FEATURES specifies which features to apply in this format:
  (SCRIPT LANGSYS GSUB GPOS)
where
  SCRIPT is a symbol specifying a script tag of OpenType,
  LANGSYS is a symbol specifying a langsys tag of OpenType,
  GSUB and GPOS, if non-nil, are lists of symbols specifying feature tags.

If LANGYS is nil, the default langsys is selected.

The features are applied in the order they appear in the list.  The
symbol `*' means to apply all available features not present in this
list, and the remaining features are ignored.  For instance, (vatu
pstf * haln) is to apply vatu and pstf in this order, then to apply
all available features other than vatu, pstf, and haln.

The features are applied to the glyphs in the range FROM and TO of
the glyph-string GSTRING-IN.

If some feature is actually applicable, the resulting glyphs are
produced in the glyph-string GSTRING-OUT from the index INDEX.  In
this case, the value is the number of produced glyphs.

If no feature is applicable, no glyph is produced in GSTRING-OUT, and
the value is 0.

If GSTRING-OUT is too short to hold produced glyphs, no glyphs are
produced in GSTRING-OUT, and the value is nil.

See the documentation of `composition-get-gstring' for the format of
glyph-string.

(fn OTF-FEATURES GSTRING-IN FROM TO GSTRING-OUT INDEX)Ffont-otf-alternates
Return a list of alternate glyphs of CHARACTER in FONT-OBJECT.
OTF-FEATURES specifies which features of the font FONT-OBJECT to apply
in this format:
  (SCRIPT LANGSYS FEATURE ...)
See the documentation of `font-drive-otf' for more detail.

The value is a list of cons cells of the format (GLYPH-ID . CHARACTER),
where GLYPH-ID is a glyph index of the font, and CHARACTER is a
character code corresponding to the glyph or nil if there's no
corresponding character.

(fn FONT-OBJECT CHARACTER OTF-FEATURES)Fopen-font
Open FONT-ENTITY.

(fn FONT-ENTITY &optional SIZE FRAME)Fclose-font
Close FONT-OBJECT.

(fn FONT-OBJECT &optional FRAME)Fquery-font
Return information about FONT-OBJECT.
The value is a vector:
  [ NAME FILENAME PIXEL-SIZE SIZE ASCENT DESCENT SPACE-WIDTH AVERAGE-WIDTH
    CAPABILITY ]

NAME is the font name, a string (or nil if the font backend doesn't
provide a name).

FILENAME is the font file name, a string (or nil if the font backend
doesn't provide a file name).

PIXEL-SIZE is a pixel size by which the font is opened.

SIZE is a maximum advance width of the font in pixels.

ASCENT, DESCENT, SPACE-WIDTH, AVERAGE-WIDTH are metrics of the font in
pixels.

CAPABILITY is a list whose first element is a symbol representing the
font format (x, opentype, truetype, type1, pcf, or bdf) and the
remaining elements describe the details of the font capability.

If the font is OpenType font, the form of the list is
  (opentype GSUB GPOS)
where GSUB shows which "GSUB" features the font supports, and GPOS
shows which "GPOS" features the font supports.  Both GSUB and GPOS are
lists of the format:
  ((SCRIPT (LANGSYS FEATURE ...) ...) ...)

If the font is not OpenType font, currently the length of the form is
one.

SCRIPT is a symbol representing OpenType script tag.

LANGSYS is a symbol representing OpenType langsys tag, or nil
representing the default langsys.

FEATURE is a symbol representing OpenType feature tag.

If the font is not OpenType font, CAPABILITY is nil.

(fn FONT-OBJECT)Ffont-get-glyphs
Return a vector of FONT-OBJECT's glyphs for the specified characters.
FROM and TO are positions (integers or markers) specifying a region
of the current buffer.
If the optional fourth arg OBJECT is not nil, it is a string or a
vector containing the target characters.

Each element is a vector containing information of a glyph in this format:
  [FROM-IDX TO-IDX C CODE WIDTH LBEARING RBEARING ASCENT DESCENT ADJUSTMENT]
where
  FROM is an index numbers of a character the glyph corresponds to.
  TO is the same as FROM.
  C is the character of the glyph.
  CODE is the glyph-code of C in FONT-OBJECT.
  WIDTH thru DESCENT are the metrics (in pixels) of the glyph.
  ADJUSTMENT is always nil.
If FONT-OBJECT doesn't have a glyph for a character,
the corresponding element is nil.

(fn FONT-OBJECT FROM TO &optional OBJECT)Ffont-match-p
Return t if and only if font-spec SPEC matches with FONT.
FONT is a font-spec, font-entity, or font-object.

(fn SPEC FONT)Ffont-at
Return a font-object for displaying a character at POSITION.
Optional second arg WINDOW, if non-nil, is a window displaying
the current buffer.  It defaults to the currently selected window.
Optional third arg STRING, if non-nil, is a string containing the target
character at index specified by POSITION.

(fn POSITION &optional WINDOW STRING)Fdraw-string
Draw STRING by FONT-OBJECT on the top left corner of the current frame.
The value is a number of glyphs drawn.
Type C-l to recover what previously shown.

(fn FONT-OBJECT STRING)Ffont-info
Return information about a font named NAME on frame FRAME.
If FRAME is omitted or nil, use the selected frame.
The returned value is a vector of OPENED-NAME, FULL-NAME, SIZE,
  HEIGHT, BASELINE-OFFSET, RELATIVE-COMPOSE, and DEFAULT-ASCENT,
where
  OPENED-NAME is the name used for opening the font,
  FULL-NAME is the full name of the font,
  SIZE is the pixelsize of the font,
  HEIGHT is the pixel-height of the font (i.e., ascent + descent),
  BASELINE-OFFSET is the upward offset pixels from ASCII baseline,
  RELATIVE-COMPOSE and DEFAULT-ASCENT are the numbers controlling
    how to compose characters.
If the named font is not yet loaded, return nil.

(fn NAME &optional FRAME)Vfont-encoding-alist
Alist of fontname patterns vs the corresponding encoding and repertory info.
Each element looks like (REGEXP . (ENCODING . REPERTORY)),
where ENCODING is a charset or a char-table,
and REPERTORY is a charset, a char-table, or nil.

If ENCODING and REPERTORY are the same, the element can have the form
(REGEXP . ENCODING).

ENCODING is for converting a character to a glyph code of the font.
If ENCODING is a charset, encoding a character by the charset gives
the corresponding glyph code.  If ENCODING is a char-table, looking up
the table by a character gives the corresponding glyph code.

REPERTORY specifies a repertory of characters supported by the font.
If REPERTORY is a charset, all characters belonging to the charset are
supported.  If REPERTORY is a char-table, all characters who have a
non-nil value in the table are supported.  If REPERTORY is nil, Emacs
gets the repertory information by an opened font and ENCODING.Vfont-weight-table
Vector of valid font weight values.
Each element has the form:
    [NUMERIC-VALUE SYMBOLIC-NAME ALIAS-NAME ...]
NUMERIC-VALUE is an integer, and SYMBOLIC-NAME and ALIAS-NAME are symbols.Vfont-slant-table
Vector of font slant symbols vs the corresponding numeric values.
See `font-weight-table' for the format of the vector.Vfont-width-table
Alist of font width symbols vs the corresponding numeric values.
See `font-weight-table' for the format of the vector.Vfont-log
*Logging list of font related actions and results.
The value t means to suppress the logging.
The initial value is set to nil if the environment variable
EMACS_FONT_LOG is set.  Otherwise, it is set to t.Sprint.o
Fwrite-char
Output character CHARACTER to stream PRINTCHARFUN.
PRINTCHARFUN defaults to the value of `standard-output' (which see).

(fn CHARACTER &optional PRINTCHARFUN)Fterpri
Output a newline to stream PRINTCHARFUN.
If PRINTCHARFUN is omitted or nil, the value of `standard-output' is used.

(fn &optional PRINTCHARFUN)Fprin1
Output the printed representation of OBJECT, any Lisp object.
Quoting characters are printed when needed to make output that `read'
can handle, whenever this is possible.  For complex objects, the behavior
is controlled by `print-level' and `print-length', which see.

OBJECT is any of the Lisp data types: a number, a string, a symbol,
a list, a buffer, a window, a frame, etc.

A printed representation of an object is text which describes that object.

Optional argument PRINTCHARFUN is the output stream, which can be one
of these:

   - a buffer, in which case output is inserted into that buffer at point;
   - a marker, in which case output is inserted at marker's position;
   - a function, in which case that function is called once for each
     character of OBJECT's printed representation;
   - a symbol, in which case that symbol's function definition is called; or
   - t, in which case the output is displayed in the echo area.

If PRINTCHARFUN is omitted, the value of `standard-output' (which see)
is used instead.

(fn OBJECT &optional PRINTCHARFUN)Fprin1-to-string
Return a string containing the printed representation of OBJECT.
OBJECT can be any Lisp object.  This function outputs quoting characters
when necessary to make output that `read' can handle, whenever possible,
unless the optional second argument NOESCAPE is non-nil.  For complex objects,
the behavior is controlled by `print-level' and `print-length', which see.

OBJECT is any of the Lisp data types: a number, a string, a symbol,
a list, a buffer, a window, a frame, etc.

A printed representation of an object is text which describes that object.

(fn OBJECT &optional NOESCAPE)Fprinc
Output the printed representation of OBJECT, any Lisp object.
No quoting characters are used; no delimiters are printed around
the contents of strings.

OBJECT is any of the Lisp data types: a number, a string, a symbol,
a list, a buffer, a window, a frame, etc.

A printed representation of an object is text which describes that object.

Optional argument PRINTCHARFUN is the output stream, which can be one
of these:

   - a buffer, in which case output is inserted into that buffer at point;
   - a marker, in which case output is inserted at marker's position;
   - a function, in which case that function is called once for each
     character of OBJECT's printed representation;
   - a symbol, in which case that symbol's function definition is called; or
   - t, in which case the output is displayed in the echo area.

If PRINTCHARFUN is omitted, the value of `standard-output' (which see)
is used instead.

(fn OBJECT &optional PRINTCHARFUN)Fprint
Output the printed representation of OBJECT, with newlines around it.
Quoting characters are printed when needed to make output that `read'
can handle, whenever this is possible.  For complex objects, the behavior
is controlled by `print-level' and `print-length', which see.

OBJECT is any of the Lisp data types: a number, a string, a symbol,
a list, a buffer, a window, a frame, etc.

A printed representation of an object is text which describes that object.

Optional argument PRINTCHARFUN is the output stream, which can be one
of these:

   - a buffer, in which case output is inserted into that buffer at point;
   - a marker, in which case output is inserted at marker's position;
   - a function, in which case that function is called once for each
     character of OBJECT's printed representation;
   - a symbol, in which case that symbol's function definition is called; or
   - t, in which case the output is displayed in the echo area.

If PRINTCHARFUN is omitted, the value of `standard-output' (which see)
is used instead.

(fn OBJECT &optional PRINTCHARFUN)Fexternal-debugging-output
Write CHARACTER to stderr.
You can call print while debugging emacs, and pass it this function
to make it write to the debugging output.

(fn CHARACTER)Fredirect-debugging-output
Redirect debugging output (stderr stream) to file FILE.
If FILE is nil, reset target to the initial stderr stream.
Optional arg APPEND non-nil (interactively, with prefix arg) means
append to existing target file.

(fn FILE &optional APPEND)Ferror-message-string
Convert an error value (ERROR-SYMBOL . DATA) to an error message.
See Info anchor `(elisp)Definition of signal' for some details on how this
error message is constructed.

(fn OBJ)Vstandard-output
Output stream `print' uses by default for outputting a character.
This may be any function of one argument.
It may also be a buffer (output is inserted before point)
or a marker (output is inserted and the marker is advanced)
or the symbol t (output appears in the echo area).Vfloat-output-format
The format descriptor string used to print floats.
This is a %-spec like those accepted by `printf' in C,
but with some restrictions.  It must start with the two characters `%.'.
After that comes an integer precision specification,
and then a letter which controls the format.
The letters allowed are `e', `f' and `g'.
Use `e' for exponential notation "DIG.DIGITSeEXPT"
Use `f' for decimal point notation "DIGITS.DIGITS".
Use `g' to choose the shorter of those two formats for the number at hand.
The precision in any of these cases is the number of digits following
the decimal point.  With `f', a precision of 0 means to omit the
decimal point.  0 is not allowed with `e' or `g'.

A value of nil means to use the shortest notation
that represents the number without losing information.Vprint-length
Maximum length of list to print before abbreviating.
A value of nil means no limit.  See also `eval-expression-print-length'.Vprint-level
Maximum depth of list nesting to print before abbreviating.
A value of nil means no limit.  See also `eval-expression-print-level'.Vprint-escape-newlines
Non-nil means print newlines in strings as `\n'.
Also print formfeeds as `\f'.Vprint-escape-nonascii
Non-nil means print unibyte non-ASCII chars in strings as \OOO.
(OOO is the octal representation of the character code.)
Only single-byte characters are affected, and only in `prin1'.
When the output goes in a multibyte buffer, this feature is
enabled regardless of the value of the variable.Vprint-escape-multibyte
Non-nil means print multibyte characters in strings as \xXXXX.
(XXXX is the hex representation of the character code.)
This affects only `prin1'.Vprint-quoted
Non-nil means print quoted forms with reader syntax.
I.e., (quote foo) prints as 'foo, (function foo) as #'foo.Vprint-gensym
Non-nil means print uninterned symbols so they will read as uninterned.
I.e., the value of (make-symbol "foobar") prints as #:foobar.
When the uninterned symbol appears within a recursive data structure,
and the symbol appears more than once, in addition use the #N# and #N=
constructs as needed, so that multiple references to the same symbol are
shared once again when the text is read back.Vprint-circle
Non-nil means print recursive structures using #N= and #N# syntax.
If nil, printing proceeds recursively and may lead to
`max-lisp-eval-depth' being exceeded or an error may occur:
"Apparently circular structure being printed."  Also see
`print-length' and `print-level'.
If non-nil, shared substructures anywhere in the structure are printed
with `#N=' before the first occurrence (in the order of the print
representation) and `#N#' in place of each subsequent occurrence,
where N is a positive decimal integer.Vprint-continuous-numbering
Non-nil means number continuously across print calls.
This affects the numbers printed for #N= labels and #M# references.
See also `print-circle', `print-gensym', and `print-number-table'.
This variable should not be set with `setq'; bind it with a `let' instead.Vprint-number-table
A vector used internally to produce `#N=' labels and `#N#' references.
The Lisp printer uses this vector to detect Lisp objects referenced more
than once.

When you bind `print-continuous-numbering' to t, you should probably
also bind `print-number-table' to nil.  This ensures that the value of
`print-number-table' can be garbage-collected once the printing is
done.  If all elements of `print-number-table' are nil, it means that
the printing done so far has not found any shared structure or objects
that need to be recorded in the table.Vprint-charset-text-property
A flag to control printing of `charset' text property on printing a string.
The value must be nil, t, or `default'.

If the value is nil, don't print the text property `charset'.

If the value is t, always print the text property `charset'.

If the value is `default', print the text property `charset' only when
the value is different from what is guessed in the current charset
priorities.Slread.o
Fread-char
Read a character from the command input (keyboard or macro).
It is returned as a number.
If the character has modifiers, they are resolved and reflected to the
character code if possible (e.g. C-SPC -> 0).

If the user generates an event which is not a character (i.e. a mouse
click or function key event), `read-char' signals an error.  As an
exception, switch-frame events are put off until non-character events
can be read.
If you want to read non-character events, or ignore them, call
`read-event' or `read-char-exclusive' instead.

If the optional argument PROMPT is non-nil, display that as a prompt.
If the optional argument INHERIT-INPUT-METHOD is non-nil and some
input method is turned on in the current buffer, that input method
is used for reading a character.
If the optional argument SECONDS is non-nil, it should be a number
specifying the maximum number of seconds to wait for input.  If no
input arrives in that time, return nil.  SECONDS may be a
floating-point value.

(fn &optional PROMPT INHERIT-INPUT-METHOD SECONDS)Fread-event
Read an event object from the input stream.
If the optional argument PROMPT is non-nil, display that as a prompt.
If the optional argument INHERIT-INPUT-METHOD is non-nil and some
input method is turned on in the current buffer, that input method
is used for reading a character.
If the optional argument SECONDS is non-nil, it should be a number
specifying the maximum number of seconds to wait for input.  If no
input arrives in that time, return nil.  SECONDS may be a
floating-point value.

(fn &optional PROMPT INHERIT-INPUT-METHOD SECONDS)Fread-char-exclusive
Read a character from the command input (keyboard or macro).
It is returned as a number.  Non-character events are ignored.
If the character has modifiers, they are resolved and reflected to the
character code if possible (e.g. C-SPC -> 0).

If the optional argument PROMPT is non-nil, display that as a prompt.
If the optional argument INHERIT-INPUT-METHOD is non-nil and some
input method is turned on in the current buffer, that input method
is used for reading a character.
If the optional argument SECONDS is non-nil, it should be a number
specifying the maximum number of seconds to wait for input.  If no
input arrives in that time, return nil.  SECONDS may be a
floating-point value.

(fn &optional PROMPT INHERIT-INPUT-METHOD SECONDS)Fget-file-char
Don't use this yourself.

(fn)Fget-load-suffixes
Return the suffixes that `load' should try if a suffix is required.
This uses the variables `load-suffixes' and `load-file-rep-suffixes'.

(fn)Fload
Execute a file of Lisp code named FILE.
First try FILE with `.elc' appended, then try with `.el',
then try FILE unmodified (the exact suffixes in the exact order are
determined by `load-suffixes').  Environment variable references in
FILE are replaced with their values by calling `substitute-in-file-name'.
This function searches the directories in `load-path'.

If optional second arg NOERROR is non-nil,
report no error if FILE doesn't exist.
Print messages at start and end of loading unless
optional third arg NOMESSAGE is non-nil (but `force-load-messages'
overrides that).
If optional fourth arg NOSUFFIX is non-nil, don't try adding
suffixes `.elc' or `.el' to the specified name FILE.
If optional fifth arg MUST-SUFFIX is non-nil, insist on
the suffix `.elc' or `.el'; don't accept just FILE unless
it ends in one of those suffixes or includes a directory name.

If NOSUFFIX is nil, then if a file could not be found, try looking for
a different representation of the file by adding non-empty suffixes to
its name, before trying another file.  Emacs uses this feature to find
compressed versions of files when Auto Compression mode is enabled.
If NOSUFFIX is non-nil, disable this feature.

The suffixes that this function tries out, when NOSUFFIX is nil, are
given by the return value of `get-load-suffixes' and the values listed
in `load-file-rep-suffixes'.  If MUST-SUFFIX is non-nil, only the
return value of `get-load-suffixes' is used, i.e. the file name is
required to have a non-empty suffix.

Loading a file records its definitions, and its `provide' and
`require' calls, in an element of `load-history' whose
car is the file name loaded.  See `load-history'.

While the file is in the process of being loaded, the variable
`load-in-progress' is non-nil and the variable `load-file-name'
is bound to the file's name.

Return t if the file exists and loads successfully.

(fn FILE &optional NOERROR NOMESSAGE NOSUFFIX MUST-SUFFIX)Flocate-file-internal
Search for FILENAME through PATH.
Returns the file's name in absolute form, or nil if not found.
If SUFFIXES is non-nil, it should be a list of suffixes to append to
file name when searching.
If non-nil, PREDICATE is used instead of `file-readable-p'.
PREDICATE can also be an integer to pass to the access(2) function,
in which case file-name-handlers are ignored.
This function will normally skip directories, so if you want it to find
directories, make sure the PREDICATE function returns `dir-ok' for them.

(fn FILENAME PATH &optional SUFFIXES PREDICATE)Feval-buffer
Execute the current buffer as Lisp code.
When called from a Lisp program (i.e., not interactively), this
function accepts up to five optional arguments:
BUFFER is the buffer to evaluate (nil means use current buffer).
PRINTFLAG controls printing of output:
 A value of nil means discard it; anything else is stream for print.
FILENAME specifies the file name to use for `load-history'.
UNIBYTE, if non-nil, specifies `load-convert-to-unibyte' for this
 invocation.
DO-ALLOW-PRINT, if non-nil, specifies that `print' and related
 functions should work normally even if PRINTFLAG is nil.

This function preserves the position of point.

(fn &optional BUFFER PRINTFLAG FILENAME UNIBYTE DO-ALLOW-PRINT)Feval-region
Execute the region as Lisp code.
When called from programs, expects two arguments,
giving starting and ending indices in the current buffer
of the text to be executed.
Programs can pass third argument PRINTFLAG which controls output:
A value of nil means discard it; anything else is stream for printing it.
Also the fourth argument READ-FUNCTION, if non-nil, is used
instead of `read' to read each expression.  It gets one argument
which is the input stream for reading characters.

This function does not move point.

(fn START END &optional PRINTFLAG READ-FUNCTION)Fread
Read one Lisp expression as text from STREAM, return as Lisp object.
If STREAM is nil, use the value of `standard-input' (which see).
STREAM or the value of `standard-input' may be:
 a buffer (read from point and advance it)
 a marker (read from where it points and advance it)
 a function (call it with no arguments for each character,
     call it with a char as argument to push a char back)
 a string (takes text from string, starting at the beginning)
 t (read text line using minibuffer and use it, or read from
    standard input in batch mode).

(fn &optional STREAM)Fread-from-string
Read one Lisp expression which is represented as text by STRING.
Returns a cons: (OBJECT-READ . FINAL-STRING-INDEX).
FINAL-STRING-INDEX is an integer giving the position of the next
 remaining character in STRING.
START and END optionally delimit a substring of STRING from which to read;
 they default to 0 and (length STRING) respectively.

(fn STRING &optional START END)Fintern
Return the canonical symbol whose name is STRING.
If there is none, one is created by this function and returned.
A second optional argument specifies the obarray to use;
it defaults to the value of `obarray'.

(fn STRING &optional OBARRAY)Fintern-soft
Return the canonical symbol named NAME, or nil if none exists.
NAME may be a string or a symbol.  If it is a symbol, that exact
symbol is searched for.
A second optional argument specifies the obarray to use;
it defaults to the value of `obarray'.

(fn NAME &optional OBARRAY)Funintern
Delete the symbol named NAME, if any, from OBARRAY.
The value is t if a symbol was found and deleted, nil otherwise.
NAME may be a string or a symbol.  If it is a symbol, that symbol
is deleted, if it belongs to OBARRAY--no other symbol is deleted.
OBARRAY defaults to the value of the variable `obarray'.

(fn NAME &optional OBARRAY)Fmapatoms
Call FUNCTION on every symbol in OBARRAY.
OBARRAY defaults to the value of `obarray'.

(fn FUNCTION &optional OBARRAY)Vobarray
Symbol table for use by `intern' and `read'.
It is a vector whose length ought to be prime for best results.
The vector's contents don't make sense if examined from Lisp programs;
to find all the symbols in an obarray, use `mapatoms'.Vvalues
List of values of all expressions which were read, evaluated and printed.
		       Order is reverse chronological.Vstandard-input
Stream for read to get input from.
See documentation of `read' for possible values.Vread-with-symbol-positions
If non-nil, add position of read symbols to `read-symbol-positions-list'.

If this variable is a buffer, then only forms read from that buffer
will be added to `read-symbol-positions-list'.
If this variable is t, then all read forms will be added.
The effect of all other values other than nil are not currently
defined, although they may be in the future.

The positions are relative to the last call to `read' or
`read-from-string'.  It is probably a bad idea to set this variable at
the toplevel; bind it instead.Vread-symbol-positions-list
A list mapping read symbols to their positions.
This variable is modified during calls to `read' or
`read-from-string', but only when `read-with-symbol-positions' is
non-nil.

Each element of the list looks like (SYMBOL . CHAR-POSITION), where
CHAR-POSITION is an integer giving the offset of that occurrence of the
symbol from the position where `read' or `read-from-string' started.

Note that a symbol will appear multiple times in this list, if it was
read multiple times.  The list is in the same order as the symbols
were read in.Vread-circle
Non-nil means read recursive structures using #N= and #N# syntax.Vload-path
List of directories to search for files to load.
Each element is a string (directory name) or nil (try default directory).
Initialized based on EMACSLOADPATH environment variable, if any,
otherwise to default specified by file `epaths.h' when Emacs was built.Vload-suffixes
List of suffixes for (compiled or source) Emacs Lisp files.
This list should not include the empty string.
`load' and related functions try to append these suffixes, in order,
to the specified file name if a Lisp suffix is allowed or required.Vload-file-rep-suffixes
List of suffixes that indicate representations of the same file.
This list should normally start with the empty string.

Enabling Auto Compression mode appends the suffixes in
`jka-compr-load-suffixes' to this list and disabling Auto Compression
mode removes them again.  `load' and related functions use this list to
determine whether they should look for compressed versions of a file
and, if so, which suffixes they should try to append to the file name
in order to do so.  However, if you want to customize which suffixes
the loading functions recognize as compression suffixes, you should
customize `jka-compr-load-suffixes' rather than the present variable.Vload-in-progress
Non-nil if inside of `load'.Vafter-load-alist
An alist of expressions to be evalled when particular files are loaded.
Each element looks like (REGEXP-OR-FEATURE FORMS...).

REGEXP-OR-FEATURE is either a regular expression to match file names, or
a symbol (a feature name).

When `load' is run and the file-name argument matches an element's
REGEXP-OR-FEATURE, or when `provide' is run and provides the symbol
REGEXP-OR-FEATURE, the FORMS in the element are executed.

An error in FORMS does not undo the load, but does prevent execution of
the rest of the FORMS.Vload-history
Alist mapping loaded file names to symbols and features.
Each alist element should be a list (FILE-NAME ENTRIES...), where
FILE-NAME is the name of a file that has been loaded into Emacs.
The file name is absolute and true (i.e. it doesn't contain symlinks).
As an exception, one of the alist elements may have FILE-NAME nil,
for symbols and features not associated with any file.

The remaining ENTRIES in the alist element describe the functions and
variables defined in that file, the features provided, and the
features required.  Each entry has the form `(provide . FEATURE)',
`(require . FEATURE)', `(defun . FUNCTION)', `(autoload . SYMBOL)',
`(defface . SYMBOL)', or `(t . SYMBOL)'.  Entries like `(t . SYMBOL)'
may precede a `(defun . FUNCTION)' entry, and means that SYMBOL was an
autoload before this file redefined it as a function.  In addition,
entries may also be single symbols, which means that SYMBOL was
defined by `defvar' or `defconst'.

During preloading, the file name recorded is relative to the main Lisp
directory.  These file names are converted to absolute at startup.Vload-file-name
Full name of file being loaded by `load'.Vuser-init-file
File name, including directory, of user's initialization file.
If the file loaded had extension `.elc', and the corresponding source file
exists, this variable contains the name of source file, suitable for use
by functions like `custom-save-all' which edit the init file.
While Emacs loads and evaluates the init file, value is the real name
of the file, regardless of whether or not it has the `.elc' extension.Vcurrent-load-list
Used for internal purposes by `load'.Vload-read-function
Function used by `load' and `eval-region' for reading expressions.
The default is nil, which means use the function `read'.Vload-source-file-function
Function called in `load' to load an Emacs Lisp source file.
The value should be a function for doing code conversion before
reading a source file.  It can also be nil, in which case loading is
done without any code conversion.

If the value is a function, it is called with four arguments,
FULLNAME, FILE, NOERROR, NOMESSAGE.  FULLNAME is the absolute name of
the file to load, FILE is the non-absolute name (for messages etc.),
and NOERROR and NOMESSAGE are the corresponding arguments passed to
`load'.  The function should return t if the file was loaded.Vload-force-doc-strings
Non-nil means `load' should force-load all dynamic doc strings.
This is useful when the file being loaded is a temporary copy.Vload-convert-to-unibyte
Non-nil means `read' converts strings to unibyte whenever possible.
This is normally bound by `load' and `eval-buffer' to control `read',
and is not meant for users to change.Vsource-directory
Directory in which Emacs sources were found when Emacs was built.
You cannot count on them to still be there!Vpreloaded-file-list
List of files that were preloaded (when dumping Emacs).Vbyte-boolean-vars
List of all DEFVAR_BOOL variables, used by the byte code optimizer.Vload-dangerous-libraries
Non-nil means load dangerous compiled Lisp files.
Some versions of XEmacs use different byte codes than Emacs.  These
incompatible byte codes can make Emacs crash when it tries to execute
them.Vforce-load-messages
Non-nil means force printing messages when loading Lisp files.
This overrides the value of the NOMESSAGE argument to `load'.Vbytecomp-version-regexp
Regular expression matching safe to load compiled Lisp files.
When Emacs loads a compiled Lisp file, it reads the first 512 bytes
from the file, and matches them against this regular expression.
When the regular expression matches, the file is considered to be safe
to load.  See also `load-dangerous-libraries'.Vlexical-binding
Whether to use lexical binding when evaluating code.
Non-nil means that the code in the current buffer should be evaluated
with lexical binding.
This variable is automatically set from the file variables of an
interpreted Lisp file read using `load'.  Unlike other file local
variables, this must be set in the first line of a file.Veval-buffer-list
List of buffers being read from by calls to `eval-buffer' and `eval-region'.Vold-style-backquotes
Set to non-nil when `read' encounters an old-style backquote.Ssyntax.o
Fsyntax-table-p
Return t if OBJECT is a syntax table.
Currently, any char-table counts as a syntax table.

(fn OBJECT)Fsyntax-table
Return the current syntax table.
This is the one specified by the current buffer.

(fn)Fstandard-syntax-table
Return the standard syntax table.
This is the one used for new buffers.

(fn)Fcopy-syntax-table
Construct a new syntax table and return it.
It is a copy of the TABLE, which defaults to the standard syntax table.

(fn &optional TABLE)Fset-syntax-table
Select a new syntax table for the current buffer.
One argument, a syntax table.

(fn TABLE)Fchar-syntax
Return the syntax code of CHARACTER, described by a character.
For example, if CHARACTER is a word constituent, the
character `w' (119) is returned.
The characters that correspond to various syntax codes
are listed in the documentation of `modify-syntax-entry'.

(fn CHARACTER)Fmatching-paren
Return the matching parenthesis of CHARACTER, or nil if none.

(fn CHARACTER)Fstring-to-syntax
Convert a syntax descriptor STRING into a raw syntax descriptor.
STRING should be a string of the form allowed as argument of
`modify-syntax-entry'.  The return value is a raw syntax descriptor: a
cons cell (CODE . MATCHING-CHAR) which can be used, for example, as
the value of a `syntax-table' text property.

(fn STRING)Fmodify-syntax-entry
Set syntax for character CHAR according to string NEWENTRY.
The syntax is changed only for table SYNTAX-TABLE, which defaults to
 the current buffer's syntax table.
CHAR may be a cons (MIN . MAX), in which case, syntaxes of all characters
in the range MIN to MAX are changed.
The first character of NEWENTRY should be one of the following:
  Space or -  whitespace syntax.    w   word constituent.
  _           symbol constituent.   .   punctuation.
  (           open-parenthesis.     )   close-parenthesis.
  "           string quote.         \   escape.
  $           paired delimiter.     '   expression quote or prefix operator.
  <           comment starter.      >   comment ender.
  /           character-quote.      @   inherit from parent table.
  |           generic string fence. !   generic comment fence.

Only single-character comment start and end sequences are represented thus.
Two-character sequences are represented as described below.
The second character of NEWENTRY is the matching parenthesis,
 used only if the first character is `(' or `)'.
Any additional characters are flags.
Defined flags are the characters 1, 2, 3, 4, b, p, and n.
 1 means CHAR is the start of a two-char comment start sequence.
 2 means CHAR is the second character of such a sequence.
 3 means CHAR is the start of a two-char comment end sequence.
 4 means CHAR is the second character of such a sequence.

There can be several orthogonal comment sequences.  This is to support
language modes such as C++.  By default, all comment sequences are of style
a, but you can set the comment sequence style to b (on the second character
of a comment-start, and the first character of a comment-end sequence) and/or
c (on any of its chars) using this flag:
 b means CHAR is part of comment sequence b.
 c means CHAR is part of comment sequence c.
 n means CHAR is part of a nestable comment sequence.

 p means CHAR is a prefix character for `backward-prefix-chars';
   such characters are treated as whitespace when they occur
   between expressions.

(fn CHAR NEWENTRY &optional SYNTAX-TABLE)Finternal-describe-syntax-value
Insert a description of the internal syntax description SYNTAX at point.

(fn SYNTAX)Fforward-word
Move point forward ARG words (backward if ARG is negative).
Normally returns t.
If an edge of the buffer or a field boundary is reached, point is left there
and the function returns nil.  Field boundaries are not noticed if
`inhibit-field-text-motion' is non-nil.

(fn &optional ARG)Fskip-chars-forward
Move point forward, stopping before a char not in STRING, or at pos LIM.
STRING is like the inside of a `[...]' in a regular expression
except that `]' is never special and `\' quotes `^', `-' or `\'
 (but not at the end of a range; quoting is never needed there).
Thus, with arg "a-zA-Z", this skips letters stopping before first nonletter.
With arg "^a-zA-Z", skips nonletters stopping before first letter.
Char classes, e.g. `[:alpha:]', are supported.

Returns the distance traveled, either zero or positive.

(fn STRING &optional LIM)Fskip-chars-backward
Move point backward, stopping after a char not in STRING, or at pos LIM.
See `skip-chars-forward' for details.
Returns the distance traveled, either zero or negative.

(fn STRING &optional LIM)Fskip-syntax-forward
Move point forward across chars in specified syntax classes.
SYNTAX is a string of syntax code characters.
Stop before a char whose syntax is not in SYNTAX, or at position LIM.
If SYNTAX starts with ^, skip characters whose syntax is NOT in SYNTAX.
This function returns the distance traveled, either zero or positive.

(fn SYNTAX &optional LIM)Fskip-syntax-backward
Move point backward across chars in specified syntax classes.
SYNTAX is a string of syntax code characters.
Stop on reaching a char whose syntax is not in SYNTAX, or at position LIM.
If SYNTAX starts with ^, skip characters whose syntax is NOT in SYNTAX.
This function returns the distance traveled, either zero or negative.

(fn SYNTAX &optional LIM)Fforward-comment
Move forward across up to COUNT comments.  If COUNT is negative, move backward.
Stop scanning if we find something other than a comment or whitespace.
Set point to where scanning stops.
If COUNT comments are found as expected, with nothing except whitespace
between them, return t; otherwise return nil.

(fn COUNT)Fscan-lists
Scan from character number FROM by COUNT lists.
Scan forward if COUNT is positive, backward if COUNT is negative.
Return the character number of the position thus found.

A "list", in this context, refers to a balanced parenthetical
grouping, as determined by the syntax table.

If DEPTH is nonzero, treat that as the nesting depth of the starting
point (i.e. the starting point is DEPTH parentheses deep).  This
function scans over parentheses until the depth goes to zero COUNT
times.  Hence, positive DEPTH moves out that number of levels of
parentheses, while negative DEPTH moves to a deeper level.

Comments are ignored if `parse-sexp-ignore-comments' is non-nil.

If we reach the beginning or end of the accessible part of the buffer
before we have scanned over COUNT lists, return nil if the depth at
that point is zero, and signal a error if the depth is nonzero.

(fn FROM COUNT DEPTH)Fscan-sexps
Scan from character number FROM by COUNT balanced expressions.
If COUNT is negative, scan backwards.
Returns the character number of the position thus found.

Comments are ignored if `parse-sexp-ignore-comments' is non-nil.

If the beginning or end of (the accessible part of) the buffer is reached
in the middle of a parenthetical grouping, an error is signaled.
If the beginning or end is reached between groupings
but before count is used up, nil is returned.

(fn FROM COUNT)Fbackward-prefix-chars
Move point backward over any number of chars with prefix syntax.
This includes chars with "quote" or "prefix" syntax (' or p).

(fn)Fparse-partial-sexp
Parse Lisp syntax starting at FROM until TO; return status of parse at TO.
Parsing stops at TO or when certain criteria are met;
 point is set to where parsing stops.
If fifth arg OLDSTATE is omitted or nil,
 parsing assumes that FROM is the beginning of a function.
Value is a list of elements describing final state of parsing:
 0. depth in parens.
 1. character address of start of innermost containing list; nil if none.
 2. character address of start of last complete sexp terminated.
 3. non-nil if inside a string.
    (it is the character that will terminate the string,
     or t if the string should be terminated by a generic string delimiter.)
 4. nil if outside a comment, t if inside a non-nestable comment,
    else an integer (the current comment nesting).
 5. t if following a quote character.
 6. the minimum paren-depth encountered during this scan.
 7. style of comment, if any.
 8. character address of start of comment or string; nil if not in one.
 9. Intermediate data for continuation of parsing (subject to change).
If third arg TARGETDEPTH is non-nil, parsing stops if the depth
in parentheses becomes equal to TARGETDEPTH.
Fourth arg STOPBEFORE non-nil means stop when come to
 any character that starts a sexp.
Fifth arg OLDSTATE is a list like what this function returns.
 It is used to initialize the state of the parse.  Elements number 1, 2, 6
 are ignored.
Sixth arg COMMENTSTOP non-nil means stop at the start of a comment.
 If it is symbol `syntax-table', stop after the start of a comment or a
 string, or after end of a comment or a string.

(fn FROM TO &optional TARGETDEPTH STOPBEFORE OLDSTATE COMMENTSTOP)Vparse-sexp-ignore-comments
Non-nil means `forward-sexp', etc., should treat comments as whitespace.Vparse-sexp-lookup-properties
Non-nil means `forward-sexp', etc., obey `syntax-table' property.
Otherwise, that text property is simply ignored.
See the info node `(elisp)Syntax Properties' for a description of the
`syntax-table' property.Vwords-include-escapes
Non-nil means `forward-word', etc., should treat escape chars part of words.Vmultibyte-syntax-as-symbol
Non-nil means `scan-sexps' treats all multibyte characters as symbol.Vopen-paren-in-column-0-is-defun-start
Non-nil means an open paren in column 0 denotes the start of a defun.Vfind-word-boundary-function-table
Char table of functions to search for the word boundary.
Each function is called with two arguments; POS and LIMIT.
POS and LIMIT are character positions in the current buffer.

If POS is less than LIMIT, POS is at the first character of a word,
and the return value of a function is a position after the last
character of that word.

If POS is not less than LIMIT, POS is at the last character of a word,
and the return value of a function is a position at the first
character of that word.

In both cases, LIMIT bounds the search.Sunexelf.o
Sbytecode.o
Fbyte-code
Function used internally in byte-compiled code.
The first argument, BYTESTR, is a string of byte code;
the second, VECTOR, a vector of constants;
the third, MAXDEPTH, the maximum stack depth used in this function.
If the third argument is incorrect, Emacs may crash.

(fn BYTESTR VECTOR MAXDEPTH)Vbyte-code-meter
A vector of vectors which holds a histogram of byte-code usage.
(aref (aref byte-code-meter 0) CODE) indicates how many times the byte
opcode CODE has been executed.
(aref (aref byte-code-meter CODE1) CODE2), where CODE1 is not 0,
indicates how many times the byte opcodes CODE1 and CODE2 have been
executed in succession.Vbyte-metering-on
If non-nil, keep profiling information on byte code usage.
The variable byte-code-meter indicates how often each byte opcode is used.
If a symbol has a property named `byte-code-meter' whose value is an
integer, it is incremented each time that symbol's function is called.Sprocess.o
Fprocessp
Return t if OBJECT is a process.

(fn OBJECT)Fget-process
Return the process named NAME, or nil if there is none.

(fn NAME)Fdelete-process
Delete PROCESS: kill it and forget about it immediately.
PROCESS may be a process, a buffer, the name of a process or buffer, or
nil, indicating the current buffer's process.

(fn PROCESS)Fprocess-status
Return the status of PROCESS.
The returned value is one of the following symbols:
run  -- for a process that is running.
stop -- for a process stopped but continuable.
exit -- for a process that has exited.
signal -- for a process that has got a fatal signal.
open -- for a network stream connection that is open.
listen -- for a network stream server that is listening.
closed -- for a network stream connection that is closed.
connect -- when waiting for a non-blocking connection to complete.
failed -- when a non-blocking connection has failed.
nil -- if arg is a process name and no such process exists.
PROCESS may be a process, a buffer, the name of a process, or
nil, indicating the current buffer's process.

(fn PROCESS)Fprocess-exit-status
Return the exit status of PROCESS or the signal number that killed it.
If PROCESS has not yet exited or died, return 0.

(fn PROCESS)Fprocess-id
Return the process id of PROCESS.
This is the pid of the external process which PROCESS uses or talks to.
For a network connection, this value is nil.

(fn PROCESS)Fprocess-name
Return the name of PROCESS, as a string.
This is the name of the program invoked in PROCESS,
possibly modified to make it unique among process names.

(fn PROCESS)Fprocess-command
Return the command that was executed to start PROCESS.
This is a list of strings, the first string being the program executed
and the rest of the strings being the arguments given to it.
For a network or serial process, this is nil (process is running) or t
(process is stopped).

(fn PROCESS)Fprocess-tty-name
Return the name of the terminal PROCESS uses, or nil if none.
This is the terminal that the process itself reads and writes on,
not the name of the pty that Emacs uses to talk with that terminal.

(fn PROCESS)Fset-process-buffer
Set buffer associated with PROCESS to BUFFER (a buffer, or nil).
Return BUFFER.

(fn PROCESS BUFFER)Fprocess-buffer
Return the buffer PROCESS is associated with.
Output from PROCESS is inserted in this buffer unless PROCESS has a filter.

(fn PROCESS)Fprocess-mark
Return the marker for the end of the last output from PROCESS.

(fn PROCESS)Fset-process-filter
Give PROCESS the filter function FILTER; nil means no filter.
A value of t means stop accepting output from the process.

When a process has a filter, its buffer is not used for output.
Instead, each time it does output, the entire string of output is
passed to the filter.

The filter gets two arguments: the process and the string of output.
The string argument is normally a multibyte string, except:
- if the process' input coding system is no-conversion or raw-text,
  it is a unibyte string (the non-converted input), or else
- if `default-enable-multibyte-characters' is nil, it is a unibyte
  string (the result of converting the decoded input multibyte
  string to unibyte with `string-make-unibyte').

(fn PROCESS FILTER)Fprocess-filter
Returns the filter function of PROCESS; nil if none.
See `set-process-filter' for more info on filter functions.

(fn PROCESS)Fset-process-sentinel
Give PROCESS the sentinel SENTINEL; nil for none.
The sentinel is called as a function when the process changes state.
It gets two arguments: the process, and a string describing the change.

(fn PROCESS SENTINEL)Fprocess-sentinel
Return the sentinel of PROCESS; nil if none.
See `set-process-sentinel' for more info on sentinels.

(fn PROCESS)Fset-process-window-size
Tell PROCESS that it has logical window size HEIGHT and WIDTH.

(fn PROCESS HEIGHT WIDTH)Fset-process-inherit-coding-system-flag
Determine whether buffer of PROCESS will inherit coding-system.
If the second argument FLAG is non-nil, then the variable
`buffer-file-coding-system' of the buffer associated with PROCESS
will be bound to the value of the coding system used to decode
the process output.

This is useful when the coding system specified for the process buffer
leaves either the character code conversion or the end-of-line conversion
unspecified, or if the coding system used to decode the process output
is more appropriate for saving the process buffer.

Binding the variable `inherit-process-coding-system' to non-nil before
starting the process is an alternative way of setting the inherit flag
for the process which will run.

This function returns FLAG.

(fn PROCESS FLAG)Fset-process-query-on-exit-flag
Specify if query is needed for PROCESS when Emacs is exited.
If the second argument FLAG is non-nil, Emacs will query the user before
exiting or killing a buffer if PROCESS is running.  This function
returns FLAG.

(fn PROCESS FLAG)Fprocess-query-on-exit-flag
Return the current value of query-on-exit flag for PROCESS.

(fn PROCESS)Fprocess-contact
Return the contact info of PROCESS; t for a real child.
For a network or serial connection, the value depends on the optional
KEY arg.  If KEY is nil, value is a cons cell of the form (HOST
SERVICE) for a network connection or (PORT SPEED) for a serial
connection.  If KEY is t, the complete contact information for the
connection is returned, else the specific value for the keyword KEY is
returned.  See `make-network-process' or `make-serial-process' for a
list of keywords.

(fn PROCESS &optional KEY)Fprocess-plist
Return the plist of PROCESS.

(fn PROCESS)Fset-process-plist
Replace the plist of PROCESS with PLIST.  Returns PLIST.

(fn PROCESS PLIST)Fprocess-connection
Return the connection type of PROCESS.
The value is nil for a pipe, t or `pty' for a pty, or `stream' for
a socket connection.

(fn PROCESS)Fprocess-type
Return the connection type of PROCESS.
The value is either the symbol `real', `network', or `serial'.
PROCESS may be a process, a buffer, the name of a process or buffer, or
nil, indicating the current buffer's process.

(fn PROCESS)Fformat-network-address
Convert network ADDRESS from internal format to a string.
A 4 or 5 element vector represents an IPv4 address (with port number).
An 8 or 9 element vector represents an IPv6 address (with port number).
If optional second argument OMIT-PORT is non-nil, don't include a port
number in the string, even when present in ADDRESS.
Returns nil if format of ADDRESS is invalid.

(fn ADDRESS &optional OMIT-PORT)Fprocess-list
Return a list of all processes.

(fn)Fstart-process
Start a program in a subprocess.  Return the process object for it.
NAME is name for process.  It is modified if necessary to make it unique.
BUFFER is the buffer (or buffer name) to associate with the process.

Process output (both standard output and standard error streams) goes
at end of BUFFER, unless you specify an output stream or filter
function to handle the output.  BUFFER may also be nil, meaning that
this process is not associated with any buffer.

PROGRAM is the program file name.  It is searched for in `exec-path'
(which see).  If nil, just associate a pty with the buffer.  Remaining
arguments are strings to give program as arguments.

If you want to separate standard output from standard error, invoke
the command through a shell and redirect one of them using the shell
syntax.

(fn NAME BUFFER PROGRAM &rest PROGRAM-ARGS)Fprocess-datagram-address
Get the current datagram address associated with PROCESS.

(fn PROCESS)Fset-process-datagram-address
Set the datagram address for PROCESS to ADDRESS.
Returns nil upon error setting address, ADDRESS otherwise.

(fn PROCESS ADDRESS)Fset-network-process-option
For network process PROCESS set option OPTION to value VALUE.
See `make-network-process' for a list of options and values.
If optional fourth arg NO-ERROR is non-nil, don't signal an error if
OPTION is not a supported option, return nil instead; otherwise return t.

(fn PROCESS OPTION VALUE &optional NO-ERROR)Fserial-process-configure
Configure speed, bytesize, etc. of a serial process.

Arguments are specified as keyword/argument pairs.  Attributes that
are not given are re-initialized from the process's current
configuration (available via the function `process-contact') or set to
reasonable default values.  The following arguments are defined:

:process PROCESS
:name NAME
:buffer BUFFER
:port PORT
-- Any of these arguments can be given to identify the process that is
to be configured.  If none of these arguments is given, the current
buffer's process is used.

:speed SPEED -- SPEED is the speed of the serial port in bits per
second, also called baud rate.  Any value can be given for SPEED, but
most serial ports work only at a few defined values between 1200 and
115200, with 9600 being the most common value.  If SPEED is nil, the
serial port is not configured any further, i.e., all other arguments
are ignored.  This may be useful for special serial ports such as
Bluetooth-to-serial converters which can only be configured through AT
commands.  A value of nil for SPEED can be used only when passed
through `make-serial-process' or `serial-term'.

:bytesize BYTESIZE -- BYTESIZE is the number of bits per byte, which
can be 7 or 8.  If BYTESIZE is not given or nil, a value of 8 is used.

:parity PARITY -- PARITY can be nil (don't use parity), the symbol
`odd' (use odd parity), or the symbol `even' (use even parity).  If
PARITY is not given, no parity is used.

:stopbits STOPBITS -- STOPBITS is the number of stopbits used to
terminate a byte transmission.  STOPBITS can be 1 or 2.  If STOPBITS
is not given or nil, 1 stopbit is used.

:flowcontrol FLOWCONTROL -- FLOWCONTROL determines the type of
flowcontrol to be used, which is either nil (don't use flowcontrol),
the symbol `hw' (use RTS/CTS hardware flowcontrol), or the symbol `sw'
(use XON/XOFF software flowcontrol).  If FLOWCONTROL is not given, no
flowcontrol is used.

`serial-process-configure' is called by `make-serial-process' for the
initial configuration of the serial port.

Examples:

(serial-process-configure :process "/dev/ttyS0" :speed 1200)

(serial-process-configure
    :buffer "COM1" :stopbits 1 :parity 'odd :flowcontrol 'hw)

(serial-process-configure :port "\\.\COM13" :bytesize 7)

(fn &rest ARGS)Fmake-serial-process
Create and return a serial port process.

In Emacs, serial port connections are represented by process objects,
so input and output work as for subprocesses, and `delete-process'
closes a serial port connection.  However, a serial process has no
process id, it cannot be signaled, and the status codes are different
from normal processes.

`make-serial-process' creates a process and a buffer, on which you
probably want to use `process-send-string'.  Try \[serial-term] for
an interactive terminal.  See below for examples.

Arguments are specified as keyword/argument pairs.  The following
arguments are defined:

:port PORT -- (mandatory) PORT is the path or name of the serial port.
For example, this could be "/dev/ttyS0" on Unix.  On Windows, this
could be "COM1", or "\\.\COM10" for ports higher than COM9 (double
the backslashes in strings).

:speed SPEED -- (mandatory) is handled by `serial-process-configure',
which this function calls.

:name NAME -- NAME is the name of the process.  If NAME is not given,
the value of PORT is used.

:buffer BUFFER -- BUFFER is the buffer (or buffer-name) to associate
with the process.  Process output goes at the end of that buffer,
unless you specify an output stream or filter function to handle the
output.  If BUFFER is not given, the value of NAME is used.

:coding CODING -- If CODING is a symbol, it specifies the coding
system used for both reading and writing for this process.  If CODING
is a cons (DECODING . ENCODING), DECODING is used for reading, and
ENCODING is used for writing.

:noquery BOOL -- When exiting Emacs, query the user if BOOL is nil and
the process is running.  If BOOL is not given, query before exiting.

:stop BOOL -- Start process in the `stopped' state if BOOL is non-nil.
In the stopped state, a serial process does not accept incoming data,
but you can send outgoing data.  The stopped state is cleared by
`continue-process' and set by `stop-process'.

:filter FILTER -- Install FILTER as the process filter.

:sentinel SENTINEL -- Install SENTINEL as the process sentinel.

:plist PLIST -- Install PLIST as the initial plist of the process.

:bytesize
:parity
:stopbits
:flowcontrol
-- This function calls `serial-process-configure' to handle these
arguments.

The original argument list, possibly modified by later configuration,
is available via the function `process-contact'.

Examples:

(make-serial-process :port "/dev/ttyS0" :speed 9600)

(make-serial-process :port "COM1" :speed 115200 :stopbits 2)

(make-serial-process :port "\\.\COM13" :speed 1200 :bytesize 7 :parity 'odd)

(make-serial-process :port "/dev/tty.BlueConsole-SPP-1" :speed nil)

(fn &rest ARGS)Fmake-network-process
Create and return a network server or client process.

In Emacs, network connections are represented by process objects, so
input and output work as for subprocesses and `delete-process' closes
a network connection.  However, a network process has no process id,
it cannot be signaled, and the status codes are different from normal
processes.

Arguments are specified as keyword/argument pairs.  The following
arguments are defined:

:name NAME -- NAME is name for process.  It is modified if necessary
to make it unique.

:buffer BUFFER -- BUFFER is the buffer (or buffer-name) to associate
with the process.  Process output goes at end of that buffer, unless
you specify an output stream or filter function to handle the output.
BUFFER may be also nil, meaning that this process is not associated
with any buffer.

:host HOST -- HOST is name of the host to connect to, or its IP
address.  The symbol `local' specifies the local host.  If specified
for a server process, it must be a valid name or address for the local
host, and only clients connecting to that address will be accepted.

:service SERVICE -- SERVICE is name of the service desired, or an
integer specifying a port number to connect to.  If SERVICE is t,
a random port number is selected for the server.  (If Emacs was
compiled with getaddrinfo, a port number can also be specified as a
string, e.g. "80", as well as an integer.  This is not portable.)

:type TYPE -- TYPE is the type of connection.  The default (nil) is a
stream type connection, `datagram' creates a datagram type connection,
`seqpacket' creates a reliable datagram connection.

:family FAMILY -- FAMILY is the address (and protocol) family for the
service specified by HOST and SERVICE.  The default (nil) is to use
whatever address family (IPv4 or IPv6) that is defined for the host
and port number specified by HOST and SERVICE.  Other address families
supported are:
  local -- for a local (i.e. UNIX) address specified by SERVICE.
  ipv4  -- use IPv4 address family only.
  ipv6  -- use IPv6 address family only.

:local ADDRESS -- ADDRESS is the local address used for the connection.
This parameter is ignored when opening a client process. When specified
for a server process, the FAMILY, HOST and SERVICE args are ignored.

:remote ADDRESS -- ADDRESS is the remote partner's address for the
connection.  This parameter is ignored when opening a stream server
process.  For a datagram server process, it specifies the initial
setting of the remote datagram address.  When specified for a client
process, the FAMILY, HOST, and SERVICE args are ignored.

The format of ADDRESS depends on the address family:
- An IPv4 address is represented as an vector of integers [A B C D P]
corresponding to numeric IP address A.B.C.D and port number P.
- A local address is represented as a string with the address in the
local address space.
- An "unsupported family" address is represented by a cons (F . AV)
where F is the family number and AV is a vector containing the socket
address data with one element per address data byte.  Do not rely on
this format in portable code, as it may depend on implementation
defined constants, data sizes, and data structure alignment.

:coding CODING -- If CODING is a symbol, it specifies the coding
system used for both reading and writing for this process.  If CODING
is a cons (DECODING . ENCODING), DECODING is used for reading, and
ENCODING is used for writing.

:nowait BOOL -- If BOOL is non-nil for a stream type client process,
return without waiting for the connection to complete; instead, the
sentinel function will be called with second arg matching "open" (if
successful) or "failed" when the connect completes.  Default is to use
a blocking connect (i.e. wait) for stream type connections.

:noquery BOOL -- Query the user unless BOOL is non-nil, and process is
running when Emacs is exited.

:stop BOOL -- Start process in the `stopped' state if BOOL non-nil.
In the stopped state, a server process does not accept new
connections, and a client process does not handle incoming traffic.
The stopped state is cleared by `continue-process' and set by
`stop-process'.

:filter FILTER -- Install FILTER as the process filter.

:filter-multibyte BOOL -- If BOOL is non-nil, strings given to the
process filter are multibyte, otherwise they are unibyte.
If this keyword is not specified, the strings are multibyte if
the default value of `enable-multibyte-characters' is non-nil.

:sentinel SENTINEL -- Install SENTINEL as the process sentinel.

:log LOG -- Install LOG as the server process log function.  This
function is called when the server accepts a network connection from a
client.  The arguments are SERVER, CLIENT, and MESSAGE, where SERVER
is the server process, CLIENT is the new process for the connection,
and MESSAGE is a string.

:plist PLIST -- Install PLIST as the new process' initial plist.

:server QLEN -- if QLEN is non-nil, create a server process for the
specified FAMILY, SERVICE, and connection type (stream or datagram).
If QLEN is an integer, it is used as the max. length of the server's
pending connection queue (also known as the backlog); the default
queue length is 5.  Default is to create a client process.

The following network options can be specified for this connection:

:broadcast BOOL    -- Allow send and receive of datagram broadcasts.
:dontroute BOOL    -- Only send to directly connected hosts.
:keepalive BOOL    -- Send keep-alive messages on network stream.
:linger BOOL or TIMEOUT -- Send queued messages before closing.
:oobinline BOOL    -- Place out-of-band data in receive data stream.
:priority INT      -- Set protocol defined priority for sent packets.
:reuseaddr BOOL    -- Allow reusing a recently used local address
                      (this is allowed by default for a server process).
:bindtodevice NAME -- bind to interface NAME.  Using this may require
                      special privileges on some systems.

Consult the relevant system programmer's manual pages for more
information on using these options.


A server process will listen for and accept connections from clients.
When a client connection is accepted, a new network process is created
for the connection with the following parameters:

- The client's process name is constructed by concatenating the server
process' NAME and a client identification string.
- If the FILTER argument is non-nil, the client process will not get a
separate process buffer; otherwise, the client's process buffer is a newly
created buffer named after the server process' BUFFER name or process
NAME concatenated with the client identification string.
- The connection type and the process filter and sentinel parameters are
inherited from the server process' TYPE, FILTER and SENTINEL.
- The client process' contact info is set according to the client's
addressing information (typically an IP address and a port number).
- The client process' plist is initialized from the server's plist.

Notice that the FILTER and SENTINEL args are never used directly by
the server process.  Also, the BUFFER argument is not used directly by
the server process, but via the optional :log function, accepted (and
failed) connections may be logged in the server process' buffer.

The original argument list, modified with the actual connection
information, is available via the `process-contact' function.

(fn &rest ARGS)Fnetwork-interface-list
Return an alist of all network interfaces and their network address.
Each element is a cons, the car of which is a string containing the
interface name, and the cdr is the network address in internal
format; see the description of ADDRESS in `make-network-process'.

(fn)Fnetwork-interface-info
Return information about network interface named IFNAME.
The return value is a list (ADDR BCAST NETMASK HWADDR FLAGS),
where ADDR is the layer 3 address, BCAST is the layer 3 broadcast address,
NETMASK is the layer 3 network mask, HWADDR is the layer 2 address, and
FLAGS is the current flags of the interface.

(fn IFNAME)Faccept-process-output
Allow any pending output from subprocesses to be read by Emacs.
It is read into the process' buffers or given to their filter functions.
Non-nil arg PROCESS means do not return until some output has been received
from PROCESS.

Non-nil second arg SECONDS and third arg MILLISEC are number of seconds
and milliseconds to wait; return after that much time whether or not
there is any subprocess output.  If SECONDS is a floating point number,
it specifies a fractional number of seconds to wait.
The MILLISEC argument is obsolete and should be avoided.

If optional fourth arg JUST-THIS-ONE is non-nil, only accept output
from PROCESS, suspending reading output from other processes.
If JUST-THIS-ONE is an integer, don't run any timers either.
Return non-nil if we received any output before the timeout expired.

(fn &optional PROCESS SECONDS MILLISEC JUST-THIS-ONE)Fprocess-send-region
Send current contents of region as input to PROCESS.
PROCESS may be a process, a buffer, the name of a process or buffer, or
nil, indicating the current buffer's process.
Called from program, takes three arguments, PROCESS, START and END.
If the region is more than 500 characters long,
it is sent in several bunches.  This may happen even for shorter regions.
Output from processes can arrive in between bunches.

(fn PROCESS START END)Fprocess-send-string
Send PROCESS the contents of STRING as input.
PROCESS may be a process, a buffer, the name of a process or buffer, or
nil, indicating the current buffer's process.
If STRING is more than 500 characters long,
it is sent in several bunches.  This may happen even for shorter strings.
Output from processes can arrive in between bunches.

(fn PROCESS STRING)Fprocess-running-child-p
Return t if PROCESS has given the terminal to a child.
If the operating system does not make it possible to find out,
return t unconditionally.

(fn &optional PROCESS)Finterrupt-process
Interrupt process PROCESS.
PROCESS may be a process, a buffer, or the name of a process or buffer.
No arg or nil means current buffer's process.
Second arg CURRENT-GROUP non-nil means send signal to
the current process-group of the process's controlling terminal
rather than to the process's own process group.
If the process is a shell, this means interrupt current subjob
rather than the shell.

If CURRENT-GROUP is `lambda', and if the shell owns the terminal,
don't send the signal.

(fn &optional PROCESS CURRENT-GROUP)Fkill-process
Kill process PROCESS.  May be process or name of one.
See function `interrupt-process' for more details on usage.

(fn &optional PROCESS CURRENT-GROUP)Fquit-process
Send QUIT signal to process PROCESS.  May be process or name of one.
See function `interrupt-process' for more details on usage.

(fn &optional PROCESS CURRENT-GROUP)Fstop-process
Stop process PROCESS.  May be process or name of one.
See function `interrupt-process' for more details on usage.
If PROCESS is a network or serial process, inhibit handling of incoming
traffic.

(fn &optional PROCESS CURRENT-GROUP)Fcontinue-process
Continue process PROCESS.  May be process or name of one.
See function `interrupt-process' for more details on usage.
If PROCESS is a network or serial process, resume handling of incoming
traffic.

(fn &optional PROCESS CURRENT-GROUP)Fsignal-process
Send PROCESS the signal with code SIGCODE.
PROCESS may also be a number specifying the process id of the
process to signal; in this case, the process need not be a child of
this Emacs.
SIGCODE may be an integer, or a symbol whose name is a signal name.

(fn PROCESS SIGCODE)Fprocess-send-eof
Make PROCESS see end-of-file in its input.
EOF comes after any text already sent to it.
PROCESS may be a process, a buffer, the name of a process or buffer, or
nil, indicating the current buffer's process.
If PROCESS is a network connection, or is a process communicating
through a pipe (as opposed to a pty), then you cannot send any more
text to PROCESS after you call this function.
If PROCESS is a serial process, wait until all output written to the
process has been transmitted to the serial port.

(fn &optional PROCESS)Fset-process-coding-system
Set coding systems of PROCESS to DECODING and ENCODING.
DECODING will be used to decode subprocess output and ENCODING to
encode subprocess input.

(fn PROCESS &optional DECODING ENCODING)Fprocess-coding-system
Return a cons of coding systems for decoding and encoding of PROCESS.

(fn PROCESS)Fset-process-filter-multibyte
Set multibyteness of the strings given to PROCESS's filter.
If FLAG is non-nil, the filter is given multibyte strings.
If FLAG is nil, the filter is given unibyte strings.  In this case,
all character code conversion except for end-of-line conversion is
suppressed.

(fn PROCESS FLAG)Fprocess-filter-multibyte-p
Return t if a multibyte string is given to PROCESS's filter.

(fn PROCESS)Fget-buffer-process
Return the (or a) process associated with BUFFER.
BUFFER may be a buffer or the name of one.

(fn BUFFER)Fprocess-inherit-coding-system-flag
Return the value of inherit-coding-system flag for PROCESS.
If this flag is t, `buffer-file-coding-system' of the buffer
associated with PROCESS will inherit the coding system used to decode
the process output.

(fn PROCESS)Fwaiting-for-user-input-p
Returns non-nil if Emacs is waiting for input from the user.
This is intended for use by asynchronous process output filters and sentinels.

(fn)Flist-system-processes
Return a list of numerical process IDs of all running processes.
If this functionality is unsupported, return nil.

See `process-attributes' for getting attributes of a process given its ID.

(fn)Fprocess-attributes
Return attributes of the process given by its PID, a number.

Value is an alist where each element is a cons cell of the form

    (KEY . VALUE)

If this functionality is unsupported, the value is nil.

See `list-system-processes' for getting a list of all process IDs.

The KEYs of the attributes that this function may return are listed
below, together with the type of the associated VALUE (in parentheses).
Not all platforms support all of these attributes; unsupported
attributes will not appear in the returned alist.
Unless explicitly indicated otherwise, numbers can have either
integer or floating point values.

 euid    -- Effective user User ID of the process (number)
 user    -- User name corresponding to euid (string)
 egid    -- Effective user Group ID of the process (number)
 group   -- Group name corresponding to egid (string)
 comm    -- Command name (executable name only) (string)
 state   -- Process state code, such as "S", "R", or "T" (string)
 ppid    -- Parent process ID (number)
 pgrp    -- Process group ID (number)
 sess    -- Session ID, i.e. process ID of session leader (number)
 ttname  -- Controlling tty name (string)
 tpgid   -- ID of foreground process group on the process's tty (number)
 minflt  -- number of minor page faults (number)
 majflt  -- number of major page faults (number)
 cminflt -- cumulative number of minor page faults (number)
 cmajflt -- cumulative number of major page faults (number)
 utime   -- user time used by the process, in (current-time) format,
              which is a list of integers (HIGH LOW USEC PSEC)
 stime   -- system time used by the process (current-time)
 time    -- sum of utime and stime (current-time)
 cutime  -- user time used by the process and its children (current-time)
 cstime  -- system time used by the process and its children (current-time)
 ctime   -- sum of cutime and cstime (current-time)
 pri     -- priority of the process (number)
 nice    -- nice value of the process (number)
 thcount -- process thread count (number)
 start   -- time the process started (current-time)
 vsize   -- virtual memory size of the process in KB's (number)
 rss     -- resident set size of the process in KB's (number)
 etime   -- elapsed time the process is running, in (HIGH LOW USEC PSEC) format
 pcpu    -- percents of CPU time used by the process (floating-point number)
 pmem    -- percents of total physical memory used by process's resident set
              (floating-point number)
 args    -- command line which invoked the process (string).

(fn PID)Vdelete-exited-processes
Non-nil means delete processes immediately when they exit.
A value of nil means don't delete them until `list-processes' is run.Vprocess-connection-type
Control type of device used to communicate with subprocesses.
Values are nil to use a pipe, or t or `pty' to use a pty.
The value has no effect if the system has no ptys or if all ptys are busy:
then a pipe is used in any case.
The value takes effect when `start-process' is called.Vprocess-adaptive-read-buffering
If non-nil, improve receive buffering by delaying after short reads.
On some systems, when Emacs reads the output from a subprocess, the output data
is read in very small blocks, potentially resulting in very poor performance.
This behavior can be remedied to some extent by setting this variable to a
non-nil value, as it will automatically delay reading from such processes, to
allow them to produce more output before Emacs tries to read it.
If the value is t, the delay is reset after each write to the process; any other
non-nil value means that the delay is not reset on write.
The variable takes effect when `start-process' is called.Sgnutls.o
Fgnutls-get-initstage
Return the GnuTLS init stage of process PROC.
See also `gnutls-boot'.

(fn PROC)Fgnutls-errorp
Return t if ERROR indicates a GnuTLS problem.
ERROR is an integer or a symbol with an integer `gnutls-code' property.

(fn ERROR)Fgnutls-error-fatalp
Check if ERROR is fatal.
ERROR is an integer or a symbol with an integer `gnutls-code' property.

(fn ERROR)Fgnutls-error-string
Return a description of ERROR.
ERROR is an integer or a symbol with an integer `gnutls-code' property.

(fn ERROR)Fgnutls-deinit
Deallocate GnuTLS resources associated with process PROC.
See also `gnutls-init'.

(fn PROC)Fgnutls-available-p
Return t if GnuTLS is available in this instance of Emacs.

(fn)Fgnutls-boot
Initialize GnuTLS client for process PROC with TYPE+PROPLIST.
Currently only client mode is supported.  Return a success/failure
value you can check with `gnutls-errorp'.

TYPE is a symbol, either `gnutls-anon' or `gnutls-x509pki'.
PROPLIST is a property list with the following keys:

:hostname is a string naming the remote host.

:priority is a GnuTLS priority string, defaults to "NORMAL".

:trustfiles is a list of PEM-encoded trust files for `gnutls-x509pki'.

:crlfiles is a list of PEM-encoded CRL lists for `gnutls-x509pki'.

:keylist is an alist of PEM-encoded key files and PEM-encoded
certificates for `gnutls-x509pki'.

:callbacks is an alist of callback functions, see below.

:loglevel is the debug level requested from GnuTLS, try 4.

:verify-flags is a bitset as per GnuTLS'
gnutls_certificate_set_verify_flags.

:verify-hostname-error is ignored.  Pass :hostname in :verify-error
instead.

:verify-error is a list of symbols to express verification checks or
`t' to do all checks.  Currently it can contain `:trustfiles' and
`:hostname' to verify the certificate or the hostname respectively.

:min-prime-bits is the minimum accepted number of bits the client will
accept in Diffie-Hellman key exchange.

The debug level will be set for this process AND globally for GnuTLS.
So if you set it higher or lower at any point, it affects global
debugging.

Note that the priority is set on the client.  The server does not use
the protocols's priority except for disabling protocols that were not
specified.

Processes must be initialized with this function before other GnuTLS
functions are used.  This function allocates resources which can only
be deallocated by calling `gnutls-deinit' or by calling it again.

The callbacks alist can have a `verify' key, associated with a
verification function (UNUSED).

Each authentication type may need additional information in order to
work.  For X.509 PKI (`gnutls-x509pki'), you probably need at least
one trustfile (usually a CA bundle).

(fn PROC TYPE PROPLIST)Fgnutls-bye
Terminate current GnuTLS connection for process PROC.
The connection should have been initiated using `gnutls-handshake'.

If CONT is not nil the TLS connection gets terminated and further
receives and sends will be disallowed.  If the return value is zero you
may continue using the connection.  If CONT is nil, GnuTLS actually
sends an alert containing a close request and waits for the peer to
reply with the same message.  In order to reuse the connection you
should wait for an EOF from the peer.

This function may also return `gnutls-e-again', or
`gnutls-e-interrupted'.

(fn PROC CONT)Vgnutls-log-level
Logging level used by the GnuTLS functions.
Set this larger than 0 to get debug output in the *Messages* buffer.
1 is for important messages, 2 is for debug data, and higher numbers
are as per the GnuTLS logging conventions.Scallproc.o
Fcall-process
Call PROGRAM synchronously in separate process.
The remaining arguments are optional.
The program's input comes from file INFILE (nil means `/dev/null').
Insert output in BUFFER before point; t means current buffer; nil for BUFFER
 means discard it; 0 means discard and don't wait; and `(:file FILE)', where
 FILE is a file name string, means that it should be written to that file
 (if the file already exists it is overwritten).
BUFFER can also have the form (REAL-BUFFER STDERR-FILE); in that case,
REAL-BUFFER says what to do with standard output, as above,
while STDERR-FILE says what to do with standard error in the child.
STDERR-FILE may be nil (discard standard error output),
t (mix it with ordinary output), or a file name string.

Fourth arg DISPLAY non-nil means redisplay buffer as output is inserted.
Remaining arguments are strings passed as command arguments to PROGRAM.

If executable PROGRAM can't be found as an executable, `call-process'
signals a Lisp error.  `call-process' reports errors in execution of
the program only through its return and output.

If BUFFER is 0, `call-process' returns immediately with value nil.
Otherwise it waits for PROGRAM to terminate
and returns a numeric exit status or a signal description string.
If you quit, the process is killed with SIGINT, or SIGKILL if you quit again.

(fn PROGRAM &optional INFILE BUFFER DISPLAY &rest ARGS)Fcall-process-region
Send text from START to END to a synchronous process running PROGRAM.
The remaining arguments are optional.
Delete the text if fourth arg DELETE is non-nil.

Insert output in BUFFER before point; t means current buffer; nil for
 BUFFER means discard it; 0 means discard and don't wait; and `(:file
 FILE)', where FILE is a file name string, means that it should be
 written to that file (if the file already exists it is overwritten).
BUFFER can also have the form (REAL-BUFFER STDERR-FILE); in that case,
REAL-BUFFER says what to do with standard output, as above,
while STDERR-FILE says what to do with standard error in the child.
STDERR-FILE may be nil (discard standard error output),
t (mix it with ordinary output), or a file name string.

Sixth arg DISPLAY non-nil means redisplay buffer as output is inserted.
Remaining args are passed to PROGRAM at startup as command args.

If BUFFER is 0, `call-process-region' returns immediately with value nil.
Otherwise it waits for PROGRAM to terminate
and returns a numeric exit status or a signal description string.
If you quit, the process is killed with SIGINT, or SIGKILL if you quit again.

(fn START END PROGRAM &optional DELETE BUFFER DISPLAY &rest ARGS)Fgetenv-internal
Get the value of environment variable VARIABLE.
VARIABLE should be a string.  Value is nil if VARIABLE is undefined in
the environment.  Otherwise, value is a string.

This function searches `process-environment' for VARIABLE.

If optional parameter ENV is a list, then search this list instead of
`process-environment', and return t when encountering a negative entry
(an entry for a variable with no value).

(fn VARIABLE &optional ENV)Vshell-file-name
File name to load inferior shells from.
Initialized from the SHELL environment variable, or to a system-dependent
default if SHELL is not set.Vexec-path
List of directories to search programs to run in subprocesses.
Each element is a string (directory name) or nil (try default directory).Vexec-suffixes
List of suffixes to try to find executable file names.
Each element is a string.Vexec-directory
Directory for executables for Emacs to invoke.
More generally, this includes any architecture-dependent files
that are built and installed from the Emacs distribution.Vdata-directory
Directory of machine-independent files that come with GNU Emacs.
These are files intended for Emacs to use while it runs.Vdoc-directory
Directory containing the DOC file that comes with GNU Emacs.
This is usually the same as `data-directory'.Vconfigure-info-directory
For internal use by the build procedure only.
This is the name of the directory in which the build procedure installed
Emacs's info files; the default value for `Info-default-directory-list'
includes this.Vshared-game-score-directory
Directory of score files for games which come with GNU Emacs.
If this variable is nil, then Emacs is unable to use a shared directory.Vinitial-environment
List of environment variables inherited from the parent process.
Each element should be a string of the form ENVVARNAME=VALUE.
The elements must normally be decoded (using `locale-coding-system') for use.Vprocess-environment
List of overridden environment variables for subprocesses to inherit.
Each element should be a string of the form ENVVARNAME=VALUE.

Entries in this list take precedence to those in the frame-local
environments.  Therefore, let-binding `process-environment' is an easy
way to temporarily change the value of an environment variable,
irrespective of where it comes from.  To use `process-environment' to
remove an environment variable, include only its name in the list,
without "=VALUE".

This variable is set to nil when Emacs starts.

If multiple entries define the same variable, the first one always
takes precedence.

Non-ASCII characters are encoded according to the initial value of
`locale-coding-system', i.e. the elements must normally be decoded for
use.

See `setenv' and `getenv'.Sregion-cache.o
Ssound.o
Fplay-sound-internal
Play sound SOUND.

Internal use only, use `play-sound' instead.

(fn SOUND)Satimer.o
Sdoprnt.o
Sintervals.o
Stextprop.o
Ftext-properties-at
Return the list of properties of the character at POSITION in OBJECT.
If the optional second argument OBJECT is a buffer (or nil, which means
the current buffer), POSITION is a buffer position (integer or marker).
If OBJECT is a string, POSITION is a 0-based index into it.
If POSITION is at the end of OBJECT, the value is nil.

(fn POSITION &optional OBJECT)Fget-text-property
Return the value of POSITION's property PROP, in OBJECT.
OBJECT should be a buffer or a string; if omitted or nil, it defaults
to the current buffer.
If POSITION is at the end of OBJECT, the value is nil.

(fn POSITION PROP &optional OBJECT)Fget-char-property
Return the value of POSITION's property PROP, in OBJECT.
Both overlay properties and text properties are checked.
OBJECT is optional and defaults to the current buffer.
If POSITION is at the end of OBJECT, the value is nil.
If OBJECT is a buffer, then overlay properties are considered as well as
text properties.
If OBJECT is a window, then that window's buffer is used, but window-specific
overlays are considered only if they are associated with OBJECT.

(fn POSITION PROP &optional OBJECT)Fget-char-property-and-overlay
Like `get-char-property', but with extra overlay information.
The value is a cons cell.  Its car is the return value of `get-char-property'
with the same arguments--that is, the value of POSITION's property
PROP in OBJECT.  Its cdr is the overlay in which the property was
found, or nil, if it was found as a text property or not found at all.

OBJECT is optional and defaults to the current buffer.  OBJECT may be
a string, a buffer or a window.  For strings, the cdr of the return
value is always nil, since strings do not have overlays.  If OBJECT is
a window, then that window's buffer is used, but window-specific
overlays are considered only if they are associated with OBJECT.  If
POSITION is at the end of OBJECT, both car and cdr are nil.

(fn POSITION PROP &optional OBJECT)Fnext-char-property-change
Return the position of next text property or overlay change.
This scans characters forward in the current buffer from POSITION till
it finds a change in some text property, or the beginning or end of an
overlay, and returns the position of that.
If none is found up to (point-max), the function returns (point-max).

If the optional second argument LIMIT is non-nil, don't search
past position LIMIT; return LIMIT if nothing is found before LIMIT.
LIMIT is a no-op if it is greater than (point-max).

(fn POSITION &optional LIMIT)Fprevious-char-property-change
Return the position of previous text property or overlay change.
Scans characters backward in the current buffer from POSITION till it
finds a change in some text property, or the beginning or end of an
overlay, and returns the position of that.
If none is found since (point-min), the function returns (point-min).

If the optional second argument LIMIT is non-nil, don't search
past position LIMIT; return LIMIT if nothing is found before LIMIT.
LIMIT is a no-op if it is less than (point-min).

(fn POSITION &optional LIMIT)Fnext-single-char-property-change
Return the position of next text property or overlay change for a specific property.
Scans characters forward from POSITION till it finds
a change in the PROP property, then returns the position of the change.
If the optional third argument OBJECT is a buffer (or nil, which means
the current buffer), POSITION is a buffer position (integer or marker).
If OBJECT is a string, POSITION is a 0-based index into it.

In a string, scan runs to the end of the string.
In a buffer, it runs to (point-max), and the value cannot exceed that.

The property values are compared with `eq'.
If the property is constant all the way to the end of OBJECT, return the
last valid position in OBJECT.
If the optional fourth argument LIMIT is non-nil, don't search
past position LIMIT; return LIMIT if nothing is found before LIMIT.

(fn POSITION PROP &optional OBJECT LIMIT)Fprevious-single-char-property-change
Return the position of previous text property or overlay change for a specific property.
Scans characters backward from POSITION till it finds
a change in the PROP property, then returns the position of the change.
If the optional third argument OBJECT is a buffer (or nil, which means
the current buffer), POSITION is a buffer position (integer or marker).
If OBJECT is a string, POSITION is a 0-based index into it.

In a string, scan runs to the start of the string.
In a buffer, it runs to (point-min), and the value cannot be less than that.

The property values are compared with `eq'.
If the property is constant all the way to the start of OBJECT, return the
first valid position in OBJECT.
If the optional fourth argument LIMIT is non-nil, don't search back past
position LIMIT; return LIMIT if nothing is found before reaching LIMIT.

(fn POSITION PROP &optional OBJECT LIMIT)Fnext-property-change
Return the position of next property change.
Scans characters forward from POSITION in OBJECT till it finds
a change in some text property, then returns the position of the change.
If the optional second argument OBJECT is a buffer (or nil, which means
the current buffer), POSITION is a buffer position (integer or marker).
If OBJECT is a string, POSITION is a 0-based index into it.
Return nil if the property is constant all the way to the end of OBJECT.
If the value is non-nil, it is a position greater than POSITION, never equal.

If the optional third argument LIMIT is non-nil, don't search
past position LIMIT; return LIMIT if nothing is found before LIMIT.

(fn POSITION &optional OBJECT LIMIT)Fnext-single-property-change
Return the position of next property change for a specific property.
Scans characters forward from POSITION till it finds
a change in the PROP property, then returns the position of the change.
If the optional third argument OBJECT is a buffer (or nil, which means
the current buffer), POSITION is a buffer position (integer or marker).
If OBJECT is a string, POSITION is a 0-based index into it.
The property values are compared with `eq'.
Return nil if the property is constant all the way to the end of OBJECT.
If the value is non-nil, it is a position greater than POSITION, never equal.

If the optional fourth argument LIMIT is non-nil, don't search
past position LIMIT; return LIMIT if nothing is found before LIMIT.

(fn POSITION PROP &optional OBJECT LIMIT)Fprevious-property-change
Return the position of previous property change.
Scans characters backwards from POSITION in OBJECT till it finds
a change in some text property, then returns the position of the change.
If the optional second argument OBJECT is a buffer (or nil, which means
the current buffer), POSITION is a buffer position (integer or marker).
If OBJECT is a string, POSITION is a 0-based index into it.
Return nil if the property is constant all the way to the start of OBJECT.
If the value is non-nil, it is a position less than POSITION, never equal.

If the optional third argument LIMIT is non-nil, don't search
back past position LIMIT; return LIMIT if nothing is found until LIMIT.

(fn POSITION &optional OBJECT LIMIT)Fprevious-single-property-change
Return the position of previous property change for a specific property.
Scans characters backward from POSITION till it finds
a change in the PROP property, then returns the position of the change.
If the optional third argument OBJECT is a buffer (or nil, which means
the current buffer), POSITION is a buffer position (integer or marker).
If OBJECT is a string, POSITION is a 0-based index into it.
The property values are compared with `eq'.
Return nil if the property is constant all the way to the start of OBJECT.
If the value is non-nil, it is a position less than POSITION, never equal.

If the optional fourth argument LIMIT is non-nil, don't search
back past position LIMIT; return LIMIT if nothing is found until LIMIT.

(fn POSITION PROP &optional OBJECT LIMIT)Fadd-text-properties
Add properties to the text from START to END.
The third argument PROPERTIES is a property list
specifying the property values to add.  If the optional fourth argument
OBJECT is a buffer (or nil, which means the current buffer),
START and END are buffer positions (integers or markers).
If OBJECT is a string, START and END are 0-based indices into it.
Return t if any property value actually changed, nil otherwise.

(fn START END PROPERTIES &optional OBJECT)Fput-text-property
Set one property of the text from START to END.
The third and fourth arguments PROPERTY and VALUE
specify the property to add.
If the optional fifth argument OBJECT is a buffer (or nil, which means
the current buffer), START and END are buffer positions (integers or
markers).  If OBJECT is a string, START and END are 0-based indices into it.

(fn START END PROPERTY VALUE &optional OBJECT)Fset-text-properties
Completely replace properties of text from START to END.
The third argument PROPERTIES is the new property list.
If the optional fourth argument OBJECT is a buffer (or nil, which means
the current buffer), START and END are buffer positions (integers or
markers).  If OBJECT is a string, START and END are 0-based indices into it.
If PROPERTIES is nil, the effect is to remove all properties from
the designated part of OBJECT.

(fn START END PROPERTIES &optional OBJECT)Fremove-text-properties
Remove some properties from text from START to END.
The third argument PROPERTIES is a property list
whose property names specify the properties to remove.
(The values stored in PROPERTIES are ignored.)
If the optional fourth argument OBJECT is a buffer (or nil, which means
the current buffer), START and END are buffer positions (integers or
markers).  If OBJECT is a string, START and END are 0-based indices into it.
Return t if any property was actually removed, nil otherwise.

Use `set-text-properties' if you want to remove all text properties.

(fn START END PROPERTIES &optional OBJECT)Fremove-list-of-text-properties
Remove some properties from text from START to END.
The third argument LIST-OF-PROPERTIES is a list of property names to remove.
If the optional fourth argument OBJECT is a buffer (or nil, which means
the current buffer), START and END are buffer positions (integers or
markers).  If OBJECT is a string, START and END are 0-based indices into it.
Return t if any property was actually removed, nil otherwise.

(fn START END LIST-OF-PROPERTIES &optional OBJECT)Ftext-property-any
Check text from START to END for property PROPERTY equaling VALUE.
If so, return the position of the first character whose property PROPERTY
is `eq' to VALUE.  Otherwise return nil.
If the optional fifth argument OBJECT is a buffer (or nil, which means
the current buffer), START and END are buffer positions (integers or
markers).  If OBJECT is a string, START and END are 0-based indices into it.

(fn START END PROPERTY VALUE &optional OBJECT)Ftext-property-not-all
Check text from START to END for property PROPERTY not equaling VALUE.
If so, return the position of the first character whose property PROPERTY
is not `eq' to VALUE.  Otherwise, return nil.
If the optional fifth argument OBJECT is a buffer (or nil, which means
the current buffer), START and END are buffer positions (integers or
markers).  If OBJECT is a string, START and END are 0-based indices into it.

(fn START END PROPERTY VALUE &optional OBJECT)Vdefault-text-properties
Property-list used as default values.
The value of a property in this list is seen as the value for every
character that does not have its own value for that property.Vchar-property-alias-alist
Alist of alternative properties for properties without a value.
Each element should look like (PROPERTY ALTERNATIVE1 ALTERNATIVE2...).
If a piece of text has no direct value for a particular property, then
this alist is consulted.  If that property appears in the alist, then
the first non-nil value from the associated alternative properties is
returned.Vinhibit-point-motion-hooks
If non-nil, don't run `point-left' and `point-entered' text properties.
This also inhibits the use of the `intangible' text property.Vtext-property-default-nonsticky
Alist of properties vs the corresponding non-stickiness.
Each element has the form (PROPERTY . NONSTICKINESS).

If a character in a buffer has PROPERTY, new text inserted adjacent to
the character doesn't inherit PROPERTY if NONSTICKINESS is non-nil,
inherits it if NONSTICKINESS is nil.  The `front-sticky' and
`rear-nonsticky' properties of the character override NONSTICKINESS.Scomposite.o
Fcomposition-get-gstring
Return a glyph-string for characters between FROM and TO.
If the glyph string is for graphic display, FONT-OBJECT must be
a font-object to use for those characters.
Otherwise (for terminal display), FONT-OBJECT must be a terminal ID, a
frame, or nil for the selected frame's terminal device.

If the optional 4th argument STRING is not nil, it is a string
containing the target characters between indices FROM and TO.

A glyph-string is a vector containing information about how to display
a specific character sequence.  The format is:
   [HEADER ID GLYPH ...]

HEADER is a vector of this form:
    [FONT-OBJECT CHAR ...]
where
    FONT-OBJECT is a font-object for all glyphs in the glyph-string,
    or the terminal coding system of the specified terminal.
    CHARs are characters to be composed by GLYPHs.

ID is an identification number of the glyph-string.  It may be nil if
not yet shaped.

GLYPH is a vector whose elements have this form:
    [ FROM-IDX TO-IDX C CODE WIDTH LBEARING RBEARING ASCENT DESCENT
      [ [X-OFF Y-OFF WADJUST] | nil] ]
where
    FROM-IDX and TO-IDX are used internally and should not be touched.
    C is the character of the glyph.
    CODE is the glyph-code of C in FONT-OBJECT.
    WIDTH thru DESCENT are the metrics (in pixels) of the glyph.
    X-OFF and Y-OFF are offsets to the base position for the glyph.
    WADJUST is the adjustment to the normal width of the glyph.

If GLYPH is nil, the remaining elements of the glyph-string vector
should be ignored.

(fn FROM TO FONT-OBJECT STRING)Fcompose-region-internal
Internal use only.

Compose text in the region between START and END.
Optional 3rd and 4th arguments are COMPONENTS and MODIFICATION-FUNC
for the composition.  See `compose-region' for more details.

(fn START END &optional COMPONENTS MODIFICATION-FUNC)Fcompose-string-internal
Internal use only.

Compose text between indices START and END of STRING.
Optional 4th and 5th arguments are COMPONENTS and MODIFICATION-FUNC
for the composition.  See `compose-string' for more details.

(fn STRING START END &optional COMPONENTS MODIFICATION-FUNC)Ffind-composition-internal
Internal use only.

Return information about composition at or nearest to position POS.
See `find-composition' for more details.

(fn POS LIMIT STRING DETAIL-P)Vcompose-chars-after-function
Function to adjust composition of buffer text.

This function is called with three arguments: FROM, TO, and OBJECT.
FROM and TO specify the range of text whose composition should be
adjusted.  OBJECT, if non-nil, is a string that contains the text.

This function is called after a text with `composition' property is
inserted or deleted to keep `composition' property of buffer text
valid.

The default value is the function `compose-chars-after'.Vauto-composition-mode
Non-nil if Auto-Composition mode is enabled.
Use the command `auto-composition-mode' to change this variable.Vauto-composition-function
Function to call to compose characters automatically.
This function is called from the display routine with four arguments:
FROM, TO, WINDOW, and STRING.

If STRING is nil, the function must compose characters in the region
between FROM and TO in the current buffer.

Otherwise, STRING is a string, and FROM and TO are indices into the
string.  In this case, the function must compose characters in the
string.Vcomposition-function-table
Char-table of functions for automatic character composition.
For each character that has to be composed automatically with
preceding and/or following characters, this char-table contains
a function to call to compose that character.

The element at index C in the table, if non-nil, is a list of
composition rules of this form: ([PATTERN PREV-CHARS FUNC] ...)

PATTERN is a regular expression which C and the surrounding
characters must match.

PREV-CHARS is a non-negative integer (less than 4) specifying how many
characters before C to check the matching with PATTERN.  If it is 0,
PATTERN must match C and the following characters.  If it is 1,
PATTERN must match a character before C and the following characters.

If PREV-CHARS is 0, PATTERN can be nil, which means that the
single character C should be composed.

FUNC is a function to return a glyph-string representing a
composition of the characters that match PATTERN.  It is
called with one argument GSTRING.

GSTRING is a template of a glyph-string to return.  It is already
filled with a proper header for the characters to compose, and
glyphs corresponding to those characters one by one.  The
function must return a new glyph-string with the same header as
GSTRING, or modify GSTRING itself and return it.

See also the documentation of `auto-composition-mode'.Sxml.o
Flibxml-parse-html-region
Parse the region as an HTML document and return the parse tree.
If BASE-URL is non-nil, it is used to expand relative URLs.

(fn START END &optional BASE-URL)Flibxml-parse-xml-region
Parse the region as an XML document and return the parse tree.
If BASE-URL is non-nil, it is used to expand relative URLs.

(fn START END &optional BASE-URL)Sprofiler.o
Fprofiler-cpu-start
Start or restart the cpu profiler.
It takes call-stack samples each SAMPLING-INTERVAL nanoseconds, approximately.
See also `profiler-log-size' and `profiler-max-stack-depth'.

(fn SAMPLING-INTERVAL)Fprofiler-cpu-stop
Stop the cpu profiler.  The profiler log is not affected.
Return non-nil if the profiler was running.

(fn)Fprofiler-cpu-running-p
Return non-nil iff cpu profiler is running.

(fn)Fprofiler-cpu-log
Return the current cpu profiler log.
The log is a hash-table mapping backtraces to counters which represent
the amount of time spent at those points.  Every backtrace is a vector
of functions, where the last few elements may be nil.
Before returning, a new log is allocated for future samples.

(fn)Fprofiler-memory-start
Start/restart the memory profiler.
The memory profiler will take samples of the call-stack whenever a new
allocation takes place.  Note that most small allocations only trigger
the profiler occasionally.
See also `profiler-log-size' and `profiler-max-stack-depth'.

(fn)Fprofiler-memory-stop
Stop the memory profiler.  The profiler log is not affected.
Return non-nil if the profiler was running.

(fn)Fprofiler-memory-running-p
Return non-nil if memory profiler is running.

(fn)Fprofiler-memory-log
Return the current memory profiler log.
The log is a hash-table mapping backtraces to counters which represent
the amount of memory allocated at those points.  Every backtrace is a vector
of functions, where the last few elements may be nil.
Before returning, a new log is allocated for future samples.

(fn)Vprofiler-max-stack-depth
Number of elements from the call-stack recorded in the log.Vprofiler-log-size
Number of distinct call-stacks that can be recorded in a profiler log.
If the log gets full, some of the least-seen call-stacks will be evicted
to make room for new entries.Sloaddefs.el
F5x5
Play 5x5.

The object of 5x5 is very simple, by moving around the grid and flipping
squares you must fill the grid.

5x5 keyboard bindings are:
\<5x5-mode-map>
Flip                        \[5x5-flip-current]
Move up                     \[5x5-up]
Move down                   \[5x5-down]
Move left                   \[5x5-left]
Move right                  \[5x5-right]
Start new game              \[5x5-new-game]
New game with random grid   \[5x5-randomize]
Random cracker              \[5x5-crack-randomly]
Mutate current cracker      \[5x5-crack-mutating-current]
Mutate best cracker         \[5x5-crack-mutating-best]
Mutate xor cracker          \[5x5-crack-xor-mutate]
Solve with Calc             \[5x5-solve-suggest]
Rotate left Calc Solutions  \[5x5-solve-rotate-left]
Rotate right Calc Solutions \[5x5-solve-rotate-right]
Quit current game           \[5x5-quit-game]

(fn &optional SIZE)F5x5-crack-randomly
Attempt to crack 5x5 using random solutions.

(fn)F5x5-crack-mutating-current
Attempt to crack 5x5 by mutating the current solution.

(fn)F5x5-crack-mutating-best
Attempt to crack 5x5 by mutating the best solution.

(fn)F5x5-crack-xor-mutate
Attempt to crack 5x5 by xoring the current and best solution.
Mutate the result.

(fn)F5x5-crack
Attempt to find a solution for 5x5.

5x5-crack takes the argument BREEDER which should be a function that takes
two parameters, the first will be a grid vector array that is the current
solution and the second will be the best solution so far.  The function
should return a grid vector array that is the new solution.

(fn BREEDER)Fada-add-extensions
Define SPEC and BODY as being valid extensions for Ada files.
Going from body to spec with `ff-find-other-file' used these
extensions.
SPEC and BODY are two regular expressions that must match against
the file name.

(fn SPEC BODY)Fada-mode
Ada mode is the major mode for editing Ada code.

(fn)Fada-header
Insert a descriptive header at the top of the file.

(fn)Fada-find-file
Open FILENAME, from anywhere in the source path.
Completion is available.

(fn FILENAME)Vadd-log-current-defun-function
If non-nil, function to guess name of surrounding function.
It is used by `add-log-current-defun' in preference to built-in rules.
Returns function's name as a string, or nil if outside a function.Vadd-log-full-name
Full name of user, for inclusion in ChangeLog daily headers.
This defaults to the value returned by the function `user-full-name'.Vadd-log-mailing-address
Email addresses of user, for inclusion in ChangeLog headers.
This defaults to the value of `user-mail-address'.  In addition to
being a simple string, this value can also be a list.  All elements
will be recognized as referring to the same user; when creating a new
ChangeLog entry, one element will be chosen at random.Fprompt-for-change-log-name
Prompt for a change log name.

(fn)Ffind-change-log
Find a change log file for \[add-change-log-entry] and return the name.

Optional arg FILE-NAME specifies the file to use.
If FILE-NAME is nil, use the value of `change-log-default-name'.
If `change-log-default-name' is nil, behave as though it were 'ChangeLog'
(or whatever we use on this operating system).

If `change-log-default-name' contains a leading directory component, then
simply find it in the current directory.  Otherwise, search in the current
directory and its successive parents for a file so named.

Once a file is found, `change-log-default-name' is set locally in the
current buffer to the complete file name.
Optional arg BUFFER-FILE overrides `buffer-file-name'.

(fn &optional FILE-NAME BUFFER-FILE)Fadd-change-log-entry
Find change log file, and add an entry for today and an item for this file.
Optional arg WHOAMI (interactive prefix) non-nil means prompt for user
name and email (stored in `add-log-full-name' and `add-log-mailing-address').

Second arg FILE-NAME is file name of the change log.
If nil, use the value of `change-log-default-name'.

Third arg OTHER-WINDOW non-nil means visit in other window.

Fourth arg NEW-ENTRY non-nil means always create a new entry at the front;
never append to an existing entry.  Option `add-log-keep-changes-together'
otherwise affects whether a new entry is created.

Fifth arg PUT-NEW-ENTRY-ON-NEW-LINE non-nil means that if a new
entry is created, put it on a new line by itself, do not put it
after a comma on an existing line.

Option `add-log-always-start-new-record' non-nil means always create a
new record, even when the last record was made on the same date and by
the same person.

The change log file can start with a copyright notice and a copying
permission notice.  The first blank line indicates the end of these
notices.

Today's date is calculated according to `add-log-time-zone-rule' if
non-nil, otherwise in local time.

(fn &optional WHOAMI FILE-NAME OTHER-WINDOW NEW-ENTRY PUT-NEW-ENTRY-ON-NEW-LINE)Fadd-change-log-entry-other-window
Find change log file in other window and add entry and item.
This is just like `add-change-log-entry' except that it displays
the change log file in another window.

(fn &optional WHOAMI FILE-NAME)Fchange-log-mode
Major mode for editing change logs; like Indented Text mode.
Prevents numeric backups and sets `left-margin' to 8 and `fill-column' to 74.
New log entries are usually made with \[add-change-log-entry] or \[add-change-log-entry-other-window].
Each entry behaves as a paragraph, and the entries for one day as a page.
Runs `change-log-mode-hook'.

\{change-log-mode-map}

(fn)Vadd-log-lisp-like-modes
Modes that look like Lisp to `add-log-current-defun'.Vadd-log-c-like-modes
Modes that look like C to `add-log-current-defun'.Vadd-log-tex-like-modes
Modes that look like TeX to `add-log-current-defun'.Fadd-log-current-defun
Return name of function definition point is in, or nil.

Understands C, Lisp, LaTeX ("functions" are chapters, sections, ...),
Texinfo (@node titles) and Perl.

Other modes are handled by a heuristic that looks in the 10K before
point for uppercase headings starting in the first column or
identifiers followed by `:' or `='.  See variables
`add-log-current-defun-header-regexp' and
`add-log-current-defun-function'.

Has a preference of looking backwards.

(fn)Fchange-log-merge
Merge the contents of change log file OTHER-LOG with this buffer.
Both must be found in Change Log mode (since the merging depends on
the appropriate motion commands).  OTHER-LOG can be either a file name
or a buffer.

Entries are inserted in chronological order.  Both the current and
old-style time formats for entries are supported.

(fn OTHER-LOG)Vad-redefinition-action
Defines what to do with redefinitions during Advice de/activation.
Redefinition occurs if a previously activated function that already has an
original definition associated with it gets redefined and then de/activated.
In such a case we can either accept the current definition as the new
original definition, discard the current definition and replace it with the
old original, or keep it and raise an error.  The values `accept', `discard',
`error' or `warn' govern what will be done.  `warn' is just like `accept' but
it additionally prints a warning message.  All other values will be
interpreted as `error'.Vad-default-compilation-action
Defines whether to compile advised definitions during activation.
A value of `always' will result in unconditional compilation, `never' will
always avoid compilation, `maybe' will compile if the byte-compiler is already
loaded, and `like-original' will compile if the original definition of the
advised function is compiled or a built-in function.  Every other value will
be interpreted as `maybe'.  This variable will only be considered if the
COMPILE argument of `ad-activate' was supplied as nil.Fad-enable-advice
Enables the advice of FUNCTION with CLASS and NAME.

(fn FUNCTION CLASS NAME)Fad-disable-advice
Disable the advice of FUNCTION with CLASS and NAME.

(fn FUNCTION CLASS NAME)Fad-add-advice
Add a piece of ADVICE to FUNCTION's list of advices in CLASS.

ADVICE has the form (NAME PROTECTED ENABLED DEFINITION), where
NAME is the advice name; PROTECTED is a flag specifying whether
to protect against non-local exits; ENABLED is a flag specifying
whether to initially enable the advice; and DEFINITION has the
form (advice . LAMBDA), where LAMBDA is a lambda expression.

If FUNCTION already has a piece of advice with the same name,
then POSITION is ignored, and the old advice is overwritten with
the new one.

If FUNCTION already has one or more pieces of advice of the
specified CLASS, then POSITION determines where the new piece
goes.  POSITION can either be `first', `last' or a number (where
0 corresponds to `first', and numbers outside the valid range are
mapped to the closest extremal position).

If FUNCTION was not advised already, its advice info will be
initialized.  Redefining a piece of advice whose name is part of
the cache-id will clear the cache.

See Info node `(elisp)Computed Advice' for detailed documentation.

(fn FUNCTION ADVICE CLASS POSITION)Fad-activate
Activate all the advice information of an advised FUNCTION.
If FUNCTION has a proper original definition then an advised
definition will be generated from FUNCTION's advice info and the
definition of FUNCTION will be replaced with it.  If a previously
cached advised definition was available, it will be used.
The optional COMPILE argument determines whether the resulting function
or a compilable cached definition will be compiled.  If it is negative
no compilation will be performed, if it is positive or otherwise non-nil
the resulting function will be compiled, if it is nil the behavior depends
on the value of `ad-default-compilation-action' (which see).
Activation of an advised function that has an advice info but no actual
pieces of advice is equivalent to a call to `ad-unadvise'.  Activation of
an advised function that has actual pieces of advice but none of them are
enabled is equivalent to a call to `ad-deactivate'.  The current advised
definition will always be cached for later usage.

(fn FUNCTION &optional COMPILE)Fdefadvice
Define a piece of advice for FUNCTION (a symbol).
The syntax of `defadvice' is as follows:

  (defadvice FUNCTION (CLASS NAME [POSITION] [ARGLIST] FLAG...)
    [DOCSTRING] [INTERACTIVE-FORM]
    BODY...)

FUNCTION ::= Name of the function to be advised.
CLASS ::= `before' | `around' | `after' | `activation' | `deactivation'.
NAME ::= Non-nil symbol that names this piece of advice.
POSITION ::= `first' | `last' | NUMBER. Optional, defaults to `first',
    see also `ad-add-advice'.
ARGLIST ::= An optional argument list to be used for the advised function
    instead of the argument list of the original.  The first one found in
    before/around/after-advices will be used.
FLAG ::= `protect'|`disable'|`activate'|`compile'|`preactivate'|`freeze'.
    All flags can be specified with unambiguous initial substrings.
DOCSTRING ::= Optional documentation for this piece of advice.
INTERACTIVE-FORM ::= Optional interactive form to be used for the advised
    function.  The first one found in before/around/after-advices will be used.
BODY ::= Any s-expression.

Semantics of the various flags:
`protect': The piece of advice will be protected against non-local exits in
any code that precedes it.  If any around-advice of a function is protected
then automatically all around-advices will be protected (the complete onion).

`activate': All advice of FUNCTION will be activated immediately if
FUNCTION has been properly defined prior to this application of `defadvice'.

`compile': In conjunction with `activate' specifies that the resulting
advised function should be compiled.

`disable': The defined advice will be disabled, hence, it will not be used
during activation until somebody enables it.

`preactivate': Preactivates the advised FUNCTION at macro-expansion/compile
time.  This generates a compiled advised definition according to the current
advice state that will be used during activation if appropriate.  Only use
this if the `defadvice' gets actually compiled.

`freeze': Expands the `defadvice' into a redefining `defun/defmacro' according
to this particular single advice.  No other advice information will be saved.
Frozen advices cannot be undone, they behave like a hard redefinition of
the advised function.  `freeze' implies `activate' and `preactivate'.  The
documentation of the advised function can be dumped onto the `DOC' file
during preloading.

See Info node `(elisp)Advising Functions' for comprehensive documentation.
usage: (defadvice FUNCTION (CLASS NAME [POSITION] [ARGLIST] FLAG...)
          [DOCSTRING] [INTERACTIVE-FORM]
          BODY...)

(fn FUNCTION ARGS &rest BODY)Falign
Attempt to align a region based on a set of alignment rules.
BEG and END mark the region.  If BEG and END are specifically set to
nil (this can only be done programmatically), the beginning and end of
the current alignment section will be calculated based on the location
of point, and the value of `align-region-separate' (or possibly each
rule's `separate' attribute).

If SEPARATE is non-nil, it overrides the value of
`align-region-separate' for all rules, except those that have their
`separate' attribute set.

RULES and EXCLUDE-RULES, if either is non-nil, will replace the
default rule lists defined in `align-rules-list' and
`align-exclude-rules-list'.  See `align-rules-list' for more details
on the format of these lists.

(fn BEG END &optional SEPARATE RULES EXCLUDE-RULES)Falign-regexp
Align the current region using an ad-hoc rule read from the minibuffer.
BEG and END mark the limits of the region.  This function will prompt
for the REGEXP to align with.  If no prefix arg was specified, you
only need to supply the characters to be lined up and any preceding
whitespace is replaced.  If a prefix arg was specified, the full
regexp with parenthesized whitespace should be supplied; it will also
prompt for which parenthesis GROUP within REGEXP to modify, the amount
of SPACING to use, and whether or not to REPEAT the rule throughout
the line.  See `align-rules-list' for more information about these
options.

For example, let's say you had a list of phone numbers, and wanted to
align them so that the opening parentheses would line up:

    Fred (123) 456-7890
    Alice (123) 456-7890
    Mary-Anne (123) 456-7890
    Joe (123) 456-7890

There is no predefined rule to handle this, but you could easily do it
using a REGEXP like "(".  All you would have to do is to mark the
region, call `align-regexp' and type in that regular expression.

(fn BEG END REGEXP &optional GROUP SPACING REPEAT)Falign-entire
Align the selected region as if it were one alignment section.
BEG and END mark the extent of the region.  If RULES or EXCLUDE-RULES
is set to a list of rules (see `align-rules-list'), it can be used to
override the default alignment rules that would have been used to
align that section.

(fn BEG END &optional RULES EXCLUDE-RULES)Falign-current
Call `align' on the current alignment section.
This function assumes you want to align only the current section, and
so saves you from having to specify the region.  If RULES or
EXCLUDE-RULES is set to a list of rules (see `align-rules-list'), it
can be used to override the default alignment rules that would have
been used to align that section.

(fn &optional RULES EXCLUDE-RULES)Falign-highlight-rule
Highlight the whitespace which a given rule would have modified.
BEG and END mark the extent of the region.  TITLE identifies the rule
that should be highlighted.  If RULES or EXCLUDE-RULES is set to a
list of rules (see `align-rules-list'), it can be used to override the
default alignment rules that would have been used to identify the text
to be colored.

(fn BEG END TITLE &optional RULES EXCLUDE-RULES)Falign-unhighlight-rule
Remove any highlighting that was added by `align-highlight-rule'.

(fn)Falign-newline-and-indent
A replacement function for `newline-and-indent', aligning as it goes.

(fn)Fallout-auto-activation-helper
Institute `allout-auto-activation'.

Intended to be used as the `allout-auto-activation' :set function.

(fn VAR VALUE)Fallout-setup
Do fundamental Emacs session for allout auto-activation.

Establishes allout processing as part of visiting a file if
`allout-auto-activation' is non-nil, or removes it otherwise.

The proper way to use this is through customizing the setting of
`allout-auto-activation'.

(fn)Vallout-auto-activation
Configure allout outline mode auto-activation.

Control whether and how allout outline mode is automatically
activated when files are visited with non-nil buffer-specific
file variable `allout-layout'.

When allout-auto-activation is "On" (t), allout mode is
activated in buffers with non-nil `allout-layout', and the
specified layout is applied.

With value "ask", auto-mode-activation is enabled, and endorsement for
performing auto-layout is asked of the user each time.

With value "activate", only auto-mode-activation is enabled.
Auto-layout is not.

With value nil, inhibit any automatic allout-mode activation.Fallout-mode-p
Return t if `allout-mode' is active in current buffer.

(fn)Fallout-mode
Toggle Allout outline mode.
With a prefix argument ARG, enable Allout outline mode if ARG is
positive, and disable it otherwise.  If called from Lisp, enable
the mode if ARG is omitted or nil.

\<allout-mode-map-value>
Allout outline mode is a minor mode that provides extensive
outline oriented formatting and manipulation.  It enables
structural editing of outlines, as well as navigation and
exposure.  It also is specifically aimed at accommodating
syntax-sensitive text like programming languages.  (For example,
see the allout code itself, which is organized as an allout
outline.)

In addition to typical outline navigation and exposure, allout includes:

 - topic-oriented authoring, including keystroke-based topic creation,
   repositioning, promotion/demotion, cut, and paste
 - incremental search with dynamic exposure and reconcealment of hidden text
 - adjustable format, so programming code can be developed in outline-structure
 - easy topic encryption and decryption, symmetric or key-pair
 - "Hot-spot" operation, for single-keystroke maneuvering and exposure control
 - integral outline layout, for automatic initial exposure when visiting a file
 - independent extensibility, using comprehensive exposure and authoring hooks

and many other features.

Below is a description of the key bindings, and then description
of special `allout-mode' features and terminology.  See also the
outline menubar additions for quick reference to many of the
features.  Customize `allout-auto-activation' to prepare your
Emacs session for automatic activation of `allout-mode'.

The bindings are those listed in `allout-prefixed-keybindings'
and `allout-unprefixed-keybindings'.  We recommend customizing
`allout-command-prefix' to use just `\C-c' as the command
prefix, if the allout bindings don't conflict with any personal
bindings you have on \C-c.  In any case, outline structure
navigation and authoring is simplified by positioning the cursor
on an item's bullet character, the "hot-spot" -- then you can
invoke allout commands with just the un-prefixed,
un-control-shifted command letters.  This is described further in
the HOT-SPOT Operation section.

        Exposure Control:
        ----------------
\[allout-hide-current-subtree]   `allout-hide-current-subtree'
\[allout-show-children] `allout-show-children'
\[allout-show-current-subtree] `allout-show-current-subtree'
\[allout-show-current-entry] `allout-show-current-entry'
\[allout-show-all]   `allout-show-all'

        Navigation:
        ----------
\[allout-next-visible-heading] `allout-next-visible-heading'
\[allout-previous-visible-heading] `allout-previous-visible-heading'
\[allout-up-current-level] `allout-up-current-level'
\[allout-forward-current-level] `allout-forward-current-level'
\[allout-backward-current-level] `allout-backward-current-level'
\[allout-end-of-entry] `allout-end-of-entry'
\[allout-beginning-of-current-entry] `allout-beginning-of-current-entry' (alternately, goes to hot-spot)
\[allout-beginning-of-line]  `allout-beginning-of-line' -- like regular beginning-of-line, but
     if immediately repeated cycles to the beginning of the current item
     and then to the hot-spot (if `allout-beginning-of-line-cycles' is set).


        Topic Header Production:
        -----------------------
\[allout-open-sibtopic] `allout-open-sibtopic' Create a new sibling after current topic.
\[allout-open-subtopic]   `allout-open-subtopic' ... an offspring of current topic.
\[allout-open-supertopic] `allout-open-supertopic' ... a sibling of the current topic's parent.

        Topic Level and Prefix Adjustment:
        ---------------------------------
\[allout-shift-in] `allout-shift-in'   Shift current topic and all offspring deeper
\[allout-shift-out] `allout-shift-out' ... less deep
\[allout-rebullet-current-heading] `allout-rebullet-current-heading' Prompt for alternate bullet for
            current topic
\[allout-rebullet-topic] `allout-rebullet-topic'   Reconcile bullets of topic and
            its offspring -- distinctive bullets are not changed, others
            are alternated according to nesting depth.
\[allout-number-siblings] `allout-number-siblings'  Number bullets of topic and siblings --
           the offspring are not affected.
           With repeat count, revoke numbering.

        Topic-oriented Killing and Yanking:
        ----------------------------------
\[allout-kill-topic] `allout-kill-topic'   Kill current topic, including offspring.
\[allout-copy-topic-as-kill] `allout-copy-topic-as-kill' Copy current topic, including offspring.
\[allout-kill-line]     `allout-kill-line'    Kill line, attending to outline structure.
\[allout-copy-line-as-kill]     `allout-copy-line-as-kill' Copy line but don't delete it.
\[allout-yank] `allout-yank'        Yank, adjusting depth of yanked topic to
                             depth of heading if yanking into bare topic
                             heading (ie, prefix sans text).
\[allout-yank-pop]     `allout-yank-pop'       Is to `allout-yank' as `yank-pop' is to `yank'.

        Topic-oriented Encryption:
        -------------------------
\[allout-toggle-current-subtree-encryption] `allout-toggle-current-subtree-encryption'
          Encrypt/Decrypt topic content

        Misc commands:
        -------------
M-x outlineify-sticky       Activate outline mode for current buffer,
                            and establish a default file-var setting
                            for `allout-layout'.
\[allout-mark-topic]       `allout-mark-topic'
\[allout-copy-exposed-to-buffer] `allout-copy-exposed-to-buffer'
                            Duplicate outline, sans concealed text, to
                            buffer with name derived from derived from that
                            of current buffer -- "*BUFFERNAME exposed*".
\[allout-flatten-exposed-to-buffer] `allout-flatten-exposed-to-buffer'
                            Like above 'copy-exposed', but convert topic
                            prefixes to section.subsection... numeric
                            format.
\[customize-variable] allout-auto-activation
                            Prepare Emacs session for allout outline mode
                            auto-activation.

                  Topic Encryption

Outline mode supports gpg encryption of topics, with support for
symmetric and key-pair modes, and auto-encryption of topics
pending encryption on save.

Topics pending encryption are, by default, automatically
encrypted during file saves, including checkpoint saves, to avoid
exposing the plain text of encrypted topics in the file system.
If the content of the topic containing the cursor was encrypted
for a save, it is automatically decrypted for continued editing.

NOTE: A few GnuPG v2 versions improperly preserve incorrect
symmetric decryption keys, preventing entry of the correct key on
subsequent decryption attempts until the cache times-out.  That
can take several minutes.  (Decryption of other entries is not
affected.)  Upgrade your EasyPG version, if you can, and you can
deliberately clear your gpg-agent's cache by sending it a '-HUP'
signal.

See `allout-toggle-current-subtree-encryption' function docstring
and `allout-encrypt-unencrypted-on-saves' customization variable
for details.

                 HOT-SPOT Operation

Hot-spot operation provides a means for easy, single-keystroke outline
navigation and exposure control.

When the text cursor is positioned directly on the bullet character of
a topic, regular characters (a to z) invoke the commands of the
corresponding allout-mode keymap control chars.  For example, "f"
would invoke the command typically bound to "C-c<space>C-f"
(\[allout-forward-current-level] `allout-forward-current-level').

Thus, by positioning the cursor on a topic bullet, you can
execute the outline navigation and manipulation commands with a
single keystroke.  Regular navigation keys (eg, \[forward-char], \[next-line]) don't get
this special translation, so you can use them to get out of the
hot-spot and back to normal editing operation.

In allout-mode, the normal beginning-of-line command (\[allout-beginning-of-line]) is
replaced with one that makes it easy to get to the hot-spot.  If you
repeat it immediately it cycles (if `allout-beginning-of-line-cycles'
is set) to the beginning of the item and then, if you hit it again
immediately, to the hot-spot.  Similarly, `allout-beginning-of-current-entry'
(\[allout-beginning-of-current-entry]) moves to the hot-spot when the cursor is already located
at the beginning of the current entry.

                             Extending Allout

Allout exposure and authoring activities all have associated
hooks, by which independent code can cooperate with allout
without changes to the allout core.  Here are key ones:

`allout-mode-hook'
`allout-mode-deactivate-hook' (deprecated)
`allout-mode-off-hook'
`allout-exposure-change-functions'
`allout-structure-added-functions'
`allout-structure-deleted-functions'
`allout-structure-shifted-functions'
`allout-after-copy-or-kill-hook'
`allout-post-undo-hook'

                            Terminology

Topic hierarchy constituents -- TOPICS and SUBTOPICS:

ITEM:   A unitary outline element, including the HEADER and ENTRY text.
TOPIC:  An ITEM and any ITEMs contained within it, ie having greater DEPTH
        and with no intervening items of lower DEPTH than the container.
CURRENT ITEM:
        The visible ITEM most immediately containing the cursor.
DEPTH:  The degree of nesting of an ITEM; it increases with containment.
        The DEPTH is determined by the HEADER PREFIX.  The DEPTH is also
        called the:
LEVEL:  The same as DEPTH.

ANCESTORS:
        Those ITEMs whose TOPICs contain an ITEM.
PARENT: An ITEM's immediate ANCESTOR.  It has a DEPTH one less than that
        of the ITEM.
OFFSPRING:
        The ITEMs contained within an ITEM's TOPIC.
SUBTOPIC:
        An OFFSPRING of its ANCESTOR TOPICs.
CHILD:
        An immediate SUBTOPIC of its PARENT.
SIBLINGS:
        TOPICs having the same PARENT and DEPTH.

Topic text constituents:

HEADER: The first line of an ITEM, include the ITEM PREFIX and HEADER
        text.
ENTRY:  The text content of an ITEM, before any OFFSPRING, but including
        the HEADER text and distinct from the ITEM PREFIX.
BODY:   Same as ENTRY.
PREFIX: The leading text of an ITEM which distinguishes it from normal
        ENTRY text.  Allout recognizes the outline structure according
        to the strict PREFIX format.  It consists of a PREFIX-LEAD string,
        PREFIX-PADDING, and a BULLET.  The BULLET might be followed by a
        number, indicating the ordinal number of the topic among its
        siblings, or an asterisk indicating encryption, plus an optional
        space.  After that is the ITEM HEADER text, which is not part of
        the PREFIX.

        The relative length of the PREFIX determines the nesting DEPTH
        of the ITEM.
PREFIX-LEAD:
        The string at the beginning of a HEADER PREFIX, by default a `.'.
        It can be customized by changing the setting of
        `allout-header-prefix' and then reinitializing `allout-mode'.

        When the PREFIX-LEAD is set to the comment-string of a
        programming language, outline structuring can be embedded in
        program code without interfering with processing of the text
        (by Emacs or the language processor) as program code.  This
        setting happens automatically when allout mode is used in
        programming-mode buffers.  See `allout-use-mode-specific-leader'
        docstring for more detail.
PREFIX-PADDING:
        Spaces or asterisks which separate the PREFIX-LEAD and the
        bullet, determining the ITEM's DEPTH.
BULLET: A character at the end of the ITEM PREFIX, it must be one of
        the characters listed on `allout-plain-bullets-string' or
        `allout-distinctive-bullets-string'.  When creating a TOPIC,
        plain BULLETs are by default used, according to the DEPTH of the
        TOPIC.  Choice among the distinctive BULLETs is offered when you
        provide a universal argument (\[universal-argument]) to the
        TOPIC creation command, or when explicitly rebulleting a TOPIC.  The
        significance of the various distinctive bullets is purely by
        convention.  See the documentation for the above bullet strings for
        more details.
EXPOSURE:
        The state of a TOPIC which determines the on-screen visibility
        of its OFFSPRING and contained ENTRY text.
CONCEALED:
        TOPICs and ENTRY text whose EXPOSURE is inhibited.  Concealed
        text is represented by "..." ellipses.

        CONCEALED TOPICs are effectively collapsed within an ANCESTOR.
CLOSED: A TOPIC whose immediate OFFSPRING and body-text is CONCEALED.
OPEN:	A TOPIC that is not CLOSED, though its OFFSPRING or BODY may be.

(fn &optional ARG)Foutlineify-sticky
Activate outline mode and establish file var so it is started subsequently.

See `allout-layout' and customization of `allout-auto-activation'
for details on preparing Emacs for automatic allout activation.

(fn &optional ARG)Fallout-widgets-setup
Commission or decommission allout-widgets-mode along with allout-mode.

Meant to be used by customization of `allout-widgets-auto-activation'.

(fn VARNAME VALUE)Vallout-widgets-auto-activation
Activate to enable allout icon graphics wherever allout mode is active.

Also enable `allout-auto-activation' for this to take effect upon
visiting an outline.

When this is set you can disable allout widgets in select files
by setting `allout-widgets-mode-inhibit'

Instead of setting `allout-widgets-auto-activation' you can
explicitly invoke `allout-widgets-mode' in allout buffers where
you want allout widgets operation.

See `allout-widgets-mode' for allout widgets mode features.Fallout-widgets-mode
Toggle Allout Widgets mode.
With a prefix argument ARG, enable Allout Widgets mode if ARG is
positive, and disable it otherwise.  If called from Lisp, enable
the mode if ARG is omitted or nil.

Allout Widgets mode is an extension of Allout mode that provides
graphical decoration of outline structure.  It is meant to
operate along with `allout-mode', via `allout-mode-hook'.

The graphics include:

- guide lines connecting item bullet-icons with those of their subitems.

- icons for item bullets, varying to indicate whether or not the item
  has subitems, and if so, whether or not the item is expanded.

- cue area between the bullet-icon and the start of the body headline,
  for item numbering, encryption indicator, and distinctive bullets.

The bullet-icon and guide line graphics provide keybindings and mouse
bindings for easy outline navigation and exposure control, extending
outline hot-spot navigation (see `allout-mode').

(fn &optional ARG)Fange-ftp-reread-dir
Reread remote directory DIR to update the directory cache.
The implementation of remote FTP file names caches directory contents
for speed.  Therefore, when new remote files are created, Emacs
may not know they exist.  You can use this command to reread a specific
directory, so that Emacs will know its current contents.

(fn &optional DIR)Fange-ftp-hook-function


(fn OPERATION &rest ARGS)Fanimate-string
Display STRING animations starting at position VPOS, HPOS.
The characters start at randomly chosen places,
and all slide in parallel to their final positions,
passing through `animate-n-steps' positions before the final ones.
If HPOS is nil (or omitted), center the string horizontally
in the current window.

(fn STRING VPOS &optional HPOS)Fanimate-sequence
Display animation strings from LIST-OF-STRING with buffer *Animation*.
Strings will be separated from each other by SPACE lines.
 When the variable `animation-buffer-name' is non-nil display
animation in the buffer named by variable's value, creating the
buffer if one does not exist.

(fn LIST-OF-STRINGS SPACE)Fanimate-birthday-present
Return a birthday present in the buffer *Birthday-Present*.
When optional arg NAME is non-nil or called-interactively, prompt for
NAME of birthday present receiver and return a birthday present in
the buffer *Birthday-Present-for-Name*.

(fn &optional NAME)Fansi-color-for-comint-mode-on
Set `ansi-color-for-comint-mode' to t.

(fn)Fansi-color-process-output
Maybe translate SGR control sequences of comint output into text properties.

Depending on variable `ansi-color-for-comint-mode' the comint output is
either not processed, SGR control sequences are filtered using
`ansi-color-filter-region', or SGR control sequences are translated into
text properties using `ansi-color-apply-on-region'.

The comint output is assumed to lie between the marker
`comint-last-output-start' and the process-mark.

This is a good function to put in `comint-output-filter-functions'.

(fn IGNORED)Fantlr-show-makefile-rules
Show Makefile rules for all grammar files in the current directory.
If the `major-mode' of the current buffer has the value `makefile-mode',
the rules are directory inserted at point.  Otherwise, a *Help* buffer
is shown with the rules which are also put into the `kill-ring' for
\[yank].

This command considers import/export vocabularies and grammar
inheritance and provides a value for the "-glib" option if necessary.
Customize variable `antlr-makefile-specification' for the appearance of
the rules.

If the file for a super-grammar cannot be determined, special file names
are used according to variable `antlr-unknown-file-formats' and a
commentary with value `antlr-help-unknown-file-text' is added.  The
*Help* buffer always starts with the text in `antlr-help-rules-intro'.

(fn)Fantlr-mode
Major mode for editing ANTLR grammar files.

(fn)Fantlr-set-tabs
Use ANTLR's convention for TABs according to `antlr-tab-offset-alist'.
Used in `antlr-mode'.  Also a useful function in `java-mode-hook'.

(fn)Fappt-add
Add an appointment for today at TIME with message MSG.
The time should be in either 24 hour format or am/pm format.
Optional argument WARNTIME is an integer (or string) giving the number
of minutes before the appointment at which to start warning.
The default is `appt-message-warning-time'.

(fn TIME MSG &optional WARNTIME)Fappt-activate
Toggle checking of appointments.
With optional numeric argument ARG, turn appointment checking on if
ARG is positive, otherwise off.

(fn &optional ARG)Fapropos-read-pattern
Read an apropos pattern, either a word list or a regexp.
Returns the user pattern, either a list of words which are matched
literally, or a string which is used as a regexp to search for.

SUBJECT is a string that is included in the prompt to identify what
kind of objects to search.

(fn SUBJECT)Fapropos-variable
Show user variables that match PATTERN.
PATTERN can be a word, a list of words (separated by spaces),
or a regexp (using some regexp special characters).  If it is a word,
search for matches for that word as a substring.  If it is a list of words,
search for matches for any two (or more) of those words.

With \[universal-argument] prefix, or if `apropos-do-all' is non-nil, also show
normal variables.

(fn PATTERN &optional DO-ALL)Fapropos-command
Show commands (interactively callable functions) that match PATTERN.
PATTERN can be a word, a list of words (separated by spaces),
or a regexp (using some regexp special characters).  If it is a word,
search for matches for that word as a substring.  If it is a list of words,
search for matches for any two (or more) of those words.

With \[universal-argument] prefix, or if `apropos-do-all' is non-nil, also show
noninteractive functions.

If VAR-PREDICATE is non-nil, show only variables, and only those that
satisfy the predicate VAR-PREDICATE.

When called from a Lisp program, a string PATTERN is used as a regexp,
while a list of strings is used as a word list.

(fn PATTERN &optional DO-ALL VAR-PREDICATE)Fapropos-documentation-property
Like (documentation-property SYMBOL PROPERTY RAW) but handle errors.

(fn SYMBOL PROPERTY RAW)Fapropos
Show all meaningful Lisp symbols whose names match PATTERN.
Symbols are shown if they are defined as functions, variables, or
faces, or if they have nonempty property lists.

PATTERN can be a word, a list of words (separated by spaces),
or a regexp (using some regexp special characters).  If it is a word,
search for matches for that word as a substring.  If it is a list of words,
search for matches for any two (or more) of those words.

With \[universal-argument] prefix, or if `apropos-do-all' is non-nil,
consider all symbols (if they match PATTERN).

Returns list of symbols and documentation found.

(fn PATTERN &optional DO-ALL)Fapropos-library
List the variables and functions defined by library FILE.
FILE should be one of the libraries currently loaded and should
thus be found in `load-history'.  If `apropos-do-all' is non-nil,
the output includes key-bindings of commands.

(fn FILE)Fapropos-value
Show all symbols whose value's printed representation matches PATTERN.
PATTERN can be a word, a list of words (separated by spaces),
or a regexp (using some regexp special characters).  If it is a word,
search for matches for that word as a substring.  If it is a list of words,
search for matches for any two (or more) of those words.

With \[universal-argument] prefix, or if `apropos-do-all' is non-nil, also looks
at function definitions (arguments, documentation and body) and at the
names and values of properties.

Returns list of symbols and values found.

(fn PATTERN &optional DO-ALL)Fapropos-documentation
Show symbols whose documentation contains matches for PATTERN.
PATTERN can be a word, a list of words (separated by spaces),
or a regexp (using some regexp special characters).  If it is a word,
search for matches for that word as a substring.  If it is a list of words,
search for matches for any two (or more) of those words.

Note that by default this command only searches in the file specified by
`internal-doc-file-name'; i.e., the etc/DOC file.  With \[universal-argument] prefix,
or if `apropos-do-all' is non-nil, it searches all currently defined
documentation strings.

Returns list of symbols and documentation found.

(fn PATTERN &optional DO-ALL)Farchive-mode
Major mode for viewing an archive file in a dired-like way.
You can move around using the usual cursor motion commands.
Letters no longer insert themselves.
Type `e' to pull a file out of the archive and into its own buffer;
or click mouse-2 on the file's line in the archive mode buffer.

If you edit a sub-file of this archive (as with the `e' command) and
save it, the contents of that buffer will be saved back into the
archive.

\{archive-mode-map}

(fn &optional FORCE)Farray-mode
Major mode for editing arrays.

  Array mode is a specialized mode for editing arrays.  An array is
considered to be a two-dimensional set of strings.  The strings are
NOT recognized as integers or real numbers.

  The array MUST reside at the top of the buffer.

  TABs are not respected, and may be converted into spaces at any time.
Setting the variable `array-respect-tabs' to non-nil will prevent TAB conversion,
but will cause many functions to give errors if they encounter one.

  Upon entering array mode, you will be prompted for the values of
several variables.  Others will be calculated based on the values you
supply.  These variables are all local to the buffer.  Other buffer
in array mode may have different values assigned to the variables.
The variables are:

Variables you assign:
     array-max-row:          The number of rows in the array.
     array-max-column:       The number of columns in the array.
     array-columns-per-line: The number of columns in the array per line of buffer.
     array-field-width:      The width of each field, in characters.
     array-rows-numbered:    A logical variable describing whether to ignore
                       row numbers in the buffer.

Variables which are calculated:
     array-line-length:      The number of characters in a buffer line.
     array-lines-per-row:    The number of buffer lines used to display each row.

  The following commands are available (an asterisk indicates it may
take a numeric prefix argument):

    *  	\<array-mode-map>\[array-forward-column]	  Move forward one column.
    *  	\[array-backward-column]	  Move backward one column.
    *  	\[array-next-row]	  Move down one row.
    *  	\[array-previous-row]	  Move up one row.

    *   \[array-copy-forward]	  Copy the current field into the column to the right.
    *   \[array-copy-backward]	  Copy the current field into the column to the left.
    *   \[array-copy-down]	  Copy the current field into the row below.
    *   \[array-copy-up]	  Copy the current field into the row above.

    *   \[array-copy-column-forward]   Copy the current column into the column to the right.
    *   \[array-copy-column-backward]   Copy the current column into the column to the left.
    *   \[array-copy-row-down]   Copy the current row into the row below.
    *   \[array-copy-row-up]   Copy the current row into the row above.

        \[array-fill-rectangle]   Copy the field at mark into every cell with row and column
                  between that of point and mark.

	\[array-what-position]	  Display the current array row and column.
	\[array-goto-cell]	  Go to a particular array cell.

	\[array-make-template]	  Make a template for a new array.
	\[array-reconfigure-rows]	  Reconfigure the array.
        \[array-expand-rows]   Expand the array (remove row numbers and
                  newlines inside rows)

        \[array-display-local-variables]   Display the current values of local variables.

Entering array mode calls the function `array-mode-hook'.

(fn)Fartist-mode
Toggle Artist mode.
With argument ARG, turn Artist mode on if ARG is positive.
Artist lets you draw lines, squares, rectangles and poly-lines,
ellipses and circles with your mouse and/or keyboard.

How to quit Artist mode

 Type \[artist-mode-off] to quit artist-mode.


How to submit a bug report

 Type \[artist-submit-bug-report] to submit a bug report.


Drawing with the mouse:

 mouse-2
 shift mouse-2	Pops up a menu where you can select what to draw with
		mouse-1, and where you can do some settings (described
		below).

 mouse-1
 shift mouse-1	Draws lines, rectangles or poly-lines, erases, cuts, copies
		or pastes:

		Operation	Not shifted		  Shifted
		--------------------------------------------------------------
                Pen             fill-char at point        line from last point
                                                          to new point
		--------------------------------------------------------------
		Line		Line in any direction	  Straight line
		--------------------------------------------------------------
		Rectangle	Rectangle		  Square
		--------------------------------------------------------------
		Poly-line	Poly-line in any dir	  Straight poly-lines
		--------------------------------------------------------------
		Ellipses	Ellipses		  Circles
		--------------------------------------------------------------
		Text		Text (see thru)		  Text (overwrite)
		--------------------------------------------------------------
		Spray-can	Spray-can		  Set size for spray
		--------------------------------------------------------------
		Erase		Erase character		  Erase rectangle
		--------------------------------------------------------------
		Vaporize	Erase single line	  Erase connected
							  lines
		--------------------------------------------------------------
		Cut		Cut rectangle		  Cut square
		--------------------------------------------------------------
		Copy		Copy rectangle		  Copy square
		--------------------------------------------------------------
		Paste		Paste			  Paste
		--------------------------------------------------------------
		Flood-fill	Flood-fill		  Flood-fill
		--------------------------------------------------------------

		* Straight lines can only go horizontally, vertically
		  or diagonally.

		* Poly-lines are drawn while holding mouse-1 down.  When you
		  release the button, the point is set.  If you want a segment
		  to be straight, hold down shift before pressing the
		  mouse-1 button.  Click mouse-2 or mouse-3 to stop drawing
		  poly-lines.

		* See thru for text means that text already in the buffer
		  will be visible through blanks in the text rendered, while
		  overwrite means the opposite.

		* Vaporizing connected lines only vaporizes lines whose
		  _endpoints_ are connected.  See also the variable
		  `artist-vaporize-fuzziness'.

		* Cut copies, then clears the rectangle/square.

		* When drawing lines or poly-lines, you can set arrows.
		  See below under ``Arrows'' for more info.

		* The mode line shows the currently selected drawing operation.
		  In addition, if it has an asterisk (*) at the end, you
		  are currently drawing something.

		* Be patient when flood-filling -- large areas take quite
		  some time to fill.


 mouse-3	Erases character under pointer
 shift mouse-3	Erases rectangle


Settings

 Set fill	Sets the character used when filling rectangles/squares

 Set line	Sets the character used when drawing lines

 Erase char	Sets the character used when erasing

 Rubber-banding	Toggles rubber-banding

 Trimming	Toggles trimming of line-endings (that is: when the shape
		is drawn, extraneous white-space at end of lines is removed)

 Borders        Toggles the drawing of line borders around filled shapes


Drawing with keys

 \[artist-key-set-point]		Does one of the following:
		For lines/rectangles/squares: sets the first/second endpoint
		For poly-lines: sets a point (use C-u \[artist-key-set-point] to set last point)
		When erase characters: toggles erasing
		When cutting/copying: Sets first/last endpoint of rect/square
		When pasting: Pastes

 \[artist-select-operation]	Selects what to draw

 Move around with \[artist-next-line], \[artist-previous-line], \[artist-forward-char] and \[artist-backward-char].

 \[artist-select-fill-char]	Sets the character to use when filling
 \[artist-select-line-char]	Sets the character to use when drawing
 \[artist-select-erase-char]	Sets the character to use when erasing
 \[artist-toggle-rubber-banding]	Toggles rubber-banding
 \[artist-toggle-trim-line-endings]	Toggles trimming of line-endings
 \[artist-toggle-borderless-shapes]	Toggles borders on drawn shapes


Arrows

 \[artist-toggle-first-arrow]		Sets/unsets an arrow at the beginning
		of the line/poly-line

 \[artist-toggle-second-arrow]		Sets/unsets an arrow at the end
		of the line/poly-line


Selecting operation

 There are some keys for quickly selecting drawing operations:

 \[artist-select-op-line]	Selects drawing lines
 \[artist-select-op-straight-line]	Selects drawing straight lines
 \[artist-select-op-rectangle]	Selects drawing rectangles
 \[artist-select-op-square]	Selects drawing squares
 \[artist-select-op-poly-line]	Selects drawing poly-lines
 \[artist-select-op-straight-poly-line]	Selects drawing straight poly-lines
 \[artist-select-op-ellipse]	Selects drawing ellipses
 \[artist-select-op-circle]	Selects drawing circles
 \[artist-select-op-text-see-thru]	Selects rendering text (see thru)
 \[artist-select-op-text-overwrite]	Selects rendering text (overwrite)
 \[artist-select-op-spray-can]	Spray with spray-can
 \[artist-select-op-spray-set-size]	Set size for the spray-can
 \[artist-select-op-erase-char]	Selects erasing characters
 \[artist-select-op-erase-rectangle]	Selects erasing rectangles
 \[artist-select-op-vaporize-line]	Selects vaporizing single lines
 \[artist-select-op-vaporize-lines]	Selects vaporizing connected lines
 \[artist-select-op-cut-rectangle]	Selects cutting rectangles
 \[artist-select-op-copy-rectangle]	Selects copying rectangles
 \[artist-select-op-paste]	Selects pasting
 \[artist-select-op-flood-fill]	Selects flood-filling


Variables

 This is a brief overview of the different variables.  For more info,
 see the documentation for the variables (type \[describe-variable] <variable> RET).

 artist-rubber-banding		Interactively do rubber-banding or not
 artist-first-char		What to set at first/second point...
 artist-second-char		...when not rubber-banding
 artist-interface-with-rect	If cut/copy/paste should interface with rect
 artist-arrows			The arrows to use when drawing arrows
 artist-aspect-ratio		Character height-to-width for squares
 artist-trim-line-endings	Trimming of line endings
 artist-flood-fill-right-border	Right border when flood-filling
 artist-flood-fill-show-incrementally	Update display while filling
 artist-pointer-shape		Pointer shape to use while drawing
 artist-ellipse-left-char	Character to use for narrow ellipses
 artist-ellipse-right-char	Character to use for narrow ellipses
 artist-borderless-shapes       If shapes should have borders
 artist-picture-compatibility   Whether or not to be picture mode compatible
 artist-vaporize-fuzziness      Tolerance when recognizing lines
 artist-spray-interval          Seconds between repeated sprayings
 artist-spray-radius            Size of the spray-area
 artist-spray-chars             The spray-``color''
 artist-spray-new-chars         Initial spray-``color''

Hooks

 Turning the mode on or off runs `artist-mode-hook'.


Keymap summary

\{artist-mode-map}

(fn &optional ARG)Fasm-mode
Major mode for editing typical assembler code.
Features a private abbrev table and the following bindings:

\[asm-colon]	outdent a preceding label, tab to next tab stop.
\[tab-to-tab-stop]	tab to next tab stop.
\[asm-newline]	newline, then tab to next tab stop.
\[asm-comment]	smart placement of assembler comments.

The character used for making comments is set by the variable
`asm-comment-char' (which defaults to `?\;').

Alternatively, you may set this variable in `asm-mode-set-comment-hook',
which is called near the beginning of mode initialization.

Turning on Asm mode runs the hook `asm-mode-hook' at the end of initialization.

Special commands:
\{asm-mode-map}

(fn)Vauth-source-cache-expiry
How many seconds passwords are cached, or nil to disable
expiring.  Overrides `password-cache-expiry' through a
let-binding.Vautoarg-mode
Non-nil if Autoarg mode is enabled.
See the command `autoarg-mode' for a description of this minor mode.Fautoarg-mode
Toggle Autoarg mode, a global minor mode.
With a prefix argument ARG, enable Autoarg mode if ARG is
positive, and disable it otherwise.  If called from Lisp, enable
the mode if ARG is omitted or nil.

\<autoarg-mode-map>
In Autoarg mode, digits are bound to `digit-argument', i.e. they
supply prefix arguments as C-DIGIT and M-DIGIT normally do.
Furthermore, C-DIGIT inserts DIGIT.
\[autoarg-terminate] terminates the prefix sequence and inserts
the digits of the autoarg sequence into the buffer.
Without a numeric prefix arg, the normal binding of \[autoarg-terminate]
is invoked, i.e. what it would be with Autoarg mode off.

For example:
`6 9 \[autoarg-terminate]' inserts `69' into the buffer, as does `C-6 C-9'.
`6 9 a' inserts 69 `a's into the buffer.
`6 9 \[autoarg-terminate] \[autoarg-terminate]' inserts `69' into the buffer and
then invokes the normal binding of \[autoarg-terminate].
`C-u \[autoarg-terminate]' invokes the normal binding of \[autoarg-terminate] four times.

\{autoarg-mode-map}

(fn &optional ARG)Vautoarg-kp-mode
Non-nil if Autoarg-Kp mode is enabled.
See the command `autoarg-kp-mode' for a description of this minor mode.
Setting this variable directly does not take effect;
either customize it (see the info node `Easy Customization')
or call the function `autoarg-kp-mode'.Fautoarg-kp-mode
Toggle Autoarg-KP mode, a global minor mode.
With a prefix argument ARG, enable Autoarg-KP mode if ARG is
positive, and disable it otherwise.  If called from Lisp, enable
the mode if ARG is omitted or nil.

\<autoarg-kp-mode-map>
This is similar to `autoarg-mode' but rebinds the keypad keys
`kp-1' etc. to supply digit arguments.

\{autoarg-kp-mode-map}

(fn &optional ARG)Fautoconf-mode
Major mode for editing Autoconf configure.ac files.

(fn)Fauto-insert
Insert default contents into new files if variable `auto-insert' is non-nil.
Matches the visited file name against the elements of `auto-insert-alist'.

(fn)Fdefine-auto-insert
Associate CONDITION with (additional) ACTION in `auto-insert-alist'.
Optional AFTER means to insert action after all existing actions for CONDITION,
or if CONDITION had no actions, after all other CONDITIONs.

(fn CONDITION ACTION &optional AFTER)Vauto-insert-mode
Non-nil if Auto-Insert mode is enabled.
See the command `auto-insert-mode' for a description of this minor mode.
Setting this variable directly does not take effect;
either customize it (see the info node `Easy Customization')
or call the function `auto-insert-mode'.Fauto-insert-mode
Toggle Auto-insert mode, a global minor mode.
With a prefix argument ARG, enable Auto-insert mode if ARG is
positive, and disable it otherwise.  If called from Lisp, enable
the mode if ARG is omitted or nil.

When Auto-insert mode is enabled, when new files are created you can
insert a template for the file depending on the mode of the buffer.

(fn &optional ARG)Fupdate-file-autoloads
Update the autoloads for FILE.
If prefix arg SAVE-AFTER is non-nil, save the buffer too.

If FILE binds `generated-autoload-file' as a file-local variable,
autoloads are written into that file.  Otherwise, the autoloads
file is determined by OUTFILE.  If called interactively, prompt
for OUTFILE; if called from Lisp with OUTFILE nil, use the
existing value of `generated-autoload-file'.

Return FILE if there was no autoload cookie in it, else nil.

(fn FILE &optional SAVE-AFTER OUTFILE)Fupdate-directory-autoloads
Update autoload definitions for Lisp files in the directories DIRS.
In an interactive call, you must give one argument, the name of a
single directory.  In a call from Lisp, you can supply multiple
directories as separate arguments, but this usage is discouraged.

The function does NOT recursively descend into subdirectories of the
directory or directories specified.

In an interactive call, prompt for a default output file for the
autoload definitions, and temporarily bind the variable
`generated-autoload-file' to this value.  When called from Lisp,
use the existing value of `generated-autoload-file'.  If any Lisp
file binds `generated-autoload-file' as a file-local variable,
write its autoloads into the specified file instead.

(fn &rest DIRS)Fbatch-update-autoloads
Update loaddefs.el autoloads in batch mode.
Calls `update-directory-autoloads' on the command line arguments.
Definitions are written to `generated-autoload-file' (which
should be non-nil).

(fn)Fauto-revert-mode
Toggle reverting buffer when the file changes (Auto Revert mode).
With a prefix argument ARG, enable Auto Revert mode if ARG is
positive, and disable it otherwise.  If called from Lisp, enable
the mode if ARG is omitted or nil.

Auto Revert mode is a minor mode that affects only the current
buffer.  When enabled, it reverts the buffer when the file on
disk changes.

Use `global-auto-revert-mode' to automatically revert all buffers.
Use `auto-revert-tail-mode' if you know that the file will only grow
without being changed in the part that is already in the buffer.

(fn &optional ARG)Fturn-on-auto-revert-mode
Turn on Auto-Revert Mode.

This function is designed to be added to hooks, for example:
  (add-hook 'c-mode-hook 'turn-on-auto-revert-mode)

(fn)Fauto-revert-tail-mode
Toggle reverting tail of buffer when the file grows.
With a prefix argument ARG, enable Auto-Revert Tail mode if ARG
is positive, and disable it otherwise.  If called from Lisp,
enable the mode if ARG is omitted or nil.

When Auto Revert Tail mode is enabled, the tail of the file is
constantly followed, as with the shell command `tail -f'.  This
means that whenever the file grows on disk (presumably because
some background process is appending to it from time to time),
this is reflected in the current buffer.

You can edit the buffer and turn this mode off and on again as
you please.  But make sure the background process has stopped
writing before you save the file!

Use `auto-revert-mode' for changes other than appends!

(fn &optional ARG)Fturn-on-auto-revert-tail-mode
Turn on Auto-Revert Tail mode.

This function is designed to be added to hooks, for example:
  (add-hook 'my-logfile-mode-hook 'turn-on-auto-revert-tail-mode)

(fn)Vglobal-auto-revert-mode
Non-nil if Global-Auto-Revert mode is enabled.
See the command `global-auto-revert-mode' for a description of this minor mode.
Setting this variable directly does not take effect;
either customize it (see the info node `Easy Customization')
or call the function `global-auto-revert-mode'.Fglobal-auto-revert-mode
Toggle Global Auto Revert mode.
With a prefix argument ARG, enable Global Auto Revert mode if ARG
is positive, and disable it otherwise.  If called from Lisp,
enable the mode if ARG is omitted or nil.

Global Auto Revert mode is a global minor mode that reverts any
buffer associated with a file when the file changes on disk.  Use
`auto-revert-mode' to revert a particular buffer.

If `global-auto-revert-non-file-buffers' is non-nil, this mode
may also revert some non-file buffers, as described in the
documentation of that variable.  It ignores buffers with modes
matching `global-auto-revert-ignore-modes', and buffers with a
non-nil vale of `global-auto-revert-ignore-buffer'.

This function calls the hook `global-auto-revert-mode-hook'.
It displays the text that `global-auto-revert-mode-text'
specifies in the mode line.

(fn &optional ARG)Vmouse-avoidance-mode
Activate Mouse Avoidance mode.
See function `mouse-avoidance-mode' for possible values.
Setting this variable directly does not take effect;
use either \[customize] or the function `mouse-avoidance-mode'.Fmouse-avoidance-mode
Set Mouse Avoidance mode to MODE.
MODE should be one of the symbols `banish', `exile', `jump', `animate',
`cat-and-mouse', `proteus', or `none'.

If MODE is nil, toggle mouse avoidance between `none' and `banish'
modes.  Positive numbers and symbols other than the above are treated
as equivalent to `banish'; negative numbers and `-' are equivalent to `none'.

Effects of the different modes:
 * banish: Move the mouse to the upper-right corner on any keypress.
 * exile: Move the mouse to the corner only if the cursor gets too close,
     and allow it to return once the cursor is out of the way.
 * jump: If the cursor gets too close to the mouse, displace the mouse
     a random distance & direction.
 * animate: As `jump', but shows steps along the way for illusion of motion.
 * cat-and-mouse: Same as `animate'.
 * proteus: As `animate', but changes the shape of the mouse pointer too.

Whenever the mouse is moved, the frame is also raised.

(See `mouse-avoidance-threshold' for definition of "too close",
and `mouse-avoidance-nudge-dist' and `mouse-avoidance-nudge-var' for
definition of "random distance".)

(fn &optional MODE)Fbattery
Display battery status information in the echo area.
The text being displayed in the echo area is controlled by the variables
`battery-echo-area-format' and `battery-status-function'.

(fn)Vdisplay-battery-mode
Non-nil if Display-Battery mode is enabled.
See the command `display-battery-mode' for a description of this minor mode.
Setting this variable directly does not take effect;
either customize it (see the info node `Easy Customization')
or call the function `display-battery-mode'.Fdisplay-battery-mode
Toggle battery status display in mode line (Display Battery mode).
With a prefix argument ARG, enable Display Battery mode if ARG is
positive, and disable it otherwise.  If called from Lisp, enable
the mode if ARG is omitted or nil.

The text displayed in the mode line is controlled by
`battery-mode-line-format' and `battery-status-function'.
The mode line is be updated every `battery-update-interval'
seconds.

(fn &optional ARG)Fbenchmark-run
Time execution of FORMS.
If REPETITIONS is supplied as a number, run forms that many times,
accounting for the overhead of the resulting loop.  Otherwise run
FORMS once.
Return a list of the total elapsed time for execution, the number of
garbage collections that ran, and the time taken by garbage collection.
See also `benchmark-run-compiled'.

(fn &optional REPETITIONS &rest FORMS)Fbenchmark-run-compiled
Time execution of compiled version of FORMS.
This is like `benchmark-run', but what is timed is a funcall of the
byte code obtained by wrapping FORMS in a `lambda' and compiling the
result.  The overhead of the `lambda's is accounted for.

(fn &optional REPETITIONS &rest FORMS)Fbenchmark
Print the time taken for REPETITIONS executions of FORM.
Interactively, REPETITIONS is taken from the prefix arg.
For non-interactive use see also `benchmark-run' and
`benchmark-run-compiled'.

(fn REPETITIONS FORM)Fbibtex-initialize
(Re)Initialize BibTeX buffers.
Visit the BibTeX files defined by `bibtex-files' and return a list
of corresponding buffers.
Initialize in these buffers `bibtex-reference-keys' if not yet set.
List of BibTeX buffers includes current buffer if CURRENT is non-nil.
If FORCE is non-nil, (re)initialize `bibtex-reference-keys' even if
already set.  If SELECT is non-nil interactively select a BibTeX buffer.
When called interactively, FORCE is t, CURRENT is t if current buffer uses
`bibtex-mode', and SELECT is t if current buffer does not use `bibtex-mode',

(fn &optional CURRENT FORCE SELECT)Fbibtex-mode
Major mode for editing BibTeX files.

General information on working with BibTeX mode:

Use commands such as \<bibtex-mode-map>\[bibtex-Book] to get a template for a specific entry.
Then fill in all desired fields using \[bibtex-next-field] to jump from field
to field.  After having filled in all desired fields in the entry, clean the
new entry with the command \[bibtex-clean-entry].

Some features of BibTeX mode are available only by setting the variable
`bibtex-maintain-sorted-entries' to non-nil.  However, then BibTeX mode
works only with buffers containing valid (syntactically correct) and sorted
entries.  This is usually the case, if you have created a buffer completely
with BibTeX mode and finished every new entry with \[bibtex-clean-entry].

For third party BibTeX files, call the command \[bibtex-convert-alien]
to fully take advantage of all features of BibTeX mode.


Special information:

A command such as \[bibtex-Book] outlines the fields for a BibTeX book entry.

The names of optional fields start with the string OPT, and are thus ignored
by BibTeX.  The names of alternative fields from which only one is required
start with the string ALT.  The OPT or ALT string may be removed from
the name of a field with \[bibtex-remove-OPT-or-ALT].
\[bibtex-make-field] inserts a new field after the current one.
\[bibtex-kill-field] kills the current field entirely.
\[bibtex-yank] yanks the last recently killed field after the current field.
\[bibtex-remove-delimiters] removes the double-quotes or braces around the text of the current field.
\[bibtex-empty-field] replaces the text of the current field with the default "" or {}.
\[bibtex-find-text] moves point to the end of the current field.
\[completion-at-point] completes word fragment before point according to context.

The command \[bibtex-clean-entry] cleans the current entry, i.e. it removes OPT/ALT
from the names of all non-empty optional or alternative fields, checks that
no required fields are empty, and does some formatting dependent on the value
of `bibtex-entry-format'.  Furthermore, it can automatically generate a key
for the BibTeX entry, see `bibtex-generate-autokey'.
Note: some functions in BibTeX mode depend on entries being in a special
format (all fields beginning on separate lines), so it is usually a bad
idea to remove `realign' from `bibtex-entry-format'.

BibTeX mode supports Imenu and hideshow minor mode (`hs-minor-mode').

----------------------------------------------------------
Entry to BibTeX mode calls the value of `bibtex-mode-hook'
if that value is non-nil.

\{bibtex-mode-map}

(fn)Fbibtex-search-entry
Move point to the beginning of BibTeX entry named KEY.
Return position of entry if KEY is found or nil if not found.
With GLOBAL non-nil, search KEY in `bibtex-files'.  Otherwise the search
is limited to the current buffer.  Optional arg START is buffer position
where the search starts.  If it is nil, start search at beginning of buffer.
If DISPLAY is non-nil, display the buffer containing KEY.
Otherwise, use `set-buffer'.
When called interactively, START is nil, DISPLAY is t.
Also, GLOBAL is t if the current mode is not `bibtex-mode'
or `bibtex-search-entry-globally' is non-nil.
A prefix arg negates the value of `bibtex-search-entry-globally'.

(fn KEY &optional GLOBAL START DISPLAY)Fbibtex-style-mode
Major mode for editing BibTeX style files.

(fn)Vbinhex-begin-line
Regular expression matching the start of a BinHex encoded region.Fbinhex-decode-region-internal
Binhex decode region between START and END without using an external program.
If HEADER-ONLY is non-nil only decode header and return filename.

(fn START END &optional HEADER-ONLY)Fbinhex-decode-region-external
Binhex decode region between START and END using external decoder.

(fn START END)Fbinhex-decode-region
Binhex decode region between START and END.

(fn START END)Fblackbox
Play blackbox.
Optional prefix argument is the number of balls; the default is 4.

What is blackbox?

Blackbox is a game of hide and seek played on an 8 by 8 grid (the
Blackbox).  Your opponent (Emacs, in this case) has hidden several
balls (usually 4) within this box.  By shooting rays into the box and
observing where they emerge it is possible to deduce the positions of
the hidden balls.  The fewer rays you use to find the balls, the lower
your score.

Overview of play:

\<blackbox-mode-map>To play blackbox, type \[blackbox].  An optional prefix argument
specifies the number of balls to be hidden in the box; the default is
four.

The cursor can be moved around the box with the standard cursor
movement keys.

To shoot a ray, move the cursor to the edge of the box and press SPC.
The result will be determined and the playfield updated.

You may place or remove balls in the box by moving the cursor into the
box and pressing \[bb-romp].

When you think the configuration of balls you have placed is correct,
press \[bb-done].  You will be informed whether you are correct or
not, and be given your score.  Your score is the number of letters and
numbers around the outside of the box plus five for each incorrectly
placed ball.  If you placed any balls incorrectly, they will be
indicated with `x', and their actual positions indicated with `o'.

Details:

There are three possible outcomes for each ray you send into the box:

	Detour: the ray is deflected and emerges somewhere other than
		where you sent it in.  On the playfield, detours are
		denoted by matching pairs of numbers -- one where the
		ray went in, and the other where it came out.

	Reflection: the ray is reflected and emerges in the same place
		it was sent in.  On the playfield, reflections are
		denoted by the letter `R'.

	Hit:	the ray strikes a ball directly and is absorbed.  It does
		not emerge from the box.  On the playfield, hits are
		denoted by the letter `H'.

The rules for how balls deflect rays are simple and are best shown by
example.

As a ray approaches a ball it is deflected ninety degrees.  Rays can
be deflected multiple times.  In the diagrams below, the dashes
represent empty box locations and the letter `O' represents a ball.
The entrance and exit points of each ray are marked with numbers as
described under "Detour" above.  Note that the entrance and exit
points are always interchangeable.  `*' denotes the path taken by the
ray.

Note carefully the relative positions of the ball and the ninety
degree deflection it causes.

    1
  - * - - - - - -         - - - - - - - -         - - - - - - - -
  - * - - - - - -         - - - - - - - -         - - - - - - - -
1 * * - - - - - -         - - - - - - - -         - O - - - - O -
  - - O - - - - -         - - O - - - - -         - - * * * * - -
  - - - - - - - -         - - - * * * * * 2     3 * * * - - * - -
  - - - - - - - -         - - - * - - - -         - - - O - * - -
  - - - - - - - -         - - - * - - - -         - - - - * * - -
  - - - - - - - -         - - - * - - - -         - - - - * - O -
                                2                         3

As mentioned above, a reflection occurs when a ray emerges from the same point
it was sent in.  This can happen in several ways:


  - - - - - - - -         - - - - - - - -          - - - - - - - -
  - - - - O - - -         - - O - O - - -          - - - - - - - -
R * * * * - - - -         - - - * - - - -          O - - - - - - -
  - - - - O - - -         - - - * - - - -        R - - - - - - - -
  - - - - - - - -         - - - * - - - -          - - - - - - - -
  - - - - - - - -         - - - * - - - -          - - - - - - - -
  - - - - - - - -       R * * * * - - - -          - - - - - - - -
  - - - - - - - -         - - - - O - - -          - - - - - - - -

In the first example, the ray is deflected downwards by the upper
ball, then left by the lower ball, and finally retraces its path to
its point of origin.  The second example is similar.  The third
example is a bit anomalous but can be rationalized by realizing the
ray never gets a chance to get into the box.  Alternatively, the ray
can be thought of as being deflected downwards and immediately
emerging from the box.

A hit occurs when a ray runs straight into a ball:

  - - - - - - - -         - - - - - - - -          - - - - - - - -
  - - - - - - - -         - - - - - - - -          - - - - O - - -
  - - - - - - - -         - - - - O - - -        H * * * * - - - -
  - - - - - - - -       H * * * * O - - -          - - - * - - - -
  - - - - - - - -         - - - - O - - -          - - - O - - - -
H * * * O - - - -         - - - - - - - -          - - - - - - - -
  - - - - - - - -         - - - - - - - -          - - - - - - - -
  - - - - - - - -         - - - - - - - -          - - - - - - - -

Be sure to compare the second example of a hit with the first example of
a reflection.

(fn NUM)Vbookmark-map
Keymap containing bindings to bookmark functions.
It is not bound to any key by default: to bind it
so that you have a bookmark prefix, just use `global-set-key' and bind a
key of your choice to `bookmark-map'.  All interactive bookmark
functions have a binding in this keymap.Fbookmark-set
Set a bookmark named NAME at the current location.
If name is nil, then prompt the user.

With a prefix arg (non-nil NO-OVERWRITE), do not overwrite any
existing bookmark that has the same name as NAME, but instead push the
new bookmark onto the bookmark alist.  The most recently set bookmark
with name NAME is thus the one in effect at any given time, but the
others are still there, should the user decide to delete the most
recent one.

To yank words from the text of the buffer and use them as part of the
bookmark name, type C-w while setting a bookmark.  Successive C-w's
yank successive words.

Typing C-u inserts (at the bookmark name prompt) the name of the last
bookmark used in the document where the new bookmark is being set;
this helps you use a single bookmark name to track progress through a
large document.  If there is no prior bookmark for this document, then
C-u inserts an appropriate name based on the buffer or file.

Use \[bookmark-delete] to remove bookmarks (you give it a name and
it removes only the first instance of a bookmark with that name from
the list of bookmarks.)

(fn &optional NAME NO-OVERWRITE)Fbookmark-jump
Jump to bookmark BOOKMARK (a point in some file).
You may have a problem using this function if the value of variable
`bookmark-alist' is nil.  If that happens, you need to load in some
bookmarks.  See help on function `bookmark-load' for more about
this.

If the file pointed to by BOOKMARK no longer exists, you will be asked
if you wish to give the bookmark a new location, and `bookmark-jump'
will then jump to the new location, as well as recording it in place
of the old one in the permanent bookmark record.

BOOKMARK is usually a bookmark name (a string).  It can also be a
bookmark record, but this is usually only done by programmatic callers.

If DISPLAY-FUNC is non-nil, it is a function to invoke to display the
bookmark.  It defaults to `switch-to-buffer'.  A typical value for
DISPLAY-FUNC would be `switch-to-buffer-other-window'.

(fn BOOKMARK &optional DISPLAY-FUNC)Fbookmark-jump-other-window
Jump to BOOKMARK in another window.  See `bookmark-jump' for more.

(fn BOOKMARK)Fbookmark-relocate
Relocate BOOKMARK-NAME to another file, reading file name with minibuffer.

This makes an already existing bookmark point to that file, instead of
the one it used to point at.  Useful when a file has been renamed
after a bookmark was set in it.

(fn BOOKMARK-NAME)Fbookmark-insert-location
Insert the name of the file associated with BOOKMARK-NAME.

Optional second arg NO-HISTORY means don't record this in the
minibuffer history list `bookmark-history'.

(fn BOOKMARK-NAME &optional NO-HISTORY)Fbookmark-rename
Change the name of OLD-NAME bookmark to NEW-NAME name.
If called from keyboard, prompt for OLD-NAME and NEW-NAME.
If called from menubar, select OLD-NAME from a menu and prompt for NEW-NAME.

If called from Lisp, prompt for NEW-NAME if only OLD-NAME was passed
as an argument.  If called with two strings, then no prompting is done.
You must pass at least OLD-NAME when calling from Lisp.

While you are entering the new name, consecutive C-w's insert
consecutive words from the text of the buffer into the new bookmark
name.

(fn OLD-NAME &optional NEW-NAME)Fbookmark-insert
Insert the text of the file pointed to by bookmark BOOKMARK-NAME.
BOOKMARK-NAME is a bookmark name (a string), not a bookmark record.

You may have a problem using this function if the value of variable
`bookmark-alist' is nil.  If that happens, you need to load in some
bookmarks.  See help on function `bookmark-load' for more about
this.

(fn BOOKMARK-NAME)Fbookmark-delete
Delete BOOKMARK-NAME from the bookmark list.

Removes only the first instance of a bookmark with that name.  If
there are one or more other bookmarks with the same name, they will
not be deleted.  Defaults to the "current" bookmark (that is, the
one most recently used in this file, if any).
Optional second arg BATCH means don't update the bookmark list buffer,
probably because we were called from there.

(fn BOOKMARK-NAME &optional BATCH)Fbookmark-write
Write bookmarks to a file (reading the file name with the minibuffer).
Don't use this in Lisp programs; use `bookmark-save' instead.

(fn)Fbookmark-save
Save currently defined bookmarks.
Saves by default in the file defined by the variable
`bookmark-default-file'.  With a prefix arg, save it in file FILE
(second argument).

If you are calling this from Lisp, the two arguments are PARG and
FILE, and if you just want it to write to the default file, then
pass no arguments.  Or pass in nil and FILE, and it will save in FILE
instead.  If you pass in one argument, and it is non-nil, then the
user will be interactively queried for a file to save in.

When you want to load in the bookmarks from a file, use
`bookmark-load', \[bookmark-load].  That function will prompt you
for a file, defaulting to the file defined by variable
`bookmark-default-file'.

(fn &optional PARG FILE)Fbookmark-load
Load bookmarks from FILE (which must be in bookmark format).
Appends loaded bookmarks to the front of the list of bookmarks.  If
optional second argument OVERWRITE is non-nil, existing bookmarks are
destroyed.  Optional third arg NO-MSG means don't display any messages
while loading.

If you load a file that doesn't contain a proper bookmark alist, you
will corrupt Emacs's bookmark list.  Generally, you should only load
in files that were created with the bookmark functions in the first
place.  Your own personal bookmark file, `~/.emacs.bmk', is
maintained automatically by Emacs; you shouldn't need to load it
explicitly.

If you load a file containing bookmarks with the same names as
bookmarks already present in your Emacs, the new bookmarks will get
unique numeric suffixes "<2>", "<3>", ... following the same
method buffers use to resolve name collisions.

(fn FILE &optional OVERWRITE NO-MSG)Fbookmark-bmenu-list
Display a list of existing bookmarks.
The list is displayed in a buffer named `*Bookmark List*'.
The leftmost column displays a D if the bookmark is flagged for
deletion, or > if it is flagged for displaying.

(fn)Fbookmark-bmenu-search
Incremental search of bookmarks, hiding the non-matches as we go.

(fn)Vbrowse-url-browser-function
Function to display the current buffer in a WWW browser.
This is used by the `browse-url-at-point', `browse-url-at-mouse', and
`browse-url-of-file' commands.

If the value is not a function it should be a list of pairs
(REGEXP . FUNCTION).  In this case the function called will be the one
associated with the first REGEXP which matches the current URL.  The
function is passed the URL and any other args of `browse-url'.  The last
regexp should probably be "." to specify a default browser.Fbrowse-url-of-file
Ask a WWW browser to display FILE.
Display the current buffer's file if FILE is nil or if called
interactively.  Turn the filename into a URL with function
`browse-url-file-url'.  Pass the URL to a browser using the
`browse-url' function then run `browse-url-of-file-hook'.

(fn &optional FILE)Fbrowse-url-of-buffer
Ask a WWW browser to display BUFFER.
Display the current buffer if BUFFER is nil.  Display only the
currently visible part of BUFFER (from a temporary file) if buffer is
narrowed.

(fn &optional BUFFER)Fbrowse-url-of-dired-file
In Dired, ask a WWW browser to display the file named on this line.

(fn)Fbrowse-url-of-region
Ask a WWW browser to display the current region.

(fn MIN MAX)Fbrowse-url
Ask a WWW browser to load URL.
Prompts for a URL, defaulting to the URL at or before point.  Variable
`browse-url-browser-function' says which browser to use.
If the URL is a mailto: URL, consult `browse-url-mailto-function'
first, if that exists.

(fn URL &rest ARGS)Fbrowse-url-at-point
Ask a WWW browser to load the URL at or before point.
Doesn't let you edit the URL like `browse-url'.  Variable
`browse-url-browser-function' says which browser to use.

(fn &optional ARG)Fbrowse-url-at-mouse
Ask a WWW browser to load a URL clicked with the mouse.
The URL is the one around or before the position of the mouse click
but point is not changed.  Doesn't let you edit the URL like
`browse-url'.  Variable `browse-url-browser-function' says which browser
to use.

(fn EVENT)Fbrowse-url-xdg-open
Pass the specified URL to the "xdg-open" command.
xdg-open is a desktop utility that calls your preferred web browser.
The optional argument IGNORED is not used.

(fn URL &optional IGNORED)Fbrowse-url-netscape
Ask the Netscape WWW browser to load URL.
Default to the URL around or before point.  The strings in variable
`browse-url-netscape-arguments' are also passed to Netscape.

When called interactively, if variable `browse-url-new-window-flag' is
non-nil, load the document in a new Netscape window, otherwise use a
random existing one.  A non-nil interactive prefix argument reverses
the effect of `browse-url-new-window-flag'.

If `browse-url-netscape-new-window-is-tab' is non-nil, then
whenever a document would otherwise be loaded in a new window, it
is loaded in a new tab in an existing window instead.

When called non-interactively, optional second argument NEW-WINDOW is
used instead of `browse-url-new-window-flag'.

(fn URL &optional NEW-WINDOW)Fbrowse-url-mozilla
Ask the Mozilla WWW browser to load URL.
Default to the URL around or before point.  The strings in variable
`browse-url-mozilla-arguments' are also passed to Mozilla.

When called interactively, if variable `browse-url-new-window-flag' is
non-nil, load the document in a new Mozilla window, otherwise use a
random existing one.  A non-nil interactive prefix argument reverses
the effect of `browse-url-new-window-flag'.

If `browse-url-mozilla-new-window-is-tab' is non-nil, then whenever a
document would otherwise be loaded in a new window, it is loaded in a
new tab in an existing window instead.

When called non-interactively, optional second argument NEW-WINDOW is
used instead of `browse-url-new-window-flag'.

(fn URL &optional NEW-WINDOW)Fbrowse-url-firefox
Ask the Firefox WWW browser to load URL.
Default to the URL around or before point.  The strings in
variable `browse-url-firefox-arguments' are also passed to
Firefox.

When called interactively, if variable
`browse-url-new-window-flag' is non-nil, load the document in a
new Firefox window, otherwise use a random existing one.  A
non-nil interactive prefix argument reverses the effect of
`browse-url-new-window-flag'.

If `browse-url-firefox-new-window-is-tab' is non-nil, then
whenever a document would otherwise be loaded in a new window, it
is loaded in a new tab in an existing window instead.

When called non-interactively, optional second argument
NEW-WINDOW is used instead of `browse-url-new-window-flag'.

On MS-Windows systems the optional `new-window' parameter is
ignored.  Firefox for Windows does not support the "-remote"
command line parameter.  Therefore, the
`browse-url-new-window-flag' and `browse-url-firefox-new-window-is-tab'
are ignored as well.  Firefox on Windows will always open the requested
URL in a new window.

(fn URL &optional NEW-WINDOW)Fbrowse-url-chromium
Ask the Chromium WWW browser to load URL.
Default to the URL around or before point.  The strings in
variable `browse-url-chromium-arguments' are also passed to
Chromium.

(fn URL &optional NEW-WINDOW)Fbrowse-url-galeon
Ask the Galeon WWW browser to load URL.
Default to the URL around or before point.  The strings in variable
`browse-url-galeon-arguments' are also passed to Galeon.

When called interactively, if variable `browse-url-new-window-flag' is
non-nil, load the document in a new Galeon window, otherwise use a
random existing one.  A non-nil interactive prefix argument reverses
the effect of `browse-url-new-window-flag'.

If `browse-url-galeon-new-window-is-tab' is non-nil, then whenever a
document would otherwise be loaded in a new window, it is loaded in a
new tab in an existing window instead.

When called non-interactively, optional second argument NEW-WINDOW is
used instead of `browse-url-new-window-flag'.

(fn URL &optional NEW-WINDOW)Fbrowse-url-emacs
Ask Emacs to load URL into a buffer and show it in another window.

(fn URL &optional NEW-WINDOW)Fbrowse-url-gnome-moz
Ask Mozilla/Netscape to load URL via the GNOME program `gnome-moz-remote'.
Default to the URL around or before point.  The strings in variable
`browse-url-gnome-moz-arguments' are also passed.

When called interactively, if variable `browse-url-new-window-flag' is
non-nil, load the document in a new browser window, otherwise use an
existing one.  A non-nil interactive prefix argument reverses the
effect of `browse-url-new-window-flag'.

When called non-interactively, optional second argument NEW-WINDOW is
used instead of `browse-url-new-window-flag'.

(fn URL &optional NEW-WINDOW)Fbrowse-url-mosaic
Ask the XMosaic WWW browser to load URL.

Default to the URL around or before point.  The strings in variable
`browse-url-mosaic-arguments' are also passed to Mosaic and the
program is invoked according to the variable
`browse-url-mosaic-program'.

When called interactively, if variable `browse-url-new-window-flag' is
non-nil, load the document in a new Mosaic window, otherwise use a
random existing one.  A non-nil interactive prefix argument reverses
the effect of `browse-url-new-window-flag'.

When called non-interactively, optional second argument NEW-WINDOW is
used instead of `browse-url-new-window-flag'.

(fn URL &optional NEW-WINDOW)Fbrowse-url-cci
Ask the XMosaic WWW browser to load URL.
Default to the URL around or before point.

This function only works for XMosaic version 2.5 or later.  You must
select `CCI' from XMosaic's File menu, set the CCI Port Address to the
value of variable `browse-url-CCI-port', and enable `Accept requests'.

When called interactively, if variable `browse-url-new-window-flag' is
non-nil, load the document in a new browser window, otherwise use a
random existing one.  A non-nil interactive prefix argument reverses
the effect of `browse-url-new-window-flag'.

When called non-interactively, optional second argument NEW-WINDOW is
used instead of `browse-url-new-window-flag'.

(fn URL &optional NEW-WINDOW)Fbrowse-url-w3
Ask the w3 WWW browser to load URL.
Default to the URL around or before point.

When called interactively, if variable `browse-url-new-window-flag' is
non-nil, load the document in a new window.  A non-nil interactive
prefix argument reverses the effect of `browse-url-new-window-flag'.

When called non-interactively, optional second argument NEW-WINDOW is
used instead of `browse-url-new-window-flag'.

(fn URL &optional NEW-WINDOW)Fbrowse-url-w3-gnudoit
Ask another Emacs running gnuserv to load the URL using the W3 browser.
The `browse-url-gnudoit-program' program is used with options given by
`browse-url-gnudoit-args'.  Default to the URL around or before point.

(fn URL &optional NEW-WINDOW)Fbrowse-url-text-xterm
Ask a text browser to load URL.
URL defaults to the URL around or before point.
This runs the text browser specified by `browse-url-text-browser'.
in an Xterm window using the Xterm program named by `browse-url-xterm-program'
with possible additional arguments `browse-url-xterm-args'.

(fn URL &optional NEW-WINDOW)Fbrowse-url-text-emacs
Ask a text browser to load URL.
URL defaults to the URL around or before point.
This runs the text browser specified by `browse-url-text-browser'.
With a prefix argument, it runs a new browser process in a new buffer.

When called interactively, if variable `browse-url-new-window-flag' is
non-nil, load the document in a new browser process in a new term window,
otherwise use any existing one.  A non-nil interactive prefix argument
reverses the effect of `browse-url-new-window-flag'.

When called non-interactively, optional second argument NEW-WINDOW is
used instead of `browse-url-new-window-flag'.

(fn URL &optional NEW-BUFFER)Fbrowse-url-mail
Open a new mail message buffer within Emacs for the RFC 2368 URL.
Default to using the mailto: URL around or before point as the
recipient's address.  Supplying a non-nil interactive prefix argument
will cause the mail to be composed in another window rather than the
current one.

When called interactively, if variable `browse-url-new-window-flag' is
non-nil use `compose-mail-other-window', otherwise `compose-mail'.  A
non-nil interactive prefix argument reverses the effect of
`browse-url-new-window-flag'.

When called non-interactively, optional second argument NEW-WINDOW is
used instead of `browse-url-new-window-flag'.

(fn URL &optional NEW-WINDOW)Fbrowse-url-generic
Ask the WWW browser defined by `browse-url-generic-program' to load URL.
Default to the URL around or before point.  A fresh copy of the
browser is started up in a new process with possible additional arguments
`browse-url-generic-args'.  This is appropriate for browsers which
don't offer a form of remote control.

(fn URL &optional NEW-WINDOW)Fbrowse-url-kde
Ask the KDE WWW browser to load URL.
Default to the URL around or before point.

(fn URL &optional NEW-WINDOW)Fbrowse-url-elinks
Ask the Elinks WWW browser to load URL.
Default to the URL around the point.

The document is loaded in a new tab of a running Elinks or, if
none yet running, a newly started instance.

The Elinks command will be prepended by the program+arguments
from `browse-url-elinks-wrapper'.

(fn URL &optional NEW-WINDOW)Fbs-cycle-next
Select next buffer defined by buffer cycling.
The buffers taking part in buffer cycling are defined
by buffer configuration `bs-cycle-configuration-name'.

(fn)Fbs-cycle-previous
Select previous buffer defined by buffer cycling.
The buffers taking part in buffer cycling are defined
by buffer configuration `bs-cycle-configuration-name'.

(fn)Fbs-customize
Customization of group bs for Buffer Selection Menu.

(fn)Fbs-show
Make a menu of buffers so you can manipulate buffers or the buffer list.
\<bs-mode-map>
There are many key commands similar to `Buffer-menu-mode' for
manipulating the buffer list and the buffers themselves.
User can move with [up] or [down], select a buffer
by \[bs-select] or [SPC]

Type \[bs-kill] to leave Buffer Selection Menu without a selection.
Type \[bs-help] after invocation to get help on commands available.
With prefix argument ARG show a different buffer list.  Function
`bs--configuration-name-for-prefix-arg' determine accordingly
name of buffer configuration.

(fn ARG)Fbubbles
Play Bubbles game.
\<bubbles-mode-map>
The goal is to remove all bubbles with as few moves as possible.
\[bubbles-plop] on a bubble removes that bubble and all
connected bubbles of the same color.  Unsupported bubbles fall
down, and columns that do not contain any bubbles suck the
columns on its right towards the left.

\[bubbles-set-game-easy] sets the difficulty to easy.
\[bubbles-set-game-medium] sets the difficulty to medium.
\[bubbles-set-game-difficult] sets the difficulty to difficult.
\[bubbles-set-game-hard] sets the difficulty to hard.

(fn)Fbug-reference-mode
Toggle hyperlinking bug references in the buffer (Bug Reference mode).
With a prefix argument ARG, enable Bug Reference mode if ARG is
positive, and disable it otherwise.  If called from Lisp, enable
the mode if ARG is omitted or nil.

(fn &optional ARG)Fbug-reference-prog-mode
Like `bug-reference-mode', but only buttonize in comments and strings.

(fn &optional ARG)Fbyte-compile-disable-warning
Change `byte-compile-warnings' to disable WARNING.
If `byte-compile-warnings' is t, set it to `(not WARNING)'.
Otherwise, if the first element is `not', add WARNING, else remove it.
Normally you should let-bind `byte-compile-warnings' before calling this,
else the global value will be modified.

(fn WARNING)Fbyte-compile-enable-warning
Change `byte-compile-warnings' to enable WARNING.
If `byte-compile-warnings' is `t', do nothing.  Otherwise, if the
first element is `not', remove WARNING, else add it.
Normally you should let-bind `byte-compile-warnings' before calling this,
else the global value will be modified.

(fn WARNING)Fbyte-force-recompile
Recompile every `.el' file in DIRECTORY that already has a `.elc' file.
Files in subdirectories of DIRECTORY are processed also.

(fn DIRECTORY)Fbyte-recompile-directory
Recompile every `.el' file in DIRECTORY that needs recompilation.
This happens when a `.elc' file exists but is older than the `.el' file.
Files in subdirectories of DIRECTORY are processed also.

If the `.elc' file does not exist, normally this function *does not*
compile the corresponding `.el' file.  However, if the prefix argument
ARG is 0, that means do compile all those files.  A nonzero
ARG means ask the user, for each such `.el' file, whether to
compile it.  A nonzero ARG also means ask about each subdirectory
before scanning it.

If the third argument FORCE is non-nil, recompile every `.el' file
that already has a `.elc' file.

(fn DIRECTORY &optional ARG FORCE)Fbyte-compile-file
Compile a file of Lisp code named FILENAME into a file of byte code.
The output file's name is generated by passing FILENAME to the
function `byte-compile-dest-file' (which see).
With prefix arg (noninteractively: 2nd arg), LOAD the file after compiling.
The value is non-nil if there were no errors, nil if errors.

(fn FILENAME &optional LOAD)Fcompile-defun
Compile and evaluate the current top-level form.
Print the result in the echo area.
With argument ARG, insert value in current buffer after the form.

(fn &optional ARG)Fbyte-compile
If FORM is a symbol, byte-compile its function definition.
If FORM is a lambda or a macro, byte-compile it as a function.

(fn FORM)Fdisplay-call-tree
Display a call graph of a specified file.
This lists which functions have been called, what functions called
them, and what functions they call.  The list includes all functions
whose definitions have been compiled in this Emacs session, as well as
all functions called by those functions.

The call graph does not include macros, inline functions, or
primitives that the byte-code interpreter knows about directly (eq,
cons, etc.).

The call tree also lists those functions which are not known to be called
(that is, to which no calls have been compiled), and which cannot be
invoked interactively.

(fn &optional FILENAME)Fbatch-byte-compile-if-not-done
Like `byte-compile-file' but doesn't recompile if already up to date.
Use this from the command line, with `-batch';
it won't work in an interactive Emacs.

(fn)Fbatch-byte-compile
Run `byte-compile-file' on the files remaining on the command line.
Use this from the command line, with `-batch';
it won't work in an interactive Emacs.
Each file is processed even if an error occurred previously.
For example, invoke "emacs -batch -f batch-byte-compile $emacs/ ~/*.el".
If NOFORCE is non-nil, don't recompile a file that seems to be
already up-to-date.

(fn &optional NOFORCE)Fbatch-byte-recompile-directory
Run `byte-recompile-directory' on the dirs remaining on the command line.
Must be used only with `-batch', and kills Emacs on completion.
For example, invoke `emacs -batch -f batch-byte-recompile-directory .'.

Optional argument ARG is passed as second argument ARG to
`byte-recompile-directory'; see there for its possible values
and corresponding effects.

(fn &optional ARG)Fcalendar-hebrew-list-yahrzeits
List Yahrzeit dates for *Gregorian* DEATH-DATE from START-YEAR to END-YEAR.
When called interactively from the calendar window, the date of death is taken
from the cursor position.

(fn DEATH-DATE START-YEAR END-YEAR)Fcalc-dispatch
Invoke the GNU Emacs Calculator.  See `calc-dispatch-help' for details.

(fn &optional ARG)Fcalc
The Emacs Calculator.  Full documentation is listed under "calc-mode".

(fn &optional ARG FULL-DISPLAY INTERACTIVE)Ffull-calc
Invoke the Calculator and give it a full-sized window.

(fn &optional INTERACTIVE)Fquick-calc
Do a quick calculation in the minibuffer without invoking full Calculator.

(fn)Fcalc-eval
Do a quick calculation and return the result as a string.
Return value will either be the formatted result in string form,
or a list containing a character position and an error message in string form.

(fn STR &optional SEPARATOR &rest ARGS)Fcalc-keypad
Invoke the Calculator in "visual keypad" mode.
This is most useful in the X window system.
In this mode, click on the Calc "buttons" using the left mouse button.
Or, position the cursor manually and do M-x calc-keypad-press.

(fn &optional INTERACTIVE)Ffull-calc-keypad
Invoke the Calculator in full-screen "visual keypad" mode.
See calc-keypad for details.

(fn &optional INTERACTIVE)Fcalc-grab-region
Parse the region as a vector of numbers and push it on the Calculator stack.

(fn TOP BOT ARG)Fcalc-grab-rectangle
Parse a rectangle as a matrix of numbers and push it on the Calculator stack.

(fn TOP BOT ARG)Fcalc-embedded
Start Calc Embedded mode on the formula surrounding point.

(fn ARG &optional END OBEG OEND)Fcalc-embedded-activate
Scan the current editing buffer for all embedded := and => formulas.
Also looks for the equivalent TeX words, \gets and \evalto.

(fn &optional ARG CBUF)Fdefmath
Define Calc function.

Like `defun' except that code in the body of the definition can
make use of the full range of Calc data types and the usual
arithmetic operations are converted to their Calc equivalents.

The prefix `calcFunc-' is added to the specified name to get the
actual Lisp function name.

See Info node `(calc)Defining Functions'.

(fn FUNC ARGS &rest BODY)Fcalc-undo


(fn N)Fcalculator
Run the Emacs calculator.
See the documentation for `calculator-mode' for more information.

(fn)Fcalendar
Display a three-month Gregorian calendar.
The three months appear side by side, with the current month in
the middle surrounded by the previous and next months.  The
cursor is put on today's date.  If optional prefix argument ARG
is non-nil, prompts for the central month and year.

Once in the calendar window, future or past months can be moved
into view.  Arbitrary months can be displayed, or the calendar
can be scrolled forward or backward.  The cursor can be moved
forward or backward by one day, one week, one month, or one year.
All of these commands take prefix arguments which, when negative,
cause movement in the opposite direction.  For convenience, the
digit keys and the minus sign are automatically prefixes.  Use
\[describe-mode] for details of the key bindings in the calendar
window.

Displays the calendar in a separate window, or optionally in a
separate frame, depending on the value of `calendar-setup'.

If `calendar-view-diary-initially-flag' is non-nil, also displays the
diary entries for the current date (or however many days
`diary-number-of-entries' specifies).  This variable can be
overridden by `calendar-setup'.  As well as being displayed,
diary entries can also be marked on the calendar (see
`calendar-mark-diary-entries-flag').

Runs the following hooks:

`calendar-load-hook' - after loading calendar.el
`calendar-today-visible-hook', `calendar-today-invisible-hook' - after
   generating a calendar, if today's date is visible or not, respectively
`calendar-initial-window-hook' - after first creating a calendar

This function is suitable for execution in an init file.

(fn &optional ARG)Fcanlock-insert-header
Insert a Cancel-Key and/or a Cancel-Lock header if possible.

(fn &optional ID-FOR-KEY ID-FOR-LOCK PASSWORD)Fcanlock-verify
Verify Cancel-Lock or Cancel-Key in BUFFER.
If BUFFER is nil, the current buffer is assumed.  Signal an error if
it fails.

(fn &optional BUFFER)Fcapitalized-words-mode
Toggle Capitalized Words mode.
With a prefix argument ARG, enable Capitalized Words mode if ARG
is positive, and disable it otherwise.  If called from Lisp,
enable the mode if ARG is omitted or nil.

Capitalized Words mode is a buffer-local minor mode.  When
enabled, a word boundary occurs immediately before an uppercase
letter in a symbol.  This is in addition to all the normal
boundaries given by the syntax and category tables.  There is no
restriction to ASCII.

E.g. the beginning of words in the following identifier are as marked:

  capitalizedWorDD
  ^          ^  ^^

Note that these word boundaries only apply for word motion and
marking commands such as \[forward-word].  This mode does not affect word
boundaries found by regexp matching (`\>', `\w' &c).

This style of identifiers is common in environments like Java ones,
where underscores aren't trendy enough.  Capitalization rules are
sometimes part of the language, e.g. Haskell, which may thus encourage
such a style.  It is appropriate to add `capitalized-words-mode' to
the mode hook for programming language modes in which you encounter
variables like this, e.g. `java-mode-hook'.  It's unlikely to cause
trouble if such identifiers aren't used.

See also `glasses-mode' and `studlify-word'.
Obsoletes `c-forward-into-nomenclature'.

(fn &optional ARG)Fc-guess-basic-syntax
Return the syntactic context of the current line.

(fn)Vc-guess-guessed-offsets-alist
Currently guessed offsets-alist.Vc-guess-guessed-basic-offset
Currently guessed basic-offset.Fc-guess
Guess the style in the region up to `c-guess-region-max', and install it.

The style is given a name based on the file's absolute file name.

If given a prefix argument (or if the optional argument ACCUMULATE is
non-nil) then the previous guess is extended, otherwise a new guess is
made from scratch.

(fn &optional ACCUMULATE)Fc-guess-no-install
Guess the style in the region up to `c-guess-region-max'; don't install it.

If given a prefix argument (or if the optional argument ACCUMULATE is
non-nil) then the previous guess is extended, otherwise a new guess is
made from scratch.

(fn &optional ACCUMULATE)Fc-guess-buffer
Guess the style on the whole current buffer, and install it.

The style is given a name based on the file's absolute file name.

If given a prefix argument (or if the optional argument ACCUMULATE is
non-nil) then the previous guess is extended, otherwise a new guess is
made from scratch.

(fn &optional ACCUMULATE)Fc-guess-buffer-no-install
Guess the style on the whole current buffer; don't install it.

If given a prefix argument (or if the optional argument ACCUMULATE is
non-nil) then the previous guess is extended, otherwise a new guess is
made from scratch.

(fn &optional ACCUMULATE)Fc-guess-region
Guess the style on the region and install it.

The style is given a name based on the file's absolute file name.

If given a prefix argument (or if the optional argument ACCUMULATE is
non-nil) then the previous guess is extended, otherwise a new guess is
made from scratch.

(fn START END &optional ACCUMULATE)Fc-guess-region-no-install
Guess the style on the region; don't install it.

Every line of code in the region is examined and values for the following two
variables are guessed:

* `c-basic-offset', and
* the indentation values of the various syntactic symbols in
  `c-offsets-alist'.

The guessed values are put into `c-guess-guessed-basic-offset' and
`c-guess-guessed-offsets-alist'.

Frequencies of use are taken into account when guessing, so minor
inconsistencies in the indentation style shouldn't produce wrong guesses.

If given a prefix argument (or if the optional argument ACCUMULATE is
non-nil) then the previous examination is extended, otherwise a new
guess is made from scratch.

Note that the larger the region to guess in, the slower the guessing.
So you can limit the region with `c-guess-region-max'.

(fn START END &optional ACCUMULATE)Fc-guess-install
Install the latest guessed style into the current buffer.
(This guessed style is a combination of `c-guess-guessed-basic-offset',
`c-guess-guessed-offsets-alist' and `c-offsets-alist'.)

The style is entered into CC Mode's style system by
`c-add-style'.  Its name is either STYLE-NAME, or a name based on
the absolute file name of the file if STYLE-NAME is nil.

(fn &optional STYLE-NAME)Fc-initialize-cc-mode
Initialize CC Mode for use in the current buffer.
If the optional NEW-STYLE-INIT is nil or left out then all necessary
initialization to run CC Mode for the C language is done.  Otherwise
only some basic setup is done, and a call to `c-init-language-vars' or
`c-init-language-vars-for' is necessary too (which gives more
control).  See "cc-mode.el" for more info.

(fn &optional NEW-STYLE-INIT)Vc-mode-syntax-table
Syntax table used in c-mode buffers.Fc-mode
Major mode for editing K&R and ANSI C code.
To submit a problem report, enter `\[c-submit-bug-report]' from a
c-mode buffer.  This automatically sets up a mail buffer with version
information already added.  You just need to add a description of the
problem, including a reproducible test case, and send the message.

To see what version of CC Mode you are running, enter `\[c-version]'.

The hook `c-mode-common-hook' is run with no args at mode
initialization, then `c-mode-hook'.

Key bindings:
\{c-mode-map}

(fn)Vc++-mode-syntax-table
Syntax table used in c++-mode buffers.Fc++-mode
Major mode for editing C++ code.
To submit a problem report, enter `\[c-submit-bug-report]' from a
c++-mode buffer.  This automatically sets up a mail buffer with
version information already added.  You just need to add a description
of the problem, including a reproducible test case, and send the
message.

To see what version of CC Mode you are running, enter `\[c-version]'.

The hook `c-mode-common-hook' is run with no args at mode
initialization, then `c++-mode-hook'.

Key bindings:
\{c++-mode-map}

(fn)Vobjc-mode-syntax-table
Syntax table used in objc-mode buffers.Fobjc-mode
Major mode for editing Objective C code.
To submit a problem report, enter `\[c-submit-bug-report]' from an
objc-mode buffer.  This automatically sets up a mail buffer with
version information already added.  You just need to add a description
of the problem, including a reproducible test case, and send the
message.

To see what version of CC Mode you are running, enter `\[c-version]'.

The hook `c-mode-common-hook' is run with no args at mode
initialization, then `objc-mode-hook'.

Key bindings:
\{objc-mode-map}

(fn)Vjava-mode-syntax-table
Syntax table used in java-mode buffers.Fjava-mode
Major mode for editing Java code.
To submit a problem report, enter `\[c-submit-bug-report]' from a
java-mode buffer.  This automatically sets up a mail buffer with
version information already added.  You just need to add a description
of the problem, including a reproducible test case, and send the
message.

To see what version of CC Mode you are running, enter `\[c-version]'.

The hook `c-mode-common-hook' is run with no args at mode
initialization, then `java-mode-hook'.

Key bindings:
\{java-mode-map}

(fn)Vidl-mode-syntax-table
Syntax table used in idl-mode buffers.Fidl-mode
Major mode for editing CORBA's IDL, PSDL and CIDL code.
To submit a problem report, enter `\[c-submit-bug-report]' from an
idl-mode buffer.  This automatically sets up a mail buffer with
version information already added.  You just need to add a description
of the problem, including a reproducible test case, and send the
message.

To see what version of CC Mode you are running, enter `\[c-version]'.

The hook `c-mode-common-hook' is run with no args at mode
initialization, then `idl-mode-hook'.

Key bindings:
\{idl-mode-map}

(fn)Vpike-mode-syntax-table
Syntax table used in pike-mode buffers.Fpike-mode
Major mode for editing Pike code.
To submit a problem report, enter `\[c-submit-bug-report]' from a
pike-mode buffer.  This automatically sets up a mail buffer with
version information already added.  You just need to add a description
of the problem, including a reproducible test case, and send the
message.

To see what version of CC Mode you are running, enter `\[c-version]'.

The hook `c-mode-common-hook' is run with no args at mode
initialization, then `pike-mode-hook'.

Key bindings:
\{pike-mode-map}

(fn)Fawk-mode
Major mode for editing AWK code.
To submit a problem report, enter `\[c-submit-bug-report]' from an
awk-mode buffer.  This automatically sets up a mail buffer with version
information already added.  You just need to add a description of the
problem, including a reproducible test case, and send the message.

To see what version of CC Mode you are running, enter `\[c-version]'.

The hook `c-mode-common-hook' is run with no args at mode
initialization, then `awk-mode-hook'.

Key bindings:
\{awk-mode-map}

(fn)Fc-set-style
Set the current buffer to use the style STYLENAME.
STYLENAME, a string, must be an existing CC Mode style - These are contained
in the variable `c-style-alist'.

The variable `c-indentation-style' will get set to STYLENAME.

"Setting the style" is done by setting CC Mode's "style variables" to the
values indicated by the pertinent entry in `c-style-alist'.  Other variables
might get set too.

If DONT-OVERRIDE is neither nil nor t, style variables whose default values
have been set (more precisely, whose default values are not the symbol
`set-from-style') will not be changed.  This avoids overriding global settings
done in your init file.  It is useful to call c-set-style from a mode hook
in this way.

If DONT-OVERRIDE is t, style variables that already have values (i.e., whose
values are not the symbol `set-from-style') will not be overridden.  CC Mode
calls c-set-style internally in this way whilst initializing a buffer; if
cc-set-style is called like this from anywhere else, it will usually behave as
a null operation.

(fn STYLENAME &optional DONT-OVERRIDE)Fc-add-style
Adds a style to `c-style-alist', or updates an existing one.
STYLE is a string identifying the style to add or update.  DESCRIPTION
is an association list describing the style and must be of the form:

  ([BASESTYLE] (VARIABLE . VALUE) [(VARIABLE . VALUE) ...])

See the variable `c-style-alist' for the semantics of BASESTYLE,
VARIABLE and VALUE.  This function also sets the current style to
STYLE using `c-set-style' if the optional SET-P flag is non-nil.

(fn STYLE DESCRIPTION &optional SET-P)Fc-set-offset
Change the value of a syntactic element symbol in `c-offsets-alist'.
SYMBOL is the syntactic element symbol to change and OFFSET is the new
offset for that syntactic element.  The optional argument is not used
and exists only for compatibility reasons.

(fn SYMBOL OFFSET &optional IGNORED)Fccl-compile
Return the compiled code of CCL-PROGRAM as a vector of integers.

(fn CCL-PROGRAM)Fccl-dump
Disassemble compiled CCL-CODE.

(fn CCL-CODE)Fdeclare-ccl-program
Declare NAME as a name of CCL program.

This macro exists for backward compatibility.  In the old version of
Emacs, to compile a CCL program which calls another CCL program not
yet defined, it must be declared as a CCL program in advance.  But,
now CCL program names are resolved not at compile time but before
execution.

Optional arg VECTOR is a compiled CCL code of the CCL program.

(fn NAME &optional VECTOR)Fdefine-ccl-program
Set NAME the compiled code of CCL-PROGRAM.

CCL-PROGRAM has this form:
	(BUFFER_MAGNIFICATION
	 CCL_MAIN_CODE
	 [ CCL_EOF_CODE ])

BUFFER_MAGNIFICATION is an integer value specifying the approximate
output buffer magnification size compared with the bytes of input data
text.  It is assured that the actual output buffer has 256 bytes
more than the size calculated by BUFFER_MAGNIFICATION.
If the value is zero, the CCL program can't execute `read' and
`write' commands.

CCL_MAIN_CODE and CCL_EOF_CODE are CCL program codes.  CCL_MAIN_CODE
executed at first.  If there's no more input data when `read' command
is executed in CCL_MAIN_CODE, CCL_EOF_CODE is executed.  If
CCL_MAIN_CODE is terminated, CCL_EOF_CODE is not executed.

Here's the syntax of CCL program code in BNF notation.  The lines
starting by two semicolons (and optional leading spaces) describe the
semantics.

CCL_MAIN_CODE := CCL_BLOCK

CCL_EOF_CODE := CCL_BLOCK

CCL_BLOCK := STATEMENT | (STATEMENT [STATEMENT ...])

STATEMENT :=
	SET | IF | BRANCH | LOOP | REPEAT | BREAK | READ | WRITE | CALL
	| TRANSLATE | MAP | LOOKUP | END

SET :=	(REG = EXPRESSION)
	| (REG ASSIGNMENT_OPERATOR EXPRESSION)
	;; The following form is the same as (r0 = integer).
	| integer

EXPRESSION := ARG | (EXPRESSION OPERATOR ARG)

;; Evaluate EXPRESSION.  If the result is nonzero, execute
;; CCL_BLOCK_0.  Otherwise, execute CCL_BLOCK_1.
IF :=	(if EXPRESSION CCL_BLOCK_0 CCL_BLOCK_1)

;; Evaluate EXPRESSION.  Provided that the result is N, execute
;; CCL_BLOCK_N.
BRANCH := (branch EXPRESSION CCL_BLOCK_0 [CCL_BLOCK_1 ...])

;; Execute STATEMENTs until (break) or (end) is executed.
LOOP := (loop STATEMENT [STATEMENT ...])

;; Terminate the most inner loop.
BREAK := (break)

REPEAT :=
	;; Jump to the head of the most inner loop.
	(repeat)
	;; Same as: ((write [REG | integer | string])
	;;	     (repeat))
	| (write-repeat [REG | integer | string])
	;; Same as: ((write REG [ARRAY])
	;;	     (read REG)
	;;	     (repeat))
	| (write-read-repeat REG [ARRAY])
	;; Same as: ((write integer)
	;;	     (read REG)
	;;	     (repeat))
	| (write-read-repeat REG integer)

READ := ;; Set REG_0 to a byte read from the input text, set REG_1
	;; to the next byte read, and so on.
	(read REG_0 [REG_1 ...])
	;; Same as: ((read REG)
	;;	     (if (REG OPERATOR ARG) CCL_BLOCK_0 CCL_BLOCK_1))
	| (read-if (REG OPERATOR ARG) CCL_BLOCK_0 CCL_BLOCK_1)
	;; Same as: ((read REG)
	;;	     (branch REG CCL_BLOCK_0 [CCL_BLOCK_1 ...]))
	| (read-branch REG CCL_BLOCK_0 [CCL_BLOCK_1 ...])
	;; Read a character from the input text while parsing
	;; multibyte representation, set REG_0 to the charset ID of
	;; the character, set REG_1 to the code point of the
	;; character.  If the dimension of charset is two, set REG_1
	;; to ((CODE0 << 7) | CODE1), where CODE0 is the first code
	;; point and CODE1 is the second code point.
	| (read-multibyte-character REG_0 REG_1)

WRITE :=
	;; Write REG_0, REG_1, ... to the output buffer.  If REG_N is
	;; a multibyte character, write the corresponding multibyte
	;; representation.
	(write REG_0 [REG_1 ...])
	;; Same as: ((r7 = EXPRESSION)
	;;	     (write r7))
	| (write EXPRESSION)
	;; Write the value of `integer' to the output buffer.  If it
	;; is a multibyte character, write the corresponding multibyte
	;; representation.
	| (write integer)
	;; Write the byte sequence of `string' as is to the output
	;; buffer.
	| (write string)
	;; Same as: (write string)
	| string
	;; Provided that the value of REG is N, write Nth element of
	;; ARRAY to the output buffer.  If it is a multibyte
	;; character, write the corresponding multibyte
	;; representation.
	| (write REG ARRAY)
	;; Write a multibyte representation of a character whose
	;; charset ID is REG_0 and code point is REG_1.  If the
	;; dimension of the charset is two, REG_1 should be ((CODE0 <<
	;; 7) | CODE1), where CODE0 is the first code point and CODE1
	;; is the second code point of the character.
	| (write-multibyte-character REG_0 REG_1)

;; Call CCL program whose name is ccl-program-name.
CALL := (call ccl-program-name)

;; Terminate the CCL program.
END := (end)

;; CCL registers that can contain any integer value.  As r7 is also
;; used by CCL interpreter, its value is changed unexpectedly.
REG := r0 | r1 | r2 | r3 | r4 | r5 | r6 | r7

ARG := REG | integer

OPERATOR :=
	;; Normal arithmetic operators (same meaning as C code).
	+ | - | * | / | %

	;; Bitwise operators (same meaning as C code)
	| & | `|' | ^

	;; Shifting operators (same meaning as C code)
	| << | >>

	;; (REG = ARG_0 <8 ARG_1) means:
	;;	(REG = ((ARG_0 << 8) | ARG_1))
	| <8

	;; (REG = ARG_0 >8 ARG_1) means:
	;;	((REG = (ARG_0 >> 8))
	;;	 (r7 = (ARG_0 & 255)))
	| >8

	;; (REG = ARG_0 // ARG_1) means:
	;;	((REG = (ARG_0 / ARG_1))
	;;	 (r7 = (ARG_0 % ARG_1)))
	| //

	;; Normal comparing operators (same meaning as C code)
	| < | > | == | <= | >= | !=

	;; If ARG_0 and ARG_1 are higher and lower byte of Shift-JIS
	;; code, and CHAR is the corresponding JISX0208 character,
	;; (REG = ARG_0 de-sjis ARG_1) means:
	;;	((REG = CODE0)
	;;	 (r7 = CODE1))
	;; where CODE0 is the first code point of CHAR, CODE1 is the
	;; second code point of CHAR.
	| de-sjis

	;; If ARG_0 and ARG_1 are the first and second code point of
	;; JISX0208 character CHAR, and SJIS is the corresponding
	;; Shift-JIS code,
	;; (REG = ARG_0 en-sjis ARG_1) means:
	;;	((REG = HIGH)
	;;	 (r7 = LOW))
	;; where HIGH is the higher byte of SJIS, LOW is the lower
	;; byte of SJIS.
	| en-sjis

ASSIGNMENT_OPERATOR :=
	;; Same meaning as C code
	+= | -= | *= | /= | %= | &= | `|=' | ^= | <<= | >>=

	;; (REG <8= ARG) is the same as:
	;;	((REG <<= 8)
	;;	 (REG |= ARG))
	| <8=

	;; (REG >8= ARG) is the same as:
	;;	((r7 = (REG & 255))
	;;	 (REG >>= 8))

	;; (REG //= ARG) is the same as:
	;;	((r7 = (REG % ARG))
	;;	 (REG /= ARG))
	| //=

ARRAY := `[' integer ... `]'


TRANSLATE :=
	(translate-character REG(table) REG(charset) REG(codepoint))
	| (translate-character SYMBOL REG(charset) REG(codepoint))
        ;; SYMBOL must refer to a table defined by `define-translation-table'.
LOOKUP :=
	(lookup-character SYMBOL REG(charset) REG(codepoint))
	| (lookup-integer SYMBOL REG(integer))
        ;; SYMBOL refers to a table defined by `define-translation-hash-table'.
MAP :=
     (iterate-multiple-map REG REG MAP-IDs)
     | (map-multiple REG REG (MAP-SET))
     | (map-single REG REG MAP-ID)
MAP-IDs := MAP-ID ...
MAP-SET := MAP-IDs | (MAP-IDs) MAP-SET
MAP-ID := integer

(fn NAME CCL-PROGRAM &optional DOC)Fcheck-ccl-program
Check validity of CCL-PROGRAM.
If CCL-PROGRAM is a symbol denoting a CCL program, return
CCL-PROGRAM, else return nil.
If CCL-PROGRAM is a vector and optional arg NAME (symbol) is supplied,
register CCL-PROGRAM by name NAME, and return NAME.

(fn CCL-PROGRAM &optional NAME)Fccl-execute-with-args
Execute CCL-PROGRAM with registers initialized by the remaining args.
The return value is a vector of resulting CCL registers.

See the documentation of `define-ccl-program' for the detail of CCL program.

(fn CCL-PROG &rest ARGS)Fcconv-closure-convert
Main entry point for closure conversion.
-- FORM is a piece of Elisp code after macroexpansion.
-- TOPLEVEL(optional) is a boolean variable, true if we are at the root of AST

Returns a form where all lambdas don't have any free variables.

(fn FORM)Fcfengine3-mode
Major mode for editing CFEngine3 input.
There are no special keybindings by default.

Action blocks are treated as defuns, i.e. \[beginning-of-defun] moves
to the action header.

(fn)Fcfengine2-mode
Major mode for editing CFEngine2 input.
There are no special keybindings by default.

Action blocks are treated as defuns, i.e. \[beginning-of-defun] moves
to the action header.

(fn)Fcfengine-auto-mode
Choose between `cfengine2-mode' and `cfengine3-mode' depending
on the buffer contents

(fn)Fcheck-declare-file
Check veracity of all `declare-function' statements in FILE.
See `check-declare-directory' for more information.

(fn FILE)Fcheck-declare-directory
Check veracity of all `declare-function' statements under directory ROOT.
Returns non-nil if any false statements are found.

(fn ROOT)Fcheckdoc-list-of-strings-p


(fn OBJ)Fcheckdoc
Interactively check the entire buffer for style errors.
The current status of the check will be displayed in a buffer which
the users will view as each check is completed.

(fn)Fcheckdoc-interactive
Interactively check the current buffer for doc string errors.
Prefix argument START-HERE will start the checking from the current
point, otherwise the check starts at the beginning of the current
buffer.  Allows navigation forward and backwards through document
errors.  Does not check for comment or space warnings.
Optional argument SHOWSTATUS indicates that we should update the
checkdoc status window instead of the usual behavior.

(fn &optional START-HERE SHOWSTATUS)Fcheckdoc-message-interactive
Interactively check the current buffer for message string errors.
Prefix argument START-HERE will start the checking from the current
point, otherwise the check starts at the beginning of the current
buffer.  Allows navigation forward and backwards through document
errors.  Does not check for comment or space warnings.
Optional argument SHOWSTATUS indicates that we should update the
checkdoc status window instead of the usual behavior.

(fn &optional START-HERE SHOWSTATUS)Fcheckdoc-eval-current-buffer
Evaluate and check documentation for the current buffer.
Evaluation is done first because good documentation for something that
doesn't work is just not useful.  Comments, doc strings, and rogue
spacing are all verified.

(fn)Fcheckdoc-current-buffer
Check current buffer for document, comment, error style, and rogue spaces.
With a prefix argument (in Lisp, the argument TAKE-NOTES),
store all errors found in a warnings buffer,
otherwise stop after the first error.

(fn &optional TAKE-NOTES)Fcheckdoc-start
Start scanning the current buffer for documentation string style errors.
Only documentation strings are checked.
Use `checkdoc-continue' to continue checking if an error cannot be fixed.
Prefix argument TAKE-NOTES means to collect all the warning messages into
a separate buffer.

(fn &optional TAKE-NOTES)Fcheckdoc-continue
Find the next doc string in the current buffer which has a style error.
Prefix argument TAKE-NOTES means to continue through the whole buffer and
save warnings in a separate buffer.  Second optional argument START-POINT
is the starting location.  If this is nil, `point-min' is used instead.

(fn &optional TAKE-NOTES)Fcheckdoc-comments
Find missing comment sections in the current Emacs Lisp file.
Prefix argument TAKE-NOTES non-nil means to save warnings in a
separate buffer.  Otherwise print a message.  This returns the error
if there is one.

(fn &optional TAKE-NOTES)Fcheckdoc-rogue-spaces
Find extra spaces at the end of lines in the current file.
Prefix argument TAKE-NOTES non-nil means to save warnings in a
separate buffer.  Otherwise print a message.  This returns the error
if there is one.
Optional argument INTERACT permits more interactive fixing.

(fn &optional TAKE-NOTES INTERACT)Fcheckdoc-message-text
Scan the buffer for occurrences of the error function, and verify text.
Optional argument TAKE-NOTES causes all errors to be logged.

(fn &optional TAKE-NOTES)Fcheckdoc-eval-defun
Evaluate the current form with `eval-defun' and check its documentation.
Evaluation is done first so the form will be read before the
documentation is checked.  If there is a documentation error, then the display
of what was evaluated will be overwritten by the diagnostic message.

(fn)Fcheckdoc-defun
Examine the doc string of the function or variable under point.
Call `error' if the doc string has problems.  If NO-ERROR is
non-nil, then do not call error, but call `message' instead.
If the doc string passes the test, then check the function for rogue white
space at the end of each line.

(fn &optional NO-ERROR)Fcheckdoc-ispell
Check the style and spelling of everything interactively.
Calls `checkdoc' with spell-checking turned on.
Prefix argument TAKE-NOTES is the same as for `checkdoc'

(fn &optional TAKE-NOTES)Fcheckdoc-ispell-current-buffer
Check the style and spelling of the current buffer.
Calls `checkdoc-current-buffer' with spell-checking turned on.
Prefix argument TAKE-NOTES is the same as for `checkdoc-current-buffer'

(fn &optional TAKE-NOTES)Fcheckdoc-ispell-interactive
Check the style and spelling of the current buffer interactively.
Calls `checkdoc-interactive' with spell-checking turned on.
Prefix argument TAKE-NOTES is the same as for `checkdoc-interactive'

(fn &optional TAKE-NOTES)Fcheckdoc-ispell-message-interactive
Check the style and spelling of message text interactively.
Calls `checkdoc-message-interactive' with spell-checking turned on.
Prefix argument TAKE-NOTES is the same as for `checkdoc-message-interactive'

(fn &optional TAKE-NOTES)Fcheckdoc-ispell-message-text
Check the style and spelling of message text interactively.
Calls `checkdoc-message-text' with spell-checking turned on.
Prefix argument TAKE-NOTES is the same as for `checkdoc-message-text'

(fn &optional TAKE-NOTES)Fcheckdoc-ispell-start
Check the style and spelling of the current buffer.
Calls `checkdoc-start' with spell-checking turned on.
Prefix argument TAKE-NOTES is the same as for `checkdoc-start'

(fn &optional TAKE-NOTES)Fcheckdoc-ispell-continue
Check the style and spelling of the current buffer after point.
Calls `checkdoc-continue' with spell-checking turned on.
Prefix argument TAKE-NOTES is the same as for `checkdoc-continue'

(fn &optional TAKE-NOTES)Fcheckdoc-ispell-comments
Check the style and spelling of the current buffer's comments.
Calls `checkdoc-comments' with spell-checking turned on.
Prefix argument TAKE-NOTES is the same as for `checkdoc-comments'

(fn &optional TAKE-NOTES)Fcheckdoc-ispell-defun
Check the style and spelling of the current defun with Ispell.
Calls `checkdoc-defun' with spell-checking turned on.
Prefix argument TAKE-NOTES is the same as for `checkdoc-defun'

(fn &optional TAKE-NOTES)Fcheckdoc-minor-mode
Toggle automatic docstring checking (Checkdoc minor mode).
With a prefix argument ARG, enable Checkdoc minor mode if ARG is
positive, and disable it otherwise.  If called from Lisp, enable
the mode if ARG is omitted or nil.

In Checkdoc minor mode, the usual bindings for `eval-defun' which is
bound to \<checkdoc-minor-mode-map>\[checkdoc-eval-defun] and `checkdoc-eval-current-buffer' are overridden to include
checking of documentation strings.

\{checkdoc-minor-mode-map}

(fn &optional ARG)Fdecode-hz-region
Decode HZ/ZW encoded text in the current region.
Return the length of resulting text.

(fn BEG END)Fdecode-hz-buffer
Decode HZ/ZW encoded text in the current buffer.

(fn)Fencode-hz-region
Encode the text in the current region to HZ.
Return the length of resulting text.

(fn BEG END)Fencode-hz-buffer
Encode the text in the current buffer to HZ.

(fn)Fpost-read-decode-hz


(fn LEN)Fpre-write-encode-hz


(fn FROM TO)Frepeat-matching-complex-command
Edit and re-evaluate complex command with name matching PATTERN.
Matching occurrences are displayed, most recent first, until you select
a form for evaluation.  If PATTERN is empty (or nil), every form in the
command history is offered.  The form is placed in the minibuffer for
editing and the result is evaluated.

(fn &optional PATTERN)Flist-command-history
List history of commands typed to minibuffer.
The number of commands listed is controlled by `list-command-history-max'.
Calls value of `list-command-history-filter' (if non-nil) on each history
element to judge if that element should be excluded from the list.

The buffer is left in Command History mode.

(fn)Fcommand-history
Examine commands from `command-history' in a buffer.
The number of commands listed is controlled by `list-command-history-max'.
The command history is filtered by `list-command-history-filter' if non-nil.
Use \<command-history-map>\[command-history-repeat] to repeat the command on the current line.

Otherwise much like Emacs-Lisp Mode except that there is no self-insertion
and digits provide prefix arguments.  Tab does not indent.
\{command-history-map}

This command always recompiles the Command History listing
and runs the normal hook `command-history-hook'.

(fn)Fcommon-lisp-indent-function
Function to indent the arguments of a Lisp function call.
This is suitable for use as the value of the variable
`lisp-indent-function'.  INDENT-POINT is the point at which the
indentation function is called, and STATE is the
`parse-partial-sexp' state at that position.  Browse the
`lisp-indent' customize group for options affecting the behavior
of this function.

If the indentation point is in a call to a Lisp function, that
function's `common-lisp-indent-function' property specifies how
this function should indent it.  Possible values for this
property are:

* defun, meaning indent according to `lisp-indent-defun-method';
  i.e., like (4 &lambda &body), as explained below.

* any other symbol, meaning a function to call.  The function should
  take the arguments: PATH STATE INDENT-POINT SEXP-COLUMN NORMAL-INDENT.
  PATH is a list of integers describing the position of point in terms of
  list-structure with respect to the containing lists.  For example, in
  ((a b c (d foo) f) g), foo has a path of (0 3 1).  In other words,
  to reach foo take the 0th element of the outermost list, then
  the 3rd element of the next list, and finally the 1st element.
  STATE and INDENT-POINT are as in the arguments to
  `common-lisp-indent-function'.  SEXP-COLUMN is the column of
  the open parenthesis of the innermost containing list.
  NORMAL-INDENT is the column the indentation point was
  originally in.  This function should behave like `lisp-indent-259'.

* an integer N, meaning indent the first N arguments like
  function arguments, and any further arguments like a body.
  This is equivalent to (4 4 ... &body).

* a list.  The list element in position M specifies how to indent the Mth
  function argument.  If there are fewer elements than function arguments,
  the last list element applies to all remaining arguments.  The accepted
  list elements are:

  * nil, meaning the default indentation.

  * an integer, specifying an explicit indentation.

  * &lambda.  Indent the argument (which may be a list) by 4.

  * &rest.  When used, this must be the penultimate element.  The
    element after this one applies to all remaining arguments.

  * &body.  This is equivalent to &rest lisp-body-indent, i.e., indent
    all remaining elements by `lisp-body-indent'.

  * &whole.  This must be followed by nil, an integer, or a
    function symbol.  This indentation is applied to the
    associated argument, and as a base indent for all remaining
    arguments.  For example, an integer P means indent this
    argument by P, and all remaining arguments by P, plus the
    value specified by their associated list element.

  * a symbol.  A function to call, with the 6 arguments specified above.

  * a list, with elements as described above.  This applies when the
    associated function argument is itself a list.  Each element of the list
    specifies how to indent the associated argument.

For example, the function `case' has an indent property
(4 &rest (&whole 2 &rest 1)), meaning:
  * indent the first argument by 4.
  * arguments after the first should be lists, and there may be any number
    of them.  The first list element has an offset of 2, all the rest
    have an offset of 2+1=3.

(fn INDENT-POINT STATE)Vcl-custom-print-functions
This is a list of functions that format user objects for printing.
Each function is called in turn with three arguments: the object, the
stream, and the print level (currently ignored).  If it is able to
print the object it returns true; otherwise it returns nil and the
printer proceeds to the next function on the list.

This variable is not used at present, but it is defined in hopes that
a future Emacs interpreter will be able to use it.Fc-macro-expand
Expand C macros in the region, using the C preprocessor.
Normally display output in temp buffer, but
prefix arg means replace the region with it.

`c-macro-preprocessor' specifies the preprocessor to use.
Tf the user option `c-macro-prompt-flag' is non-nil
prompt for arguments to the preprocessor (e.g. `-DDEBUG -I ./include'),
otherwise use `c-macro-cppflags'.

Noninteractive args are START, END, SUBST.
For use inside Lisp programs, see also `c-macro-expansion'.

(fn START END SUBST)Frun-scheme
Run an inferior Scheme process, input and output via buffer `*scheme*'.
If there is a process already running in `*scheme*', switch to that buffer.
With argument, allows you to edit the command line (default is value
of `scheme-program-name').
If the file `~/.emacs_SCHEMENAME' or `~/.emacs.d/init_SCHEMENAME.scm' exists,
it is given as initial input.
Note that this may lose due to a timing error if the Scheme processor
discards input when it starts up.
Runs the hook `inferior-scheme-mode-hook' (after the `comint-mode-hook'
is run).
(Type \[describe-mode] in the process buffer for a list of commands.)

(fn CMD)Fcolor-name-to-rgb
Convert COLOR string to a list of normalized RGB components.
COLOR should be a color name (e.g. "white") or an RGB triplet
string (e.g. "#ff12ec").

Normally the return value is a list of three floating-point
numbers, (RED GREEN BLUE), each between 0.0 and 1.0 inclusive.

Optional argument FRAME specifies the frame where the color is to be
displayed.  If FRAME is omitted or nil, use the selected frame.
If FRAME cannot display COLOR, return nil.

(fn COLOR &optional FRAME)Vcomint-output-filter-functions
Functions to call after output is inserted into the buffer.
One possible function is `comint-postoutput-scroll-to-bottom'.
These functions get one argument, a string containing the text as originally
inserted.  Note that this might not be the same as the buffer contents between
`comint-last-output-start' and the buffer's `process-mark', if other filter
functions have already modified the buffer.

See also `comint-preoutput-filter-functions'.

You can use `add-hook' to add functions to this list
either globally or locally.Fmake-comint-in-buffer
Make a Comint process NAME in BUFFER, running PROGRAM.
If BUFFER is nil, it defaults to NAME surrounded by `*'s.
If there is a running process in BUFFER, it is not restarted.

PROGRAM should be one of the following:
- a string, denoting an executable program to create via
  `start-file-process'
- a cons pair of the form (HOST . SERVICE), denoting a TCP
  connection to be opened via `open-network-stream'
- nil, denoting a newly-allocated pty.

Optional fourth arg STARTFILE is the name of a file, whose
contents are sent to the process as its initial input.

If PROGRAM is a string, any more args are arguments to PROGRAM.

Return the (possibly newly created) process buffer.

(fn NAME BUFFER PROGRAM &optional STARTFILE &rest SWITCHES)Fmake-comint
Make a Comint process NAME in a buffer, running PROGRAM.
The name of the buffer is made by surrounding NAME with `*'s.
PROGRAM should be either a string denoting an executable program to create
via `start-file-process', or a cons pair of the form (HOST . SERVICE) denoting
a TCP connection to be opened via `open-network-stream'.  If there is already
a running process in that buffer, it is not restarted.  Optional third arg
STARTFILE is the name of a file, whose contents are sent to the
process as its initial input.

If PROGRAM is a string, any more args are arguments to PROGRAM.

Returns the (possibly newly created) process buffer.

(fn NAME PROGRAM &optional STARTFILE &rest SWITCHES)Fcomint-run
Run PROGRAM in a Comint buffer and switch to it.
The buffer name is made by surrounding the file name of PROGRAM with `*'s.
The file name is used to make a symbol name, such as `comint-sh-hook', and any
hooks on this symbol are run in the buffer.
See `make-comint' and `comint-exec'.

(fn PROGRAM)Vcomint-file-name-prefix
Prefix prepended to absolute file names taken from process input.
This is used by Comint's and shell's completion functions, and by shell's
directory tracking functions.Fcomint-redirect-send-command
Send COMMAND to process in current buffer, with output to OUTPUT-BUFFER.
With prefix arg ECHO, echo output in process buffer.

If NO-DISPLAY is non-nil, do not show the output buffer.

(fn COMMAND OUTPUT-BUFFER ECHO &optional NO-DISPLAY)Fcomint-redirect-send-command-to-process
Send COMMAND to PROCESS, with output to OUTPUT-BUFFER.
With prefix arg, echo output in process buffer.

If NO-DISPLAY is non-nil, do not show the output buffer.

(fn COMMAND OUTPUT-BUFFER PROCESS ECHO &optional NO-DISPLAY)Fcomint-redirect-results-list
Send COMMAND to current process.
Return a list of expressions in the output which match REGEXP.
REGEXP-GROUP is the regular expression group in REGEXP to use.

(fn COMMAND REGEXP REGEXP-GROUP)Fcomint-redirect-results-list-from-process
Send COMMAND to PROCESS.
Return a list of expressions in the output which match REGEXP.
REGEXP-GROUP is the regular expression group in REGEXP to use.

(fn PROCESS COMMAND REGEXP REGEXP-GROUP)Fcompare-windows
Compare text in current window with text in next window.
Compares the text starting at point in each window,
moving over text in each one as far as they match.

This command pushes the mark in each window
at the prior location of point in that window.
If both windows display the same buffer,
the mark is pushed twice in that buffer:
first in the other window, then in the selected window.

A prefix arg means reverse the value of variable
`compare-ignore-whitespace'.  If `compare-ignore-whitespace' is
nil, then a prefix arg means ignore changes in whitespace.  If
`compare-ignore-whitespace' is non-nil, then a prefix arg means
don't ignore changes in whitespace.  The variable
`compare-windows-whitespace' controls how whitespace is skipped.
If `compare-ignore-case' is non-nil, changes in case are also
ignored.

If `compare-windows-sync' is non-nil, then successive calls of
this command work in interlaced mode:
on first call it advances points to the next difference,
on second call it synchronizes points by skipping the difference,
on third call it again advances points to the next difference and so on.

(fn IGNORE-WHITESPACE)Vcompilation-mode-hook
List of hook functions run by `compilation-mode' (see `run-mode-hooks').Vcompilation-start-hook
List of hook functions run by `compilation-start' on the compilation process.
(See `run-hook-with-args').
If you use "omake -P" and do not want \[save-buffers-kill-terminal] to ask whether you want
the compilation to be killed, you can use this hook:
  (add-hook 'compilation-start-hook
    (lambda (process) (set-process-query-on-exit-flag process nil)) nil t)Vcompilation-window-height
Number of lines in a compilation window.  If nil, use Emacs default.Vcompilation-process-setup-function
Function to call to customize the compilation process.
This function is called immediately before the compilation process is
started.  It can be used to set any variables or functions that are used
while processing the output of the compilation process.Vcompilation-buffer-name-function
Function to compute the name of a compilation buffer.
The function receives one argument, the name of the major mode of the
compilation buffer.  It should return a string.
If nil, compute the name with `(concat "*" (downcase major-mode) "*")'.Vcompilation-finish-function
Function to call when a compilation process finishes.
It is called with two arguments: the compilation buffer, and a string
describing how the process finished.Vcompilation-finish-functions
Functions to call when a compilation process finishes.
Each function is called with two arguments: the compilation buffer,
and a string describing how the process finished.Vcompilation-ask-about-save
Non-nil means \[compile] asks which buffers to save before compiling.
Otherwise, it saves all modified buffers without asking.Vcompilation-search-path
List of directories to search for source files named in error messages.
Elements should be directory names, not file names of directories.
The value nil as an element means to try the default directory.Vcompile-command
Last shell command used to do a compilation; default for next compilation.

Sometimes it is useful for files to supply local values for this variable.
You might also use mode hooks to specify it in certain modes, like this:

    (add-hook 'c-mode-hook
       (lambda ()
	 (unless (or (file-exists-p "makefile")
		     (file-exists-p "Makefile"))
	   (set (make-local-variable 'compile-command)
		(concat "make -k "
			(file-name-sans-extension buffer-file-name))))))Vcompilation-disable-input
If non-nil, send end-of-file as compilation process input.
This only affects platforms that support asynchronous processes (see
`start-process'); synchronous compilation processes never accept input.Fcompile
Compile the program including the current buffer.  Default: run `make'.
Runs COMMAND, a shell command, in a separate process asynchronously
with output going to the buffer `*compilation*'.

You can then use the command \[next-error] to find the next error message
and move to the source code that caused it.

If optional second arg COMINT is t the buffer will be in Comint mode with
`compilation-shell-minor-mode'.

Interactively, prompts for the command if `compilation-read-command' is
non-nil; otherwise uses `compile-command'.  With prefix arg, always prompts.
Additionally, with universal prefix arg, compilation buffer will be in
comint mode, i.e. interactive.

To run more than one compilation at once, start one then rename
the `*compilation*' buffer to some other name with
\[rename-buffer].  Then _switch buffers_ and start the new compilation.
It will create a new `*compilation*' buffer.

On most systems, termination of the main compilation process
kills its subprocesses.

The name used for the buffer is actually whatever is returned by
the function in `compilation-buffer-name-function', so you can set that
to a function that generates a unique name.

(fn COMMAND &optional COMINT)Fcompilation-start
Run compilation command COMMAND (low level interface).
If COMMAND starts with a cd command, that becomes the `default-directory'.
The rest of the arguments are optional; for them, nil means use the default.

MODE is the major mode to set in the compilation buffer.  Mode
may also be t meaning use `compilation-shell-minor-mode' under `comint-mode'.

If NAME-FUNCTION is non-nil, call it with one argument (the mode name)
to determine the buffer name.  Otherwise, the default is to
reuses the current buffer if it has the proper major mode,
else use or create a buffer with name based on the major mode.

If HIGHLIGHT-REGEXP is non-nil, `next-error' will temporarily highlight
the matching section of the visited source line; the default is to use the
global value of `compilation-highlight-regexp'.

Returns the compilation buffer created.

(fn COMMAND &optional MODE NAME-FUNCTION HIGHLIGHT-REGEXP)Fcompilation-mode
Major mode for compilation log buffers.
\<compilation-mode-map>To visit the source for a line-numbered error,
move point to the error message line and type \[compile-goto-error].
To kill the compilation, type \[kill-compilation].

Runs `compilation-mode-hook' with `run-mode-hooks' (which see).

\{compilation-mode-map}

(fn &optional NAME-OF-MODE)Fcompilation-shell-minor-mode
Toggle Compilation Shell minor mode.
With a prefix argument ARG, enable Compilation Shell minor mode
if ARG is positive, and disable it otherwise.  If called from
Lisp, enable the mode if ARG is omitted or nil.

When Compilation Shell minor mode is enabled, all the
error-parsing commands of the Compilation major mode are
available but bound to keys that don't collide with Shell mode.
See `compilation-mode'.

(fn &optional ARG)Fcompilation-minor-mode
Toggle Compilation minor mode.
With a prefix argument ARG, enable Compilation minor mode if ARG
is positive, and disable it otherwise.  If called from Lisp,
enable the mode if ARG is omitted or nil.

When Compilation minor mode is enabled, all the error-parsing
commands of Compilation major mode are available.  See
`compilation-mode'.

(fn &optional ARG)Fcompilation-next-error-function
Advance to the next error message and visit the file where the error was.
This is the value of `next-error-function' in Compilation buffers.

(fn N &optional RESET)Vdynamic-completion-mode
Non-nil if Dynamic-Completion mode is enabled.
See the command `dynamic-completion-mode' for a description of this minor mode.
Setting this variable directly does not take effect;
either customize it (see the info node `Easy Customization')
or call the function `dynamic-completion-mode'.Fdynamic-completion-mode
Toggle dynamic word-completion on or off.
With a prefix argument ARG, enable the mode if ARG is positive,
and disable it otherwise.  If called from Lisp, enable the mode
if ARG is omitted or nil.

(fn &optional ARG)Fconf-mode
Mode for Unix and Windows Conf files and Java properties.
Most conf files know only three kinds of constructs: parameter
assignments optionally grouped into sections and comments.  Yet
there is a great range of variation in the exact syntax of conf
files.  See below for various wrapper commands that set up the
details for some of the most widespread variants.

This mode sets up font locking, outline, imenu and it provides
alignment support through `conf-align-assignments'.  If strings
come out wrong, try `conf-quote-normal'.

Some files allow continuation lines, either with a backslash at
the end of line, or by indenting the next line (further).  These
constructs cannot currently be recognized.

Because of this great variety of nuances, which are often not
even clearly specified, please don't expect it to get every file
quite right.  Patches that clearly identify some special case,
without breaking the general ones, are welcome.

If instead you start this mode with the generic `conf-mode'
command, it will parse the buffer.  It will generally well
identify the first four cases listed below.  If the buffer
doesn't have enough contents to decide, this is identical to
`conf-windows-mode' on Windows, elsewhere to `conf-unix-mode'.
See also `conf-space-mode', `conf-colon-mode', `conf-javaprop-mode',
`conf-ppd-mode' and `conf-xdefaults-mode'.

\{conf-mode-map}

(fn)Fconf-unix-mode
Conf Mode starter for Unix style Conf files.
Comments start with `#'.
For details see `conf-mode'.  Example:

# Conf mode font-locks this right on Unix and with \[conf-unix-mode]

[Desktop Entry]
	 Encoding=UTF-8
	 Name=The GIMP
	 Name[ca]=El GIMP
	 Name[cs]=GIMP

(fn)Fconf-windows-mode
Conf Mode starter for Windows style Conf files.
Comments start with `;'.
For details see `conf-mode'.  Example:

; Conf mode font-locks this right on Windows and with \[conf-windows-mode]

[ExtShellFolderViews]
Default={5984FFE0-28D4-11CF-AE66-08002B2E1262}
{5984FFE0-28D4-11CF-AE66-08002B2E1262}={5984FFE0-28D4-11CF-AE66-08002B2E1262}

[{5984FFE0-28D4-11CF-AE66-08002B2E1262}]
PersistMoniker=file://Folder.htt

(fn)Fconf-javaprop-mode
Conf Mode starter for Java properties files.
Comments start with `#' but are also recognized with `//' or
between `/*' and `*/'.
For details see `conf-mode'.  Example:

# Conf mode font-locks this right with \[conf-javaprop-mode] (Java properties)
// another kind of comment
/* yet another */

name:value
name=value
name value
x.1 =
x.2.y.1.z.1 =
x.2.y.1.z.2.zz =

(fn)Fconf-space-mode
Conf Mode starter for space separated conf files.
"Assignments" are with ` '.  Keywords before the parameters are
recognized according to the variable `conf-space-keywords-alist'.
Alternatively, you can specify a value for the file local variable
`conf-space-keywords'.
Use the function `conf-space-keywords' if you want to specify keywords
in an interactive fashion instead.

For details see `conf-mode'.  Example:

# Conf mode font-locks this right with \[conf-space-mode] (space separated)

image/jpeg			jpeg jpg jpe
image/png			png
image/tiff			tiff tif

# Or with keywords (from a recognized file name):
class desktop
# Standard multimedia devices
add /dev/audio		desktop
add /dev/mixer		desktop

(fn)Fconf-space-keywords
Enter Conf Space mode using regexp KEYWORDS to match the keywords.
See `conf-space-mode'.

(fn KEYWORDS)Fconf-colon-mode
Conf Mode starter for Colon files.
"Assignments" are with `:'.
For details see `conf-mode'.  Example:

# Conf mode font-locks this right with \[conf-colon-mode] (colon)

<Multi_key> <exclam> <exclam>		: "\241"	exclamdown
<Multi_key> <c> <slash>			: "\242"	cent

(fn)Fconf-ppd-mode
Conf Mode starter for Adobe/CUPS PPD files.
Comments start with `*%' and "assignments" are with `:'.
For details see `conf-mode'.  Example:

*% Conf mode font-locks this right with \[conf-ppd-mode] (PPD)

*DefaultTransfer: Null
*Transfer Null.Inverse: "{ 1 exch sub }"

(fn)Fconf-xdefaults-mode
Conf Mode starter for Xdefaults files.
Comments start with `!' and "assignments" are with `:'.
For details see `conf-mode'.  Example:

! Conf mode font-locks this right with \[conf-xdefaults-mode] (.Xdefaults)

*background:			gray99
*foreground:			black

(fn)Fcookie
Return a random phrase from PHRASE-FILE.
When the phrase file is read in, display STARTMSG at the beginning
of load, ENDMSG at the end.

(fn PHRASE-FILE STARTMSG ENDMSG)Fcookie-insert
Insert random phrases from PHRASE-FILE; COUNT of them.
When the phrase file is read in, display STARTMSG at the beginning
of load, ENDMSG at the end.

(fn PHRASE-FILE &optional COUNT STARTMSG ENDMSG)Fcookie-snarf
Reads in the PHRASE-FILE, returns it as a vector of strings.
Emit STARTMSG and ENDMSG before and after.  Caches the result; second
and subsequent calls on the same file won't go to disk.

(fn PHRASE-FILE STARTMSG ENDMSG)Fshuffle-vector
Randomly permute the elements of VECTOR (all permutations equally likely).

(fn VECTOR)Fcopyright-update
Update copyright notice to indicate the current year.
With prefix ARG, replace the years in the notice rather than adding
the current year after them.  If necessary, and
`copyright-current-gpl-version' is set, any copying permissions
following the copyright are updated as well.
If non-nil, INTERACTIVEP tells the function to behave as when it's called
interactively.

(fn &optional ARG INTERACTIVEP)Fcopyright-fix-years
Convert 2 digit years to 4 digit years.
Uses heuristic: year >= 50 means 19xx, < 50 means 20xx.
If `copyright-year-ranges' (which see) is non-nil, also
independently replaces consecutive years with a range.

(fn)Fcopyright
Insert a copyright by $ORGANIZATION notice at cursor.

(fn &optional STR ARG)Fcopyright-update-directory
Update copyright notice for all files in DIRECTORY matching MATCH.
If FIX is non-nil, run `copyright-fix-years' instead.

(fn DIRECTORY MATCH &optional FIX)Fcperl-mode
Major mode for editing Perl code.
Expression and list commands understand all C brackets.
Tab indents for Perl code.
Paragraphs are separated by blank lines only.
Delete converts tabs to spaces as it moves back.

Various characters in Perl almost always come in pairs: {}, (), [],
sometimes <>.  When the user types the first, she gets the second as
well, with optional special formatting done on {}.  (Disabled by
default.)  You can always quote (with \[quoted-insert]) the left
"paren" to avoid the expansion.  The processing of < is special,
since most the time you mean "less".  CPerl mode tries to guess
whether you want to type pair <>, and inserts is if it
appropriate.  You can set `cperl-electric-parens-string' to the string that
contains the parens from the above list you want to be electrical.
Electricity of parens is controlled by `cperl-electric-parens'.
You may also set `cperl-electric-parens-mark' to have electric parens
look for active mark and "embrace" a region if possible.'

CPerl mode provides expansion of the Perl control constructs:

   if, else, elsif, unless, while, until, continue, do,
   for, foreach, formy and foreachmy.

and POD directives (Disabled by default, see `cperl-electric-keywords'.)

The user types the keyword immediately followed by a space, which
causes the construct to be expanded, and the point is positioned where
she is most likely to want to be.  E.g., when the user types a space
following "if" the following appears in the buffer: if () { or if ()
} { } and the cursor is between the parentheses.  The user can then
type some boolean expression within the parens.  Having done that,
typing \[cperl-linefeed] places you - appropriately indented - on a
new line between the braces (if you typed \[cperl-linefeed] in a POD
directive line, then appropriate number of new lines is inserted).

If CPerl decides that you want to insert "English" style construct like

            bite if angry;

it will not do any expansion.  See also help on variable
`cperl-extra-newline-before-brace'.  (Note that one can switch the
help message on expansion by setting `cperl-message-electric-keyword'
to nil.)

\[cperl-linefeed] is a convenience replacement for typing carriage
return.  It places you in the next line with proper indentation, or if
you type it inside the inline block of control construct, like

            foreach (@lines) {print; print}

and you are on a boundary of a statement inside braces, it will
transform the construct into a multiline and will place you into an
appropriately indented blank line.  If you need a usual
`newline-and-indent' behavior, it is on \[newline-and-indent],
see documentation on `cperl-electric-linefeed'.

Use \[cperl-invert-if-unless] to change a construction of the form

	    if (A) { B }

into

            B if A;

\{cperl-mode-map}

Setting the variable `cperl-font-lock' to t switches on font-lock-mode
(even with older Emacsen), `cperl-electric-lbrace-space' to t switches
on electric space between $ and {, `cperl-electric-parens-string' is
the string that contains parentheses that should be electric in CPerl
(see also `cperl-electric-parens-mark' and `cperl-electric-parens'),
setting `cperl-electric-keywords' enables electric expansion of
control structures in CPerl.  `cperl-electric-linefeed' governs which
one of two linefeed behavior is preferable.  You can enable all these
options simultaneously (recommended mode of use) by setting
`cperl-hairy' to t.  In this case you can switch separate options off
by setting them to `null'.  Note that one may undo the extra
whitespace inserted by semis and braces in `auto-newline'-mode by
consequent \[cperl-electric-backspace].

If your site has perl5 documentation in info format, you can use commands
\[cperl-info-on-current-command] and \[cperl-info-on-command] to access it.
These keys run commands `cperl-info-on-current-command' and
`cperl-info-on-command', which one is which is controlled by variable
`cperl-info-on-command-no-prompt' and `cperl-clobber-lisp-bindings'
(in turn affected by `cperl-hairy').

Even if you have no info-format documentation, short one-liner-style
help is available on \[cperl-get-help], and one can run perldoc or
man via menu.

It is possible to show this help automatically after some idle time.
This is regulated by variable `cperl-lazy-help-time'.  Default with
`cperl-hairy' (if the value of `cperl-lazy-help-time' is nil) is 5
secs idle time .  It is also possible to switch this on/off from the
menu, or via \[cperl-toggle-autohelp].  Requires `run-with-idle-timer'.

Use \[cperl-lineup] to vertically lineup some construction - put the
beginning of the region at the start of construction, and make region
span the needed amount of lines.

Variables `cperl-pod-here-scan', `cperl-pod-here-fontify',
`cperl-pod-face', `cperl-pod-head-face' control processing of POD and
here-docs sections.  With capable Emaxen results of scan are used
for indentation too, otherwise they are used for highlighting only.

Variables controlling indentation style:
 `cperl-tab-always-indent'
    Non-nil means TAB in CPerl mode should always reindent the current line,
    regardless of where in the line point is when the TAB command is used.
 `cperl-indent-left-aligned-comments'
    Non-nil means that the comment starting in leftmost column should indent.
 `cperl-auto-newline'
    Non-nil means automatically newline before and after braces,
    and after colons and semicolons, inserted in Perl code.  The following
    \[cperl-electric-backspace] will remove the inserted whitespace.
    Insertion after colons requires both this variable and
    `cperl-auto-newline-after-colon' set.
 `cperl-auto-newline-after-colon'
    Non-nil means automatically newline even after colons.
    Subject to `cperl-auto-newline' setting.
 `cperl-indent-level'
    Indentation of Perl statements within surrounding block.
    The surrounding block's indentation is the indentation
    of the line on which the open-brace appears.
 `cperl-continued-statement-offset'
    Extra indentation given to a substatement, such as the
    then-clause of an if, or body of a while, or just a statement continuation.
 `cperl-continued-brace-offset'
    Extra indentation given to a brace that starts a substatement.
    This is in addition to `cperl-continued-statement-offset'.
 `cperl-brace-offset'
    Extra indentation for line if it starts with an open brace.
 `cperl-brace-imaginary-offset'
    An open brace following other text is treated as if it the line started
    this far to the right of the actual line indentation.
 `cperl-label-offset'
    Extra indentation for line that is a label.
 `cperl-min-label-indent'
    Minimal indentation for line that is a label.

Settings for classic indent-styles: K&R BSD=C++ GNU PerlStyle=Whitesmith
  `cperl-indent-level'                5   4       2   4
  `cperl-brace-offset'                0   0       0   0
  `cperl-continued-brace-offset'     -5  -4       0   0
  `cperl-label-offset'               -5  -4      -2  -4
  `cperl-continued-statement-offset'  5   4       2   4

CPerl knows several indentation styles, and may bulk set the
corresponding variables.  Use \[cperl-set-style] to do this.  Use
\[cperl-set-style-back] to restore the memorized preexisting values
(both available from menu).  See examples in `cperl-style-examples'.

Part of the indentation style is how different parts of if/elsif/else
statements are broken into lines; in CPerl, this is reflected on how
templates for these constructs are created (controlled by
`cperl-extra-newline-before-brace'), and how reflow-logic should treat
"continuation" blocks of else/elsif/continue, controlled by the same
variable, and by `cperl-extra-newline-before-brace-multiline',
`cperl-merge-trailing-else', `cperl-indent-region-fix-constructs'.

If `cperl-indent-level' is 0, the statement after opening brace in
column 0 is indented on
`cperl-brace-offset'+`cperl-continued-statement-offset'.

Turning on CPerl mode calls the hooks in the variable `cperl-mode-hook'
with no args.

DO NOT FORGET to read micro-docs (available from `Perl' menu)
or as help on variables `cperl-tips', `cperl-problems',
`cperl-praise', `cperl-speed'.

(fn)Fcperl-perldoc
Run `perldoc' on WORD.

(fn WORD)Fcperl-perldoc-at-point
Run a `perldoc' on the word around point.

(fn)Fcpp-highlight-buffer
Highlight C code according to preprocessor conditionals.
This command pops up a buffer which you should edit to specify
what kind of highlighting to use, and the criteria for highlighting.
A prefix arg suppresses display of that buffer.

(fn ARG)Fcpp-parse-edit
Edit display information for cpp conditionals.

(fn)Vcrisp-mode
Track status of CRiSP emulation mode.
A value of nil means CRiSP mode is not enabled.  A value of t
indicates CRiSP mode is enabled.

Setting this variable directly does not take effect;
use either M-x customize or the function `crisp-mode'.Fcrisp-mode
Toggle CRiSP/Brief emulation (CRiSP mode).
With a prefix argument ARG, enable CRiSP mode if ARG is positive,
and disable it otherwise.  If called from Lisp, enable the mode
if ARG is omitted or nil.

(fn &optional ARG)Fcompleting-read-multiple
Read multiple strings in the minibuffer, with completion.
By using this functionality, a user may specify multiple strings at a
single prompt, optionally using completion.

Multiple strings are specified by separating each of the strings with
a prespecified separator character.  For example, if the separator
character is a comma, the strings 'alice', 'bob', and 'eve' would be
specified as 'alice,bob,eve'.

The default value for the separator character is the value of
`crm-default-separator' (comma).  The separator character may be
changed by modifying the value of `crm-separator'.

Contiguous strings of non-separator-characters are referred to as
'elements'.  In the aforementioned example, the elements are: 'alice',
'bob', and 'eve'.

Completion is available on a per-element basis.  For example, if the
contents of the minibuffer are 'alice,bob,eve' and point is between
'l' and 'i', pressing TAB operates on the element 'alice'.

The return value of this function is a list of the read strings.

See the documentation for `completing-read' for details on the arguments:
PROMPT, TABLE, PREDICATE, REQUIRE-MATCH, INITIAL-INPUT, HIST, DEF, and
INHERIT-INPUT-METHOD.

(fn PROMPT TABLE &optional PREDICATE REQUIRE-MATCH INITIAL-INPUT HIST DEF INHERIT-INPUT-METHOD)Fcss-mode
Major mode to edit Cascading Style Sheets.

(fn)Vcua-mode
Non-nil if Cua mode is enabled.
See the command `cua-mode' for a description of this minor mode.
Setting this variable directly does not take effect;
either customize it (see the info node `Easy Customization')
or call the function `cua-mode'.Fcua-mode
Toggle Common User Access style editing (CUA mode).
With a prefix argument ARG, enable CUA mode if ARG is positive,
and disable it otherwise.  If called from Lisp, enable the mode
if ARG is omitted or nil.

CUA mode is a global minor mode.  When enabled, typed text
replaces the active selection, and you can use C-z, C-x, C-c, and
C-v to undo, cut, copy, and paste in addition to the normal Emacs
bindings.  The C-x and C-c keys only do cut and copy when the
region is active, so in most cases, they do not conflict with the
normal function of these prefix keys.

If you really need to perform a command which starts with one of
the prefix keys even when the region is active, you have three
options:
- press the prefix key twice very quickly (within 0.2 seconds),
- press the prefix key and the following key within 0.2 seconds, or
- use the SHIFT key with the prefix key, i.e. C-S-x or C-S-c.

You can customize `cua-enable-cua-keys' to completely disable the
CUA bindings, or `cua-prefix-override-inhibit-delay' to change
the prefix fallback behavior.

CUA mode manages Transient Mark mode internally.  Trying to disable
Transient Mark mode while CUA mode is enabled does not work; if you
only want to highlight the region when it is selected using a
shifted movement key, set `cua-highlight-region-shift-only'.

(fn &optional ARG)Fcua-selection-mode
Enable CUA selection mode without the C-z/C-x/C-c/C-v bindings.

(fn ARG)Vcustom-browse-sort-alphabetically
If non-nil, sort customization group alphabetically in `custom-browse'.Vcustom-buffer-sort-alphabetically
Whether to sort customization groups alphabetically in Custom buffer.Vcustom-menu-sort-alphabetically
If non-nil, sort each customization group alphabetically in menus.Fcustomize-set-value
Set VARIABLE to VALUE, and return VALUE.  VALUE is a Lisp object.

If VARIABLE has a `variable-interactive' property, that is used as if
it were the arg to `interactive' (which see) to interactively read the value.

If VARIABLE has a `custom-type' property, it must be a widget and the
`:prompt-value' property of that widget will be used for reading the value.

If given a prefix (or a COMMENT argument), also prompt for a comment.

(fn VARIABLE VALUE &optional COMMENT)Fcustomize-set-variable
Set the default for VARIABLE to VALUE, and return VALUE.
VALUE is a Lisp object.

If VARIABLE has a `custom-set' property, that is used for setting
VARIABLE, otherwise `set-default' is used.

If VARIABLE has a `variable-interactive' property, that is used as if
it were the arg to `interactive' (which see) to interactively read the value.

If VARIABLE has a `custom-type' property, it must be a widget and the
`:prompt-value' property of that widget will be used for reading the value.

If given a prefix (or a COMMENT argument), also prompt for a comment.

(fn VARIABLE VALUE &optional COMMENT)Fcustomize-save-variable
Set the default for VARIABLE to VALUE, and save it for future sessions.
Return VALUE.

If VARIABLE has a `custom-set' property, that is used for setting
VARIABLE, otherwise `set-default' is used.

If VARIABLE has a `variable-interactive' property, that is used as if
it were the arg to `interactive' (which see) to interactively read the value.

If VARIABLE has a `custom-type' property, it must be a widget and the
`:prompt-value' property of that widget will be used for reading the value.

If given a prefix (or a COMMENT argument), also prompt for a comment.

(fn VARIABLE VALUE &optional COMMENT)Fcustomize-push-and-save
Add ELTS to LIST-VAR and save for future sessions, safely.
ELTS should be a list.  This function adds each entry to the
value of LIST-VAR using `add-to-list'.

If Emacs is initialized, call `customize-save-variable' to save
the resulting list value now.  Otherwise, add an entry to
`after-init-hook' to save it after initialization.

(fn LIST-VAR ELTS)Fcustomize
Select a customization buffer which you can use to set user options.
User options are structured into "groups".
Initially the top-level group `Emacs' and its immediate subgroups
are shown; the contents of those subgroups are initially hidden.

(fn)Fcustomize-mode
Customize options related to the current major mode.
If a prefix \[universal-argument] was given (or if the current major mode has no known group),
then prompt for the MODE to customize.

(fn MODE)Fcustomize-group
Customize GROUP, which must be a customization group.
If OTHER-WINDOW is non-nil, display in another window.

(fn &optional GROUP OTHER-WINDOW)Fcustomize-group-other-window
Customize GROUP, which must be a customization group, in another window.

(fn &optional GROUP)Fcustomize-option
Customize SYMBOL, which must be a user option.

(fn SYMBOL)Fcustomize-option-other-window
Customize SYMBOL, which must be a user option.
Show the buffer in another window, but don't select it.

(fn SYMBOL)Vcustomize-package-emacs-version-alist
Alist mapping versions of a package to Emacs versions.
We use this for packages that have their own names, but are released
as part of Emacs itself.

Each elements looks like this:

     (PACKAGE (PVERSION . EVERSION)...)

Here PACKAGE is the name of a package, as a symbol.  After
PACKAGE come one or more elements, each associating a
package version PVERSION with the first Emacs version
EVERSION in which it (or a subsequent version of PACKAGE)
was first released.  Both PVERSION and EVERSION are strings.
PVERSION should be a string that this package used in
the :package-version keyword for `defcustom', `defgroup',
and `defface'.

For example, the MH-E package updates this alist as follows:

     (add-to-list 'customize-package-emacs-version-alist
                  '(MH-E ("6.0" . "22.1") ("6.1" . "22.1")
                         ("7.0" . "22.1") ("7.1" . "22.1")
                         ("7.2" . "22.1") ("7.3" . "22.1")
                         ("7.4" . "22.1") ("8.0" . "22.1")))

The value of PACKAGE needs to be unique and it needs to match the
PACKAGE value appearing in the :package-version keyword.  Since
the user might see the value in a error message, a good choice is
the official name of the package, such as MH-E or Gnus.Fcustomize-changed-options
Customize all settings whose meanings have changed in Emacs itself.
This includes new user options and faces, and new customization
groups, as well as older options and faces whose meanings or
default values have changed since the previous major Emacs
release.

With argument SINCE-VERSION (a string), customize all settings
that were added or redefined since that version.

(fn &optional SINCE-VERSION)Fcustomize-face
Customize FACE, which should be a face name or nil.
If FACE is nil, customize all faces.  If FACE is actually a
face-alias, customize the face it is aliased to.

If OTHER-WINDOW is non-nil, display in another window.

Interactively, when point is on text which has a face specified,
suggest to customize that face, if it's customizable.

(fn &optional FACE OTHER-WINDOW)Fcustomize-face-other-window
Show customization buffer for face FACE in other window.
If FACE is actually a face-alias, customize the face it is aliased to.

Interactively, when point is on text which has a face specified,
suggest to customize that face, if it's customizable.

(fn &optional FACE)Fcustomize-unsaved
Customize all options and faces set in this session but not saved.

(fn)Fcustomize-rogue
Customize all user variables modified outside customize.

(fn)Fcustomize-saved
Customize all saved options and faces.

(fn)Fcustomize-apropos
Customize loaded options, faces and groups matching PATTERN.
PATTERN can be a word, a list of words (separated by spaces),
or a regexp (using some regexp special characters).  If it is a word,
search for matches for that word as a substring.  If it is a list of words,
search for matches for any two (or more) of those words.

If TYPE is `options', include only options.
If TYPE is `faces', include only faces.
If TYPE is `groups', include only groups.

(fn PATTERN &optional TYPE)Fcustomize-apropos-options
Customize all loaded customizable options matching REGEXP.

(fn REGEXP &optional IGNORED)Fcustomize-apropos-faces
Customize all loaded faces matching REGEXP.

(fn REGEXP)Fcustomize-apropos-groups
Customize all loaded groups matching REGEXP.

(fn REGEXP)Fcustom-buffer-create
Create a buffer containing OPTIONS.
Optional NAME is the name of the buffer.
OPTIONS should be an alist of the form ((SYMBOL WIDGET)...), where
SYMBOL is a customization option, and WIDGET is a widget for editing
that option.

(fn OPTIONS &optional NAME DESCRIPTION)Fcustom-buffer-create-other-window
Create a buffer containing OPTIONS, and display it in another window.
The result includes selecting that window.
Optional NAME is the name of the buffer.
OPTIONS should be an alist of the form ((SYMBOL WIDGET)...), where
SYMBOL is a customization option, and WIDGET is a widget for editing
that option.

(fn OPTIONS &optional NAME DESCRIPTION)Fcustomize-browse
Create a tree browser for the customize hierarchy.

(fn &optional GROUP)Vcustom-file
File used for storing customization information.
The default is nil, which means to use your init file
as specified by `user-init-file'.  If the value is not nil,
it should be an absolute file name.

You can set this option through Custom, if you carefully read the
last paragraph below.  However, usually it is simpler to write
something like the following in your init file:

(setq custom-file "~/.emacs-custom.el")
(load custom-file)

Note that both lines are necessary: the first line tells Custom to
save all customizations in this file, but does not load it.

When you change this variable outside Custom, look in the
previous custom file (usually your init file) for the
forms `(custom-set-variables ...)'  and `(custom-set-faces ...)',
and copy them (whichever ones you find) to the new custom file.
This will preserve your existing customizations.

If you save this option using Custom, Custom will write all
currently saved customizations, including the new one for this
option itself, into the file you specify, overwriting any
`custom-set-variables' and `custom-set-faces' forms already
present in that file.  It will not delete any customizations from
the old custom file.  You should do that manually if that is what you
want.  You also have to put something like `(load "CUSTOM-FILE")
in your init file, where CUSTOM-FILE is the actual name of the
file.  Otherwise, Emacs will not load the file when it starts up,
and hence will not set `custom-file' to that file either.Fcustom-save-all
Save all customizations in `custom-file'.

(fn)Fcustomize-save-customized
Save all user options which have been set in this session.

(fn)Fcustom-menu-create
Create menu for customization group SYMBOL.
The menu is in a format applicable to `easy-menu-define'.

(fn SYMBOL)Fcustomize-menu-create
Return a customize menu for customization group SYMBOL.
If optional NAME is given, use that as the name of the menu.
Otherwise the menu will be named `Customize'.
The format is suitable for use with `easy-menu-define'.

(fn SYMBOL &optional NAME)Fcustomize-create-theme
Create or edit a custom theme.
THEME, if non-nil, should be an existing theme to edit.  If THEME
is `user', the resulting *Custom Theme* buffer also contains a
checkbox for removing the theme settings specified in the buffer
from the Custom save file.
BUFFER, if non-nil, should be a buffer to use; the default is
named *Custom Theme*.

(fn &optional THEME BUFFER)Fcustom-theme-visit-theme
Set up a Custom buffer to edit custom theme THEME.

(fn THEME)Fdescribe-theme
Display a description of the Custom theme THEME (a symbol).

(fn THEME)Fcustomize-themes
Display a selectable list of Custom themes.
When called from Lisp, BUFFER should be the buffer to use; if
omitted, a buffer named *Custom Themes* is used.

(fn &optional BUFFER)Fcvs-status-mode
Mode used for cvs status output.

(fn)Fcwarn-mode
Minor mode that highlights suspicious C and C++ constructions.

Suspicious constructs are highlighted using `font-lock-warning-face'.

Note, in addition to enabling this minor mode, the major mode must
be included in the variable `cwarn-configuration'.  By default C and
C++ modes are included.

With a prefix argument ARG, enable the mode if ARG is positive,
and disable it otherwise.  If called from Lisp, enable the mode
if ARG is omitted or nil.

(fn &optional ARG)Vglobal-cwarn-mode
Non-nil if Global-Cwarn mode is enabled.
See the command `global-cwarn-mode' for a description of this minor mode.
Setting this variable directly does not take effect;
either customize it (see the info node `Easy Customization')
or call the function `global-cwarn-mode'.Fglobal-cwarn-mode
Toggle Cwarn mode in all buffers.
With prefix ARG, enable Global-Cwarn mode if ARG is positive;
otherwise, disable it.  If called from Lisp, enable the mode if
ARG is omitted or nil.

Cwarn mode is enabled in all buffers where
`turn-on-cwarn-mode-if-enabled' would do it.
See `cwarn-mode' for more information on Cwarn mode.

(fn &optional ARG)Fcyrillic-encode-koi8-r-char
Return KOI8-R external character code of CHAR if appropriate.

(fn CHAR)Fcyrillic-encode-alternativnyj-char
Return ALTERNATIVNYJ external character code of CHAR if appropriate.

(fn CHAR)Fstandard-display-cyrillic-translit
Display a cyrillic buffer using a transliteration.
For readability, the table is slightly
different from the one used for the input method `cyrillic-translit'.

The argument is a string which specifies which language you are using;
that affects the choice of transliterations slightly.
Possible values are listed in `cyrillic-language-alist'.
If the argument is t, we use the default cyrillic transliteration.
If the argument is nil, we return the display table to its standard state.

(fn &optional CYRILLIC-LANGUAGE)Fdabbrev-completion
Completion on current word.
Like \[dabbrev-expand] but finds all expansions in the current buffer
and presents suggestions for completion.

With a prefix argument ARG, it searches all buffers accepted by the
function pointed out by `dabbrev-friend-buffer-function' to find the
completions.

If the prefix argument is 16 (which comes from \[universal-argument] \[universal-argument]),
then it searches *all* buffers.

(fn &optional ARG)Fdabbrev-expand
Expand previous word "dynamically".

Expands to the most recent, preceding word for which this is a prefix.
If no suitable preceding word is found, words following point are
considered.  If still no suitable word is found, then look in the
buffers accepted by the function pointed out by variable
`dabbrev-friend-buffer-function'.

A positive prefix argument, N, says to take the Nth backward *distinct*
possibility.  A negative argument says search forward.

If the cursor has not moved from the end of the previous expansion and
no argument is given, replace the previously-made expansion
with the next possible expansion not yet tried.

The variable `dabbrev-backward-only' may be used to limit the
direction of search to backward if set non-nil.

See also `dabbrev-abbrev-char-regexp' and \[dabbrev-completion].

(fn ARG)Fdata-debug-new-buffer
Create a new data-debug buffer with NAME.

(fn NAME)Fdbus-handle-event
Handle events from the D-Bus.
EVENT is a D-Bus event, see `dbus-check-event'.  HANDLER, being
part of the event, is called with arguments ARGS.
If the HANDLER returns a `dbus-error', it is propagated as return message.

(fn EVENT)Fdcl-mode
Major mode for editing DCL-files.

This mode indents command lines in blocks.  (A block is commands between
THEN-ELSE-ENDIF and between lines matching dcl-block-begin-regexp and
dcl-block-end-regexp.)

Labels are indented to a fixed position unless they begin or end a block.
Whole-line comments (matching dcl-comment-line-regexp) are not indented.
Data lines are not indented.

Key bindings:

\{dcl-mode-map}
Commands not usually bound to keys:

\[dcl-save-nondefault-options]		Save changed options
\[dcl-save-all-options]		Save all options
\[dcl-save-option]			Save any option
\[dcl-save-mode]			Save buffer mode

Variables controlling indentation style and extra features:

 dcl-basic-offset
    Extra indentation within blocks.

 dcl-continuation-offset
    Extra indentation for continued lines.

 dcl-margin-offset
    Indentation for the first command line in a file or SUBROUTINE.

 dcl-margin-label-offset
    Indentation for a label.

 dcl-comment-line-regexp
    Lines matching this regexp will not be indented.

 dcl-block-begin-regexp
 dcl-block-end-regexp
    Regexps that match command lines that begin and end, respectively,
    a block of command lines that will be given extra indentation.
    Command lines between THEN-ELSE-ENDIF are always indented; these variables
    make it possible to define other places to indent.
    Set to nil to disable this feature.

 dcl-calc-command-indent-function
    Can be set to a function that customizes indentation for command lines.
    Two such functions are included in the package:
	dcl-calc-command-indent-multiple
	dcl-calc-command-indent-hang

 dcl-calc-cont-indent-function
    Can be set to a function that customizes indentation for continued lines.
    One such function is included in the package:
	dcl-calc-cont-indent-relative    (set by default)

 dcl-tab-always-indent
    If t, pressing TAB always indents the current line.
    If nil, pressing TAB indents the current line if point is at the left
    margin.

 dcl-electric-characters
    Non-nil causes lines to be indented at once when a label, ELSE or ENDIF is
    typed.

 dcl-electric-reindent-regexps
    Use this variable and function dcl-electric-character to customize
    which words trigger electric indentation.

 dcl-tempo-comma
 dcl-tempo-left-paren
 dcl-tempo-right-paren
    These variables control the look of expanded templates.

 dcl-imenu-generic-expression
    Default value for imenu-generic-expression.  The default includes
    SUBROUTINE labels in the main listing and sub-listings for
    other labels, CALL, GOTO and GOSUB statements.

 dcl-imenu-label-labels
 dcl-imenu-label-goto
 dcl-imenu-label-gosub
 dcl-imenu-label-call
    Change the text that is used as sub-listing labels in imenu.

Loading this package calls the value of the variable
`dcl-mode-load-hook' with no args, if that value is non-nil.
Turning on DCL mode calls the value of the variable `dcl-mode-hook'
with no args, if that value is non-nil.


The following example uses the default values for all variables:

$! This is a comment line that is not indented (it matches
$! dcl-comment-line-regexp)
$! Next follows the first command line.  It is indented dcl-margin-offset.
$       i = 1
$       ! Other comments are indented like command lines.
$       ! A margin label indented dcl-margin-label-offset:
$ label:
$       if i.eq.1
$       then
$           ! Lines between THEN-ELSE and ELSE-ENDIF are
$           ! indented dcl-basic-offset
$           loop1: ! This matches dcl-block-begin-regexp...
$               ! ...so this line is indented dcl-basic-offset
$               text = "This " + - ! is a continued line
                       "lined up with the command line"
$               type sys$input
Data lines are not indented at all.
$           endloop1: ! This matches dcl-block-end-regexp
$       endif
$


There is some minimal font-lock support (see vars
`dcl-font-lock-defaults' and `dcl-font-lock-keywords').

(fn)Fdebug
Enter debugger.  \<debugger-mode-map>`\[debugger-continue]' returns from the debugger.
Arguments are mainly for use when this is called from the internals
of the evaluator.

You may call with no args, or you may pass nil as the first arg and
any other args you like.  In that case, the list of args after the
first will be printed into the backtrace buffer.

(fn &rest DEBUGGER-ARGS)Fdebug-on-entry
Request FUNCTION to invoke debugger each time it is called.

When called interactively, prompt for FUNCTION in the minibuffer.

This works by modifying the definition of FUNCTION.  If you tell the
debugger to continue, FUNCTION's execution proceeds.  If FUNCTION is a
normal function or a macro written in Lisp, you can also step through
its execution.  FUNCTION can also be a primitive that is not a special
form, in which case stepping is not possible.  Break-on-entry for
primitive functions only works when that function is called from Lisp.

Use \[cancel-debug-on-entry] to cancel the effect of this command.
Redefining FUNCTION also cancels it.

(fn FUNCTION)Fcancel-debug-on-entry
Undo effect of \[debug-on-entry] on FUNCTION.
If FUNCTION is nil, cancel debug-on-entry for all functions.
When called interactively, prompt for FUNCTION in the minibuffer.
To specify a nil argument interactively, exit with an empty minibuffer.

(fn &optional FUNCTION)Fdecipher
Format a buffer of ciphertext for cryptanalysis and enter Decipher mode.

(fn)Fdecipher-mode
Major mode for decrypting monoalphabetic substitution ciphers.
Lower-case letters enter plaintext.
Upper-case letters are commands.

The buffer is made read-only so that normal Emacs commands cannot
modify it.

The most useful commands are:
\<decipher-mode-map>
\[decipher-digram-list]  Display a list of all digrams & their frequency
\[decipher-frequency-count]  Display the frequency of each ciphertext letter
\[decipher-adjacency-list]  Show adjacency list for current letter (lists letters appearing next to it)
\[decipher-make-checkpoint]  Save the current cipher alphabet (checkpoint)
\[decipher-restore-checkpoint]  Restore a saved cipher alphabet (checkpoint)

(fn)Fdelimit-columns-customize
Customization of `columns' group.

(fn)Fdelimit-columns-region
Prettify all columns in a text region.

START and END delimits the text region.

(fn START END)Fdelimit-columns-rectangle
Prettify all columns in a text rectangle.

START and END delimits the corners of text rectangle.

(fn START END)Fdelphi-mode
Major mode for editing Delphi code. \<delphi-mode-map>
\[delphi-tab]	- Indents the current line (or region, if Transient Mark mode
	  is enabled and the region is active) of Delphi code.
\[delphi-find-unit]	- Search for a Delphi source file.
\[delphi-fill-comment]	- Fill the current comment.
\[delphi-new-comment-line]	- If in a // comment, do a new comment line.

\[indent-region] also works for indenting a whole region.

Customization:

 `delphi-indent-level'                (default 3)
    Indentation of Delphi statements with respect to containing block.
 `delphi-compound-block-indent'       (default 0)
    Extra indentation for blocks in compound statements.
 `delphi-case-label-indent'           (default 0)
    Extra indentation for case statement labels.
 `delphi-tab-always-indents'          (default t)
    Non-nil means TAB in Delphi mode should always reindent the current line,
    regardless of where in the line point is when the TAB command is used.
 `delphi-newline-always-indents'      (default t)
    Non-nil means NEWLINE in Delphi mode should always reindent the current
    line, insert a blank line and move to the default indent column of the
    blank line.
 `delphi-search-path'                 (default .)
    Directories to search when finding external units.
 `delphi-verbose'                     (default nil)
    If true then Delphi token processing progress is reported to the user.

Coloring:

 `delphi-comment-face'                (default font-lock-comment-face)
    Face used to color Delphi comments.
 `delphi-string-face'                 (default font-lock-string-face)
    Face used to color Delphi strings.
 `delphi-keyword-face'                (default font-lock-keyword-face)
    Face used to color Delphi keywords.
 `delphi-other-face'                  (default nil)
    Face used to color everything else.

Turning on Delphi mode calls the value of the variable `delphi-mode-hook'
with no args, if that value is non-nil.

(fn)Vdelete-selection-mode
Non-nil if Delete-Selection mode is enabled.
See the command `delete-selection-mode' for a description of this minor mode.
Setting this variable directly does not take effect;
either customize it (see the info node `Easy Customization')
or call the function `delete-selection-mode'.Fdelete-selection-mode
Toggle Delete Selection mode.
With a prefix argument ARG, enable Delete Selection mode if ARG
is positive, and disable it otherwise.  If called from Lisp,
enable the mode if ARG is omitted or nil.

When Delete Selection mode is enabled, Transient Mark mode is also
enabled and typed text replaces the selection if the selection is
active.  Otherwise, typed text is just inserted at point regardless of
any selection.

(fn &optional ARG)Fdefine-derived-mode
Create a new mode as a variant of an existing mode.

The arguments to this command are as follow:

CHILD:     the name of the command for the derived mode.
PARENT:    the name of the command for the parent mode (e.g. `text-mode')
           or nil if there is no parent.
NAME:      a string which will appear in the status line (e.g. "Hypertext")
DOCSTRING: an optional documentation string--if you do not supply one,
           the function will attempt to invent something useful.
BODY:      forms to execute just before running the
           hooks for the new mode.  Do not use `interactive' here.

BODY can start with a bunch of keyword arguments.  The following keyword
  arguments are currently understood:
:group GROUP
	Declare the customization group that corresponds to this mode.
	The command `customize-mode' uses this.
:syntax-table TABLE
	Use TABLE instead of the default (CHILD-syntax-table).
	A nil value means to simply use the same syntax-table as the parent.
:abbrev-table TABLE
	Use TABLE instead of the default (CHILD-abbrev-table).
	A nil value means to simply use the same abbrev-table as the parent.

Here is how you could define LaTeX-Thesis mode as a variant of LaTeX mode:

  (define-derived-mode LaTeX-thesis-mode LaTeX-mode "LaTeX-Thesis")

You could then make new key bindings for `LaTeX-thesis-mode-map'
without changing regular LaTeX mode.  In this example, BODY is empty,
and DOCSTRING is generated by default.

On a more complicated level, the following command uses `sgml-mode' as
the parent, and then sets the variable `case-fold-search' to nil:

  (define-derived-mode article-mode sgml-mode "Article"
    "Major mode for editing technical articles."
    (setq case-fold-search nil))

Note that if the documentation string had been left out, it would have
been generated automatically, with a reference to the keymap.

The new mode runs the hook constructed by the function
`derived-mode-hook-name'.

See Info node `(elisp)Derived Modes' for more details.

(fn CHILD PARENT NAME &optional DOCSTRING &rest BODY)Fderived-mode-init-mode-variables
Initialize variables for a new MODE.
Right now, if they don't already exist, set up a blank keymap, an
empty syntax table, and an empty abbrev table -- these will be merged
the first time the mode is used.

(fn MODE)Fdescribe-text-properties
Describe widgets, buttons, overlays, and text properties at POS.
POS is taken to be in BUFFER or in current buffer if nil.
Interactively, describe them for the character after point.
If optional second argument OUTPUT-BUFFER is non-nil,
insert the output into that buffer, and don't initialize or clear it
otherwise.

(fn POS &optional OUTPUT-BUFFER BUFFER)Fdescribe-char
Describe position POS (interactively, point) and the char after POS.
POS is taken to be in BUFFER, or the current buffer if BUFFER is nil.
The information is displayed in buffer `*Help*'.

The position information includes POS; the total size of BUFFER; the
region limits, if narrowed; the column number; and the horizontal
scroll amount, if the buffer is horizontally scrolled.

The character information includes the character code; charset and
code points in it; syntax; category; how the character is encoded in
BUFFER and in BUFFER's file; character composition information (if
relevant); the font and font glyphs used to display the character;
the character's canonical name and other properties defined by the
Unicode Data Base; and widgets, buttons, overlays, and text properties
relevant to POS.

(fn POS &optional BUFFER)Vdesktop-save-mode
Non-nil if Desktop-Save mode is enabled.
See the command `desktop-save-mode' for a description of this minor mode.Fdesktop-save-mode
Toggle desktop saving (Desktop Save mode).
With a prefix argument ARG, enable Desktop Save mode if ARG is
positive, and disable it otherwise.  If called from Lisp, enable
the mode if ARG is omitted or nil.

If Desktop Save mode is enabled, the state of Emacs is saved from
one session to another.  See variable `desktop-save' and function
`desktop-read' for details.

(fn &optional ARG)Vdesktop-locals-to-save
List of local variables to save for each buffer.
The variables are saved only when they really are local.  Conventional minor
modes are restored automatically; they should not be listed here.Vdesktop-save-buffer
When non-nil, save buffer status in desktop file.
This variable becomes buffer local when set.

If the value is a function, it is called by `desktop-save' with argument
DESKTOP-DIRNAME to obtain auxiliary information to save in the desktop
file along with the state of the buffer for which it was called.

When file names are returned, they should be formatted using the call
"(desktop-file-name FILE-NAME DESKTOP-DIRNAME)".

Later, when `desktop-read' evaluates the desktop file, auxiliary information
is passed as the argument DESKTOP-BUFFER-MISC to functions in
`desktop-buffer-mode-handlers'.Vdesktop-buffer-mode-handlers
Alist of major mode specific functions to restore a desktop buffer.
Functions listed are called by `desktop-create-buffer' when `desktop-read'
evaluates the desktop file.  List elements must have the form

   (MAJOR-MODE . RESTORE-BUFFER-FUNCTION).

Buffers with a major mode not specified here, are restored by the default
handler `desktop-restore-file-buffer'.

Handlers are called with argument list

   (DESKTOP-BUFFER-FILE-NAME DESKTOP-BUFFER-NAME DESKTOP-BUFFER-MISC)

Furthermore, they may use the following variables:

   desktop-file-version
   desktop-buffer-major-mode
   desktop-buffer-minor-modes
   desktop-buffer-point
   desktop-buffer-mark
   desktop-buffer-read-only
   desktop-buffer-locals

If a handler returns a buffer, then the saved mode settings
and variable values for that buffer are copied into it.

Modules that define a major mode that needs a special handler should contain
code like

   (defun foo-restore-desktop-buffer
   ...
   (add-to-list 'desktop-buffer-mode-handlers
                '(foo-mode . foo-restore-desktop-buffer))

Furthermore the major mode function must be autoloaded.Vdesktop-minor-mode-handlers
Alist of functions to restore non-standard minor modes.
Functions are called by `desktop-create-buffer' to restore minor modes.
List elements must have the form

   (MINOR-MODE . RESTORE-FUNCTION).

Minor modes not specified here, are restored by the standard minor mode
function.

Handlers are called with argument list

   (DESKTOP-BUFFER-LOCALS)

Furthermore, they may use the following variables:

   desktop-file-version
   desktop-buffer-file-name
   desktop-buffer-name
   desktop-buffer-major-mode
   desktop-buffer-minor-modes
   desktop-buffer-point
   desktop-buffer-mark
   desktop-buffer-read-only
   desktop-buffer-misc

When a handler is called, the buffer has been created and the major mode has
been set, but local variables listed in desktop-buffer-locals has not yet been
created and set.

Modules that define a minor mode that needs a special handler should contain
code like

   (defun foo-desktop-restore
   ...
   (add-to-list 'desktop-minor-mode-handlers
                '(foo-mode . foo-desktop-restore))

Furthermore the minor mode function must be autoloaded.

See also `desktop-minor-mode-table'.Fdesktop-clear
Empty the Desktop.
This kills all buffers except for internal ones and those with names matched by
a regular expression in the list `desktop-clear-preserve-buffers'.
Furthermore, it clears the variables listed in `desktop-globals-to-clear'.

(fn)Fdesktop-save
Save the desktop in a desktop file.
Parameter DIRNAME specifies where to save the desktop file.
Optional parameter RELEASE says whether we're done with this desktop.
See also `desktop-base-file-name'.

(fn DIRNAME &optional RELEASE)Fdesktop-remove
Delete desktop file in `desktop-dirname'.
This function also sets `desktop-dirname' to nil.

(fn)Fdesktop-read
Read and process the desktop file in directory DIRNAME.
Look for a desktop file in DIRNAME, or if DIRNAME is omitted, look in
directories listed in `desktop-path'.  If a desktop file is found, it
is processed and `desktop-after-read-hook' is run.  If no desktop file
is found, clear the desktop and run `desktop-no-desktop-file-hook'.
This function is a no-op when Emacs is running in batch mode.
It returns t if a desktop file was loaded, nil otherwise.

(fn &optional DIRNAME)Fdesktop-load-default
Load the `default' start-up library manually.
Also inhibit further loading of it.

(fn)Fdesktop-change-dir
Change to desktop saved in DIRNAME.
Kill the desktop as specified by variables `desktop-save-mode' and
`desktop-save', then clear the desktop and load the desktop file in
directory DIRNAME.

(fn DIRNAME)Fdesktop-save-in-desktop-dir
Save the desktop in directory `desktop-dirname'.

(fn)Fdesktop-revert
Revert to the last loaded desktop.

(fn)Fgnus-article-outlook-unwrap-lines
Unwrap lines that appear to be wrapped citation lines.
You can control what lines will be unwrapped by frobbing
`gnus-outlook-deuglify-unwrap-min' and `gnus-outlook-deuglify-unwrap-max',
indicating the minimum and maximum length of an unwrapped citation line.  If
NODISPLAY is non-nil, don't redisplay the article buffer.

(fn &optional NODISPLAY)Fgnus-article-outlook-repair-attribution
Repair a broken attribution line.
If NODISPLAY is non-nil, don't redisplay the article buffer.

(fn &optional NODISPLAY)Fgnus-outlook-deuglify-article
Full deuglify of broken Outlook (Express) articles.
Treat dumbquotes, unwrap lines, repair attribution and rearrange citation.  If
NODISPLAY is non-nil, don't redisplay the article buffer.

(fn &optional NODISPLAY)Fgnus-article-outlook-deuglify-article
Deuglify broken Outlook (Express) articles and redisplay.

(fn)Fdiary
Generate the diary window for ARG days starting with the current date.
If no argument is provided, the number of days of diary entries is governed
by the variable `diary-number-of-entries'.  A value of ARG less than 1
does nothing.  This function is suitable for execution in an init file.

(fn &optional ARG)Fdiary-mail-entries
Send a mail message showing diary entries for next NDAYS days.
If no prefix argument is given, NDAYS is set to `diary-mail-days'.
Mail is sent to the address specified by `diary-mail-addr'.

Here is an example of a script to call `diary-mail-entries',
suitable for regular scheduling using cron (or at).  Note that
since `emacs -script' does not load your init file, you should
ensure that all relevant variables are set.

#!/usr/bin/emacs -script
;; diary-rem.el - run the Emacs diary-reminder

(setq diary-mail-days 3
      diary-file "/path/to/diary.file"
      calendar-date-style 'european
      diary-mail-addr "user@host.name")

(diary-mail-entries)

# diary-rem.el ends here

(fn &optional NDAYS)Fdiary-mode
Major mode for editing the diary file.

(fn)Vdiff-switches
A string or list of strings specifying switches to be passed to diff.Vdiff-command
The command to use to run diff.Fdiff
Find and display the differences between OLD and NEW files.
When called interactively, read NEW, then OLD, using the
minibuffer.  The default for NEW is the current buffer's file
name, and the default for OLD is a backup file for NEW, if one
exists.  If NO-ASYNC is non-nil, call diff synchronously.

When called interactively with a prefix argument, prompt
interactively for diff switches.  Otherwise, the switches
specified in `diff-switches' are passed to the diff command.

(fn OLD NEW &optional SWITCHES NO-ASYNC)Fdiff-backup
Diff this file with its backup file or vice versa.
Uses the latest backup, if there are several numerical backups.
If this file is a backup, diff it with its original.
The backup file is the first file given to `diff'.
With prefix arg, prompt for diff switches.

(fn FILE &optional SWITCHES)Fdiff-latest-backup-file
Return the latest existing backup of FILE, or nil.

(fn FN)Fdiff-buffer-with-file
View the differences between BUFFER and its associated file.
This requires the external program `diff' to be in your `exec-path'.

(fn &optional BUFFER)Fdiff-mode
Major mode for viewing/editing context diffs.
Supports unified and context diffs as well as (to a lesser extent)
normal diffs.

When the buffer is read-only, the ESC prefix is not necessary.
If you edit the buffer manually, diff-mode will try to update the hunk
headers for you on-the-fly.

You can also switch between context diff and unified diff with \[diff-context->unified],
or vice versa with \[diff-unified->context] and you can also reverse the direction of
a diff with \[diff-reverse-direction].

   \{diff-mode-map}

(fn)Fdiff-minor-mode
Toggle Diff minor mode.
With a prefix argument ARG, enable Diff minor mode if ARG is
positive, and disable it otherwise.  If called from Lisp, enable
the mode if ARG is omitted or nil.

\{diff-minor-mode-map}

(fn &optional ARG)Fdig
Query addresses of a DOMAIN using dig, by calling `dig-invoke'.
Optional arguments are passed to `dig-invoke'.

(fn DOMAIN &optional QUERY-TYPE QUERY-CLASS QUERY-OPTION DIG-OPTION SERVER)Vdired-listing-switches
Switches passed to `ls' for Dired.  MUST contain the `l' option.
May contain all other options that don't contradict `-l';
may contain even `F', `b', `i' and `s'.  See also the variable
`dired-ls-F-marks-symlinks' concerning the `F' switch.
On systems such as MS-DOS and MS-Windows, which use `ls' emulation in Lisp,
some of the `ls' switches are not supported; see the doc string of
`insert-directory' in `ls-lisp.el' for more details.Vdired-directory
The directory name or wildcard spec that this dired directory lists.
Local to each dired buffer.  May be a list, in which case the car is the
directory name and the cdr is the list of files to mention.
The directory name must be absolute, but need not be fully expanded.Fdired
"Edit" directory DIRNAME--delete, rename, print, etc. some files in it.
Optional second argument SWITCHES specifies the `ls' options used.
(Interactively, use a prefix argument to be able to specify SWITCHES.)
Dired displays a list of files in DIRNAME (which may also have
shell wildcards appended to select certain files).  If DIRNAME is a cons,
its first element is taken as the directory name and the rest as an explicit
list of files to make directory entries for.
\<dired-mode-map>You can flag files for deletion with \[dired-flag-file-deletion] and then
delete them by typing \[dired-do-flagged-delete].
Type \[describe-mode] after entering Dired for more info.

If DIRNAME is already in a dired buffer, that buffer is used without refresh.

(fn DIRNAME &optional SWITCHES)Fdired-other-window
"Edit" directory DIRNAME.  Like `dired' but selects in another window.

(fn DIRNAME &optional SWITCHES)Fdired-other-frame
"Edit" directory DIRNAME.  Like `dired' but makes a new frame.

(fn DIRNAME &optional SWITCHES)Fdired-noselect
Like `dired' but returns the dired buffer as value, does not select it.

(fn DIR-OR-LIST &optional SWITCHES)Fdired-mode
Mode for "editing" directory listings.
In Dired, you are "editing" a list of the files in a directory and
  (optionally) its subdirectories, in the format of `ls -lR'.
  Each directory is a page: use \[backward-page] and \[forward-page] to move pagewise.
"Editing" means that you can run shell commands on files, visit,
  compress, load or byte-compile them, change their file attributes
  and insert subdirectories into the same buffer.  You can "mark"
  files for later commands or "flag" them for deletion, either file
  by file or all files matching certain criteria.
You can move using the usual cursor motion commands.\<dired-mode-map>
The buffer is read-only.  Digits are prefix arguments.
Type \[dired-flag-file-deletion] to flag a file `D' for deletion.
Type \[dired-mark] to Mark a file or subdirectory for later commands.
  Most commands operate on the marked files and use the current file
  if no files are marked.  Use a numeric prefix argument to operate on
  the next ARG (or previous -ARG if ARG<0) files, or just `1'
  to operate on the current file only.  Prefix arguments override marks.
  Mark-using commands display a list of failures afterwards.  Type \[dired-summary]
  to see why something went wrong.
Type \[dired-unmark] to Unmark a file or all files of an inserted subdirectory.
Type \[dired-unmark-backward] to back up one line and unmark or unflag.
Type \[dired-do-flagged-delete] to delete (eXecute) the files flagged `D'.
Type \[dired-find-file] to Find the current line's file
  (or dired it in another buffer, if it is a directory).
Type \[dired-find-file-other-window] to find file or dired directory in Other window.
Type \[dired-maybe-insert-subdir] to Insert a subdirectory in this buffer.
Type \[dired-do-rename] to Rename a file or move the marked files to another directory.
Type \[dired-do-copy] to Copy files.
Type \[dired-sort-toggle-or-edit] to toggle Sorting by name/date or change the `ls' switches.
Type \[revert-buffer] to read all currently expanded directories aGain.
  This retains all marks and hides subdirs again that were hidden before.
Use `SPC' and `DEL' to move down and up by lines.

If Dired ever gets confused, you can either type \[revert-buffer] to read the
directories again, type \[dired-do-redisplay] to relist the file at point or the marked files or a
subdirectory, or type \[dired-build-subdir-alist] to parse the buffer
again for the directory tree.

Customization variables (rename this buffer and type \[describe-variable] on each line
for more info):

  `dired-listing-switches'
  `dired-trivial-filenames'
  `dired-marker-char'
  `dired-del-marker'
  `dired-keep-marker-rename'
  `dired-keep-marker-copy'
  `dired-keep-marker-hardlink'
  `dired-keep-marker-symlink'

Hooks (use \[describe-variable] to see their documentation):

  `dired-before-readin-hook'
  `dired-after-readin-hook'
  `dired-mode-hook'
  `dired-load-hook'

Keybindings:
\{dired-mode-map}

(fn &optional DIRNAME SWITCHES)Fdirtrack-mode
Toggle directory tracking in shell buffers (Dirtrack mode).
With a prefix argument ARG, enable Dirtrack mode if ARG is
positive, and disable it otherwise.  If called from Lisp, enable
the mode if ARG is omitted or nil.

This method requires that your shell prompt contain the current
working directory at all times, and that you set the variable
`dirtrack-list' to match the prompt.

This is an alternative to `shell-dirtrack-mode', which works by
tracking `cd' and similar commands which change the shell working
directory.

(fn &optional ARG)Fdirtrack
Determine the current directory from the process output for a prompt.
This filter function is used by `dirtrack-mode'.  It looks for
the prompt specified by `dirtrack-list', and calls
`shell-process-cd' if the directory seems to have changed away
from `default-directory'.

(fn INPUT)Fdisassemble
Print disassembled code for OBJECT in (optional) BUFFER.
OBJECT can be a symbol defined as a function, or a function itself
(a lambda expression or a compiled-function object).
If OBJECT is not already compiled, we compile it, but do not
redefine OBJECT if it is a symbol.

(fn OBJECT &optional BUFFER INDENT INTERACTIVE-P)Fmake-display-table
Return a new, empty display table.

(fn)Fdisplay-table-slot
Return the value of the extra slot in DISPLAY-TABLE named SLOT.
SLOT may be a number from 0 to 5 inclusive, or a slot name (symbol).
Valid symbols are `truncation', `wrap', `escape', `control',
`selective-display', and `vertical-border'.

(fn DISPLAY-TABLE SLOT)Fset-display-table-slot
Set the value of the extra slot in DISPLAY-TABLE named SLOT to VALUE.
SLOT may be a number from 0 to 5 inclusive, or a name (symbol).
Valid symbols are `truncation', `wrap', `escape', `control',
`selective-display', and `vertical-border'.

(fn DISPLAY-TABLE SLOT VALUE)Fdescribe-display-table
Describe the display table DT in a help buffer.

(fn DT)Fdescribe-current-display-table
Describe the display table in use in the selected window and buffer.

(fn)Fstandard-display-8bit
Display characters representing raw bytes in the range L to H literally.

On a terminal display, each character in the range is displayed
by sending the corresponding byte directly to the terminal.

On a graphic display, each character in the range is displayed
using the default font by a glyph whose code is the corresponding
byte.

Note that ASCII printable characters (SPC to TILDA) are displayed
in the default way after this call.

(fn L H)Fstandard-display-default
Display characters in the range L to H using the default notation.

(fn L H)Fstandard-display-ascii
Display character C using printable string S.

(fn C S)Fstandard-display-g1
Display character C as character SC in the g1 character set.
This function assumes that your terminal uses the SO/SI characters;
it is meaningless for an X frame.

(fn C SC)Fstandard-display-graphic
Display character C as character GC in graphics character set.
This function assumes VT100-compatible escapes; it is meaningless for an
X frame.

(fn C GC)Fstandard-display-underline
Display character C as character UC plus underlining.

(fn C UC)Fcreate-glyph
Allocate a glyph code to display by sending STRING to the terminal.

(fn STRING)Fmake-glyph-code
Return a glyph code representing char CHAR with face FACE.

(fn CHAR &optional FACE)Fglyph-char
Return the character of glyph code GLYPH.

(fn GLYPH)Fglyph-face
Return the face of glyph code GLYPH, or nil if glyph has default face.

(fn GLYPH)Fstandard-display-european
Semi-obsolete way to toggle display of ISO 8859 European characters.

This function is semi-obsolete; you probably don't need it, or else you
probably should use `set-language-environment' or `set-locale-environment'.

This function enables European character display if ARG is positive,
disables it if negative.  Otherwise, it toggles European character display.

When this mode is enabled, characters in the range of 160 to 255
display not as octal escapes, but as accented characters.  Codes 146
and 160 display as apostrophe and space, even though they are not the
ASCII codes for apostrophe and space.

Enabling European character display with this command noninteractively
from Lisp code also selects Latin-1 as the language environment.
This provides increased compatibility for users who call this function
in `.emacs'.

(fn ARG)Fdissociated-press
Dissociate the text of the current buffer.
Output goes in buffer named *Dissociation*,
which is redisplayed each time text is added to it.
Every so often the user must say whether to continue.
If ARG is positive, require ARG chars of continuity.
If ARG is negative, require -ARG words of continuity.
Default is 2.

(fn &optional ARG)Vdnd-protocol-alist
The functions to call for different protocols when a drop is made.
This variable is used by `dnd-handle-one-url' and `dnd-handle-file-name'.
The list contains of (REGEXP . FUNCTION) pairs.
The functions shall take two arguments, URL, which is the URL dropped and
ACTION which is the action to be performed for the drop (move, copy, link,
private or ask).
If no match is found here, and the value of `browse-url-browser-function'
is a pair of (REGEXP . FUNCTION), those regexps are tried for a match.
If no match is found, the URL is inserted as text by calling `dnd-insert-text'.
The function shall return the action done (move, copy, link or private)
if some action was made, or nil if the URL is ignored.Fdns-mode
Major mode for viewing and editing DNS master files.
This mode is inherited from text mode.  It add syntax
highlighting, and some commands for handling DNS master files.
Its keymap inherits from `text-mode' and it has the same
variables for customizing indentation.  It has its own abbrev
table and its own syntax table.

Turning on DNS mode runs `dns-mode-hook'.

(fn)Fdns-mode-soa-increment-serial
Locate SOA record and increment the serial field.

(fn)Fdoc-view-mode-p
Return non-nil if document type TYPE is available for `doc-view'.
Document types are symbols like `dvi', `ps', `pdf', or `odf' (any
OpenDocument format).

(fn TYPE)Fdoc-view-mode
Major mode in DocView buffers.

DocView Mode is an Emacs document viewer.  It displays PDF, PS
and DVI files (as PNG images) in Emacs buffers.

You can use \<doc-view-mode-map>\[doc-view-toggle-display] to
toggle between displaying the document or editing it as text.
\{doc-view-mode-map}

(fn)Fdoc-view-mode-maybe
Switch to `doc-view-mode' if possible.
If the required external tools are not available, then fallback
to the next best mode.

(fn)Fdoc-view-minor-mode
Toggle displaying buffer via Doc View (Doc View minor mode).
With a prefix argument ARG, enable Doc View minor mode if ARG is
positive, and disable it otherwise.  If called from Lisp, enable
the mode if ARG is omitted or nil.

See the command `doc-view-mode' for more information on this mode.

(fn &optional ARG)Fdoc-view-bookmark-jump


(fn BMK)Fdoctor
Switch to *doctor* buffer and start giving psychotherapy.

(fn)Fdouble-mode
Toggle special insertion on double keypresses (Double mode).
With a prefix argument ARG, enable Double mode if ARG is
positive, and disable it otherwise.  If called from Lisp, enable
the mode if ARG is omitted or nil.

When Double mode is enabled, some keys will insert different
strings when pressed twice.  See `double-map' for details.

(fn &optional ARG)Fdunnet
Switch to *dungeon* buffer and start game.

(fn)Fdefine-minor-mode
Define a new minor mode MODE.
This defines the toggle command MODE and (by default) a control variable
MODE (you can override this with the :variable keyword, see below).
DOC is the documentation for the mode toggle command.

The defined mode command takes one optional (prefix) argument.
Interactively with no prefix argument, it toggles the mode.
A prefix argument enables the mode if the argument is positive,
and disables it otherwise.

When called from Lisp, the mode command toggles the mode if the
argument is `toggle', disables the mode if the argument is a
non-positive integer, and enables the mode otherwise (including
if the argument is omitted or nil or a positive integer).

If DOC is nil, give the mode command a basic doc-string
documenting what its argument does.

Optional INIT-VALUE is the initial value of the mode's variable.
Optional LIGHTER is displayed in the mode line when the mode is on.
Optional KEYMAP is the default keymap bound to the mode keymap.
  If non-nil, it should be a variable name (whose value is a keymap),
  or an expression that returns either a keymap or a list of
  arguments for `easy-mmode-define-keymap'.  If you supply a KEYMAP
  argument that is not a symbol, this macro defines the variable
  MODE-map and gives it the value that KEYMAP specifies.

BODY contains code to execute each time the mode is enabled or disabled.
  It is executed after toggling the mode, and before running MODE-hook.
  Before the actual body code, you can write keyword arguments, i.e.
  alternating keywords and values.  These following special keywords
  are supported (other keywords are passed to `defcustom' if the minor
  mode is global):

:group GROUP	Custom group name to use in all generated `defcustom' forms.
		Defaults to MODE without the possible trailing "-mode".
		Don't use this default group name unless you have written a
		`defgroup' to define that group properly.
:global GLOBAL	If non-nil specifies that the minor mode is not meant to be
		buffer-local, so don't make the variable MODE buffer-local.
		By default, the mode is buffer-local.
:init-value VAL	Same as the INIT-VALUE argument.
		Not used if you also specify :variable.
:lighter SPEC	Same as the LIGHTER argument.
:keymap MAP	Same as the KEYMAP argument.
:require SYM	Same as in `defcustom'.
:variable PLACE	The location to use instead of the variable MODE to store
		the state of the mode.	This can be simply a different
		named variable, or a generalized variable.
		PLACE can also be of the form (GET . SET), where GET is
		an expression that returns the current state, and SET is
		a function that takes one argument, the new state, and
		sets it.  If you specify a :variable, this function does
		not define a MODE variable (nor any of the terms used
		in :variable).

:after-hook     A single lisp form which is evaluated after the mode hooks
                have been run.  It should not be quoted.

For example, you could write
  (define-minor-mode foo-mode "If enabled, foo on you!"
    :lighter " Foo" :require 'foo :global t :group 'hassle :version "27.5"
    ...BODY CODE...)

(fn MODE DOC &optional INIT-VALUE LIGHTER KEYMAP &rest BODY)Fdefine-globalized-minor-mode
Make a global mode GLOBAL-MODE corresponding to buffer-local minor MODE.
TURN-ON is a function that will be called with no args in every buffer
  and that should try to turn MODE on if applicable for that buffer.
KEYS is a list of CL-style keyword arguments.  As the minor mode
  defined by this function is always global, any :global keyword is
  ignored.  Other keywords have the same meaning as in `define-minor-mode',
  which see.  In particular, :group specifies the custom group.
  The most useful keywords are those that are passed on to the
  `defcustom'.  It normally makes no sense to pass the :lighter
  or :keymap keywords to `define-globalized-minor-mode', since these
  are usually passed to the buffer-local version of the minor mode.

If MODE's set-up depends on the major mode in effect when it was
enabled, then disabling and reenabling MODE should make MODE work
correctly with the current major mode.  This is important to
prevent problems with derived modes, that is, major modes that
call another major mode in their body.

(fn GLOBAL-MODE MODE TURN-ON &rest KEYS)Feasy-mmode-define-keymap
Return a keymap built from bindings BS.
BS must be a list of (KEY . BINDING) where
KEY and BINDINGS are suitable for `define-key'.
Optional NAME is passed to `make-sparse-keymap'.
Optional map M can be used to modify an existing map.
ARGS is a list of additional keyword arguments.

Valid keywords and arguments are:

  :name      Name of the keymap; overrides NAME argument.
  :dense     Non-nil for a dense keymap.
  :inherit   Parent keymap.
  :group     Ignored.
  :suppress  Non-nil to call `suppress-keymap' on keymap,
             'nodigits to suppress digits as prefix arguments.

(fn BS &optional NAME M ARGS)Feasy-mmode-defmap
Define a constant M whose value is the result of `easy-mmode-define-keymap'.
The M, BS, and ARGS arguments are as per that function.  DOC is
the constant's documentation.

(fn M BS DOC &rest ARGS)Feasy-mmode-defsyntax
Define variable ST as a syntax-table.
CSS contains a list of syntax specifications of the form (CHAR . SYNTAX).

(fn ST CSS DOC &rest ARGS)Feasy-menu-define
Define a pop-up menu and/or menu bar menu specified by MENU.
If SYMBOL is non-nil, define SYMBOL as a function to pop up the
submenu defined by MENU, with DOC as its doc string.

MAPS, if non-nil, should be a keymap or a list of keymaps; add
the submenu defined by MENU to the keymap or each of the keymaps,
as a top-level menu bar item.

The first element of MENU must be a string.  It is the menu bar
item name.  It may be followed by the following keyword argument
pairs:

 :filter FUNCTION
    FUNCTION must be a function which, if called with one
    argument---the list of the other menu items---returns the
    items to actually display.

 :visible INCLUDE
    INCLUDE is an expression.  The menu is visible if the
    expression evaluates to a non-nil value.  `:included' is an
    alias for `:visible'.

 :active ENABLE
    ENABLE is an expression.  The menu is enabled for selection
    if the expression evaluates to a non-nil value.  `:enable' is
    an alias for `:active'.

The rest of the elements in MENU are menu items.
A menu item can be a vector of three elements:

  [NAME CALLBACK ENABLE]

NAME is a string--the menu item name.

CALLBACK is a command to run when the item is chosen, or an
expression to evaluate when the item is chosen.

ENABLE is an expression; the item is enabled for selection if the
expression evaluates to a non-nil value.

Alternatively, a menu item may have the form:

   [ NAME CALLBACK [ KEYWORD ARG ]... ]

where NAME and CALLBACK have the same meanings as above, and each
optional KEYWORD and ARG pair should be one of the following:

 :keys KEYS
    KEYS is a string; a keyboard equivalent to the menu item.
    This is normally not needed because keyboard equivalents are
    usually computed automatically.  KEYS is expanded with
    `substitute-command-keys' before it is used.

 :key-sequence KEYS
    KEYS is a hint for speeding up Emacs's first display of the
    menu.  It should be nil if you know that the menu item has no
    keyboard equivalent; otherwise it should be a string or
    vector specifying a keyboard equivalent for the menu item.

 :active ENABLE
    ENABLE is an expression; the item is enabled for selection
    whenever this expression's value is non-nil.  `:enable' is an
    alias for `:active'.

 :visible INCLUDE
    INCLUDE is an expression; this item is only visible if this
    expression has a non-nil value.  `:included' is an alias for
    `:visible'.

 :label FORM
    FORM is an expression that is dynamically evaluated and whose
    value serves as the menu item's label (the default is NAME).

 :suffix FORM
    FORM is an expression that is dynamically evaluated and whose
    value is concatenated with the menu entry's label.

 :style STYLE
    STYLE is a symbol describing the type of menu item; it should
    be `toggle' (a checkbox), or `radio' (a radio button), or any
    other value (meaning an ordinary menu item).

 :selected SELECTED
    SELECTED is an expression; the checkbox or radio button is
    selected whenever the expression's value is non-nil.

 :help HELP
    HELP is a string, the help to display for the menu item.

Alternatively, a menu item can be a string.  Then that string
appears in the menu as unselectable text.  A string consisting
solely of dashes is displayed as a menu separator.

Alternatively, a menu item can be a list with the same format as
MENU.  This is a submenu.

(fn SYMBOL MAPS DOC MENU)Feasy-menu-do-define


(fn SYMBOL MAPS DOC MENU)Feasy-menu-create-menu
Create a menu called MENU-NAME with items described in MENU-ITEMS.
MENU-NAME is a string, the name of the menu.  MENU-ITEMS is a list of items
possibly preceded by keyword pairs as described in `easy-menu-define'.

(fn MENU-NAME MENU-ITEMS)Feasy-menu-change
Change menu found at PATH as item NAME to contain ITEMS.
PATH is a list of strings for locating the menu that
should contain a submenu named NAME.
ITEMS is a list of menu items, as in `easy-menu-define'.
These items entirely replace the previous items in that submenu.

If MAP is specified, it should normally be a keymap; nil stands for the local
menu-bar keymap.  It can also be a symbol, which has earlier been used as the
first argument in a call to `easy-menu-define', or the value of such a symbol.

If the menu located by PATH has no submenu named NAME, add one.
If the optional argument BEFORE is present, add it just before
the submenu named BEFORE, otherwise add it at the end of the menu.

To implement dynamic menus, either call this from
`menu-bar-update-hook' or use a menu filter.

(fn PATH NAME ITEMS &optional BEFORE MAP)Febnf-customize
Customization for ebnf group.

(fn)Febnf-print-directory
Generate and print a PostScript syntactic chart image of DIRECTORY.

If DIRECTORY is nil, it's used `default-directory'.

The files in DIRECTORY that matches `ebnf-file-suffix-regexp' (which see) are
processed.

See also `ebnf-print-buffer'.

(fn &optional DIRECTORY)Febnf-print-file
Generate and print a PostScript syntactic chart image of the file FILE.

If optional arg DO-NOT-KILL-BUFFER-WHEN-DONE is non-nil, the buffer isn't
killed after process termination.

See also `ebnf-print-buffer'.

(fn FILE &optional DO-NOT-KILL-BUFFER-WHEN-DONE)Febnf-print-buffer
Generate and print a PostScript syntactic chart image of the buffer.

When called with a numeric prefix argument (C-u), prompts the user for
the name of a file to save the PostScript image in, instead of sending
it to the printer.

More specifically, the FILENAME argument is treated as follows: if it
is nil, send the image to the printer.  If FILENAME is a string, save
the PostScript image in a file with that name.  If FILENAME is a
number, prompt the user for the name of the file to save in.

(fn &optional FILENAME)Febnf-print-region
Generate and print a PostScript syntactic chart image of the region.
Like `ebnf-print-buffer', but prints just the current region.

(fn FROM TO &optional FILENAME)Febnf-spool-directory
Generate and spool a PostScript syntactic chart image of DIRECTORY.

If DIRECTORY is nil, it's used `default-directory'.

The files in DIRECTORY that matches `ebnf-file-suffix-regexp' (which see) are
processed.

See also `ebnf-spool-buffer'.

(fn &optional DIRECTORY)Febnf-spool-file
Generate and spool a PostScript syntactic chart image of the file FILE.

If optional arg DO-NOT-KILL-BUFFER-WHEN-DONE is non-nil, the buffer isn't
killed after process termination.

See also `ebnf-spool-buffer'.

(fn FILE &optional DO-NOT-KILL-BUFFER-WHEN-DONE)Febnf-spool-buffer
Generate and spool a PostScript syntactic chart image of the buffer.
Like `ebnf-print-buffer' except that the PostScript image is saved in a
local buffer to be sent to the printer later.

Use the command `ebnf-despool' to send the spooled images to the printer.

(fn)Febnf-spool-region
Generate a PostScript syntactic chart image of the region and spool locally.
Like `ebnf-spool-buffer', but spools just the current region.

Use the command `ebnf-despool' to send the spooled images to the printer.

(fn FROM TO)Febnf-eps-directory
Generate EPS files from EBNF files in DIRECTORY.

If DIRECTORY is nil, it's used `default-directory'.

The files in DIRECTORY that matches `ebnf-file-suffix-regexp' (which see) are
processed.

See also `ebnf-eps-buffer'.

(fn &optional DIRECTORY)Febnf-eps-file
Generate an EPS file from EBNF file FILE.

If optional arg DO-NOT-KILL-BUFFER-WHEN-DONE is non-nil, the buffer isn't
killed after EPS generation.

See also `ebnf-eps-buffer'.

(fn FILE &optional DO-NOT-KILL-BUFFER-WHEN-DONE)Febnf-eps-buffer
Generate a PostScript syntactic chart image of the buffer in an EPS file.

Generate an EPS file for each production in the buffer.
The EPS file name has the following form:

   <PREFIX><PRODUCTION>.eps

<PREFIX>     is given by variable `ebnf-eps-prefix'.
	     The default value is "ebnf--".

<PRODUCTION> is the production name.
	     Some characters in the production file name are replaced to
	     produce a valid file name.  For example, the production name
	     "A/B + C" is modified to produce "A_B_+_C", and the EPS
	     file name used in this case will be "ebnf--A_B_+_C.eps".

WARNING: This function does *NOT* ask any confirmation to override existing
	 files.

(fn)Febnf-eps-region
Generate a PostScript syntactic chart image of the region in an EPS file.

Generate an EPS file for each production in the region.
The EPS file name has the following form:

   <PREFIX><PRODUCTION>.eps

<PREFIX>     is given by variable `ebnf-eps-prefix'.
	     The default value is "ebnf--".

<PRODUCTION> is the production name.
	     Some characters in the production file name are replaced to
	     produce a valid file name.  For example, the production name
	     "A/B + C" is modified to produce "A_B_+_C", and the EPS
	     file name used in this case will be "ebnf--A_B_+_C.eps".

WARNING: This function does *NOT* ask any confirmation to override existing
	 files.

(fn FROM TO)Febnf-syntax-directory
Do a syntactic analysis of the files in DIRECTORY.

If DIRECTORY is nil, use `default-directory'.

Only the files in DIRECTORY that match `ebnf-file-suffix-regexp' (which see)
are processed.

See also `ebnf-syntax-buffer'.

(fn &optional DIRECTORY)Febnf-syntax-file
Do a syntactic analysis of the named FILE.

If optional arg DO-NOT-KILL-BUFFER-WHEN-DONE is non-nil, the buffer isn't
killed after syntax checking.

See also `ebnf-syntax-buffer'.

(fn FILE &optional DO-NOT-KILL-BUFFER-WHEN-DONE)Febnf-syntax-buffer
Do a syntactic analysis of the current buffer.

(fn)Febnf-syntax-region
Do a syntactic analysis of a region.

(fn FROM TO)Febnf-setup
Return the current ebnf2ps setup.

(fn)Febnf-find-style
Return style definition if NAME is already defined; otherwise, return nil.

See `ebnf-style-database' documentation.

(fn NAME)Febnf-insert-style
Insert a new style NAME with inheritance INHERITS and values VALUES.

See `ebnf-style-database' documentation.

(fn NAME INHERITS &rest VALUES)Febnf-delete-style
Delete style NAME.

See `ebnf-style-database' documentation.

(fn NAME)Febnf-merge-style
Merge values of style NAME with style VALUES.

See `ebnf-style-database' documentation.

(fn NAME &rest VALUES)Febnf-apply-style
Set STYLE as the current style.

Returns the old style symbol.

See `ebnf-style-database' documentation.

(fn STYLE)Febnf-reset-style
Reset current style.

Returns the old style symbol.

See `ebnf-style-database' documentation.

(fn &optional STYLE)Febnf-push-style
Push the current style onto a stack and set STYLE as the current style.

Returns the old style symbol.

See also `ebnf-pop-style'.

See `ebnf-style-database' documentation.

(fn &optional STYLE)Febnf-pop-style
Pop a style from the stack of pushed styles and set it as the current style.

Returns the old style symbol.

See also `ebnf-push-style'.

See `ebnf-style-database' documentation.

(fn)Febrowse-tree-mode
Major mode for Ebrowse class tree buffers.
Each line corresponds to a class in a class tree.
Letters do not insert themselves, they are commands.
File operations in the tree buffer work on class tree data structures.
E.g.\[save-buffer] writes the tree to the file it was loaded from.

Tree mode key bindings:
\{ebrowse-tree-mode-map}

(fn)Febrowse-electric-choose-tree
Return a buffer containing a tree or nil if no tree found or canceled.

(fn)Febrowse-member-mode
Major mode for Ebrowse member buffers.

(fn)Febrowse-tags-view-declaration
View declaration of member at point.

(fn)Febrowse-tags-find-declaration
Find declaration of member at point.

(fn)Febrowse-tags-view-definition
View definition of member at point.

(fn)Febrowse-tags-find-definition
Find definition of member at point.

(fn)Febrowse-tags-find-declaration-other-window
Find declaration of member at point in other window.

(fn)Febrowse-tags-view-definition-other-window
View definition of member at point in other window.

(fn)Febrowse-tags-find-definition-other-window
Find definition of member at point in other window.

(fn)Febrowse-tags-find-declaration-other-frame
Find definition of member at point in other frame.

(fn)Febrowse-tags-view-definition-other-frame
View definition of member at point in other frame.

(fn)Febrowse-tags-find-definition-other-frame
Find definition of member at point in other frame.

(fn)Febrowse-tags-complete-symbol
Perform completion on the C++ symbol preceding point.
A second call of this function without changing point inserts the next match.
A call with prefix PREFIX reads the symbol to insert from the minibuffer with
completion.

(fn PREFIX)Febrowse-tags-loop-continue
Repeat last operation on files in tree.
FIRST-TIME non-nil means this is not a repetition, but the first time.
TREE-BUFFER if indirectly specifies which files to loop over.

(fn &optional FIRST-TIME TREE-BUFFER)Febrowse-tags-search
Search for REGEXP in all files in a tree.
If marked classes exist, process marked classes, only.
If regular expression is nil, repeat last search.

(fn REGEXP)Febrowse-tags-query-replace
Query replace FROM with TO in all files of a class tree.
With prefix arg, process files of marked classes only.

(fn FROM TO)Febrowse-tags-search-member-use
Search for call sites of a member.
If FIX-NAME is specified, search uses of that member.
Otherwise, read a member name from the minibuffer.
Searches in all files mentioned in a class tree for something that
looks like a function call to the member.

(fn &optional FIX-NAME)Febrowse-back-in-position-stack
Move backward in the position stack.
Prefix arg ARG says how much.

(fn ARG)Febrowse-forward-in-position-stack
Move forward in the position stack.
Prefix arg ARG says how much.

(fn ARG)Febrowse-electric-position-menu
List positions in the position stack in an electric buffer.

(fn)Febrowse-save-tree
Save current tree in same file it was loaded from.

(fn)Febrowse-save-tree-as
Write the current tree data structure to a file.
Read the file name from the minibuffer if interactive.
Otherwise, FILE-NAME specifies the file to save the tree in.

(fn &optional FILE-NAME)Febrowse-statistics
Display statistics for a class tree.

(fn)Felectric-buffer-list
Pop up the Buffer Menu in an "electric" window.
If you type SPC or RET (`Electric-buffer-menu-select'), that
selects the buffer at point and quits the "electric" window.
Otherwise, you can move around in the Buffer Menu, marking
buffers to be selected, saved or deleted; these other commands
are much like those of `Buffer-menu-mode'.

Run hooks in `electric-buffer-menu-mode-hook' on entry.

\<electric-buffer-menu-mode-map>
\[keyboard-quit] or \[Electric-buffer-menu-quit] -- exit buffer menu, returning to previous window and buffer
  configuration.  If the very first character typed is a space, it
  also has this effect.
\[Electric-buffer-menu-select] -- select buffer of line point is on.
  Also show buffers marked with m in other windows,
  deletes buffers marked with "D", and saves those marked with "S".
\[Buffer-menu-mark] -- mark buffer to be displayed.
\[Buffer-menu-not-modified] -- clear modified-flag on that buffer.
\[Buffer-menu-save] -- mark that buffer to be saved.
\[Buffer-menu-delete] or \[Buffer-menu-delete-backwards] -- mark that buffer to be deleted.
\[Buffer-menu-unmark] -- remove all kinds of marks from current line.
\[Electric-buffer-menu-mode-view-buffer] -- view buffer, returning when done.
\[Buffer-menu-backup-unmark] -- back up a line and remove marks.

(fn ARG)FElectric-command-history-redo-expression
Edit current history line in minibuffer and execute result.
With prefix arg NOCONFIRM, execute current line as-is without editing.

(fn &optional NOCONFIRM)Fecomplete-setup


(fn)Vglobal-ede-mode
Non-nil if Global-Ede mode is enabled.
See the command `global-ede-mode' for a description of this minor mode.
Setting this variable directly does not take effect;
either customize it (see the info node `Easy Customization')
or call the function `global-ede-mode'.Fglobal-ede-mode
Toggle global EDE (Emacs Development Environment) mode.
With a prefix argument ARG, enable global EDE mode if ARG is
positive, and disable it otherwise.  If called from Lisp, enable
the mode if ARG is omitted or nil.

This global minor mode enables `ede-minor-mode' in all buffers in
an EDE controlled project.

(fn &optional ARG)Vedebug-all-defs
If non-nil, evaluating defining forms instruments for Edebug.
This applies to `eval-defun', `eval-region', `eval-buffer', and
`eval-current-buffer'.  `eval-region' is also called by
`eval-last-sexp', and `eval-print-last-sexp'.

You can use the command `edebug-all-defs' to toggle the value of this
variable.  You may wish to make it local to each buffer with
(make-local-variable 'edebug-all-defs) in your
`emacs-lisp-mode-hook'.Vedebug-all-forms
Non-nil means evaluation of all forms will instrument for Edebug.
This doesn't apply to loading or evaluations in the minibuffer.
Use the command `edebug-all-forms' to toggle the value of this option.Fedebug-basic-spec
Return t if SPEC uses only extant spec symbols.
An extant spec symbol is a symbol that is not a function and has a
`edebug-form-spec' property.

(fn SPEC)Fedebug-eval-top-level-form
Evaluate the top level form point is in, stepping through with Edebug.
This is like `eval-defun' except that it steps the code for Edebug
before evaluating it.  It displays the value in the echo area
using `eval-expression' (which see).

If you do this on a function definition such as a defun or defmacro,
it defines the function and instruments its definition for Edebug,
so it will do Edebug stepping when called later.  It displays
`Edebug: FUNCTION' in the echo area to indicate that FUNCTION is now
instrumented for Edebug.

If the current defun is actually a call to `defvar' or `defcustom',
evaluating it this way resets the variable using its initial value
expression even if the variable already has some other value.
(Normally `defvar' and `defcustom' do not alter the value if there
already is one.)

(fn)Fedebug-all-defs
Toggle edebugging of all definitions.

(fn)Fedebug-all-forms
Toggle edebugging of all forms.

(fn)Fediff-files
Run Ediff on a pair of files, FILE-A and FILE-B.

(fn FILE-A FILE-B &optional STARTUP-HOOKS)Fediff-files3
Run Ediff on three files, FILE-A, FILE-B, and FILE-C.

(fn FILE-A FILE-B FILE-C &optional STARTUP-HOOKS)Fediff-current-file
Start ediff between current buffer and its file on disk.
This command can be used instead of `revert-buffer'.  If there is
nothing to revert then this command fails.

(fn)Fediff-backup
Run Ediff on FILE and its backup file.
Uses the latest backup, if there are several numerical backups.
If this file is a backup, `ediff' it with its original.

(fn FILE)Fediff-buffers
Run Ediff on a pair of buffers, BUFFER-A and BUFFER-B.

(fn BUFFER-A BUFFER-B &optional STARTUP-HOOKS JOB-NAME)Fediff-buffers3
Run Ediff on three buffers, BUFFER-A, BUFFER-B, and BUFFER-C.

(fn BUFFER-A BUFFER-B BUFFER-C &optional STARTUP-HOOKS JOB-NAME)Fediff-directories
Run Ediff on a pair of directories, DIR1 and DIR2, comparing files that have
the same name in both.  The third argument, REGEXP, is nil or a regular
expression; only file names that match the regexp are considered.

(fn DIR1 DIR2 REGEXP)Fediff-directory-revisions
Run Ediff on a directory, DIR1, comparing its files with their revisions.
The second argument, REGEXP, is a regular expression that filters the file
names.  Only the files that are under revision control are taken into account.

(fn DIR1 REGEXP)Fediff-directories3
Run Ediff on three directories, DIR1, DIR2, and DIR3, comparing files that
have the same name in all three.  The last argument, REGEXP, is nil or a
regular expression; only file names that match the regexp are considered.

(fn DIR1 DIR2 DIR3 REGEXP)Fediff-merge-directories
Run Ediff on a pair of directories, DIR1 and DIR2, merging files that have
the same name in both.  The third argument, REGEXP, is nil or a regular
expression; only file names that match the regexp are considered.

(fn DIR1 DIR2 REGEXP &optional MERGE-AUTOSTORE-DIR)Fediff-merge-directories-with-ancestor
Merge files in directories DIR1 and DIR2 using files in ANCESTOR-DIR as ancestors.
Ediff merges files that have identical names in DIR1, DIR2.  If a pair of files
in DIR1 and DIR2 doesn't have an ancestor in ANCESTOR-DIR, Ediff will merge
without ancestor.  The fourth argument, REGEXP, is nil or a regular expression;
only file names that match the regexp are considered.

(fn DIR1 DIR2 ANCESTOR-DIR REGEXP &optional MERGE-AUTOSTORE-DIR)Fediff-merge-directory-revisions
Run Ediff on a directory, DIR1, merging its files with their revisions.
The second argument, REGEXP, is a regular expression that filters the file
names.  Only the files that are under revision control are taken into account.

(fn DIR1 REGEXP &optional MERGE-AUTOSTORE-DIR)Fediff-merge-directory-revisions-with-ancestor
Run Ediff on a directory, DIR1, merging its files with their revisions and ancestors.
The second argument, REGEXP, is a regular expression that filters the file
names.  Only the files that are under revision control are taken into account.

(fn DIR1 REGEXP &optional MERGE-AUTOSTORE-DIR)Fediff-windows-wordwise
Compare WIND-A and WIND-B, which are selected by clicking, wordwise.
With prefix argument, DUMB-MODE, or on a non-windowing display, works as
follows:
If WIND-A is nil, use selected window.
If WIND-B is nil, use window next to WIND-A.

(fn DUMB-MODE &optional WIND-A WIND-B STARTUP-HOOKS)Fediff-windows-linewise
Compare WIND-A and WIND-B, which are selected by clicking, linewise.
With prefix argument, DUMB-MODE, or on a non-windowing display, works as
follows:
If WIND-A is nil, use selected window.
If WIND-B is nil, use window next to WIND-A.

(fn DUMB-MODE &optional WIND-A WIND-B STARTUP-HOOKS)Fediff-regions-wordwise
Run Ediff on a pair of regions in specified buffers.
Regions (i.e., point and mark) can be set in advance or marked interactively.
This function is effective only for relatively small regions, up to 200
lines.  For large regions, use `ediff-regions-linewise'.

(fn BUFFER-A BUFFER-B &optional STARTUP-HOOKS)Fediff-regions-linewise
Run Ediff on a pair of regions in specified buffers.
Regions (i.e., point and mark) can be set in advance or marked interactively.
Each region is enlarged to contain full lines.
This function is effective for large regions, over 100-200
lines.  For small regions, use `ediff-regions-wordwise'.

(fn BUFFER-A BUFFER-B &optional STARTUP-HOOKS)Fediff-merge-files
Merge two files without ancestor.

(fn FILE-A FILE-B &optional STARTUP-HOOKS MERGE-BUFFER-FILE)Fediff-merge-files-with-ancestor
Merge two files with ancestor.

(fn FILE-A FILE-B FILE-ANCESTOR &optional STARTUP-HOOKS MERGE-BUFFER-FILE)Fediff-merge-buffers
Merge buffers without ancestor.

(fn BUFFER-A BUFFER-B &optional STARTUP-HOOKS JOB-NAME MERGE-BUFFER-FILE)Fediff-merge-buffers-with-ancestor
Merge buffers with ancestor.

(fn BUFFER-A BUFFER-B BUFFER-ANCESTOR &optional STARTUP-HOOKS JOB-NAME MERGE-BUFFER-FILE)Fediff-merge-revisions
Run Ediff by merging two revisions of a file.
The file is the optional FILE argument or the file visited by the current
buffer.

(fn &optional FILE STARTUP-HOOKS MERGE-BUFFER-FILE)Fediff-merge-revisions-with-ancestor
Run Ediff by merging two revisions of a file with a common ancestor.
The file is the optional FILE argument or the file visited by the current
buffer.

(fn &optional FILE STARTUP-HOOKS MERGE-BUFFER-FILE)Fediff-patch-file
Query for a file name, and then run Ediff by patching that file.
If optional PATCH-BUF is given, use the patch in that buffer
and don't ask the user.
If prefix argument, then: if even argument, assume that the patch is in a
buffer. If odd -- assume it is in a file.

(fn &optional ARG PATCH-BUF)Fediff-patch-buffer
Run Ediff by patching the buffer specified at prompt.
Without the optional prefix ARG, asks if the patch is in some buffer and
prompts for the buffer or a file, depending on the answer.
With ARG=1, assumes the patch is in a file and prompts for the file.
With ARG=2, assumes the patch is in a buffer and prompts for the buffer.
PATCH-BUF is an optional argument, which specifies the buffer that contains the
patch. If not given, the user is prompted according to the prefix argument.

(fn &optional ARG PATCH-BUF)Fediff-revision
Run Ediff by comparing versions of a file.
The file is an optional FILE argument or the file entered at the prompt.
Default: the file visited by the current buffer.
Uses `vc.el' or `rcs.el' depending on `ediff-version-control-package'.

(fn &optional FILE STARTUP-HOOKS)Fediff-version
Return string describing the version of Ediff.
When called interactively, displays the version.

(fn)Fediff-documentation
Display Ediff's manual.
With optional NODE, goes to that node.

(fn &optional NODE)Fediff-customize


(fn)Fediff-show-registry
Display Ediff's registry.

(fn)Fediff-toggle-multiframe
Switch from multiframe display to single-frame display and back.
To change the default, set the variable `ediff-window-setup-function',
which see.

(fn)Fediff-toggle-use-toolbar
Enable or disable Ediff toolbar.
Works only in versions of Emacs that support toolbars.
To change the default, set the variable `ediff-use-toolbar-p', which see.

(fn)Fedit-kbd-macro
Edit a keyboard macro.
At the prompt, type any key sequence which is bound to a keyboard macro.
Or, type `C-x e' or RET to edit the last keyboard macro, `C-h l' to edit
the last 300 keystrokes as a keyboard macro, or `M-x' to edit a macro by
its command name.
With a prefix argument, format the macro in a more concise way.

(fn KEYS &optional PREFIX FINISH-HOOK STORE-HOOK)Fedit-last-kbd-macro
Edit the most recently defined keyboard macro.

(fn &optional PREFIX)Fedit-named-kbd-macro
Edit a keyboard macro which has been given a name by `name-last-kbd-macro'.

(fn &optional PREFIX)Fread-kbd-macro
Read the region as a keyboard macro definition.
The region is interpreted as spelled-out keystrokes, e.g., "M-x abc RET".
See documentation for `edmacro-mode' for details.
Leading/trailing "C-x (" and "C-x )" in the text are allowed and ignored.
The resulting macro is installed as the "current" keyboard macro.

In Lisp, may also be called with a single STRING argument in which case
the result is returned rather than being installed as the current macro.
The result will be a string if possible, otherwise an event vector.
Second argument NEED-VECTOR means to return an event vector always.

(fn START &optional END)Fformat-kbd-macro
Return the keyboard macro MACRO as a human-readable string.
This string is suitable for passing to `read-kbd-macro'.
Second argument VERBOSE means to put one command per line with comments.
If VERBOSE is `1', put everything on one line.  If VERBOSE is omitted
or nil, use a compact 80-column format.

(fn &optional MACRO VERBOSE)Fedt-set-scroll-margins
Set scroll margins.
Argument TOP is the top margin in number of lines or percent of window.
Argument BOTTOM is the bottom margin in number of lines or percent of window.

(fn TOP BOTTOM)Fedt-emulation-on
Turn on EDT Emulation.

(fn)Fwith-electric-help
Pop up an "electric" help buffer.
THUNK is a function of no arguments which is called to initialize the
contents of BUFFER.  BUFFER defaults to `*Help*'.  BUFFER will be
erased before THUNK is called unless NOERASE is non-nil.  THUNK will
be called while BUFFER is current and with `standard-output' bound to
the buffer specified by BUFFER.

If THUNK returns nil, we display BUFFER starting at the top, and shrink
the window to fit.  If THUNK returns non-nil, we don't do those things.

After THUNK has been called, this function "electrically" pops up a
window in which BUFFER is displayed and allows the user to scroll
through that buffer in `electric-help-mode'.  The window's height will
be at least MINHEIGHT if this value is non-nil.

If THUNK returns nil, we display BUFFER starting at the top, and
shrink the window to fit if `electric-help-shrink-window' is non-nil.
If THUNK returns non-nil, we don't do those things.

When the user exits (with `electric-help-exit', or otherwise), the help
buffer's window disappears (i.e., we use `save-window-excursion'), and
BUFFER is put back into its original major mode.

(fn THUNK &optional BUFFER NOERASE MINHEIGHT)Felectric-helpify


(fn FUN &optional NAME)Fcustomize-object
Customize OBJ in a custom buffer.
Optional argument GROUP is the sub-group of slots to display.

(fn OBJ &optional GROUP)Feieio-browse
Create an object browser window to show all objects.
If optional ROOT-CLASS, then start with that, otherwise start with
variable `eieio-default-superclass'.

(fn &optional ROOT-CLASS)Feieio-describe-class
Describe a CLASS defined by a string or symbol.
If CLASS is actually an object, then also display current values of that object.
Optional HEADERFCN should be called to insert a few bits of info first.

(fn CLASS &optional HEADERFCN)Feieio-describe-constructor
Describe the constructor function FCN.
Uses `eieio-describe-class' to describe the class being constructed.

(fn FCN)Feieio-describe-generic
Describe the generic function GENERIC.
Also extracts information about all methods specific to this generic.

(fn GENERIC)Veldoc-minor-mode-string
String to display in mode line when ElDoc Mode is enabled; nil for none.Feldoc-mode
Toggle echo area display of Lisp objects at point (ElDoc mode).
With a prefix argument ARG, enable ElDoc mode if ARG is positive,
and disable it otherwise.  If called from Lisp, enable ElDoc mode
if ARG is omitted or nil.

ElDoc mode is a buffer-local minor mode.  When enabled, the echo
area displays information about a function or variable in the
text where point is.  If point is on a documented variable, it
displays the first line of that variable's doc string.  Otherwise
it displays the argument list of the function called in the
expression point is on.

(fn &optional ARG)Fturn-on-eldoc-mode
Unequivocally turn on ElDoc mode (see command `eldoc-mode').

(fn)Veldoc-documentation-function
If non-nil, function to call to return doc string.
The function of no args should return a one-line string for displaying
doc about a function etc. appropriate to the context around point.
It should return nil if there's no doc appropriate for the context.
Typically doc is returned if point is on a function-like name or in its
arg list.

The result is used as is, so the function must explicitly handle
the variables `eldoc-argument-case' and `eldoc-echo-area-use-multiline-p',
and the face `eldoc-highlight-function-argument', if they are to have any
effect.

This variable is expected to be made buffer-local by modes (other than
Emacs Lisp mode) that support ElDoc.Velectric-indent-chars
Characters that should cause automatic reindentation.Velectric-indent-mode
Non-nil if Electric-Indent mode is enabled.
See the command `electric-indent-mode' for a description of this minor mode.
Setting this variable directly does not take effect;
either customize it (see the info node `Easy Customization')
or call the function `electric-indent-mode'.Felectric-indent-mode
Toggle on-the-fly reindentation (Electric Indent mode).
With a prefix argument ARG, enable Electric Indent mode if ARG is
positive, and disable it otherwise.  If called from Lisp, enable
the mode if ARG is omitted or nil.

This is a global minor mode.  When enabled, it reindents whenever
the hook `electric-indent-functions' returns non-nil, or you
insert a character from `electric-indent-chars'.

(fn &optional ARG)Velectric-pair-mode
Non-nil if Electric-Pair mode is enabled.
See the command `electric-pair-mode' for a description of this minor mode.
Setting this variable directly does not take effect;
either customize it (see the info node `Easy Customization')
or call the function `electric-pair-mode'.Felectric-pair-mode
Toggle automatic parens pairing (Electric Pair mode).
With a prefix argument ARG, enable Electric Pair mode if ARG is
positive, and disable it otherwise.  If called from Lisp, enable
the mode if ARG is omitted or nil.

Electric Pair mode is a global minor mode.  When enabled, typing
an open parenthesis automatically inserts the corresponding
closing parenthesis.  (Likewise for brackets, etc.)

See options `electric-pair-pairs' and `electric-pair-skip-self'.

(fn &optional ARG)Velectric-layout-mode
Non-nil if Electric-Layout mode is enabled.
See the command `electric-layout-mode' for a description of this minor mode.
Setting this variable directly does not take effect;
either customize it (see the info node `Easy Customization')
or call the function `electric-layout-mode'.Felectric-layout-mode
Automatically insert newlines around some chars.
With a prefix argument ARG, enable Electric Layout mode if ARG is
positive, and disable it otherwise.  If called from Lisp, enable
the mode if ARG is omitted or nil.
The variable `electric-layout-rules' says when and how to insert newlines.

(fn &optional ARG)Felide-head
Hide header material in buffer according to `elide-head-headers-to-hide'.

The header is made invisible with an overlay.  With a prefix arg, show
an elided material again.

This is suitable as an entry on `find-file-hook' or appropriate mode hooks.

(fn &optional ARG)Felint-file
Lint the file FILE.

(fn FILE)Felint-directory
Lint all the .el files in DIRECTORY.
A complicated directory may require a lot of memory.

(fn DIRECTORY)Felint-current-buffer
Lint the current buffer.
If necessary, this first calls `elint-initialize'.

(fn)Felint-defun
Lint the function at point.
If necessary, this first calls `elint-initialize'.

(fn)Felint-initialize
Initialize elint.
If elint is already initialized, this does nothing, unless
optional prefix argument REINIT is non-nil.

(fn &optional REINIT)Felp-instrument-function
Instrument FUNSYM for profiling.
FUNSYM must be a symbol of a defined function.

(fn FUNSYM)Felp-instrument-list
Instrument, for profiling, all functions in `elp-function-list'.
Use optional LIST if provided instead.
If called interactively, read LIST using the minibuffer.

(fn &optional LIST)Felp-instrument-package
Instrument for profiling, all functions which start with PREFIX.
For example, to instrument all ELP functions, do the following:

    \[elp-instrument-package] RET elp- RET

(fn PREFIX)Felp-results
Display current profiling results.
If `elp-reset-after-results' is non-nil, then current profiling
information for all instrumented functions is reset after results are
displayed.

(fn)Femacs-lock-mode
Toggle Emacs Lock mode in the current buffer.
If called with a plain prefix argument, ask for the locking mode
to be used.  With any other prefix ARG, turn mode on if ARG is
positive, off otherwise.  If called from Lisp, enable the mode if
ARG is omitted or nil.

Initially, if the user does not pass an explicit locking mode, it
defaults to `emacs-lock-default-locking-mode' (which see);
afterwards, the locking mode most recently set on the buffer is
used instead.

When called from Elisp code, ARG can be any locking mode:

 exit   -- Emacs cannot exit while the buffer is locked
 kill   -- the buffer cannot be killed, but Emacs can exit as usual
 all    -- the buffer is locked against both actions

Other values are interpreted as usual.

(fn &optional ARG)Freport-emacs-bug
Report a bug in GNU Emacs.
Prompts for bug subject.  Leaves you in a mail buffer.

(fn TOPIC &optional RECENT-KEYS)Femerge-files
Run Emerge on two files.

(fn ARG FILE-A FILE-B FILE-OUT &optional STARTUP-HOOKS QUIT-HOOKS)Femerge-files-with-ancestor
Run Emerge on two files, giving another file as the ancestor.

(fn ARG FILE-A FILE-B FILE-ANCESTOR FILE-OUT &optional STARTUP-HOOKS QUIT-HOOKS)Femerge-buffers
Run Emerge on two buffers.

(fn BUFFER-A BUFFER-B &optional STARTUP-HOOKS QUIT-HOOKS)Femerge-buffers-with-ancestor
Run Emerge on two buffers, giving another buffer as the ancestor.

(fn BUFFER-A BUFFER-B BUFFER-ANCESTOR &optional STARTUP-HOOKS QUIT-HOOKS)Femerge-files-command


(fn)Femerge-files-with-ancestor-command


(fn)Femerge-files-remote


(fn FILE-A FILE-B FILE-OUT)Femerge-files-with-ancestor-remote


(fn FILE-A FILE-B FILE-ANC FILE-OUT)Femerge-revisions
Emerge two RCS revisions of a file.

(fn ARG FILE REVISION-A REVISION-B &optional STARTUP-HOOKS QUIT-HOOKS)Femerge-revisions-with-ancestor
Emerge two RCS revisions of a file, with another revision as ancestor.

(fn ARG FILE REVISION-A REVISION-B ANCESTOR &optional STARTUP-HOOKS QUIT-HOOKS)Femerge-merge-directories


(fn A-DIR B-DIR ANCESTOR-DIR OUTPUT-DIR)Fenriched-mode
Minor mode for editing text/enriched files.
These are files with embedded formatting information in the MIME standard
text/enriched format.

With a prefix argument ARG, enable the mode if ARG is positive,
and disable it otherwise.  If called from Lisp, enable the mode
if ARG is omitted or nil.

Turning the mode on or off runs `enriched-mode-hook'.

More information about Enriched mode is available in the file
etc/enriched.doc in the Emacs distribution directory.

Commands:

\{enriched-mode-map}

(fn &optional ARG)Fenriched-encode


(fn FROM TO ORIG-BUF)Fenriched-decode


(fn FROM TO)Fepa-list-keys
List all keys matched with NAME from the public keyring.

(fn &optional NAME)Fepa-list-secret-keys
List all keys matched with NAME from the private keyring.

(fn &optional NAME)Fepa-select-keys
Display a user's keyring and ask him to select keys.
CONTEXT is an epg-context.
PROMPT is a string to prompt with.
NAMES is a list of strings to be matched with keys.  If it is nil, all
the keys are listed.
If SECRET is non-nil, list secret keys instead of public keys.

(fn CONTEXT PROMPT &optional NAMES SECRET)Fepa-decrypt-file
Decrypt FILE.

(fn FILE)Fepa-verify-file
Verify FILE.

(fn FILE)Fepa-sign-file
Sign FILE by SIGNERS keys selected.

(fn FILE SIGNERS MODE)Fepa-encrypt-file
Encrypt FILE for RECIPIENTS.

(fn FILE RECIPIENTS)Fepa-decrypt-region
Decrypt the current region between START and END.

If MAKE-BUFFER-FUNCTION is non-nil, call it to prepare an output buffer.
It should return that buffer.  If it copies the input, it should
delete the text now being decrypted.  It should leave point at the
proper place to insert the plaintext.

Be careful about using this command in Lisp programs!
Since this function operates on regions, it does some tricks such
as coding-system detection and unibyte/multibyte conversion.  If
you are sure how the data in the region should be treated, you
should consider using the string based counterpart
`epg-decrypt-string', or the file based counterpart
`epg-decrypt-file' instead.

For example:

(let ((context (epg-make-context 'OpenPGP)))
  (decode-coding-string
    (epg-decrypt-string context (buffer-substring start end))
    'utf-8))

(fn START END &optional MAKE-BUFFER-FUNCTION)Fepa-decrypt-armor-in-region
Decrypt OpenPGP armors in the current region between START and END.

Don't use this command in Lisp programs!
See the reason described in the `epa-decrypt-region' documentation.

(fn START END)Fepa-verify-region
Verify the current region between START and END.

Don't use this command in Lisp programs!
Since this function operates on regions, it does some tricks such
as coding-system detection and unibyte/multibyte conversion.  If
you are sure how the data in the region should be treated, you
should consider using the string based counterpart
`epg-verify-string', or the file based counterpart
`epg-verify-file' instead.

For example:

(let ((context (epg-make-context 'OpenPGP)))
  (decode-coding-string
    (epg-verify-string context (buffer-substring start end))
    'utf-8))

(fn START END)Fepa-verify-cleartext-in-region
Verify OpenPGP cleartext signed messages in the current region
between START and END.

Don't use this command in Lisp programs!
See the reason described in the `epa-verify-region' documentation.

(fn START END)Fepa-sign-region
Sign the current region between START and END by SIGNERS keys selected.

Don't use this command in Lisp programs!
Since this function operates on regions, it does some tricks such
as coding-system detection and unibyte/multibyte conversion.  If
you are sure how the data should be treated, you should consider
using the string based counterpart `epg-sign-string', or the file
based counterpart `epg-sign-file' instead.

For example:

(let ((context (epg-make-context 'OpenPGP)))
  (epg-sign-string
    context
    (encode-coding-string (buffer-substring start end) 'utf-8)))

(fn START END SIGNERS MODE)Fepa-encrypt-region
Encrypt the current region between START and END for RECIPIENTS.

Don't use this command in Lisp programs!
Since this function operates on regions, it does some tricks such
as coding-system detection and unibyte/multibyte conversion.  If
you are sure how the data should be treated, you should consider
using the string based counterpart `epg-encrypt-string', or the
file based counterpart `epg-encrypt-file' instead.

For example:

(let ((context (epg-make-context 'OpenPGP)))
  (epg-encrypt-string
    context
    (encode-coding-string (buffer-substring start end) 'utf-8)
    nil))

(fn START END RECIPIENTS SIGN SIGNERS)Fepa-delete-keys
Delete selected KEYS.

(fn KEYS &optional ALLOW-SECRET)Fepa-import-keys
Import keys from FILE.

(fn FILE)Fepa-import-keys-region
Import keys from the region.

(fn START END)Fepa-import-armor-in-region
Import keys in the OpenPGP armor format in the current region
between START and END.

(fn START END)Fepa-export-keys
Export selected KEYS to FILE.

(fn KEYS FILE)Fepa-insert-keys
Insert selected KEYS after the point.

(fn KEYS)Fepa-dired-do-decrypt
Decrypt marked files.

(fn)Fepa-dired-do-verify
Verify marked files.

(fn)Fepa-dired-do-sign
Sign marked files.

(fn)Fepa-dired-do-encrypt
Encrypt marked files.

(fn)Fepa-file-handler


(fn OPERATION &rest ARGS)Fepa-file-enable


(fn)Fepa-file-disable


(fn)Fepa-mail-mode
A minor-mode for composing encrypted/clearsigned mails.
With a prefix argument ARG, enable the mode if ARG is positive,
and disable it otherwise.  If called from Lisp, enable the mode
if ARG is omitted or nil.

(fn &optional ARG)Fepa-mail-decrypt
Decrypt OpenPGP armors in the current buffer.
The buffer is expected to contain a mail message.

Don't use this command in Lisp programs!

(fn)Fepa-mail-verify
Verify OpenPGP cleartext signed messages in the current buffer.
The buffer is expected to contain a mail message.

Don't use this command in Lisp programs!

(fn)Fepa-mail-sign
Sign the current buffer.
The buffer is expected to contain a mail message.

Don't use this command in Lisp programs!

(fn START END SIGNERS MODE)Fepa-mail-encrypt
Encrypt the current buffer.
The buffer is expected to contain a mail message.

Don't use this command in Lisp programs!

(fn START END RECIPIENTS SIGN SIGNERS)Fepa-mail-import-keys
Import keys in the OpenPGP armor format in the current buffer.
The buffer is expected to contain a mail message.

Don't use this command in Lisp programs!

(fn)Vepa-global-mail-mode
Non-nil if Epa-Global-Mail mode is enabled.
See the command `epa-global-mail-mode' for a description of this minor mode.
Setting this variable directly does not take effect;
either customize it (see the info node `Easy Customization')
or call the function `epa-global-mail-mode'.Fepa-global-mail-mode
Minor mode to hook EasyPG into Mail mode.
With a prefix argument ARG, enable the mode if ARG is positive,
and disable it otherwise.  If called from Lisp, enable the mode
if ARG is omitted or nil.

(fn &optional ARG)Fepg-make-context
Return a context object.

(fn &optional PROTOCOL ARMOR TEXTMODE INCLUDE-CERTS CIPHER-ALGORITHM DIGEST-ALGORITHM COMPRESS-ALGORITHM)Fepg-configuration
Return a list of internal configuration parameters of `epg-gpg-program'.

(fn)Fepg-check-configuration
Verify that a sufficient version of GnuPG is installed.

(fn CONFIG &optional MINIMUM-VERSION)Fepg-expand-group
Look at CONFIG and try to expand GROUP.

(fn CONFIG GROUP)Ferc-select-read-args
Prompt the user for values of nick, server, port, and password.

(fn)Ferc
ERC is a powerful, modular, and extensible IRC client.
This function is the main entry point for ERC.

It permits you to select connection parameters, and then starts ERC.

Non-interactively, it takes the keyword arguments
   (server (erc-compute-server))
   (port   (erc-compute-port))
   (nick   (erc-compute-nick))
   password
   (full-name (erc-compute-full-name)))

That is, if called with

   (erc :server "irc.freenode.net" :full-name "Harry S Truman")

then the server and full-name will be set to those values, whereas
`erc-compute-port', `erc-compute-nick' and `erc-compute-full-name' will
be invoked for the values of the other parameters.

(fn &key (server (erc-compute-server)) (port (erc-compute-port)) (nick (erc-compute-nick)) PASSWORD (full-name (erc-compute-full-name)))Ferc-tls
Interactively select TLS connection parameters and run ERC.
Arguments are the same as for `erc'.

(fn &rest R)Ferc-handle-irc-url
Use ERC to IRC on HOST:PORT in CHANNEL as USER with PASSWORD.
If ERC is already connected to HOST:PORT, simply /join CHANNEL.
Otherwise, connect to HOST:PORT as USER and /join CHANNEL.

(fn HOST PORT CHANNEL USER PASSWORD)Ferc-cmd-DCC
Parser for /dcc command.
This figures out the dcc subcommand and calls the appropriate routine to
handle it.  The function dispatched should be named "erc-dcc-do-FOO-command",
where FOO is one of CLOSE, GET, SEND, LIST, CHAT, etc.

(fn CMD &rest ARGS)Fpcomplete/erc-mode/DCC
Provides completion for the /DCC command.

(fn)Verc-ctcp-query-DCC-hook
Hook variable for CTCP DCC queries.Ferc-ctcp-query-DCC
The function called when a CTCP DCC request is detected by the client.
It examines the DCC subcommand, and calls the appropriate routine for
that subcommand.

(fn PROC NICK LOGIN HOST TO QUERY)Ferc-cmd-ezb
Send EZB commands to the EZBouncer verbatim.

(fn LINE &optional FORCE)Ferc-ezb-get-login
Return an appropriate EZBounce login for SERVER and PORT.
Look up entries in `erc-ezb-login-alist'. If the username or password
in the alist is `nil', prompt for the appropriate values.

(fn SERVER PORT)Ferc-ezb-lookup-action


(fn MESSAGE)Ferc-ezb-notice-autodetect
React on an EZBounce NOTICE request.

(fn PROC PARSED)Ferc-ezb-identify
Identify to the EZBouncer server.

(fn MESSAGE)Ferc-ezb-init-session-list
Reset the EZBounce session list to nil.

(fn MESSAGE)Ferc-ezb-end-of-session-list
Indicate the end of the EZBounce session listing.

(fn MESSAGE)Ferc-ezb-add-session
Add an EZBounce session to the session list.

(fn MESSAGE)Ferc-ezb-select
Select an IRC server to use by EZBounce, in ERC style.

(fn MESSAGE)Ferc-ezb-select-session
Select a detached EZBounce session.

(fn)Ferc-ezb-initialize
Add EZBouncer convenience functions to ERC.

(fn)Ferc-fill
Fill a region using the function referenced in `erc-fill-function'.
You can put this on `erc-insert-modify-hook' and/or `erc-send-modify-hook'.

(fn)Ferc-identd-start
Start an identd server listening to port 8113.
Port 113 (auth) will need to be redirected to port 8113 on your
machine -- using iptables, or a program like redir which can be
run from inetd.  The idea is to provide a simple identd server
when you need one, without having to install one globally on your
system.

(fn &optional PORT)Ferc-identd-stop


(fn &rest IGNORE)Ferc-create-imenu-index


(fn)Ferc-logging-enabled
Return non-nil if logging is enabled for BUFFER.
If BUFFER is nil, the value of `current-buffer' is used.
Logging is enabled if `erc-log-channels-directory' is non-nil, the directory
is writable (it will be created as necessary) and
`erc-enable-logging' returns a non-nil value.

(fn &optional BUFFER)Ferc-save-buffer-in-logs
Append BUFFER contents to the log file, if logging is enabled.
If BUFFER is not provided, current buffer is used.
Logging is enabled if `erc-logging-enabled' returns non-nil.

This is normally done on exit, to save the unsaved portion of the
buffer, since only the text that runs off the buffer limit is logged
automatically.

You can save every individual message by putting this function on
`erc-insert-post-hook'.

(fn &optional BUFFER)Ferc-add-pal
Add pal interactively to `erc-pals'.

(fn)Ferc-delete-pal
Delete pal interactively to `erc-pals'.

(fn)Ferc-add-fool
Add fool interactively to `erc-fools'.

(fn)Ferc-delete-fool
Delete fool interactively to `erc-fools'.

(fn)Ferc-add-keyword
Add keyword interactively to `erc-keywords'.

(fn)Ferc-delete-keyword
Delete keyword interactively to `erc-keywords'.

(fn)Ferc-add-dangerous-host
Add dangerous-host interactively to `erc-dangerous-hosts'.

(fn)Ferc-delete-dangerous-host
Delete dangerous-host interactively to `erc-dangerous-hosts'.

(fn)Ferc-cmd-WHOLEFT
Show who's gone.

(fn)Ferc-determine-network
Return the name of the network or "Unknown" as a symbol.  Use the
server parameter NETWORK if provided, otherwise parse the server name and
search for a match in `erc-networks-alist'.

(fn)Ferc-server-select
Interactively select a server to connect to using `erc-server-alist'.

(fn)Ferc-cmd-NOTIFY
Change `erc-notify-list' or list current notify-list members online.
Without args, list the current list of notified people online,
with args, toggle notify status of people.

(fn &rest ARGS)Fpcomplete/erc-mode/NOTIFY


(fn)Ferc-nickserv-identify-mode
Set up hooks according to which MODE the user has chosen.

(fn MODE)Ferc-nickserv-identify
Send an "identify <PASSWORD>" message to NickServ.
When called interactively, read the password using `read-passwd'.

(fn PASSWORD)Ferc-speedbar-browser
Initialize speedbar to display an ERC browser.
This will add a speedbar major display mode.

(fn)Verc-track-minor-mode
Non-nil if Erc-Track minor mode is enabled.
See the command `erc-track-minor-mode' for a description of this minor mode.Ferc-track-minor-mode
Toggle mode line display of ERC activity (ERC Track minor mode).
With a prefix argument ARG, enable ERC Track minor mode if ARG is
positive, and disable it otherwise.  If called from Lisp, enable
the mode if ARG is omitted or nil.

ERC Track minor mode is a global minor mode.  It exists for the
sole purpose of providing the C-c C-SPC and C-c C-@ keybindings.
Make sure that you have enabled the track module, otherwise the
keybindings will not do anything useful.

(fn &optional ARG)Ferc-truncate-buffer-to-size
Truncates the buffer to the size SIZE.
If BUFFER is not provided, the current buffer is assumed.  The deleted
region is logged if `erc-logging-enabled' returns non-nil.

(fn SIZE &optional BUFFER)Ferc-truncate-buffer
Truncates the current buffer to `erc-max-buffer-size'.
Meant to be used in hooks, like `erc-insert-post-hook'.

(fn)Ferc-xdcc-add-file
Add a file to `erc-xdcc-files'.

(fn FILE)Fert-deftest
Define NAME (a symbol) as a test.

BODY is evaluated as a `progn' when the test is run.  It should
signal a condition on failure or just return if the test passes.

`should', `should-not' and `should-error' are useful for
assertions in BODY.

Use `ert' to run tests interactively.

Tests that are expected to fail can be marked as such
using :expected-result.  See `ert-test-result-type-p' for a
description of valid values for RESULT-TYPE.

(fn NAME () [DOCSTRING] [:expected-result RESULT-TYPE] [:tags '(TAG...)] BODY...)Fert-run-tests-batch
Run the tests specified by SELECTOR, printing results to the terminal.

SELECTOR works as described in `ert-select-tests', except if
SELECTOR is nil, in which case all tests rather than none will be
run; this makes the command line "emacs -batch -l my-tests.el -f
ert-run-tests-batch-and-exit" useful.

Returns the stats object.

(fn &optional SELECTOR)Fert-run-tests-batch-and-exit
Like `ert-run-tests-batch', but exits Emacs when done.

The exit status will be 0 if all test results were as expected, 1
on unexpected results, or 2 if the tool detected an error outside
of the tests (e.g. invalid SELECTOR or bug in the code that runs
the tests).

(fn &optional SELECTOR)Fert-run-tests-interactively
Run the tests specified by SELECTOR and display the results in a buffer.

SELECTOR works as described in `ert-select-tests'.
OUTPUT-BUFFER-NAME and MESSAGE-FN should normally be nil; they
are used for automated self-tests and specify which buffer to use
and how to display message.

(fn SELECTOR &optional OUTPUT-BUFFER-NAME MESSAGE-FN)Fert-describe-test
Display the documentation for TEST-OR-TEST-NAME (a symbol or ert-test).

(fn TEST-OR-TEST-NAME)Fert-kill-all-test-buffers
Kill all test buffers that are still live.

(fn)Feshell-mode
Emacs shell interactive mode.

\{eshell-mode-map}

(fn)Feshell
Create an interactive Eshell buffer.
The buffer used for Eshell sessions is determined by the value of
`eshell-buffer-name'.  If there is already an Eshell session active in
that buffer, Emacs will simply switch to it.  Otherwise, a new session
will begin.  A numeric prefix arg (as in `C-u 42 M-x eshell RET')
switches to the session with that number, creating it if necessary.  A
nonnumeric prefix arg means to create a new session.  Returns the
buffer selected (or created).

(fn &optional ARG)Feshell-command
Execute the Eshell command string COMMAND.
With prefix ARG, insert output into the current buffer at point.

(fn &optional COMMAND ARG)Feshell-command-result
Execute the given Eshell COMMAND, and return the result.
The result might be any Lisp object.
If STATUS-VAR is a symbol, it will be set to the exit status of the
command.  This is the only way to determine whether the value returned
corresponding to a successful execution.

(fn COMMAND &optional STATUS-VAR)Vtags-file-name
File name of tags table.
To switch to a new tags table, setting this variable is sufficient.
If you set this variable, do not also set `tags-table-list'.
Use the `etags' program to make a tags table file.Vtags-case-fold-search
Whether tags operations should be case-sensitive.
A value of t means case-insensitive, a value of nil means case-sensitive.
Any other value means use the setting of `case-fold-search'.Vtags-table-list
List of file names of tags tables to search.
An element that is a directory means the file "TAGS" in that directory.
To switch to a new list of tags tables, setting this variable is sufficient.
If you set this variable, do not also set `tags-file-name'.
Use the `etags' program to make a tags table file.Vtags-compression-info-list
List of extensions tried by etags when `auto-compression-mode' is on.
An empty string means search the non-compressed file.Vtags-add-tables
Control whether to add a new tags table to the current list.
t means do; nil means don't (always start a new list).
Any other value means ask the user whether to add a new tags table
to the current list (as opposed to starting a new list).Vfind-tag-hook
Hook to be run by \[find-tag] after finding a tag.  See `run-hooks'.
The value in the buffer in which \[find-tag] is done is used,
not the value in the buffer \[find-tag] goes to.Vfind-tag-default-function
A function of no arguments used by \[find-tag] to pick a default tag.
If nil, and the symbol that is the value of `major-mode'
has a `find-tag-default-function' property (see `put'), that is used.
Otherwise, `find-tag-default' is used.Ftags-table-mode
Major mode for tags table file buffers.

(fn)Fvisit-tags-table
Tell tags commands to use tags table file FILE.
FILE should be the name of a file created with the `etags' program.
A directory name is ok too; it means file TAGS in that directory.

Normally \[visit-tags-table] sets the global value of `tags-file-name'.
With a prefix arg, set the buffer-local value instead.
When you find a tag with \[find-tag], the buffer it finds the tag
in is given a local value of this variable which is the name of the tags
file the tag was in.

(fn FILE &optional LOCAL)Fvisit-tags-table-buffer
Select the buffer containing the current tags table.
If optional arg is a string, visit that file as a tags table.
If optional arg is t, visit the next table in `tags-table-list'.
If optional arg is the atom `same', don't look for a new table;
 just select the buffer visiting `tags-file-name'.
If arg is nil or absent, choose a first buffer from information in
 `tags-file-name', `tags-table-list', `tags-table-list-pointer'.
Returns t if it visits a tags table, or nil if there are no more in the list.

(fn &optional CONT)Ftags-table-files
Return a list of files in the current tags table.
Assumes the tags table is the current buffer.  The file names are returned
as they appeared in the `etags' command that created the table, usually
without directory names.

(fn)Ffind-tag-noselect
Find tag (in current tags table) whose name contains TAGNAME.
Returns the buffer containing the tag's definition and moves its point there,
but does not select the buffer.
The default for TAGNAME is the expression in the buffer near point.

If second arg NEXT-P is t (interactively, with prefix arg), search for
another tag that matches the last tagname or regexp used.  When there are
multiple matches for a tag, more exact matches are found first.  If NEXT-P
is the atom `-' (interactively, with prefix arg that is a negative number
or just \[negative-argument]), pop back to the previous tag gone to.

If third arg REGEXP-P is non-nil, treat TAGNAME as a regexp.

A marker representing the point when this command is invoked is pushed
onto a ring and may be popped back to with \[pop-tag-mark].
Contrast this with the ring of marks gone to by the command.

See documentation of variable `tags-file-name'.

(fn TAGNAME &optional NEXT-P REGEXP-P)Ffind-tag
Find tag (in current tags table) whose name contains TAGNAME.
Select the buffer containing the tag's definition, and move point there.
The default for TAGNAME is the expression in the buffer around or before point.

If second arg NEXT-P is t (interactively, with prefix arg), search for
another tag that matches the last tagname or regexp used.  When there are
multiple matches for a tag, more exact matches are found first.  If NEXT-P
is the atom `-' (interactively, with prefix arg that is a negative number
or just \[negative-argument]), pop back to the previous tag gone to.

If third arg REGEXP-P is non-nil, treat TAGNAME as a regexp.

A marker representing the point when this command is invoked is pushed
onto a ring and may be popped back to with \[pop-tag-mark].
Contrast this with the ring of marks gone to by the command.

See documentation of variable `tags-file-name'.

(fn TAGNAME &optional NEXT-P REGEXP-P)Ffind-tag-other-window
Find tag (in current tags table) whose name contains TAGNAME.
Select the buffer containing the tag's definition in another window, and
move point there.  The default for TAGNAME is the expression in the buffer
around or before point.

If second arg NEXT-P is t (interactively, with prefix arg), search for
another tag that matches the last tagname or regexp used.  When there are
multiple matches for a tag, more exact matches are found first.  If NEXT-P
is negative (interactively, with prefix arg that is a negative number or
just \[negative-argument]), pop back to the previous tag gone to.

If third arg REGEXP-P is non-nil, treat TAGNAME as a regexp.

A marker representing the point when this command is invoked is pushed
onto a ring and may be popped back to with \[pop-tag-mark].
Contrast this with the ring of marks gone to by the command.

See documentation of variable `tags-file-name'.

(fn TAGNAME &optional NEXT-P REGEXP-P)Ffind-tag-other-frame
Find tag (in current tags table) whose name contains TAGNAME.
Select the buffer containing the tag's definition in another frame, and
move point there.  The default for TAGNAME is the expression in the buffer
around or before point.

If second arg NEXT-P is t (interactively, with prefix arg), search for
another tag that matches the last tagname or regexp used.  When there are
multiple matches for a tag, more exact matches are found first.  If NEXT-P
is negative (interactively, with prefix arg that is a negative number or
just \[negative-argument]), pop back to the previous tag gone to.

If third arg REGEXP-P is non-nil, treat TAGNAME as a regexp.

A marker representing the point when this command is invoked is pushed
onto a ring and may be popped back to with \[pop-tag-mark].
Contrast this with the ring of marks gone to by the command.

See documentation of variable `tags-file-name'.

(fn TAGNAME &optional NEXT-P)Ffind-tag-regexp
Find tag (in current tags table) whose name matches REGEXP.
Select the buffer containing the tag's definition and move point there.

If second arg NEXT-P is t (interactively, with prefix arg), search for
another tag that matches the last tagname or regexp used.  When there are
multiple matches for a tag, more exact matches are found first.  If NEXT-P
is negative (interactively, with prefix arg that is a negative number or
just \[negative-argument]), pop back to the previous tag gone to.

If third arg OTHER-WINDOW is non-nil, select the buffer in another window.

A marker representing the point when this command is invoked is pushed
onto a ring and may be popped back to with \[pop-tag-mark].
Contrast this with the ring of marks gone to by the command.

See documentation of variable `tags-file-name'.

(fn REGEXP &optional NEXT-P OTHER-WINDOW)Fpop-tag-mark
Pop back to where \[find-tag] was last invoked.

This is distinct from invoking \[find-tag] with a negative argument
since that pops a stack of markers at which tags were found, not from
where they were found.

(fn)Fnext-file
Select next file among files in current tags table.

A first argument of t (prefix arg, if interactive) initializes to the
beginning of the list of files in the tags table.  If the argument is
neither nil nor t, it is evalled to initialize the list of files.

Non-nil second argument NOVISIT means use a temporary buffer
 to save time and avoid uninteresting warnings.

Value is nil if the file was already visited;
if the file was newly read in, the value is the filename.

(fn &optional INITIALIZE NOVISIT)Ftags-loop-continue
Continue last \[tags-search] or \[tags-query-replace] command.
Used noninteractively with non-nil argument to begin such a command (the
argument is passed to `next-file', which see).

Two variables control the processing we do on each file: the value of
`tags-loop-scan' is a form to be executed on each file to see if it is
interesting (it returns non-nil if so) and `tags-loop-operate' is a form to
evaluate to operate on an interesting file.  If the latter evaluates to
nil, we exit; otherwise we scan the next file.

(fn &optional FIRST-TIME)Ftags-search
Search through all files listed in tags table for match for REGEXP.
Stops when a match is found.
To continue searching for next match, use command \[tags-loop-continue].

If FILE-LIST-FORM is non-nil, it should be a form that, when
evaluated, will return a list of file names.  The search will be
restricted to these files.

Also see the documentation of the `tags-file-name' variable.

(fn REGEXP &optional FILE-LIST-FORM)Ftags-query-replace
Do `query-replace-regexp' of FROM with TO on all files listed in tags table.
Third arg DELIMITED (prefix arg) means replace only word-delimited matches.
If you exit (\[keyboard-quit], RET or q), you can resume the query replace
with the command \[tags-loop-continue].
Fourth arg FILE-LIST-FORM non-nil means initialize the replacement loop.
Fifth and sixth arguments START and END are accepted, for compatibility
with `query-replace-regexp', and ignored.

If FILE-LIST-FORM is non-nil, it is a form to evaluate to
produce the list of files to search.

See also the documentation of the variable `tags-file-name'.

(fn FROM TO &optional DELIMITED FILE-LIST-FORM)Flist-tags
Display list of tags in file FILE.
This searches only the first table in the list, and no included tables.
FILE should be as it appeared in the `etags' command, usually without a
directory specification.

(fn FILE &optional NEXT-MATCH)Ftags-apropos
Display list of all tags in tags table REGEXP matches.

(fn REGEXP)Fselect-tags-table
Select a tags table file from a menu of those you have already used.
The list of tags tables to select from is stored in `tags-table-set-list';
see the doc of that variable if you want to add names to the list.

(fn)Fcomplete-tag
Perform tags completion on the text around point.
Completes to the set of names listed in the current tags table.
The string to complete is chosen in the same way as the default
for \[find-tag] (which see).

(fn)Fsetup-ethiopic-environment-internal


(fn)Fethio-sera-to-fidel-buffer
Convert the current buffer from SERA to FIDEL.

The variable `ethio-primary-language' specifies the primary
language and `ethio-secondary-language' specifies the secondary.

If the 1st optional argument SECONDARY is non-nil, assume the
buffer begins with the secondary language; otherwise with the
primary language.

If the 2nd optional argument FORCE is non-nil, perform conversion
even if the buffer is read-only.

See also the descriptions of the variables
`ethio-use-colon-for-colon' and `ethio-use-three-dot-question'.

(fn &optional SECONDARY FORCE)Fethio-sera-to-fidel-region
Convert the characters in region from SERA to FIDEL.

The variable `ethio-primary-language' specifies the primary
language and `ethio-secondary-language' specifies the secondary.

If the 3rd argument SECONDARY is given and non-nil, assume the
region begins with the secondary language; otherwise with the
primary language.

If the 4th argument FORCE is given and non-nil, perform
conversion even if the buffer is read-only.

See also the descriptions of the variables
`ethio-use-colon-for-colon' and `ethio-use-three-dot-question'.

(fn BEGIN END &optional SECONDARY FORCE)Fethio-sera-to-fidel-marker
Convert the regions surrounded by "<sera>" and "</sera>" from SERA to FIDEL.
Assume that each region begins with `ethio-primary-language'.
The markers "<sera>" and "</sera>" themselves are not deleted.

(fn &optional FORCE)Fethio-fidel-to-sera-buffer
Replace all the FIDEL characters in the current buffer to the SERA format.
The variable `ethio-primary-language' specifies the primary
language and `ethio-secondary-language' specifies the secondary.

If the 1st optional argument SECONDARY is non-nil, try to convert the
region so that it begins with the secondary language; otherwise with the
primary language.

If the 2nd optional argument FORCE is non-nil, convert even if the
buffer is read-only.

See also the descriptions of the variables
`ethio-use-colon-for-colon', `ethio-use-three-dot-question',
`ethio-quote-vowel-always' and `ethio-numeric-reduction'.

(fn &optional SECONDARY FORCE)Fethio-fidel-to-sera-region
Replace all the FIDEL characters in the region to the SERA format.

The variable `ethio-primary-language' specifies the primary
language and `ethio-secondary-language' specifies the secondary.

If the 3rd argument SECONDARY is given and non-nil, convert
the region so that it begins with the secondary language; otherwise with
the primary language.

If the 4th argument FORCE is given and non-nil, convert even if the
buffer is read-only.

See also the descriptions of the variables
`ethio-use-colon-for-colon', `ethio-use-three-dot-question',
`ethio-quote-vowel-always' and `ethio-numeric-reduction'.

(fn BEGIN END &optional SECONDARY FORCE)Fethio-fidel-to-sera-marker
Convert the regions surrounded by "<sera>" and "</sera>" from FIDEL to SERA.
The markers "<sera>" and "</sera>" themselves are not deleted.

(fn &optional FORCE)Fethio-modify-vowel
Modify the vowel of the FIDEL that is under the cursor.

(fn)Fethio-replace-space
Replace ASCII spaces with Ethiopic word separators in the region.

In the specified region, replace word separators surrounded by two
Ethiopic characters, depending on the first argument CH, which should
be 1, 2, or 3.

If CH = 1, word separator will be replaced with an ASCII space.
If CH = 2, with two ASCII spaces.
If CH = 3, with the Ethiopic colon-like word separator.

The 2nd and 3rd arguments BEGIN and END specify the region.

(fn CH BEGIN END)Fethio-input-special-character
This function is deprecated.

(fn ARG)Fethio-fidel-to-tex-buffer
Convert each fidel characters in the current buffer into a fidel-tex command.

(fn)Fethio-tex-to-fidel-buffer
Convert fidel-tex commands in the current buffer into fidel chars.

(fn)Fethio-fidel-to-java-buffer
Convert Ethiopic characters into the Java escape sequences.

Each escape sequence is of the form \uXXXX, where XXXX is the
character's codepoint (in hex) in Unicode.

If `ethio-java-save-lowercase' is non-nil, use [0-9a-f].
Otherwise, [0-9A-F].

(fn)Fethio-java-to-fidel-buffer
Convert the Java escape sequences into corresponding Ethiopic characters.

(fn)Fethio-find-file
Transliterate file content into Ethiopic depending on filename suffix.

(fn)Fethio-write-file
Transliterate Ethiopic characters in ASCII depending on the file extension.

(fn)Fethio-insert-ethio-space
Insert the Ethiopic word delimiter (the colon-like character).
With ARG, insert that many delimiters.

(fn ARG)Fethio-composition-function


(fn POS TO FONT-OBJECT STRING)Feudc-set-server
Set the directory server to SERVER using PROTOCOL.
Unless NO-SAVE is non-nil, the server is saved as the default
server for future sessions.

(fn SERVER PROTOCOL &optional NO-SAVE)Feudc-get-email
Get the email field of NAME from the directory server.
If ERROR is non-nil, report an error if there is none.

(fn NAME &optional ERROR)Feudc-get-phone
Get the phone field of NAME from the directory server.
If ERROR is non-nil, report an error if there is none.

(fn NAME &optional ERROR)Feudc-expand-inline
Query the directory server, and expand the query string before point.
The query string consists of the buffer substring from the point back to
the preceding comma, colon or beginning of line.
The variable `eudc-inline-query-format' controls how to associate the
individual inline query words with directory attribute names.
After querying the server for the given string, the expansion specified by
`eudc-inline-expansion-format' is inserted in the buffer at point.
If REPLACE is non-nil, then this expansion replaces the name in the buffer.
`eudc-expansion-overwrites-query' being non-nil inverts the meaning of REPLACE.
Multiple servers can be tried with the same query until one finds a match,
see `eudc-inline-expansion-servers'

(fn &optional REPLACE)Feudc-query-form
Display a form to query the directory server.
If given a non-nil argument GET-FIELDS-FROM-SERVER, the function first
queries the server for the existing fields and displays a corresponding form.

(fn &optional GET-FIELDS-FROM-SERVER)Feudc-load-eudc
Load the Emacs Unified Directory Client.
This does nothing except loading eudc by autoload side-effect.

(fn)Feudc-display-generic-binary
Display a button for unidentified binary DATA.

(fn DATA)Feudc-display-url
Display URL and make it clickable.

(fn URL)Feudc-display-mail
Display e-mail address and make it clickable.

(fn MAIL)Feudc-display-sound
Display a button to play the sound DATA.

(fn DATA)Feudc-display-jpeg-inline
Display the JPEG DATA inline at point if possible.

(fn DATA)Feudc-display-jpeg-as-button
Display a button for the JPEG DATA.

(fn DATA)Feudc-insert-record-at-point-into-bbdb
Insert record at point into the BBDB database.
This function can only be called from a directory query result buffer.

(fn)Feudc-try-bbdb-insert
Call `eudc-insert-record-at-point-into-bbdb' if on a record.

(fn)Feudc-edit-hotlist
Edit the hotlist of directory servers in a specialized buffer.

(fn)Fewoc-create
Create an empty ewoc.

The ewoc will be inserted in the current buffer at the current position.

PRETTY-PRINTER should be a function that takes one argument, an
element, and inserts a string representing it in the buffer (at
point).  The string PRETTY-PRINTER inserts may be empty or span
several lines.  The PRETTY-PRINTER should use `insert', and not
`insert-before-markers'.

Optional second and third arguments HEADER and FOOTER are strings,
possibly empty, that will always be present at the top and bottom,
respectively, of the ewoc.

Normally, a newline is automatically inserted after the header,
the footer and every node's printed representation.  Optional
fourth arg NOSEP non-nil inhibits this.

(fn PRETTY-PRINTER &optional HEADER FOOTER NOSEP)Fexecutable-command-find-posix-p
Check if PROGRAM handles arguments Posix-style.
If PROGRAM is non-nil, use that instead of "find".

(fn &optional PROGRAM)Fexecutable-interpret
Run script with user-specified args, and collect output in a buffer.
While script runs asynchronously, you can use the \[next-error]
command to find the next error.  The buffer is also in `comint-mode' and
`compilation-shell-minor-mode', so that you can answer any prompts.

(fn COMMAND)Fexecutable-set-magic
Set this buffer's interpreter to INTERPRETER with optional ARGUMENT.
The variables `executable-magicless-file-regexp', `executable-prefix',
`executable-insert', `executable-query' and `executable-chmod' control
when and how magic numbers are inserted or replaced and scripts made
executable.

(fn INTERPRETER &optional ARGUMENT NO-QUERY-FLAG INSERT-FLAG)Fexecutable-self-display
Turn a text file into a self-displaying Un*x command.
The magic number of such a command displays all lines but itself.

(fn)Fexecutable-make-buffer-file-executable-if-script-p
Make file executable according to umask if not already executable.
If file already has any execute bits set at all, do not change existing
file modes.

(fn)Fexpand-add-abbrevs
Add a list of abbreviations to abbrev table TABLE.
ABBREVS is a list of abbrev definitions; each abbrev description entry
has the form (ABBREV EXPANSION ARG).

ABBREV is the abbreviation to replace.

EXPANSION is the replacement string or a function which will make the
expansion.  For example, you could use the DMacros or skeleton packages
to generate such functions.

ARG is an optional argument which can be a number or a list of
numbers.  If ARG is a number, point is placed ARG chars from the
beginning of the expanded text.

If ARG is a list of numbers, point is placed according to the first
member of the list, but you can visit the other specified positions
cyclically with the functions `expand-jump-to-previous-slot' and
`expand-jump-to-next-slot'.

If ARG is omitted, point is placed at the end of the expanded text.

(fn TABLE ABBREVS)Fexpand-abbrev-hook
Abbrev hook used to do the expansion job of expand abbrevs.
See `expand-add-abbrevs'.  Value is non-nil if expansion was done.

(fn)Fexpand-jump-to-previous-slot
Move the cursor to the previous slot in the last abbrev expansion.
This is used only in conjunction with `expand-add-abbrevs'.

(fn)Fexpand-jump-to-next-slot
Move the cursor to the next slot in the last abbrev expansion.
This is used only in conjunction with `expand-add-abbrevs'.

(fn)Ff90-mode
Major mode for editing Fortran 90,95 code in free format.
For fixed format code, use `fortran-mode'.

\[f90-indent-line] indents the current line.
\[f90-indent-new-line] indents current line and creates a new indented line.
\[f90-indent-subprogram] indents the current subprogram.

Type `? or `\[help-command] to display a list of built-in abbrevs for F90 keywords.

Key definitions:
\{f90-mode-map}

Variables controlling indentation style and extra features:

`f90-do-indent'
  Extra indentation within do blocks (default 3).
`f90-if-indent'
  Extra indentation within if/select/where/forall blocks (default 3).
`f90-type-indent'
  Extra indentation within type/enum/interface/block-data blocks (default 3).
`f90-program-indent'
  Extra indentation within program/module/subroutine/function blocks
  (default 2).
`f90-associate-indent'
  Extra indentation within associate blocks (default 2).
`f90-critical-indent'
  Extra indentation within critical/block blocks (default 2).
`f90-continuation-indent'
  Extra indentation applied to continuation lines (default 5).
`f90-comment-region'
  String inserted by function \[f90-comment-region] at start of each
  line in region (default "!!!$").
`f90-indented-comment-re'
  Regexp determining the type of comment to be intended like code
  (default "!").
`f90-directive-comment-re'
  Regexp of comment-like directive like "!HPF\\$", not to be indented
  (default "!hpf\\$").
`f90-break-delimiters'
  Regexp holding list of delimiters at which lines may be broken
  (default "[-+*/><=,% \t]").
`f90-break-before-delimiters'
  Non-nil causes `f90-do-auto-fill' to break lines before delimiters
  (default t).
`f90-beginning-ampersand'
  Automatic insertion of & at beginning of continuation lines (default t).
`f90-smart-end'
  From an END statement, check and fill the end using matching block start.
  Allowed values are 'blink, 'no-blink, and nil, which determine
  whether to blink the matching beginning (default 'blink).
`f90-auto-keyword-case'
  Automatic change of case of keywords (default nil).
  The possibilities are 'downcase-word, 'upcase-word, 'capitalize-word.
`f90-leave-line-no'
  Do not left-justify line numbers (default nil).

Turning on F90 mode calls the value of the variable `f90-mode-hook'
with no args, if that value is non-nil.

(fn)Fface-remap-add-relative
Add a face remapping entry of FACE to SPECS in the current buffer.
Return a cookie which can be used to delete this remapping with
`face-remap-remove-relative'.

The remaining arguments, SPECS, should form a list of faces.
Each list element should be either a face name or a property list
of face attribute/value pairs.  If more than one face is listed,
that specifies an aggregate face, in the same way as in a `face'
text property, except for possible priority changes noted below.

The face remapping specified by SPECS takes effect alongside the
remappings from other calls to `face-remap-add-relative' for the
same FACE, as well as the normal definition of FACE (at lowest
priority).  This function tries to sort multiple remappings for
the same face, so that remappings specifying relative face
attributes are applied after remappings specifying absolute face
attributes.

The base (lowest priority) remapping may be set to something
other than the normal definition of FACE via `face-remap-set-base'.

(fn FACE &rest SPECS)Fface-remap-reset-base
Set the base remapping of FACE to the normal definition of FACE.
This causes the remappings specified by `face-remap-add-relative'
to apply on top of the normal definition of FACE.

(fn FACE)Fface-remap-set-base
Set the base remapping of FACE in the current buffer to SPECS.
This causes the remappings specified by `face-remap-add-relative'
to apply on top of the face specification given by SPECS.

The remaining arguments, SPECS, should form a list of faces.
Each list element should be either a face name or a property list
of face attribute/value pairs, like in a `face' text property.

If SPECS is empty, call `face-remap-reset-base' to use the normal
definition of FACE as the base remapping; note that this is
different from SPECS containing a single value `nil', which means
not to inherit from the global definition of FACE at all.

(fn FACE &rest SPECS)Ftext-scale-set
Set the scale factor of the default face in the current buffer to LEVEL.
If LEVEL is non-zero, `text-scale-mode' is enabled, otherwise it is disabled.

LEVEL is a number of steps, with 0 representing the default size.
Each step scales the height of the default face by the variable
`text-scale-mode-step' (a negative number decreases the height by
the same amount).

(fn LEVEL)Ftext-scale-increase
Increase the height of the default face in the current buffer by INC steps.
If the new height is other than the default, `text-scale-mode' is enabled.

Each step scales the height of the default face by the variable
`text-scale-mode-step' (a negative number of steps decreases the
height by the same amount).  As a special case, an argument of 0
will remove any scaling currently active.

(fn INC)Ftext-scale-decrease
Decrease the height of the default face in the current buffer by DEC steps.
See `text-scale-increase' for more details.

(fn DEC)Ftext-scale-adjust
Adjust the height of the default face by INC.

INC may be passed as a numeric prefix argument.

The actual adjustment made depends on the final component of the
key-binding used to invoke the command, with all modifiers removed:

   +, =   Increase the default face height by one step
   -      Decrease the default face height by one step
   0      Reset the default face height to the global default

When adjusting with `+' or `-', continue to read input events and
further adjust the face height as long as the input event read
(with all modifiers removed) is `+' or `-'.

When adjusting with `0', immediately finish.

Each step scales the height of the default face by the variable
`text-scale-mode-step' (a negative number of steps decreases the
height by the same amount).  As a special case, an argument of 0
will remove any scaling currently active.

This command is a special-purpose wrapper around the
`text-scale-increase' command which makes repetition convenient
even when it is bound in a non-top-level keymap.  For binding in
a top-level keymap, `text-scale-increase' or
`text-scale-decrease' may be more appropriate.

(fn INC)Fbuffer-face-mode
Minor mode for a buffer-specific default face.
With a prefix argument ARG, enable the mode if ARG is positive,
and disable it otherwise.  If called from Lisp, enable the mode
if ARG is omitted or nil.  When enabled, the face specified by the
variable `buffer-face-mode-face' is used to display the buffer text.

(fn &optional ARG)Fbuffer-face-set
Enable `buffer-face-mode', using face specs SPECS.
Each argument in SPECS should be a face, i.e. either a face name
or a property list of face attributes and values.  If more than
one face is listed, that specifies an aggregate face, like in a
`face' text property.  If SPECS is nil or omitted, disable
`buffer-face-mode'.

This function makes the variable `buffer-face-mode-face' buffer
local, and sets it to FACE.

(fn &rest SPECS)Fbuffer-face-toggle
Toggle `buffer-face-mode', using face specs SPECS.
Each argument in SPECS should be a face, i.e. either a face name
or a property list of face attributes and values.  If more than
one face is listed, that specifies an aggregate face, like in a
`face' text property.

If `buffer-face-mode' is already enabled, and is currently using
the face specs SPECS, then it is disabled; if buffer-face-mode is
disabled, or is enabled and currently displaying some other face,
then is left enabled, but the face changed to reflect SPECS.

This function will make the variable `buffer-face-mode-face'
buffer local, and set it to SPECS.

(fn &rest SPECS)Fvariable-pitch-mode
Variable-pitch default-face mode.
An interface to `buffer-face-mode' which uses the `variable-pitch' face.
Besides the choice of face, it is the same as `buffer-face-mode'.

(fn &optional ARG)Ffeedmail-send-it
Send the current mail buffer using the Feedmail package.
This is a suitable value for `send-mail-function'.  It can be used
with various lower-level mechanisms to provide features such as queueing.

(fn)Ffeedmail-run-the-queue-no-prompts
Like `feedmail-run-the-queue', but suppress confirmation prompts.

(fn &optional ARG)Ffeedmail-run-the-queue-global-prompt
Like `feedmail-run-the-queue', but with a global confirmation prompt.
This is generally most useful if run non-interactively, since you can
bail out with an appropriate answer to the global confirmation prompt.

(fn &optional ARG)Ffeedmail-run-the-queue
Visit each message in the feedmail queue directory and send it out.
Return value is a list of three things: number of messages sent, number of
messages skipped, and number of non-message things in the queue (commonly
backup file names and the like).

(fn &optional ARG)Ffeedmail-queue-reminder
Perform some kind of reminder activity about queued and draft messages.
Called with an optional symbol argument which says what kind of event
is triggering the reminder activity.  The default is 'on-demand, which
is what you typically would use if you were putting this in your Emacs start-up
or mail hook code.  Other recognized values for WHAT-EVENT (these are passed
internally by feedmail):

   after-immediate      (a message has just been sent in immediate mode)
   after-queue          (a message has just been queued)
   after-draft          (a message has just been placed in the draft directory)
   after-run            (the queue has just been run, possibly sending messages)

WHAT-EVENT is used as a key into the table `feedmail-queue-reminder-alist'.  If
the associated value is a function, it is called without arguments and is expected
to perform the reminder activity.  You can supply your own reminder functions
by redefining `feedmail-queue-reminder-alist'.  If you don't want any reminders,
you can set `feedmail-queue-reminder-alist' to nil.

(fn &optional WHAT-EVENT)Fffap-next
Search buffer for next file or URL, and run ffap.
Optional argument BACK says to search backwards.
Optional argument WRAP says to try wrapping around if necessary.
Interactively: use a single prefix to search backwards,
double prefix to wrap forward, triple to wrap backwards.
Actual search is done by `ffap-next-guess'.

(fn &optional BACK WRAP)Ffind-file-at-point
Find FILENAME, guessing a default from text around point.
If `ffap-url-regexp' is not nil, the FILENAME may also be an URL.
With a prefix, this command behaves exactly like `ffap-file-finder'.
If `ffap-require-prefix' is set, the prefix meaning is reversed.
See also the variables `ffap-dired-wildcards', `ffap-newfile-prompt',
and the functions `ffap-file-at-point' and `ffap-url-at-point'.

(fn &optional FILENAME)Fffap-menu
Put up a menu of files and URLs mentioned in this buffer.
Then set mark, jump to choice, and try to fetch it.  The menu is
cached in `ffap-menu-alist', and rebuilt by `ffap-menu-rescan'.
The optional RESCAN argument (a prefix, interactively) forces
a rebuild.  Searches with `ffap-menu-regexp'.

(fn &optional RESCAN)Fffap-at-mouse
Find file or URL guessed from text around mouse click.
Interactively, calls `ffap-at-mouse-fallback' if no guess is found.
Return value:
  * if a guess string is found, return it (after finding it)
  * if the fallback is called, return whatever it returns
  * otherwise, nil

(fn E)Fdired-at-point
Start Dired, defaulting to file at point.  See `ffap'.
If `dired-at-point-require-prefix' is set, the prefix meaning is reversed.

(fn &optional FILENAME)Fffap-guess-file-name-at-point
Try to get a file name at point.
This hook is intended to be put in `file-name-at-point-functions'.

(fn)Fffap-bindings
Evaluate the forms in variable `ffap-bindings'.

(fn)Ffile-cache-add-directory
Add DIRECTORY to the file cache.
If the optional REGEXP argument is non-nil, only files which match it will
be added to the cache.

(fn DIRECTORY &optional REGEXP)Ffile-cache-add-directory-list
Add DIRECTORY-LIST (a list of directory names) to the file cache.
If the optional REGEXP argument is non-nil, only files which match it
will be added to the cache.  Note that the REGEXP is applied to the
files in each directory, not to the directory list itself.

(fn DIRECTORY-LIST &optional REGEXP)Ffile-cache-add-file
Add FILE to the file cache.

(fn FILE)Ffile-cache-add-directory-using-find
Use the `find' command to add files to the file cache.
Find is run in DIRECTORY.

(fn DIRECTORY)Ffile-cache-add-directory-using-locate
Use the `locate' command to add files to the file cache.
STRING is passed as an argument to the locate command.

(fn STRING)Ffile-cache-add-directory-recursively
Adds DIR and any subdirectories to the file-cache.
This function does not use any external programs.
If the optional REGEXP argument is non-nil, only files which match it
will be added to the cache.  Note that the REGEXP is applied to the
files in each directory, not to the directory list itself.

(fn DIR &optional REGEXP)Ffile-cache-minibuffer-complete
Complete a filename in the minibuffer using a preloaded cache.
Filecache does two kinds of substitution: it completes on names in
the cache, and, once it has found a unique name, it cycles through
the directories that the name is available in.  With a prefix argument,
the name is considered already unique; only the second substitution
(directories) is done.

(fn ARG)Fadd-file-local-variable
Add file-local VARIABLE with its VALUE to the Local Variables list.

This command deletes all existing settings of VARIABLE (except `mode'
and `eval') and adds a new file-local VARIABLE with VALUE to the
Local Variables list.

If there is no Local Variables list in the current file buffer
then this function adds the first line containing the string
`Local Variables:' and the last line containing the string `End:'.

(fn VARIABLE VALUE)Fdelete-file-local-variable
Delete all settings of file-local VARIABLE from the Local Variables list.

(fn VARIABLE)Fadd-file-local-variable-prop-line
Add file-local VARIABLE with its VALUE to the -*- line.

This command deletes all existing settings of VARIABLE (except `mode'
and `eval') and adds a new file-local VARIABLE with VALUE to
the -*- line.

If there is no -*- line at the beginning of the current file buffer
then this function adds it.

(fn VARIABLE VALUE)Fdelete-file-local-variable-prop-line
Delete all settings of file-local VARIABLE from the -*- line.

(fn VARIABLE)Fadd-dir-local-variable
Add directory-local VARIABLE with its VALUE and MODE to .dir-locals.el.

(fn MODE VARIABLE VALUE)Fdelete-dir-local-variable
Delete all MODE settings of file-local VARIABLE from .dir-locals.el.

(fn MODE VARIABLE)Fcopy-file-locals-to-dir-locals
Copy file-local variables to .dir-locals.el.

(fn)Fcopy-dir-locals-to-file-locals
Copy directory-local variables to the Local Variables list.

(fn)Fcopy-dir-locals-to-file-locals-prop-line
Copy directory-local variables to the -*- line.

(fn)Ffilesets-init
Filesets initialization.
Set up hooks, load the cache file -- if existing -- and build the menu.

(fn)Ffind-cmd
Initiate the building of a find command.
For example:

(find-cmd '(prune (name ".svn" ".git" ".CVS"))
          '(and (or (name "*.pl" "*.pm" "*.t")
                    (mtime "+1"))
                (fstype "nfs" "ufs"))))

`default-directory' is used as the initial search path.  The
result is a string that should be ready for the command line.

(fn &rest SUBFINDS)Ffind-dired
Run `find' and go into Dired mode on a buffer of the output.
The command run (after changing into DIR) is essentially

    find . \( ARGS \) -ls

except that the car of the variable `find-ls-option' specifies what to
use in place of "-ls" as the final argument.

(fn DIR ARGS)Ffind-name-dired
Search DIR recursively for files matching the globbing pattern PATTERN,
and run dired on those files.
PATTERN is a shell wildcard (not an Emacs regexp) and need not be quoted.
The command run (after changing into DIR) is

    find . -name 'PATTERN' -ls

(fn DIR PATTERN)Ffind-grep-dired
Find files in DIR containing a regexp REGEXP and start Dired on output.
The command run (after changing into DIR) is

  find . \( -type f -exec `grep-program' `find-grep-options' \
    -e REGEXP {} \; \) -ls

where the car of the variable `find-ls-option' specifies what to
use in place of "-ls" as the final argument.

(fn DIR REGEXP)Vff-special-constructs
List of special constructs recognized by `ff-treat-as-special'.
Each element, tried in order, has the form (REGEXP . EXTRACT).
If REGEXP matches the current line (from the beginning of the line),
`ff-treat-as-special' calls function EXTRACT with no args.
If EXTRACT returns nil, keep trying.  Otherwise, return the
filename that EXTRACT returned.Fff-get-other-file
Find the header or source file corresponding to this file.
See also the documentation for `ff-find-other-file'.

If optional IN-OTHER-WINDOW is non-nil, find the file in another window.

(fn &optional IN-OTHER-WINDOW)Fff-find-other-file
Find the header or source file corresponding to this file.
Being on a `#include' line pulls in that file.

If optional IN-OTHER-WINDOW is non-nil, find the file in the other window.
If optional IGNORE-INCLUDE is non-nil, ignore being on `#include' lines.

Variables of interest include:

 - `ff-case-fold-search'
   Non-nil means ignore cases in matches (see `case-fold-search').
   If you have extensions in different cases, you will want this to be nil.

 - `ff-always-in-other-window'
   If non-nil, always open the other file in another window, unless an
   argument is given to `ff-find-other-file'.

 - `ff-ignore-include'
   If non-nil, ignores #include lines.

 - `ff-always-try-to-create'
   If non-nil, always attempt to create the other file if it was not found.

 - `ff-quiet-mode'
   If non-nil, traces which directories are being searched.

 - `ff-special-constructs'
   A list of regular expressions specifying how to recognize special
   constructs such as include files etc, and an associated method for
   extracting the filename from that construct.

 - `ff-other-file-alist'
   Alist of extensions to find given the current file's extension.

 - `ff-search-directories'
   List of directories searched through with each extension specified in
   `ff-other-file-alist' that matches this file's extension.

 - `ff-pre-find-hook'
   List of functions to be called before the search for the file starts.

 - `ff-pre-load-hook'
   List of functions to be called before the other file is loaded.

 - `ff-post-load-hook'
   List of functions to be called after the other file is loaded.

 - `ff-not-found-hook'
   List of functions to be called if the other file could not be found.

 - `ff-file-created-hook'
   List of functions to be called if the other file has been created.

(fn &optional IN-OTHER-WINDOW IGNORE-INCLUDE)Fff-mouse-find-other-file
Visit the file you click on.

(fn EVENT)Fff-mouse-find-other-file-other-window
Visit the file you click on in another window.

(fn EVENT)Ffind-library
Find the Emacs Lisp source of LIBRARY.
LIBRARY should be a string (the name of the library).

(fn LIBRARY)Ffind-function-search-for-symbol
Search for SYMBOL's definition of type TYPE in LIBRARY.
Visit the library in a buffer, and return a cons cell (BUFFER . POSITION),
or just (BUFFER . nil) if the definition can't be found in the file.

If TYPE is nil, look for a function definition.
Otherwise, TYPE specifies the kind of definition,
and it is interpreted via `find-function-regexp-alist'.
The search is done in the source for library LIBRARY.

(fn SYMBOL TYPE LIBRARY)Ffind-function-noselect
Return a pair (BUFFER . POINT) pointing to the definition of FUNCTION.

Finds the source file containing the definition of FUNCTION
in a buffer and the point of the definition.  The buffer is
not selected.  If the function definition can't be found in
the buffer, returns (BUFFER).

If FUNCTION is a built-in function, this function normally
attempts to find it in the Emacs C sources; however, if LISP-ONLY
is non-nil, signal an error instead.

If the file where FUNCTION is defined is not known, then it is
searched for in `find-function-source-path' if non-nil, otherwise
in `load-path'.

(fn FUNCTION &optional LISP-ONLY)Ffind-function
Find the definition of the FUNCTION near point.

Finds the source file containing the definition of the function
near point (selected by `function-called-at-point') in a buffer and
places point before the definition.
Set mark before moving, if the buffer already existed.

The library where FUNCTION is defined is searched for in
`find-function-source-path', if non-nil, otherwise in `load-path'.
See also `find-function-recenter-line' and `find-function-after-hook'.

(fn FUNCTION)Ffind-function-other-window
Find, in another window, the definition of FUNCTION near point.

See `find-function' for more details.

(fn FUNCTION)Ffind-function-other-frame
Find, in another frame, the definition of FUNCTION near point.

See `find-function' for more details.

(fn FUNCTION)Ffind-variable-noselect
Return a pair `(BUFFER . POINT)' pointing to the definition of VARIABLE.

Finds the library containing the definition of VARIABLE in a buffer and
the point of the definition.  The buffer is not selected.
If the variable's definition can't be found in the buffer, return (BUFFER).

The library where VARIABLE is defined is searched for in FILE or
`find-function-source-path', if non-nil, otherwise in `load-path'.

(fn VARIABLE &optional FILE)Ffind-variable
Find the definition of the VARIABLE at or before point.

Finds the library containing the definition of the variable
near point (selected by `variable-at-point') in a buffer and
places point before the definition.

Set mark before moving, if the buffer already existed.

The library where VARIABLE is defined is searched for in
`find-function-source-path', if non-nil, otherwise in `load-path'.
See also `find-function-recenter-line' and `find-function-after-hook'.

(fn VARIABLE)Ffind-variable-other-window
Find, in another window, the definition of VARIABLE near point.

See `find-variable' for more details.

(fn VARIABLE)Ffind-variable-other-frame
Find, in another frame, the definition of VARIABLE near point.

See `find-variable' for more details.

(fn VARIABLE)Ffind-definition-noselect
Return a pair `(BUFFER . POINT)' pointing to the definition of SYMBOL.
If the definition can't be found in the buffer, return (BUFFER).
TYPE says what type of definition: nil for a function, `defvar' for a
variable, `defface' for a face.  This function does not switch to the
buffer nor display it.

The library where SYMBOL is defined is searched for in FILE or
`find-function-source-path', if non-nil, otherwise in `load-path'.

(fn SYMBOL TYPE &optional FILE)Ffind-face-definition
Find the definition of FACE.  FACE defaults to the name near point.

Finds the Emacs Lisp library containing the definition of the face
near point (selected by `variable-at-point') in a buffer and
places point before the definition.

Set mark before moving, if the buffer already existed.

The library where FACE is defined is searched for in
`find-function-source-path', if non-nil, otherwise in `load-path'.
See also `find-function-recenter-line' and `find-function-after-hook'.

(fn FACE)Ffind-function-on-key
Find the function that KEY invokes.  KEY is a string.
Set mark before moving, if the buffer already existed.

(fn KEY)Ffind-function-at-point
Find directly the function at point in the other window.

(fn)Ffind-variable-at-point
Find directly the variable at point in the other window.

(fn)Ffind-function-setup-keys
Define some key bindings for the find-function family of functions.

(fn)Ffind-lisp-find-dired
Find files in DIR, matching REGEXP.

(fn DIR REGEXP)Ffind-lisp-find-dired-subdirectories
Find all subdirectories of DIR.

(fn DIR)Ffind-lisp-find-dired-filter
Change the filter on a find-lisp-find-dired buffer to REGEXP.

(fn REGEXP)Ffinder-list-keywords
Display descriptions of the keywords in the Finder buffer.

(fn)Ffinder-commentary
Display FILE's commentary section.
FILE should be in a form suitable for passing to `locate-library'.

(fn FILE)Ffinder-by-keyword
Find packages matching a given keyword.

(fn)Fenable-flow-control
Toggle flow control handling.
When handling is enabled, user can type C-s as C-\, and C-q as C-^.
With arg, enable flow control mode if arg is positive, otherwise disable.

(fn &optional ARGUMENT)Fenable-flow-control-on
Enable flow control if using one of a specified set of terminal types.
Use `(enable-flow-control-on "vt100" "h19")' to enable flow control
on VT-100 and H19 terminals.  When flow control is enabled,
you must type C-\ to get the effect of a C-s, and type C-^
to get the effect of a C-q.

(fn &rest LOSING-TERMINAL-TYPES)Ffill-flowed-encode


(fn &optional BUFFER)Ffill-flowed


(fn &optional BUFFER DELETE-SPACE)Fflymake-mode
Toggle on-the-fly syntax checking.
With a prefix argument ARG, enable the mode if ARG is positive,
and disable it otherwise.  If called from Lisp, enable the mode
if ARG is omitted or nil.

(fn &optional ARG)Fflymake-mode-on
Turn flymake mode on.

(fn)Fflymake-mode-off
Turn flymake mode off.

(fn)Fflymake-find-file-hook


(fn)Fflyspell-prog-mode
Turn on `flyspell-mode' for comments and strings.

(fn)Fflyspell-mode
Toggle on-the-fly spell checking (Flyspell mode).
With a prefix argument ARG, enable Flyspell mode if ARG is
positive, and disable it otherwise.  If called from Lisp, enable
the mode if ARG is omitted or nil.

Flyspell mode is a buffer-local minor mode.  When enabled, it
spawns a single Ispell process and checks each word.  The default
flyspell behavior is to highlight incorrect words.

Bindings:
\[ispell-word]: correct words (using Ispell).
\[flyspell-auto-correct-word]: automatically correct word.
\[flyspell-auto-correct-previous-word]: automatically correct the last misspelled word.
\[flyspell-correct-word] (or down-mouse-2): popup correct words.

Hooks:
This runs `flyspell-mode-hook' after flyspell mode is entered or exit.

Remark:
`flyspell-mode' uses `ispell-mode'.  Thus all Ispell options are
valid.  For instance, a different dictionary can be used by
invoking `ispell-change-dictionary'.

Consider using the `ispell-parser' to check your text.  For instance
consider adding:
(add-hook 'tex-mode-hook (function (lambda () (setq ispell-parser 'tex))))
in your init file.

\[flyspell-region] checks all words inside a region.
\[flyspell-buffer] checks the whole buffer.

(fn &optional ARG)Fturn-on-flyspell
Unconditionally turn on Flyspell mode.

(fn)Fturn-off-flyspell
Unconditionally turn off Flyspell mode.

(fn)Fflyspell-mode-off
Turn Flyspell mode off.

(fn)Fflyspell-region
Flyspell text between BEG and END.

(fn BEG END)Fflyspell-buffer
Flyspell whole buffer.

(fn)Fturn-on-follow-mode
Turn on Follow mode.  Please see the function `follow-mode'.

(fn)Fturn-off-follow-mode
Turn off Follow mode.  Please see the function `follow-mode'.

(fn)Ffollow-mode
Toggle Follow mode.
With a prefix argument ARG, enable Follow mode if ARG is
positive, and disable it otherwise.  If called from Lisp, enable
the mode if ARG is omitted or nil.

Follow mode is a minor mode that combines windows into one tall
virtual window.  This is accomplished by two main techniques:

* The windows always displays adjacent sections of the buffer.
  This means that whenever one window is moved, all the
  others will follow.  (Hence the name Follow mode.)

* Should the point (cursor) end up outside a window, another
  window displaying that point is selected, if possible.  This
  makes it possible to walk between windows using normal cursor
  movement commands.

Follow mode comes to its prime when used on a large screen and two
side-by-side windows are used.  The user can, with the help of Follow
mode, use two full-height windows as though they would have been
one.  Imagine yourself editing a large function, or section of text,
and being able to use 144 lines instead of the normal 72... (your
mileage may vary).

To split one large window into two side-by-side windows, the commands
`\[split-window-right]' or `M-x follow-delete-other-windows-and-split' can be used.

Only windows displayed in the same frame follow each other.

This command runs the normal hook `follow-mode-hook'.

Keys specific to Follow mode:
\{follow-mode-map}

(fn &optional ARG)Ffollow-delete-other-windows-and-split
Create two side by side windows and enter Follow mode.

Execute this command to display as much as possible of the text
in the selected window.  All other windows, in the current
frame, are deleted and the selected window is split in two
side-by-side windows.  Follow mode is activated, hence the
two windows always will display two successive pages.
(If one window is moved, the other one will follow.)

If ARG is positive, the leftmost window is selected.  If negative,
the rightmost is selected.  If ARG is nil, the leftmost window is
selected if the original window is the first one in the frame.

(fn &optional ARG)Ffootnote-mode
Toggle Footnote mode.
With a prefix argument ARG, enable Footnote mode if ARG is
positive, and disable it otherwise.  If called from Lisp, enable
the mode if ARG is omitted or nil.

Footnode mode is a buffer-local minor mode.  If enabled, it
provides footnote support for `message-mode'.  To get started,
play around with the following keys:
\{footnote-minor-mode-map}

(fn &optional ARG)Fforms-mode
Major mode to visit files in a field-structured manner using a form.

Commands:                        Equivalent keys in read-only mode:
 TAB            forms-next-field          TAB
 C-c TAB        forms-next-field
 C-c <          forms-first-record         <
 C-c >          forms-last-record          >
 C-c ?          describe-mode              ?
 C-c C-k        forms-delete-record
 C-c C-q        forms-toggle-read-only     q
 C-c C-o        forms-insert-record
 C-c C-l        forms-jump-record          l
 C-c C-n        forms-next-record          n
 C-c C-p        forms-prev-record          p
 C-c C-r        forms-search-reverse       r
 C-c C-s        forms-search-forward       s
 C-c C-x        forms-exit                 x

(fn &optional PRIMARY)Fforms-find-file
Visit a file in Forms mode.

(fn FN)Fforms-find-file-other-window
Visit a file in Forms mode in other window.

(fn FN)Ffortran-mode
Major mode for editing Fortran code in fixed format.
For free format code, use `f90-mode'.

\[fortran-indent-line] indents the current Fortran line correctly.
Note that DO statements must not share a common CONTINUE.

Type ;? or ;\[help-command] to display a list of built-in abbrevs for Fortran keywords.

Key definitions:
\{fortran-mode-map}

Variables controlling indentation style and extra features:

`fortran-comment-line-start'
  To use comments starting with `!', set this to the string "!".
`fortran-do-indent'
  Extra indentation within DO blocks (default 3).
`fortran-if-indent'
  Extra indentation within IF blocks (default 3).
`fortran-structure-indent'
  Extra indentation within STRUCTURE, UNION, MAP and INTERFACE blocks.
  (default 3)
`fortran-continuation-indent'
  Extra indentation applied to continuation statements (default 5).
`fortran-comment-line-extra-indent'
  Amount of extra indentation for text in full-line comments (default 0).
`fortran-comment-indent-style'
  How to indent the text in full-line comments. Allowed values are:
  nil       don't change the indentation
  fixed     indent to `fortran-comment-line-extra-indent' beyond the
              value of either
                `fortran-minimum-statement-indent-fixed' (fixed format) or
                `fortran-minimum-statement-indent-tab' (TAB format),
              depending on the continuation format in use.
  relative  indent to `fortran-comment-line-extra-indent' beyond the
              indentation for a line of code.
  (default 'fixed)
`fortran-comment-indent-char'
  Single-character string to be inserted instead of space for
  full-line comment indentation (default " ").
`fortran-minimum-statement-indent-fixed'
  Minimum indentation for statements in fixed format mode (default 6).
`fortran-minimum-statement-indent-tab'
  Minimum indentation for statements in TAB format mode (default 9).
`fortran-line-number-indent'
  Maximum indentation for line numbers (default 1).  A line number will
  get less than this much indentation if necessary to avoid reaching
  column 5.
`fortran-check-all-num-for-matching-do'
  Non-nil causes all numbered lines to be treated as possible "continue"
  statements (default nil).
`fortran-blink-matching-if'
  Non-nil causes \[fortran-indent-line] on an ENDIF (or ENDDO) statement
  to blink on the matching IF (or DO [WHILE]).  (default nil)
`fortran-continuation-string'
  Single-character string to be inserted in column 5 of a continuation
  line (default "$").
`fortran-comment-region'
  String inserted by \[fortran-comment-region] at start of each line in
  the region (default "c$$$").
`fortran-electric-line-number'
  Non-nil causes line number digits to be moved to the correct column
  as typed (default t).
`fortran-break-before-delimiters'
  Non-nil causes lines to be broken before delimiters (default t).

Turning on Fortran mode calls the value of the variable `fortran-mode-hook'
with no args, if that value is non-nil.

(fn)Ffortune-add-fortune
Add STRING to a fortune file FILE.

Interactively, if called with a prefix argument,
read the file name to use.  Otherwise use the value of `fortune-file'.

(fn STRING FILE)Ffortune-from-region
Append the current region to a local fortune-like data file.

Interactively, if called with a prefix argument,
read the file name to use.  Otherwise use the value of `fortune-file'.

(fn BEG END FILE)Ffortune-compile
Compile fortune file.

If called with a prefix asks for the FILE to compile, otherwise uses
the value of `fortune-file'.  This currently cannot handle directories.

(fn &optional FILE)Ffortune-to-signature
Create signature from output of the fortune program.

If called with a prefix asks for the FILE to choose the fortune from,
otherwise uses the value of `fortune-file'.  If you want to have fortune
choose from a set of files in a directory, call interactively with prefix
and choose the directory as the fortune-file.

(fn &optional FILE)Ffortune
Display a fortune cookie.
If called with a prefix asks for the FILE to choose the fortune from,
otherwise uses the value of `fortune-file'.  If you want to have fortune
choose from a set of files in a directory, call interactively with prefix
and choose the directory as the fortune-file.

(fn &optional FILE)Vgdb-enable-debug
Non-nil if Gdb-Enable-Debug mode is enabled.
See the command `gdb-enable-debug' for a description of this minor mode.Fgdb-enable-debug
Toggle logging of transaction between Emacs and Gdb.
The log is stored in `gdb-debug-log' as an alist with elements
whose cons is send, send-item or recv and whose cdr is the string
being transferred.  This list may grow up to a size of
`gdb-debug-log-max' after which the oldest element (at the end of
the list) is deleted every time a new one is added (at the front).

(fn &optional ARG)Fgdb
Run gdb on program FILE in buffer *gud-FILE*.
The directory containing FILE becomes the initial working directory
and source-file directory for your debugger.

COMMAND-LINE is the shell command for starting the gdb session.
It should be a string consisting of the name of the gdb
executable followed by command-line options.  The command-line
options should include "-i=mi" to use gdb's MI text interface.
Note that the old "--annotate" option is no longer supported.

If `gdb-many-windows' is nil (the default value) then gdb just
pops up the GUD buffer unless `gdb-show-main' is t.  In this case
it starts with two windows: one displaying the GUD buffer and the
other with the source file with the main routine of the inferior.

If `gdb-many-windows' is t, regardless of the value of
`gdb-show-main', the layout below will appear.  Keybindings are
shown in some of the buffers.

Watch expressions appear in the speedbar/slowbar.

The following commands help control operation :

`gdb-many-windows'    - Toggle the number of windows gdb uses.
`gdb-restore-windows' - To restore the window layout.

See Info node `(emacs)GDB Graphical Interface' for a more
detailed description of this mode.


+----------------------------------------------------------------------+
|                               GDB Toolbar                            |
+-----------------------------------+----------------------------------+
| GUD buffer (I/O of GDB)           | Locals buffer                    |
|                                   |                                  |
|                                   |                                  |
|                                   |                                  |
+-----------------------------------+----------------------------------+
| Source buffer                     | I/O buffer (of debugged program) |
|                                   | (comint-mode)                    |
|                                   |                                  |
|                                   |                                  |
|                                   |                                  |
|                                   |                                  |
|                                   |                                  |
|                                   |                                  |
+-----------------------------------+----------------------------------+
| Stack buffer                      | Breakpoints buffer               |
| RET      gdb-select-frame         | SPC    gdb-toggle-breakpoint     |
|                                   | RET    gdb-goto-breakpoint       |
|                                   | D      gdb-delete-breakpoint     |
+-----------------------------------+----------------------------------+

(fn COMMAND-LINE)Vgeneric-mode-list
A list of mode names for `generic-mode'.
Do not add entries to this list directly; use `define-generic-mode'
instead (which see).Fdefine-generic-mode
Create a new generic mode MODE.

MODE is the name of the command for the generic mode; don't quote it.
The optional DOCSTRING is the documentation for the mode command.  If
you do not supply it, `define-generic-mode' uses a default
documentation string instead.

COMMENT-LIST is a list in which each element is either a character, a
string of one or two characters, or a cons cell.  A character or a
string is set up in the mode's syntax table as a "comment starter".
If the entry is a cons cell, the `car' is set up as a "comment
starter" and the `cdr' as a "comment ender".  (Use nil for the
latter if you want comments to end at the end of the line.)  Note that
the syntax table has limitations about what comment starters and
enders are actually possible.

KEYWORD-LIST is a list of keywords to highlight with
`font-lock-keyword-face'.  Each keyword should be a string.

FONT-LOCK-LIST is a list of additional expressions to highlight.  Each
element of this list should have the same form as an element of
`font-lock-keywords'.

AUTO-MODE-LIST is a list of regular expressions to add to
`auto-mode-alist'.  These regular expressions are added when Emacs
runs the macro expansion.

FUNCTION-LIST is a list of functions to call to do some additional
setup.  The mode command calls these functions just before it runs the
mode hook `MODE-hook'.

See the file generic-x.el for some examples of `define-generic-mode'.

(fn MODE COMMENT-LIST KEYWORD-LIST FONT-LOCK-LIST AUTO-MODE-LIST FUNCTION-LIST &optional DOCSTRING)Fgeneric-mode-internal
Go into the generic mode MODE.

(fn MODE COMMENT-LIST KEYWORD-LIST FONT-LOCK-LIST FUNCTION-LIST)Fgeneric-mode
Enter generic mode MODE.

Generic modes provide basic comment and font-lock functionality
for "generic" files.  (Files which are too small to warrant their
own mode, but have comment characters, keywords, and the like.)

To define a generic-mode, use the function `define-generic-mode'.
Some generic modes are defined in `generic-x.el'.

(fn MODE)Fgeneric-make-keywords-list
Return a `font-lock-keywords' construct that highlights KEYWORD-LIST.
KEYWORD-LIST is a list of keyword strings that should be
highlighted with face FACE.  This function calculates a regular
expression that matches these keywords and concatenates it with
PREFIX and SUFFIX.  Then it returns a construct based on this
regular expression that can be used as an element of
`font-lock-keywords'.

(fn KEYWORD-LIST FACE &optional PREFIX SUFFIX)Fglasses-mode
Minor mode for making identifiers likeThis readable.
With a prefix argument ARG, enable the mode if ARG is positive,
and disable it otherwise.  If called from Lisp, enable the mode
if ARG is omitted or nil.  When this mode is active, it tries to
add virtual separators (like underscores) at places they belong to.

(fn &optional ARG)Fgmm-regexp-concat
Potentially concat a list of regexps into a single one.
The concatenation is done with logical ORs.

(fn REGEXP)Fgmm-message
If LEVEL is lower than `gmm-verbose' print ARGS using `message'.

Guideline for numbers:
1 - error messages
3 - non-serious error messages
5 - messages for things that take a long time
7 - not very important messages on stuff
9 - messages inside loops.

(fn LEVEL &rest ARGS)Fgmm-error
Beep an error if LEVEL is equal to or less than `gmm-verbose'.
ARGS are passed to `message'.

(fn LEVEL &rest ARGS)Fgmm-widget-p
Non-nil if SYMBOL is a widget.

(fn SYMBOL)Fgmm-tool-bar-from-list
Make a tool bar from ICON-LIST.

Within each entry of ICON-LIST, the first element is a menu
command, the second element is an icon file name and the third
element is a test function.  You can use \[describe-key]
<menu-entry> to find out the name of a menu command.  The fourth
and all following elements are passed as the PROPS argument to the
function `tool-bar-local-item'.

If ZAP-LIST is a list, remove those item from the default
`tool-bar-map'.  If it is t, start with a new sparse map.  You
can use \[describe-key] <icon> to find out the name of an icon
item.  When \[describe-key] <icon> shows "<tool-bar> <new-file>
runs the command find-file", then use `new-file' in ZAP-LIST.

DEFAULT-MAP specifies the default key map for ICON-LIST.

(fn ICON-LIST ZAP-LIST DEFAULT-MAP)Fgnus-slave-no-server
Read network news as a slave, without connecting to the local server.

(fn &optional ARG)Fgnus-no-server
Read network news.
If ARG is a positive number, Gnus will use that as the startup
level. If ARG is nil, Gnus will be started at level 2.  If ARG is
non-nil and not a positive number, Gnus will prompt the user for the
name of an NNTP server to use.
As opposed to `gnus', this command will not connect to the local
server.

(fn &optional ARG SLAVE)Fgnus-slave
Read news as a slave.

(fn &optional ARG)Fgnus-other-frame
Pop up a frame to read news.
This will call one of the Gnus commands which is specified by the user
option `gnus-other-frame-function' (default `gnus') with the argument
ARG if Gnus is not running, otherwise just pop up a Gnus frame.  The
optional second argument DISPLAY should be a standard display string
such as "unix:0" to specify where to pop up a frame.  If DISPLAY is
omitted or the function `make-frame-on-display' is not available, the
current display is used.

(fn &optional ARG DISPLAY)Fgnus
Read network news.
If ARG is non-nil and a positive number, Gnus will use that as the
startup level.  If ARG is non-nil and not a positive number, Gnus will
prompt the user for the name of an NNTP server to use.

(fn &optional ARG DONT-CONNECT SLAVE)Fgnus-unplugged
Start Gnus unplugged.

(fn)Fgnus-plugged
Start Gnus plugged.

(fn)Fgnus-slave-unplugged
Read news as a slave unplugged.

(fn &optional ARG)Fgnus-agentize
Allow Gnus to be an offline newsreader.

The gnus-agentize function is now called internally by gnus when
gnus-agent is set.  If you wish to avoid calling gnus-agentize,
customize gnus-agent to nil.

This will modify the `gnus-setup-news-hook', and
`message-send-mail-real-function' variables, and install the Gnus agent
minor mode in all Gnus buffers.

(fn)Fgnus-agent-possibly-save-gcc
Save GCC if Gnus is unplugged.

(fn)Fgnus-agent-rename-group
Rename fully-qualified OLD-GROUP as NEW-GROUP.
Always updates the agent, even when disabled, as the old agent
files would corrupt gnus when the agent was next enabled.
Depends upon the caller to determine whether group renaming is
supported.

(fn OLD-GROUP NEW-GROUP)Fgnus-agent-delete-group
Delete fully-qualified GROUP.
Always updates the agent, even when disabled, as the old agent
files would corrupt gnus when the agent was next enabled.
Depends upon the caller to determine whether group deletion is
supported.

(fn GROUP)Fgnus-agent-get-undownloaded-list
Construct list of articles that have not been downloaded.

(fn)Fgnus-agent-possibly-alter-active
Possibly expand a group's active range to include articles
downloaded into the agent.

(fn GROUP ACTIVE &optional INFO)Fgnus-agent-find-parameter
Search for GROUPs SYMBOL in the group's parameters, the group's
topic parameters, the group's category, or the customizable
variables.  Returns the first non-nil value found.

(fn GROUP SYMBOL)Fgnus-agent-batch-fetch
Start Gnus and fetch session.

(fn)Fgnus-agent-batch
Start Gnus, send queue and fetch session.

(fn)Fgnus-agent-regenerate
Regenerate all agent covered files.
If CLEAN, obsolete (ignore).

(fn &optional CLEAN REREAD)Fgnus-article-prepare-display
Make the current buffer look like a nice article.

(fn)Fgnus-bookmark-set
Set a bookmark for this article.

(fn)Fgnus-bookmark-jump
Jump to a Gnus bookmark (BMK-NAME).

(fn &optional BMK-NAME)Fgnus-bookmark-bmenu-list
Display a list of existing Gnus bookmarks.
The list is displayed in a buffer named `*Gnus Bookmark List*'.
The leftmost column displays a D if the bookmark is flagged for
deletion, or > if it is flagged for displaying.

(fn)Fgnus-jog-cache
Go through all groups and put the articles into the cache.

Usage:
$ emacs -batch -l ~/.emacs -l gnus -f gnus-jog-cache

(fn)Fgnus-cache-generate-active
Generate the cache active file.

(fn &optional DIRECTORY)Fgnus-cache-generate-nov-databases
Generate NOV files recursively starting in DIR.

(fn DIR)Fgnus-cache-rename-group
Rename OLD-GROUP as NEW-GROUP.
Always updates the cache, even when disabled, as the old cache
files would corrupt Gnus when the cache was next enabled.  It
depends on the caller to determine whether group renaming is
supported.

(fn OLD-GROUP NEW-GROUP)Fgnus-cache-delete-group
Delete GROUP from the cache.
Always updates the cache, even when disabled, as the old cache
files would corrupt gnus when the cache was next enabled.
Depends upon the caller to determine whether group deletion is
supported.

(fn GROUP)Fgnus-delay-article
Delay this article by some time.
DELAY is a string, giving the length of the time.  Possible values are:

* <digits><units> for <units> in minutes (`m'), hours (`h'), days (`d'),
  weeks (`w'), months (`M'), or years (`Y');

* YYYY-MM-DD for a specific date.  The time of day is given by the
  variable `gnus-delay-default-hour', minute and second are zero.

* hh:mm for a specific time.  Use 24h format.  If it is later than this
  time, then the deadline is tomorrow, else today.

(fn DELAY)Fgnus-delay-send-queue
Send all the delayed messages that are due now.

(fn)Fgnus-delay-initialize
Initialize the gnus-delay package.
This sets up a key binding in `message-mode' to delay a message.
This tells Gnus to look for delayed messages after getting new news.

The optional arg NO-KEYMAP is ignored.
Checking delayed messages is skipped if optional arg NO-CHECK is non-nil.

(fn &optional NO-KEYMAP NO-CHECK)Fgnus-user-format-function-d


(fn HEADER)Fgnus-user-format-function-D


(fn HEADER)Fturn-on-gnus-dired-mode
Convenience method to turn on gnus-dired-mode.

(fn)Fgnus-draft-reminder
Reminder user if there are unsent drafts.

(fn)Fgnus-random-x-face
Return X-Face header data chosen randomly from `gnus-x-face-directory'.

(fn)Fgnus-insert-random-x-face-header
Insert a random X-Face header from `gnus-x-face-directory'.

(fn)Fgnus-x-face-from-file
Insert an X-Face header based on an image file.

Depending on `gnus-convert-image-to-x-face-command' it may accept
different input formats.

(fn FILE)Fgnus-face-from-file
Return a Face header based on an image file.

Depending on `gnus-convert-image-to-face-command' it may accept
different input formats.

(fn FILE)Fgnus-convert-face-to-png
Convert FACE (which is base64-encoded) to a PNG.
The PNG is returned as a string.

(fn FACE)Fgnus-convert-png-to-face
Convert FILE to a Face.
FILE should be a PNG file that's 48x48 and smaller than or equal to
726 bytes.

(fn FILE)Fgnus-treat-from-gravatar
Display gravatar in the From header.
If gravatar is already displayed, remove it.

(fn &optional FORCE)Fgnus-treat-mail-gravatar
Display gravatars in the Cc and To headers.
If gravatars are already displayed, remove them.

(fn &optional FORCE)Fgnus-fetch-group
Start Gnus if necessary and enter GROUP.
If ARTICLES, display those articles.
Returns whether the fetching was successful or not.

(fn GROUP &optional ARTICLES)Fgnus-fetch-group-other-frame
Pop up a frame and enter GROUP.

(fn GROUP)Fgnus-article-html


(fn &optional HANDLE)Fgnus-html-prefetch-images


(fn SUMMARY)Fgnus-batch-score
Run batched scoring.
Usage: emacs -batch -l ~/.emacs -l gnus -f gnus-batch-score

(fn)Fturn-on-gnus-mailing-list-mode


(fn)Fgnus-mailing-list-insinuate
Setup group parameters from List-Post header.
If FORCE is non-nil, replace the old ones.

(fn &optional FORCE)Fgnus-mailing-list-mode
Minor mode for providing mailing-list commands.

\{gnus-mailing-list-mode-map}

(fn &optional ARG)Fgnus-group-split-setup
Set up the split for `nnmail-split-fancy'.
Sets things up so that nnmail-split-fancy is used for mail
splitting, and defines the variable nnmail-split-fancy according with
group parameters.

If AUTO-UPDATE is non-nil (prefix argument accepted, if called
interactively), it makes sure nnmail-split-fancy is re-computed before
getting new mail, by adding `gnus-group-split-update' to
`nnmail-pre-get-new-mail-hook'.

A non-nil CATCH-ALL replaces the current value of
`gnus-group-split-default-catch-all-group'.  This variable is only used
by gnus-group-split-update, and only when its CATCH-ALL argument is
nil.  This argument may contain any fancy split, that will be added as
the last split in a `|' split produced by `gnus-group-split-fancy',
unless overridden by any group marked as a catch-all group.  Typical
uses are as simple as the name of a default mail group, but more
elaborate fancy splits may also be useful to split mail that doesn't
match any of the group-specified splitting rules.  See
`gnus-group-split-fancy' for details.

(fn &optional AUTO-UPDATE CATCH-ALL)Fgnus-group-split-update
Computes nnmail-split-fancy from group params and CATCH-ALL.
It does this by calling by calling (gnus-group-split-fancy nil
nil CATCH-ALL).

If CATCH-ALL is nil, `gnus-group-split-default-catch-all-group' is used
instead.  This variable is set by `gnus-group-split-setup'.

(fn &optional CATCH-ALL)Fgnus-group-split
Use information from group parameters in order to split mail.
See `gnus-group-split-fancy' for more information.

`gnus-group-split' is a valid value for `nnmail-split-methods'.

(fn)Fgnus-group-split-fancy
Uses information from group parameters in order to split mail.
It can be embedded into `nnmail-split-fancy' lists with the SPLIT

(: gnus-group-split-fancy GROUPS NO-CROSSPOST CATCH-ALL)

GROUPS may be a regular expression or a list of group names, that will
be used to select candidate groups.  If it is omitted or nil, all
existing groups are considered.

if NO-CROSSPOST is omitted or nil, a & split will be returned,
otherwise, a | split, that does not allow crossposting, will be
returned.

For each selected group, a SPLIT is composed like this: if SPLIT-SPEC
is specified, this split is returned as-is (unless it is nil: in this
case, the group is ignored).  Otherwise, if TO-ADDRESS, TO-LIST and/or
EXTRA-ALIASES are specified, a regexp that matches any of them is
constructed (extra-aliases may be a list).  Additionally, if
SPLIT-REGEXP is specified, the regexp will be extended so that it
matches this regexp too, and if SPLIT-EXCLUDE is specified, RESTRICT
clauses will be generated.

If CATCH-ALL is nil, no catch-all handling is performed, regardless of
catch-all marks in group parameters.  Otherwise, if there is no
selected group whose SPLIT-REGEXP matches the empty string, nor is
there a selected group whose SPLIT-SPEC is 'catch-all, this fancy
split (say, a group name) will be appended to the returned SPLIT list,
as the last element of a '| SPLIT.

For example, given the following group parameters:

nnml:mail.bar:
((to-address . "bar@femail.com")
 (split-regexp . ".*@femail\\.com"))
nnml:mail.foo:
((to-list . "foo@nowhere.gov")
 (extra-aliases "foo@localhost" "foo-redist@home")
 (split-exclude "bugs-foo" "rambling-foo")
 (admin-address . "foo-request@nowhere.gov"))
nnml:mail.others:
((split-spec . catch-all))

Calling (gnus-group-split-fancy nil nil "mail.others") returns:

(| (& (any "\\(bar@femail\\.com\\|.*@femail\\.com\\)"
	   "mail.bar")
      (any "\\(foo@nowhere\\.gov\\|foo@localhost\\|foo-redist@home\\)"
	   - "bugs-foo" - "rambling-foo" "mail.foo"))
   "mail.others")

(fn &optional GROUPS NO-CROSSPOST CATCH-ALL)Fgnus-msg-mail
Start editing a mail message to be sent.
Like `message-mail', but with Gnus paraphernalia, particularly the
Gcc: header for archiving purposes.
If Gnus isn't running, a plain `message-mail' setup is used
instead.

(fn &optional TO SUBJECT OTHER-HEADERS CONTINUE SWITCH-ACTION YANK-ACTION SEND-ACTIONS RETURN-ACTION)Fgnus-button-mailto
Mail to ADDRESS.

(fn ADDRESS)Fgnus-button-reply
Like `message-reply'.

(fn &optional TO-ADDRESS WIDE)Fgnus-notifications
Send a notification on new message.
This check for new messages that are in group with a level lower
or equal to `gnus-notifications-minimum-level' and send a
notification using `notifications-notify' for it.

This is typically a function to add in
`gnus-after-getting-new-news-hook'

(fn)Fgnus-treat-from-picon
Display picons in the From header.
If picons are already displayed, remove them.

(fn)Fgnus-treat-mail-picon
Display picons in the Cc and To headers.
If picons are already displayed, remove them.

(fn)Fgnus-treat-newsgroups-picon
Display picons in the Newsgroups and Followup-To headers.
If picons are already displayed, remove them.

(fn)Fgnus-sorted-difference
Return a list of elements of LIST1 that do not appear in LIST2.
Both lists have to be sorted over <.
The tail of LIST1 is not copied.

(fn LIST1 LIST2)Fgnus-sorted-ndifference
Return a list of elements of LIST1 that do not appear in LIST2.
Both lists have to be sorted over <.
LIST1 is modified.

(fn LIST1 LIST2)Fgnus-sorted-complement
Return a list of elements that are in LIST1 or LIST2 but not both.
Both lists have to be sorted over <.

(fn LIST1 LIST2)Fgnus-intersection


(fn LIST1 LIST2)Fgnus-sorted-intersection
Return intersection of LIST1 and LIST2.
LIST1 and LIST2 have to be sorted over <.

(fn LIST1 LIST2)Fgnus-sorted-range-intersection
Return intersection of RANGE1 and RANGE2.
RANGE1 and RANGE2 have to be sorted over <.

(fn RANGE1 RANGE2)Fgnus-sorted-nintersection
Return intersection of LIST1 and LIST2 by modifying cdr pointers of LIST1.
LIST1 and LIST2 have to be sorted over <.

(fn LIST1 LIST2)Fgnus-sorted-union
Return union of LIST1 and LIST2.
LIST1 and LIST2 have to be sorted over <.

(fn LIST1 LIST2)Fgnus-sorted-nunion
Return union of LIST1 and LIST2 by modifying cdr pointers of LIST1.
LIST1 and LIST2 have to be sorted over <.

(fn LIST1 LIST2)Fgnus-add-to-sorted-list
Add NUM into sorted LIST by side effect.

(fn LIST NUM)Fgnus-registry-initialize
Initialize the Gnus registry.

(fn)Fgnus-registry-install-hooks
Install the registry hooks.

(fn)Fgnus-sieve-update
Update the Sieve script in gnus-sieve-file, by replacing the region
between gnus-sieve-region-start and gnus-sieve-region-end with
(gnus-sieve-script gnus-sieve-select-method gnus-sieve-crosspost), then
execute gnus-sieve-update-shell-command.
See the documentation for these variables and functions for details.

(fn)Fgnus-sieve-generate
Generate the Sieve script in gnus-sieve-file, by replacing the region
between gnus-sieve-region-start and gnus-sieve-region-end with
(gnus-sieve-script gnus-sieve-select-method gnus-sieve-crosspost).
See the documentation for these variables and functions for details.

(fn)Fgnus-sieve-article-add-rule


(fn)Fgnus-update-format
Update the format specification near point.

(fn VAR)Fgnus-declare-backend
Declare back end NAME with ABILITIES as a Gnus back end.

(fn NAME &rest ABILITIES)Fgnus-summary-bookmark-jump
Handler function for record returned by `gnus-summary-bookmark-make-record'.
BOOKMARK is a bookmark name or a bookmark record.

(fn BOOKMARK)Fgnus-sync-initialize
Initialize the Gnus sync facility.

(fn)Fgnus-sync-install-hooks
Install the sync hooks.

(fn)Fgnus-add-configuration
Add the window configuration CONF to `gnus-buffer-configuration'.

(fn CONF)Vgnutls-min-prime-bits
Minimum number of prime bits accepted by GnuTLS for key exchange.
During a Diffie-Hellman handshake, if the server sends a prime
number with fewer than this number of bits, the handshake is
rejected.  (The smaller the prime number, the less secure the
key exchange is against man-in-the-middle attacks.)

A value of nil says to use the default GnuTLS value.Fgomoku
Start a Gomoku game between you and Emacs.

If a game is in progress, this command allows you to resume it.
If optional arguments N and M are given, an N by M board is used.
If prefix arg is given for N, M is prompted for.

You and Emacs play in turn by marking a free square.  You mark it with X
and Emacs marks it with O.  The winner is the first to get five contiguous
marks horizontally, vertically or in diagonal.

You play by moving the cursor over the square you choose and hitting
\<gomoku-mode-map>\[gomoku-human-plays].

This program actually plays a simplified or archaic version of the
Gomoku game, and ought to be upgraded to use the full modern rules.

Use \[describe-mode] for more info.

(fn &optional N M)Fgoto-address-at-point
Send to the e-mail address or load the URL at point.
Send mail to address at point.  See documentation for
`goto-address-find-address-at-point'.  If no address is found
there, then load the URL at or before point.

(fn &optional EVENT)Fgoto-address
Sets up goto-address functionality in the current buffer.
Allows user to use mouse/keyboard command to click to go to a URL
or to send e-mail.
By default, goto-address binds `goto-address-at-point' to mouse-2 and C-c RET
only on URLs and e-mail addresses.

Also fontifies the buffer appropriately (see `goto-address-fontify-p' and
`goto-address-highlight-p' for more information).

(fn)Fgoto-address-mode
Minor mode to buttonize URLs and e-mail addresses in the current buffer.
With a prefix argument ARG, enable the mode if ARG is positive,
and disable it otherwise.  If called from Lisp, enable the mode
if ARG is omitted or nil.

(fn &optional ARG)Fgoto-address-prog-mode
Like `goto-address-mode', but only for comments and strings.

(fn &optional ARG)Fgravatar-retrieve
Retrieve MAIL-ADDRESS gravatar and call CB on retrieval.
You can provide a list of argument to pass to CB in CBARGS.

(fn MAIL-ADDRESS CB &optional CBARGS)Fgravatar-retrieve-synchronously
Retrieve MAIL-ADDRESS gravatar and returns it.

(fn MAIL-ADDRESS)Vgrep-window-height
Number of lines in a grep window.  If nil, use `compilation-window-height'.Vgrep-command
The default grep command for \[grep].
If the grep program used supports an option to always include file names
in its output (such as the `-H' option to GNU grep), it's a good idea to
include it when specifying `grep-command'.

In interactive usage, the actual value of this variable is set up
by `grep-compute-defaults'; to change the default value, use
Customize or call the function `grep-apply-setting'.Vgrep-find-command
The default find command for \[grep-find].
In interactive usage, the actual value of this variable is set up
by `grep-compute-defaults'; to change the default value, use
Customize or call the function `grep-apply-setting'.Vgrep-setup-hook
List of hook functions run by `grep-process-setup' (see `run-hooks').Vgrep-regexp-alist
Regexp used to match grep hits.  See `compilation-error-regexp-alist'.Vgrep-program
The default grep program for `grep-command' and `grep-find-command'.
This variable's value takes effect when `grep-compute-defaults' is called.Vfind-program
The default find program for `grep-find-command'.
This variable's value takes effect when `grep-compute-defaults' is called.Vxargs-program
The default xargs program for `grep-find-command'.
See `grep-find-use-xargs'.
This variable's value takes effect when `grep-compute-defaults' is called.Vgrep-find-use-xargs
How to invoke find and grep.
If `exec', use `find -exec {} ;'.
If `exec-plus' use `find -exec {} +'.
If `gnu', use `find -print0' and `xargs -0'.
Any other value means to use `find -print' and `xargs'.

This variable's value takes effect when `grep-compute-defaults' is called.Vgrep-history
History list for grep.Vgrep-find-history
History list for grep-find.Fgrep-process-setup
Setup compilation variables and buffer for `grep'.
Set up `compilation-exit-message-function' and run `grep-setup-hook'.

(fn)Fgrep-compute-defaults


(fn)Fgrep-mode
Sets `grep-last-buffer' and `compilation-window-height'.

(fn)Fgrep
Run grep, with user-specified args, and collect output in a buffer.
While grep runs asynchronously, you can use \[next-error] (M-x next-error),
or \<grep-mode-map>\[compile-goto-error] in the *grep* buffer, to go to the lines where grep found
matches.  To kill the grep job before it finishes, type \[kill-compilation].

For doing a recursive `grep', see the `rgrep' command.  For running
`grep' in a specific directory, see `lgrep'.

This command uses a special history list for its COMMAND-ARGS, so you
can easily repeat a grep command.

A prefix argument says to default the argument based upon the current
tag the cursor is over, substituting it into the last grep command
in the grep command history (or into `grep-command' if that history
list is empty).

(fn COMMAND-ARGS)Fgrep-find
Run grep via find, with user-specified args COMMAND-ARGS.
Collect output in a buffer.
While find runs asynchronously, you can use the \[next-error] command
to find the text that grep hits refer to.

This command uses a special history list for its arguments, so you can
easily repeat a find command.

(fn COMMAND-ARGS)Flgrep
Run grep, searching for REGEXP in FILES in directory DIR.
The search is limited to file names matching shell pattern FILES.
FILES may use abbreviations defined in `grep-files-aliases', e.g.
entering `ch' is equivalent to `*.[ch]'.

With \[universal-argument] prefix, you can edit the constructed shell command line
before it is executed.
With two \[universal-argument] prefixes, directly edit and run `grep-command'.

Collect output in a buffer.  While grep runs asynchronously, you
can use \[next-error] (M-x next-error), or \<grep-mode-map>\[compile-goto-error] in the grep output buffer,
to go to the lines where grep found matches.

This command shares argument histories with \[rgrep] and \[grep].

(fn REGEXP &optional FILES DIR CONFIRM)Frgrep
Recursively grep for REGEXP in FILES in directory tree rooted at DIR.
The search is limited to file names matching shell pattern FILES.
FILES may use abbreviations defined in `grep-files-aliases', e.g.
entering `ch' is equivalent to `*.[ch]'.

With \[universal-argument] prefix, you can edit the constructed shell command line
before it is executed.
With two \[universal-argument] prefixes, directly edit and run `grep-find-command'.

Collect output in a buffer.  While the recursive grep is running,
you can use \[next-error] (M-x next-error), or \<grep-mode-map>\[compile-goto-error] in the grep output buffer,
to visit the lines where matches were found.  To kill the job
before it finishes, type \[kill-compilation].

This command shares argument histories with \[lgrep] and \[grep-find].

When called programmatically and FILES is nil, REGEXP is expected
to specify a command to run.

(fn REGEXP &optional FILES DIR CONFIRM)Fzrgrep
Recursively grep for REGEXP in gzipped FILES in tree rooted at DIR.
Like `rgrep' but uses `zgrep' for `grep-program', sets the default
file name to `*.gz', and sets `grep-highlight-matches' to `always'.

(fn REGEXP &optional FILES DIR CONFIRM GREP-FIND-TEMPLATE)Fgs-load-image
Load a PS image for display on FRAME.
SPEC is an image specification, IMG-HEIGHT and IMG-WIDTH are width
and height of the image in pixels.  WINDOW-AND-PIXMAP-ID is a string of
the form "WINDOW-ID PIXMAP-ID".  Value is non-nil if successful.

(fn FRAME SPEC IMG-WIDTH IMG-HEIGHT WINDOW-AND-PIXMAP-ID PIXEL-COLORS)Fgud-gdb
Run gdb on program FILE in buffer *gud-FILE*.
The directory containing FILE becomes the initial working
directory and source-file directory for your debugger.

(fn COMMAND-LINE)Fsdb
Run sdb on program FILE in buffer *gud-FILE*.
The directory containing FILE becomes the initial working directory
and source-file directory for your debugger.

(fn COMMAND-LINE)Fdbx
Run dbx on program FILE in buffer *gud-FILE*.
The directory containing FILE becomes the initial working directory
and source-file directory for your debugger.

(fn COMMAND-LINE)Fxdb
Run xdb on program FILE in buffer *gud-FILE*.
The directory containing FILE becomes the initial working directory
and source-file directory for your debugger.

You can set the variable `gud-xdb-directories' to a list of program source
directories if your program contains sources from more than one directory.

(fn COMMAND-LINE)Fperldb
Run perldb on program FILE in buffer *gud-FILE*.
The directory containing FILE becomes the initial working directory
and source-file directory for your debugger.

(fn COMMAND-LINE)Fpdb
Run pdb on program FILE in buffer `*gud-FILE*'.
The directory containing FILE becomes the initial working directory
and source-file directory for your debugger.

(fn COMMAND-LINE)Fjdb
Run jdb with command line COMMAND-LINE in a buffer.
The buffer is named "*gud*" if no initial class is given or
"*gud-<initial-class-basename>*" if there is.  If the "-classpath"
switch is given, omit all whitespace between it and its value.

See `gud-jdb-use-classpath' and `gud-jdb-classpath' documentation for
information on how jdb accesses source files.  Alternatively (if
`gud-jdb-use-classpath' is nil), see `gud-jdb-directories' for the
original source file access method.

For general information about commands available to control jdb from
gud, see `gud-mode'.

(fn COMMAND-LINE)Fgdb-script-mode
Major mode for editing GDB scripts.

(fn)Vgud-tooltip-mode
Non-nil if Gud-Tooltip mode is enabled.
See the command `gud-tooltip-mode' for a description of this minor mode.
Setting this variable directly does not take effect;
either customize it (see the info node `Easy Customization')
or call the function `gud-tooltip-mode'.Fgud-tooltip-mode
Toggle the display of GUD tooltips.
With a prefix argument ARG, enable the feature if ARG is
positive, and disable it otherwise.  If called from Lisp, enable
it if ARG is omitted or nil.

(fn &optional ARG)Fgv-get
Build the code that applies DO to PLACE.
PLACE must be a valid generalized variable.
DO must be a function; it will be called with 2 arguments: GETTER and SETTER,
where GETTER is a (copyable) Elisp expression that returns the value of PLACE,
and SETTER is a function which returns the code to set PLACE when called
with a (not necessarily copyable) Elisp expression that returns the value to
set it to.
DO must return an Elisp expression.

(fn PLACE DO)Fgv-letplace
Build the code manipulating the generalized variable PLACE.
GETTER will be bound to a copyable expression that returns the value
of PLACE.
SETTER will be bound to a function that takes an expression V and returns
a new expression that sets PLACE to V.
BODY should return some Elisp expression E manipulating PLACE via GETTER
and SETTER.
The returned value will then be an Elisp expression that first evaluates
all the parts of PLACE that can be evaluated and then runs E.

(fn (GETTER SETTER) PLACE &rest BODY)Fgv-define-expander
Use HANDLER to handle NAME as a generalized var.
NAME is a symbol: the name of a function, macro, or special form.
HANDLER is a function which takes an argument DO followed by the same
arguments as NAME.  DO is a function as defined in `gv-get'.

(fn NAME HANDLER)Fgv--defun-declaration


(fn SYMBOL NAME ARGS HANDLER &optional FIX)Fgv-define-setter
Define a setter method for generalized variable NAME.
This macro is an easy-to-use substitute for `gv-define-expander' that works
well for simple place forms.
Assignments of VAL to (NAME ARGS...) are expanded by binding the argument
forms (VAL ARGS...) according to ARGLIST, then executing BODY, which must
return a Lisp form that does the assignment.
The first arg in ARGLIST (the one that receives VAL) receives an expression
which can do arbitrary things, whereas the other arguments are all guaranteed
to be pure and copyable.  Example use:
  (gv-define-setter aref (v a i) `(aset ,a ,i ,v))

(fn NAME ARGLIST &rest BODY)Fgv-define-simple-setter
Define a simple setter method for generalized variable NAME.
This macro is an easy-to-use substitute for `gv-define-expander' that works
well for simple place forms.  Assignments of VAL to (NAME ARGS...) are
turned into calls of the form (SETTER ARGS... VAL).

If FIX-RETURN is non-nil, then SETTER is not assumed to return VAL and
instead the assignment is turned into something equivalent to
  (let ((temp VAL))
    (SETTER ARGS... temp)
    temp)
so as to preserve the semantics of `setf'.

(fn NAME SETTER &optional FIX-RETURN)Fsetf
Set each PLACE to the value of its VAL.
This is a generalized version of `setq'; the PLACEs may be symbolic
references such as (car x) or (aref x i), as well as plain symbols.
For example, (setf (cadr x) y) is equivalent to (setcar (cdr x) y).
The return value is the last VAL in the list.

(fn PLACE VAL PLACE VAL ...)Fhandwrite
Turns the buffer into a "handwritten" document.
The functions `handwrite-10pt', `handwrite-11pt', `handwrite-12pt'
and `handwrite-13pt' set up for various sizes of output.

Variables: `handwrite-linespace'     (default 12)
           `handwrite-fontsize'      (default 11)
           `handwrite-numlines'      (default 60)
           `handwrite-pagenumbering' (default nil)

(fn)Fhanoi
Towers of Hanoi diversion.  Use NRINGS rings.

(fn NRINGS)Fhanoi-unix
Towers of Hanoi, UNIX doomsday version.
Displays 32-ring towers that have been progressing at one move per
second since 1970-01-01 00:00:00 GMT.

Repent before ring 31 moves.

(fn)Fhanoi-unix-64
Like hanoi-unix, but pretend to have a 64-bit clock.
This is, necessarily (as of Emacs 20.3), a crock.  When the
current-time interface is made s2G-compliant, hanoi.el will need
to be updated.

(fn)Fhashcash-insert-payment
Insert X-Payment and X-Hashcash headers with a payment for ARG

(fn ARG)Fhashcash-insert-payment-async
Insert X-Payment and X-Hashcash headers with a payment for ARG
Only start calculation.  Results are inserted when ready.

(fn ARG)Fhashcash-verify-payment
Verify a hashcash payment

(fn TOKEN &optional RESOURCE AMOUNT)Fmail-add-payment
Add X-Payment: and X-Hashcash: headers with a hashcash payment
for each recipient address.  Prefix arg sets default payment temporarily.
Set ASYNC to t to start asynchronous calculation.  (See
`mail-add-payment-async').

(fn &optional ARG ASYNC)Fmail-add-payment-async
Add X-Payment: and X-Hashcash: headers with a hashcash payment
for each recipient address.  Prefix arg sets default payment temporarily.
Calculation is asynchronous.

(fn &optional ARG)Fmail-check-payment
Look for a valid X-Payment: or X-Hashcash: header.
Prefix arg sets default accept amount temporarily.

(fn &optional ARG)Fhelp-at-pt-string
Return the help-echo string at point.
Normally, the string produced by the `help-echo' text or overlay
property, or nil, is returned.
If KBD is non-nil, `kbd-help' is used instead, and any
`help-echo' property is ignored.  In this case, the return value
can also be t, if that is the value of the `kbd-help' property.

(fn &optional KBD)Fhelp-at-pt-kbd-string
Return the keyboard help string at point.
If the `kbd-help' text or overlay property at point produces a
string, return it.  Otherwise, use the `help-echo' property.
If this produces no string either, return nil.

(fn)Fdisplay-local-help
Display local help in the echo area.
This displays a short help message, namely the string produced by
the `kbd-help' property at point.  If `kbd-help' does not produce
a string, but the `help-echo' property does, then that string is
printed instead.

A numeric argument ARG prevents display of a message in case
there is no help.  While ARG can be used interactively, it is
mainly meant for use from Lisp.

(fn &optional ARG)Fhelp-at-pt-cancel-timer
Cancel any timer set by `help-at-pt-set-timer'.
This disables `help-at-pt-display-when-idle'.

(fn)Fhelp-at-pt-set-timer
Enable `help-at-pt-display-when-idle'.
This is done by setting a timer, if none is currently active.

(fn)Vhelp-at-pt-display-when-idle
Automatically show local help on point-over.
If the value is t, the string obtained from any `kbd-help' or
`help-echo' property at point is automatically printed in the
echo area, if nothing else is already displayed there, or after a
quit.  If both `kbd-help' and `help-echo' produce help strings,
`kbd-help' is used.  If the value is a list, the help only gets
printed if there is a text or overlay property at point that is
included in this list.  Suggested properties are `keymap',
`local-map', `button' and `kbd-help'.  Any value other than t or
a non-empty list disables the feature.

This variable only takes effect after a call to
`help-at-pt-set-timer'.  The help gets printed after Emacs has
been idle for `help-at-pt-timer-delay' seconds.  You can call
`help-at-pt-cancel-timer' to cancel the timer set by, and the
effect of, `help-at-pt-set-timer'.

When this variable is set through Custom, `help-at-pt-set-timer'
is called automatically, unless the value is `never', in which
case `help-at-pt-cancel-timer' is called.  Specifying an empty
list of properties through Custom will set the timer, thus
enabling buffer local values.  It sets the actual value to nil.
Thus, Custom distinguishes between a nil value and other values
that disable the feature, which Custom identifies with `never'.
The default is `never'.Fscan-buf-move-to-region
Go to the start of the next region with non-nil PROP property.
Then run HOOK, which should be a quoted symbol that is a normal
hook variable, or an expression evaluating to such a symbol.
Adjacent areas with different non-nil PROP properties are
considered different regions.

With numeric argument ARG, move to the start of the ARGth next
such region, then run HOOK.  If ARG is negative, move backward.
If point is already in a region, then that region does not count
toward ARG.  If ARG is 0 and point is inside a region, move to
the start of that region.  If ARG is 0 and point is not in a
region, print a message to that effect, but do not move point and
do not run HOOK.  If there are not enough regions to move over,
an error results and the number of available regions is mentioned
in the error message.  Point is not moved and HOOK is not run.

(fn PROP &optional ARG HOOK)Fscan-buf-next-region
Go to the start of the next region with non-nil help-echo.
Print the help found there using `display-local-help'.  Adjacent
areas with different non-nil help-echo properties are considered
different regions.

With numeric argument ARG, move to the start of the ARGth next
help-echo region.  If ARG is negative, move backward.  If point
is already in a help-echo region, then that region does not count
toward ARG.  If ARG is 0 and point is inside a help-echo region,
move to the start of that region.  If ARG is 0 and point is not
in such a region, just print a message to that effect.  If there
are not enough regions to move over, an error results and the
number of available regions is mentioned in the error message.

A potentially confusing subtlety is that point can be in a
help-echo region without any local help being available.  This is
because `help-echo' can be a function evaluating to nil.  This
rarely happens in practice.

(fn &optional ARG)Fscan-buf-previous-region
Go to the start of the previous region with non-nil help-echo.
Print the help found there using `display-local-help'.  Adjacent
areas with different non-nil help-echo properties are considered
different regions.  With numeric argument ARG, behaves like
`scan-buf-next-region' with argument -ARG.

(fn &optional ARG)Fdescribe-function
Display the full documentation of FUNCTION (a symbol).

(fn FUNCTION)Fhelp-C-file-name
Return the name of the C file where SUBR-OR-VAR is defined.
KIND should be `var' for a variable or `subr' for a subroutine.

(fn SUBR-OR-VAR KIND)Ffind-lisp-object-file-name
Guess the file that defined the Lisp object OBJECT, of type TYPE.
OBJECT should be a symbol associated with a function, variable, or face;
  alternatively, it can be a function definition.
If TYPE is `defvar', search for a variable definition.
If TYPE is `defface', search for a face definition.
If TYPE is the value returned by `symbol-function' for a function symbol,
 search for a function definition.

The return value is the absolute name of a readable file where OBJECT is
defined.  If several such files exist, preference is given to a file
found via `load-path'.  The return value can also be `C-source', which
means that OBJECT is a function or variable defined in C.  If no
suitable file is found, return nil.

(fn OBJECT TYPE)Fdescribe-function-1


(fn FUNCTION)Fvariable-at-point
Return the bound variable symbol found at or before point.
Return 0 if there is no such symbol.
If ANY-SYMBOL is non-nil, don't insist the symbol be bound.

(fn &optional ANY-SYMBOL)Fdescribe-variable
Display the full documentation of VARIABLE (a symbol).
Returns the documentation as a string, also.
If VARIABLE has a buffer-local value in BUFFER or FRAME
(default to the current buffer and current frame),
it is displayed along with the global value.

(fn VARIABLE &optional BUFFER FRAME)Fdescribe-syntax
Describe the syntax specifications in the syntax table of BUFFER.
The descriptions are inserted in a help buffer, which is then displayed.
BUFFER defaults to the current buffer.

(fn &optional BUFFER)Fdescribe-categories
Describe the category specifications in the current category table.
The descriptions are inserted in a buffer, which is then displayed.
If BUFFER is non-nil, then describe BUFFER's category table instead.
BUFFER should be a buffer or a buffer name.

(fn &optional BUFFER)Fdoc-file-to-man
Produce an nroff buffer containing the doc-strings from the DOC file.

(fn FILE)Fdoc-file-to-info
Produce a texinfo buffer with sorted doc-strings from the DOC file.

(fn FILE)Vthree-step-help
Non-nil means give more info about Help command in three steps.
The three steps are simple prompt, prompt with all options, and
window listing and describing the options.
A value of nil means skip the middle step, so that \[help-command] \[help-command]
gives the window that lists the options.Fhelp-mode
Major mode for viewing help text and navigating references in it.
Entry to this mode runs the normal hook `help-mode-hook'.
Commands:
\{help-mode-map}

(fn)Fhelp-mode-setup


(fn)Fhelp-mode-finish


(fn)Fhelp-setup-xref
Invoked from commands using the "*Help*" buffer to install some xref info.

ITEM is a (FUNCTION . ARGS) pair appropriate for recreating the help
buffer after following a reference.  INTERACTIVE-P is non-nil if the
calling command was invoked interactively.  In this case the stack of
items for help buffer "back" buttons is cleared.

This should be called very early, before the output buffer is cleared,
because we want to record the "previous" position of point so we can
restore it properly when going back.

(fn ITEM INTERACTIVE-P)Fhelp-buffer
Return the name of a buffer for inserting help.
If `help-xref-following' is non-nil, this is the name of the
current buffer.  Signal an error if this buffer is not derived
from `help-mode'.
Otherwise, return "*Help*", creating a buffer with that name if
it does not already exist.

(fn)Fhelp-make-xrefs
Parse and hyperlink documentation cross-references in the given BUFFER.

Find cross-reference information in a buffer and activate such cross
references for selection with `help-follow'.  Cross-references have
the canonical form `...'  and the type of reference may be
disambiguated by the preceding word(s) used in
`help-xref-symbol-regexp'.  Faces only get cross-referenced if
preceded or followed by the word `face'.  Variables without
variable documentation do not get cross-referenced, unless
preceded by the word `variable' or `option'.

If the variable `help-xref-mule-regexp' is non-nil, find also
cross-reference information related to multilingual environment
(e.g., coding-systems).  This variable is also used to disambiguate
the type of reference as the same way as `help-xref-symbol-regexp'.

A special reference `back' is made to return back through a stack of
help buffers.  Variable `help-back-label' specifies the text for
that.

(fn &optional BUFFER)Fhelp-xref-button
Make a hyperlink for cross-reference text previously matched.
MATCH-NUMBER is the subexpression of interest in the last matched
regexp.  TYPE is the type of button to use.  Any remaining arguments are
passed to the button's help-function when it is invoked.
See `help-make-xrefs'.

(fn MATCH-NUMBER TYPE &rest ARGS)Fhelp-insert-xref-button
Insert STRING and make a hyperlink from cross-reference text on it.
TYPE is the type of button to use.  Any remaining arguments are passed
to the button's help-function when it is invoked.
See `help-make-xrefs'.

(fn STRING TYPE &rest ARGS)Fhelp-xref-on-pp
Add xrefs for symbols in `pp's output between FROM and TO.

(fn FROM TO)Fhelp-bookmark-jump
Jump to help-mode bookmark BOOKMARK.
Handler function for record returned by `help-bookmark-make-record'.
BOOKMARK is a bookmark name or a bookmark record.

(fn BOOKMARK)FHelper-describe-bindings
Describe local key bindings of current mode.

(fn)FHelper-help
Provide help for current mode.

(fn)Fhexl-mode
\<hexl-mode-map>A mode for editing binary files in hex dump format.
This is not an ordinary major mode; it alters some aspects
of the current mode's behavior, but not all; also, you can exit
Hexl mode and return to the previous mode using `hexl-mode-exit'.

This function automatically converts a buffer into the hexl format
using the function `hexlify-buffer'.

Each line in the buffer has an "address" (displayed in hexadecimal)
representing the offset into the file that the characters on this line
are at and 16 characters from the file (displayed as hexadecimal
values grouped every `hexl-bits' bits) and as their ASCII values.

If any of the characters (displayed as ASCII characters) are
unprintable (control or meta characters) they will be replaced as
periods.

If `hexl-mode' is invoked with an argument the buffer is assumed to be
in hexl format.

A sample format:

  HEX ADDR: 0001 0203 0405 0607 0809 0a0b 0c0d 0e0f     ASCII-TEXT
  --------  ---- ---- ---- ---- ---- ---- ---- ----  ----------------
  00000000: 5468 6973 2069 7320 6865 786c 2d6d 6f64  This is hexl-mod
  00000010: 652e 2020 4561 6368 206c 696e 6520 7265  e.  Each line re
  00000020: 7072 6573 656e 7473 2031 3620 6279 7465  presents 16 byte
  00000030: 7320 6173 2068 6578 6164 6563 696d 616c  s as hexadecimal
  00000040: 2041 5343 4949 0a61 6e64 2070 7269 6e74   ASCII.and print
  00000050: 6162 6c65 2041 5343 4949 2063 6861 7261  able ASCII chara
  00000060: 6374 6572 732e 2020 416e 7920 636f 6e74  cters.  Any cont
  00000070: 726f 6c20 6f72 206e 6f6e 2d41 5343 4949  rol or non-ASCII
  00000080: 2063 6861 7261 6374 6572 730a 6172 6520   characters.are
  00000090: 6469 7370 6c61 7965 6420 6173 2070 6572  displayed as per
  000000a0: 696f 6473 2069 6e20 7468 6520 7072 696e  iods in the prin
  000000b0: 7461 626c 6520 6368 6172 6163 7465 7220  table character
  000000c0: 7265 6769 6f6e 2e0a                      region..

Movement is as simple as movement in a normal Emacs text buffer.  Most
cursor movement bindings are the same: use \[hexl-backward-char], \[hexl-forward-char], \[hexl-next-line], and \[hexl-previous-line]
to move the cursor left, right, down, and up.

Advanced cursor movement commands (ala \[hexl-beginning-of-line], \[hexl-end-of-line], \[hexl-beginning-of-buffer], and \[hexl-end-of-buffer]) are
also supported.

There are several ways to change text in hexl mode:

ASCII characters (character between space (0x20) and tilde (0x7E)) are
bound to self-insert so you can simply type the character and it will
insert itself (actually overstrike) into the buffer.

\[hexl-quoted-insert] followed by another keystroke allows you to insert the key even if
it isn't bound to self-insert.  An octal number can be supplied in place
of another key to insert the octal number's ASCII representation.

\[hexl-insert-hex-char] will insert a given hexadecimal value (if it is between 0 and 0xFF)
into the buffer at the current point.

\[hexl-insert-octal-char] will insert a given octal value (if it is between 0 and 0377)
into the buffer at the current point.

\[hexl-insert-decimal-char] will insert a given decimal value (if it is between 0 and 255)
into the buffer at the current point.

\[hexl-mode-exit] will exit hexl-mode.

Note: saving the file with any of the usual Emacs commands
will actually convert it back to binary format while saving.

You can use \[hexl-find-file] to visit a file in Hexl mode.

\[describe-bindings] for advanced commands.

(fn &optional ARG)Fhexl-find-file
Edit file FILENAME as a binary file in hex dump format.
Switch to a buffer visiting file FILENAME, creating one if none exists,
and edit the file in `hexl-mode'.

(fn FILENAME)Fhexlify-buffer
Convert a binary buffer to hexl format.
This discards the buffer's undo information.

(fn)Fhi-lock-mode
Toggle selective highlighting of patterns (Hi Lock mode).
With a prefix argument ARG, enable Hi Lock mode if ARG is
positive, and disable it otherwise.  If called from Lisp, enable
the mode if ARG is omitted or nil.

Hi Lock mode is automatically enabled when you invoke any of the
highlighting commands listed below, such as \[highlight-regexp].
To enable Hi Lock mode in all buffers, use `global-hi-lock-mode'
or add (global-hi-lock-mode 1) to your init file.

In buffers where Font Lock mode is enabled, patterns are
highlighted using font lock.  In buffers where Font Lock mode is
disabled, patterns are applied using overlays; in this case, the
highlighting will not be updated as you type.

When Hi Lock mode is enabled, a "Regexp Highlighting" submenu
is added to the "Edit" menu.  The commands in the submenu,
which can be called interactively, are:

\[highlight-regexp] REGEXP FACE
  Highlight matches of pattern REGEXP in current buffer with FACE.

\[highlight-phrase] PHRASE FACE
  Highlight matches of phrase PHRASE in current buffer with FACE.
  (PHRASE can be any REGEXP, but spaces will be replaced by matches
  to whitespace and initial lower-case letters will become case insensitive.)

\[highlight-lines-matching-regexp] REGEXP FACE
  Highlight lines containing matches of REGEXP in current buffer with FACE.

\[unhighlight-regexp] REGEXP
  Remove highlighting on matches of REGEXP in current buffer.

\[hi-lock-write-interactive-patterns]
  Write active REGEXPs into buffer as comments (if possible).  They may
  be read the next time file is loaded or when the \[hi-lock-find-patterns] command
  is issued.  The inserted regexps are in the form of font lock keywords.
  (See `font-lock-keywords'.)  They may be edited and re-loaded with \[hi-lock-find-patterns],
  any valid `font-lock-keywords' form is acceptable.  When a file is
  loaded the patterns are read if `hi-lock-file-patterns-policy' is
  'ask and the user responds y to the prompt, or if
  `hi-lock-file-patterns-policy' is bound to a function and that
  function returns t.

\[hi-lock-find-patterns]
  Re-read patterns stored in buffer (in the format produced by \[hi-lock-write-interactive-patterns]).

When hi-lock is started and if the mode is not excluded or patterns
rejected, the beginning of the buffer is searched for lines of the
form:
  Hi-lock: FOO

where FOO is a list of patterns.  The patterns must start before
position (number of characters into buffer)
`hi-lock-file-patterns-range'.  Patterns will be read until
Hi-lock: end is found.  A mode is excluded if it's in the list
`hi-lock-exclude-modes'.

(fn &optional ARG)Vglobal-hi-lock-mode
Non-nil if Global-Hi-Lock mode is enabled.
See the command `global-hi-lock-mode' for a description of this minor mode.
Setting this variable directly does not take effect;
either customize it (see the info node `Easy Customization')
or call the function `global-hi-lock-mode'.Fglobal-hi-lock-mode
Toggle Hi-Lock mode in all buffers.
With prefix ARG, enable Global-Hi-Lock mode if ARG is positive;
otherwise, disable it.  If called from Lisp, enable the mode if
ARG is omitted or nil.

Hi-Lock mode is enabled in all buffers where
`turn-on-hi-lock-if-enabled' would do it.
See `hi-lock-mode' for more information on Hi-Lock mode.

(fn &optional ARG)Fhi-lock-line-face-buffer
Set face of all lines containing a match of REGEXP to FACE.
Interactively, prompt for REGEXP then FACE, using a buffer-local
history list for REGEXP and a global history list for FACE.

If Font Lock mode is enabled in the buffer, it is used to
highlight REGEXP.  If Font Lock mode is disabled, overlays are
used for highlighting; in this case, the highlighting will not be
updated as you type.

(fn REGEXP &optional FACE)Fhi-lock-face-buffer
Set face of each match of REGEXP to FACE.
Interactively, prompt for REGEXP then FACE, using a buffer-local
history list for REGEXP and a global history list for FACE.

If Font Lock mode is enabled in the buffer, it is used to
highlight REGEXP.  If Font Lock mode is disabled, overlays are
used for highlighting; in this case, the highlighting will not be
updated as you type.

(fn REGEXP &optional FACE)Fhi-lock-face-phrase-buffer
Set face of each match of phrase REGEXP to FACE.
If called interactively, replaces whitespace in REGEXP with
arbitrary whitespace and makes initial lower-case letters case-insensitive.

If Font Lock mode is enabled in the buffer, it is used to
highlight REGEXP.  If Font Lock mode is disabled, overlays are
used for highlighting; in this case, the highlighting will not be
updated as you type.

(fn REGEXP &optional FACE)Fhi-lock-unface-buffer
Remove highlighting of each match to REGEXP set by hi-lock.
Interactively, prompt for REGEXP, accepting only regexps
previously inserted by hi-lock interactive functions.

(fn REGEXP)Fhi-lock-write-interactive-patterns
Write interactively added patterns, if any, into buffer at point.

Interactively added patterns are those normally specified using
`highlight-regexp' and `highlight-lines-matching-regexp'; they can
be found in variable `hi-lock-interactive-patterns'.

(fn)Fhide-ifdef-mode
Toggle features to hide/show #ifdef blocks (Hide-Ifdef mode).
With a prefix argument ARG, enable Hide-Ifdef mode if ARG is
positive, and disable it otherwise.  If called from Lisp, enable
the mode if ARG is omitted or nil.

Hide-Ifdef mode is a buffer-local minor mode for use with C and
C-like major modes.  When enabled, code within #ifdef constructs
that the C preprocessor would eliminate may be hidden from view.
Several variables affect how the hiding is done:

`hide-ifdef-env'
	An association list of defined and undefined symbols for the
	current buffer.  Initially, the global value of `hide-ifdef-env'
	is used.

`hide-ifdef-define-alist'
	An association list of defined symbol lists.
        Use `hide-ifdef-set-define-alist' to save the current `hide-ifdef-env'
        and `hide-ifdef-use-define-alist' to set the current `hide-ifdef-env'
        from one of the lists in `hide-ifdef-define-alist'.

`hide-ifdef-lines'
	Set to non-nil to not show #if, #ifdef, #ifndef, #else, and
	#endif lines when hiding.

`hide-ifdef-initially'
	Indicates whether `hide-ifdefs' should be called when Hide-Ifdef mode
	is activated.

`hide-ifdef-read-only'
	Set to non-nil if you want to make buffers read only while hiding.
	After `show-ifdefs', read-only status is restored to previous value.

\{hide-ifdef-mode-map}

(fn &optional ARG)Vhs-special-modes-alist
Alist for initializing the hideshow variables for different modes.
Each element has the form
  (MODE START END COMMENT-START FORWARD-SEXP-FUNC ADJUST-BEG-FUNC).

If non-nil, hideshow will use these values as regexps to define blocks
and comments, respectively for major mode MODE.

START, END and COMMENT-START are regular expressions.  A block is
defined as text surrounded by START and END.

As a special case, START may be a list of the form (COMPLEX-START
MDATA-SELECTOR), where COMPLEX-START is a regexp w/ multiple parts and
MDATA-SELECTOR an integer that specifies which sub-match is the proper
place to adjust point, before calling `hs-forward-sexp-func'.  Point
is adjusted to the beginning of the specified match.  For example,
see the `hs-special-modes-alist' entry for `bibtex-mode'.

For some major modes, `forward-sexp' does not work properly.  In those
cases, FORWARD-SEXP-FUNC specifies another function to use instead.

See the documentation for `hs-adjust-block-beginning' to see what is the
use of ADJUST-BEG-FUNC.

If any of the elements is left nil or omitted, hideshow tries to guess
appropriate values.  The regexps should not contain leading or trailing
whitespace.  Case does not matter.Fhs-minor-mode
Minor mode to selectively hide/show code and comment blocks.
With a prefix argument ARG, enable the mode if ARG is positive,
and disable it otherwise.  If called from Lisp, enable the mode
if ARG is omitted or nil.

When hideshow minor mode is on, the menu bar is augmented with hideshow
commands and the hideshow commands are enabled.
The value '(hs . t) is added to `buffer-invisibility-spec'.

The main commands are: `hs-hide-all', `hs-show-all', `hs-hide-block',
`hs-show-block', `hs-hide-level' and `hs-toggle-hiding'.  There is also
`hs-hide-initial-comment-block' and `hs-mouse-toggle-hiding'.

Turning hideshow minor mode off reverts the menu bar and the
variables to default values and disables the hideshow commands.

Lastly, the normal hook `hs-minor-mode-hook' is run using `run-hooks'.

Key bindings:
\{hs-minor-mode-map}

(fn &optional ARG)Fturn-off-hideshow
Unconditionally turn off `hs-minor-mode'.

(fn)Fhighlight-changes-mode
Toggle highlighting changes in this buffer (Highlight Changes mode).
With a prefix argument ARG, enable Highlight Changes mode if ARG
is positive, and disable it otherwise.  If called from Lisp,
enable the mode if ARG is omitted or nil.

When Highlight Changes is enabled, changes are marked with a text
property.  Normally they are displayed in a distinctive face, but
command \[highlight-changes-visible-mode] can be used to toggles
this on and off.

Other functions for buffers in this mode include:
\[highlight-changes-next-change] - move point to beginning of next change
\[highlight-changes-previous-change] - move to beginning of previous change
\[highlight-changes-remove-highlight] - remove the change face from the region
\[highlight-changes-rotate-faces] - rotate different "ages" of changes
through	various faces.
\[highlight-compare-with-file] - mark text as changed by comparing this
buffer with the contents of a file
\[highlight-compare-buffers] highlights differences between two buffers.

(fn &optional ARG)Fhighlight-changes-visible-mode
Toggle visibility of highlighting due to Highlight Changes mode.
With a prefix argument ARG, enable Highlight Changes Visible mode
if ARG is positive, and disable it otherwise.  If called from
Lisp, enable the mode if ARG is omitted or nil.

Highlight Changes Visible mode only has an effect when Highlight
Changes mode is on.  When enabled, the changed text is displayed
in a distinctive face.

The default value can be customized with variable
`highlight-changes-visibility-initial-state'.

This command does not itself set highlight-changes mode.

(fn &optional ARG)Fhighlight-changes-remove-highlight
Remove the change face from the region between BEG and END.
This allows you to manually remove highlighting from uninteresting changes.

(fn BEG END)Fhighlight-changes-next-change
Move to the beginning of the next change, if in Highlight Changes mode.

(fn)Fhighlight-changes-previous-change
Move to the beginning of the previous change, if in Highlight Changes mode.

(fn)Fhighlight-changes-rotate-faces
Rotate the faces if in Highlight Changes mode and the changes are visible.

Current changes are displayed in the face described by the first element
of `highlight-changes-face-list', one level older changes are shown in
face described by the second element, and so on.  Very old changes remain
shown in the last face in the list.

You can automatically rotate colors when the buffer is saved by adding
this function to `write-file-functions' as a buffer-local value.  To do
this, eval the following in the buffer to be saved:

  (add-hook 'write-file-functions 'highlight-changes-rotate-faces nil t)

(fn)Fhighlight-compare-buffers
Compare two buffers and highlight the differences.

The default is the current buffer and the one in the next window.

If either buffer is modified and is visiting a file, you are prompted
to save the file.

Unless the buffer is unmodified and visiting a file, the buffer is
written to a temporary file for comparison.

If a buffer is read-only, differences will be highlighted but no property
changes are made, so \[highlight-changes-next-change] and
\[highlight-changes-previous-change] will not work.

(fn BUF-A BUF-B)Fhighlight-compare-with-file
Compare this buffer with a file, and highlight differences.

If the buffer has a backup filename, it is used as the default when
this function is called interactively.

If the current buffer is visiting the file being compared against, it
also will have its differences highlighted.  Otherwise, the file is
read in temporarily but the buffer is deleted.

If the buffer is read-only, differences will be highlighted but no property
changes are made, so \[highlight-changes-next-change] and
\[highlight-changes-previous-change] will not work.

(fn FILE-B)Vglobal-highlight-changes-mode
Non-nil if Global-Highlight-Changes mode is enabled.
See the command `global-highlight-changes-mode' for a description of this minor mode.
Setting this variable directly does not take effect;
either customize it (see the info node `Easy Customization')
or call the function `global-highlight-changes-mode'.Fglobal-highlight-changes-mode
Toggle Highlight-Changes mode in all buffers.
With prefix ARG, enable Global-Highlight-Changes mode if ARG is positive;
otherwise, disable it.  If called from Lisp, enable the mode if
ARG is omitted or nil.

Highlight-Changes mode is enabled in all buffers where
`highlight-changes-mode-turn-on' would do it.
See `highlight-changes-mode' for more information on Highlight-Changes mode.

(fn &optional ARG)Vhippie-expand-try-functions-list
The list of expansion functions tried in order by `hippie-expand'.
To change the behavior of `hippie-expand', remove, change the order of,
or insert functions in this list.Fhippie-expand
Try to expand text before point, using multiple methods.
The expansion functions in `hippie-expand-try-functions-list' are
tried in order, until a possible expansion is found.  Repeated
application of `hippie-expand' inserts successively possible
expansions.
With a positive numeric argument, jumps directly to the ARG next
function in this list.  With a negative argument or just \[universal-argument],
undoes the expansion.

(fn ARG)Fmake-hippie-expand-function
Construct a function similar to `hippie-expand'.
Make it use the expansion functions in TRY-LIST.  An optional second
argument VERBOSE non-nil makes the function verbose.

(fn TRY-LIST &optional VERBOSE)Fhl-line-mode
Toggle highlighting of the current line (Hl-Line mode).
With a prefix argument ARG, enable Hl-Line mode if ARG is
positive, and disable it otherwise.  If called from Lisp, enable
the mode if ARG is omitted or nil.

Hl-Line mode is a buffer-local minor mode.  If
`hl-line-sticky-flag' is non-nil, Hl-Line mode highlights the
line about the buffer's point in all windows.  Caveat: the
buffer's point might be different from the point of a
non-selected window.  Hl-Line mode uses the function
`hl-line-highlight' on `post-command-hook' in this case.

When `hl-line-sticky-flag' is nil, Hl-Line mode highlights the
line about point in the selected window only.  In this case, it
uses the function `hl-line-unhighlight' on `pre-command-hook' in
addition to `hl-line-highlight' on `post-command-hook'.

(fn &optional ARG)Vglobal-hl-line-mode
Non-nil if Global-Hl-Line mode is enabled.
See the command `global-hl-line-mode' for a description of this minor mode.
Setting this variable directly does not take effect;
either customize it (see the info node `Easy Customization')
or call the function `global-hl-line-mode'.Fglobal-hl-line-mode
Toggle line highlighting in all buffers (Global Hl-Line mode).
With a prefix argument ARG, enable Global Hl-Line mode if ARG is
positive, and disable it otherwise.  If called from Lisp, enable
the mode if ARG is omitted or nil.

If `global-hl-line-sticky-flag' is non-nil, Global Hl-Line mode
highlights the line about the current buffer's point in all
windows.

Global-Hl-Line mode uses the functions `global-hl-line-unhighlight' and
`global-hl-line-highlight' on `pre-command-hook' and `post-command-hook'.

(fn &optional ARG)Vholiday-general-holidays
General holidays.  Default value is for the United States.
See the documentation for `calendar-holidays' for details.Vholiday-oriental-holidays
Oriental holidays.
See the documentation for `calendar-holidays' for details.Vholiday-local-holidays
Local holidays.
See the documentation for `calendar-holidays' for details.Vholiday-other-holidays
User defined holidays.
See the documentation for `calendar-holidays' for details.Vhebrew-holidays-1
Component of the old default value of `holiday-hebrew-holidays'.Vhebrew-holidays-2
Component of the old default value of `holiday-hebrew-holidays'.Vhebrew-holidays-3
Component of the old default value of `holiday-hebrew-holidays'.Vhebrew-holidays-4
Component of the old default value of `holiday-hebrew-holidays'.Vholiday-hebrew-holidays
Jewish holidays.
See the documentation for `calendar-holidays' for details.Vholiday-christian-holidays
Christian holidays.
See the documentation for `calendar-holidays' for details.Vholiday-islamic-holidays
Islamic holidays.
See the documentation for `calendar-holidays' for details.Vholiday-bahai-holidays
Bahá'í holidays.
See the documentation for `calendar-holidays' for details.Vholiday-solar-holidays
Sun-related holidays.
See the documentation for `calendar-holidays' for details.Fholidays
Display the holidays for last month, this month, and next month.
If called with an optional prefix argument ARG, prompts for month and year.
This function is suitable for execution in a init file.

(fn &optional ARG)Flist-holidays
Display holidays for years Y1 to Y2 (inclusive).
Y2 defaults to Y1.  The optional list of holidays L defaults to
`calendar-holidays'.  If you want to control what holidays are
displayed, use a different list.  For example,

  (list-holidays 2006 2006
    (append holiday-general-holidays holiday-local-holidays))

will display holidays for the year 2006 defined in the two
mentioned lists, and nothing else.

When called interactively, this command offers a choice of
holidays, based on the variables `holiday-solar-holidays' etc.  See the
documentation of `calendar-holidays' for a list of the variables
that control the choices, as well as a description of the format
of a holiday list.

The optional LABEL is used to label the buffer created.

(fn Y1 &optional Y2 L LABEL)Fhtml2text
Convert HTML to plain text in the current buffer.

(fn)Fhtmlfontify-buffer
Create a new buffer, named for the current buffer + a .html extension,
containing an inline CSS-stylesheet and formatted CSS-markup HTML
that reproduces the look of the current Emacs buffer as closely
as possible.

Dangerous characters in the existing buffer are turned into HTML
entities, so you should even be able to do HTML-within-HTML
fontified display.

You should, however, note that random control or eight-bit
characters such as ^L () or ¤ (244) won't get mapped yet.

If the SRCDIR and FILE arguments are set, lookup etags derived
entries in the `hfy-tags-cache' and add HTML anchors and
hyperlinks as appropriate.

(fn &optional SRCDIR FILE)Fhtmlfontify-copy-and-link-dir
Trawl SRCDIR and write fontified-and-hyperlinked output in DSTDIR.
F-EXT and L-EXT specify values for `hfy-extn' and `hfy-link-extn'.

You may also want to set `hfy-page-header' and `hfy-page-footer'.

(fn SRCDIR DSTDIR &optional F-EXT L-EXT)Fdefine-ibuffer-column
Define a column SYMBOL for use with `ibuffer-formats'.

BODY will be called with `buffer' bound to the buffer object, and
`mark' bound to the current mark on the buffer.  The original ibuffer
buffer will be bound to `ibuffer-buf'.

If NAME is given, it will be used as a title for the column.
Otherwise, the title will default to a capitalized version of the
SYMBOL's name.  PROPS is a plist of additional properties to add to
the text, such as `mouse-face'.  And SUMMARIZER, if given, is a
function which will be passed a list of all the strings in its column;
it should return a string to display at the bottom.

If HEADER-MOUSE-MAP is given, it will be used as a keymap for the
title of the column.

Note that this macro expands into a `defun' for a function named
ibuffer-make-column-NAME.  If INLINE is non-nil, then the form will be
inlined into the compiled format versions.  This means that if you
change its definition, you should explicitly call
`ibuffer-recompile-formats'.

(fn SYMBOL (&key NAME INLINE PROPS SUMMARIZER) &rest BODY)Fdefine-ibuffer-sorter
Define a method of sorting named NAME.
DOCUMENTATION is the documentation of the function, which will be called
`ibuffer-do-sort-by-NAME'.
DESCRIPTION is a short string describing the sorting method.

For sorting, the forms in BODY will be evaluated with `a' bound to one
buffer object, and `b' bound to another.  BODY should return a non-nil
value if and only if `a' is "less than" `b'.

(fn NAME DOCUMENTATION (&key DESCRIPTION) &rest BODY)Fdefine-ibuffer-op
Generate a function which operates on a buffer.
OP becomes the name of the function; if it doesn't begin with
`ibuffer-do-', then that is prepended to it.
When an operation is performed, this function will be called once for
each marked buffer, with that buffer current.

ARGS becomes the formal parameters of the function.
DOCUMENTATION becomes the docstring of the function.
INTERACTIVE becomes the interactive specification of the function.
MARK describes which type of mark (:deletion, or nil) this operation
uses.  :deletion means the function operates on buffers marked for
deletion, otherwise it acts on normally marked buffers.
MODIFIER-P describes how the function modifies buffers.  This is used
to set the modification flag of the Ibuffer buffer itself.  Valid
values are:
 nil - the function never modifiers buffers
 t - the function it always modifies buffers
 :maybe - attempt to discover this information by comparing the
  buffer's modification flag.
DANGEROUS is a boolean which should be set if the user should be
prompted before performing this operation.
OPSTRING is a string which will be displayed to the user after the
operation is complete, in the form:
 "Operation complete; OPSTRING x buffers"
ACTIVE-OPSTRING is a string which will be displayed to the user in a
confirmation message, in the form:
 "Really ACTIVE-OPSTRING x buffers?"
COMPLEX means this function is special; see the source code of this
macro for exactly what it does.

(fn OP ARGS DOCUMENTATION (&key INTERACTIVE MARK MODIFIER-P DANGEROUS OPSTRING ACTIVE-OPSTRING COMPLEX) &rest BODY)Fdefine-ibuffer-filter
Define a filter named NAME.
DOCUMENTATION is the documentation of the function.
READER is a form which should read a qualifier from the user.
DESCRIPTION is a short string describing the filter.

BODY should contain forms which will be evaluated to test whether or
not a particular buffer should be displayed or not.  The forms in BODY
will be evaluated with BUF bound to the buffer object, and QUALIFIER
bound to the current value of the filter.

(fn NAME DOCUMENTATION (&key READER DESCRIPTION) &rest BODY)Fibuffer-list-buffers
Display a list of buffers, in another window.
If optional argument FILES-ONLY is non-nil, then add a filter for
buffers which are visiting a file.

(fn &optional FILES-ONLY)Fibuffer-other-window
Like `ibuffer', but displayed in another window by default.
If optional argument FILES-ONLY is non-nil, then add a filter for
buffers which are visiting a file.

(fn &optional FILES-ONLY)Fibuffer
Begin using Ibuffer to edit a list of buffers.
Type 'h' after entering ibuffer for more information.

All arguments are optional.
OTHER-WINDOW-P says to use another window.
NAME specifies the name of the buffer (defaults to "*Ibuffer*").
QUALIFIERS is an initial set of filtering qualifiers to use;
  see `ibuffer-filtering-qualifiers'.
NOSELECT means don't select the Ibuffer buffer.
SHRINK means shrink the buffer to minimal size.  The special
  value `onewindow' means always use another window.
FILTER-GROUPS is an initial set of filtering groups to use;
  see `ibuffer-filter-groups'.
FORMATS is the value to use for `ibuffer-formats'.
  If specified, then the variable `ibuffer-formats' will have
  that value locally in this buffer.

(fn &optional OTHER-WINDOW-P NAME QUALIFIERS NOSELECT SHRINK FILTER-GROUPS FORMATS)Ficalendar-export-file
Export diary file to iCalendar format.
All diary entries in the file DIARY-FILENAME are converted to iCalendar
format.  The result is appended to the file ICAL-FILENAME.

(fn DIARY-FILENAME ICAL-FILENAME)Ficalendar-export-region
Export region in diary file to iCalendar format.
All diary entries in the region from MIN to MAX in the current buffer are
converted to iCalendar format.  The result is appended to the file
ICAL-FILENAME.
This function attempts to return t if something goes wrong.  In this
case an error string which describes all the errors and problems is
written into the buffer `*icalendar-errors*'.

(fn MIN MAX ICAL-FILENAME)Ficalendar-import-file
Import an iCalendar file and append to a diary file.
Argument ICAL-FILENAME output iCalendar file.
Argument DIARY-FILENAME input `diary-file'.
Optional argument NON-MARKING determines whether events are created as
non-marking or not.

(fn ICAL-FILENAME DIARY-FILENAME &optional NON-MARKING)Ficalendar-import-buffer
Extract iCalendar events from current buffer.

This function searches the current buffer for the first iCalendar
object, reads it and adds all VEVENT elements to the diary
DIARY-FILE.

It will ask for each appointment whether to add it to the diary
unless DO-NOT-ASK is non-nil.  When called interactively,
DO-NOT-ASK is nil, so that you are asked for each event.

NON-MARKING determines whether diary events are created as
non-marking.

Return code t means that importing worked well, return code nil
means that an error has occurred.  Error messages will be in the
buffer `*icalendar-errors*'.

(fn &optional DIARY-FILE DO-NOT-ASK NON-MARKING)Vicomplete-mode
Non-nil if Icomplete mode is enabled.
See the command `icomplete-mode' for a description of this minor mode.
Setting this variable directly does not take effect;
either customize it (see the info node `Easy Customization')
or call the function `icomplete-mode'.Ficomplete-mode
Toggle incremental minibuffer completion (Icomplete mode).
With a prefix argument ARG, enable Icomplete mode if ARG is
positive, and disable it otherwise.  If called from Lisp, enable
the mode if ARG is omitted or nil.

(fn &optional ARG)Ficon-mode
Major mode for editing Icon code.
Expression and list commands understand all Icon brackets.
Tab indents for Icon code.
Paragraphs are separated by blank lines only.
Delete converts tabs to spaces as it moves back.
\{icon-mode-map}
Variables controlling indentation style:
 icon-tab-always-indent
    Non-nil means TAB in Icon mode should always reindent the current line,
    regardless of where in the line point is when the TAB command is used.
 icon-auto-newline
    Non-nil means automatically newline before and after braces
    inserted in Icon code.
 icon-indent-level
    Indentation of Icon statements within surrounding block.
    The surrounding block's indentation is the indentation
    of the line on which the open-brace appears.
 icon-continued-statement-offset
    Extra indentation given to a substatement, such as the
    then-clause of an if or body of a while.
 icon-continued-brace-offset
    Extra indentation given to a brace that starts a substatement.
    This is in addition to `icon-continued-statement-offset'.
 icon-brace-offset
    Extra indentation for line if it starts with an open brace.
 icon-brace-imaginary-offset
    An open brace following other text is treated as if it were
    this far to the right of the start of its line.

Turning on Icon mode calls the value of the variable `icon-mode-hook'
with no args, if that value is non-nil.

(fn)Fidlwave-shell
Run an inferior IDL, with I/O through buffer `(idlwave-shell-buffer)'.
If buffer exists but shell process is not running, start new IDL.
If buffer exists and shell process is running, just switch to the buffer.

When called with a prefix ARG, or when `idlwave-shell-use-dedicated-frame'
is non-nil, the shell buffer and the source buffers will be in
separate frames.

The command to run comes from variable `idlwave-shell-explicit-file-name',
with options taken from `idlwave-shell-command-line-options'.

The buffer is put in `idlwave-shell-mode', providing commands for sending
input and controlling the IDL job.  See help on `idlwave-shell-mode'.
See also the variable `idlwave-shell-prompt-pattern'.

(Type \[describe-mode] in the shell buffer for a list of commands.)

(fn &optional ARG QUICK)Fidlwave-mode
Major mode for editing IDL source files (version 6.1_em22).

The main features of this mode are

1. Indentation and Formatting
   --------------------------
   Like other Emacs programming modes, C-j inserts a newline and indents.
   TAB is used for explicit indentation of the current line.

   To start a continuation line, use \[idlwave-split-line].  This
   function can also be used in the middle of a line to split the line
   at that point.  When used inside a long constant string, the string
   is split at that point with the `+' concatenation operator.

   Comments are indented as follows:

   `;;;' Indentation remains unchanged.
   `;;'  Indent like the surrounding code
   `;'   Indent to a minimum column.

   The indentation of comments starting in column 0 is never changed.

   Use \[idlwave-fill-paragraph] to refill a paragraph inside a
   comment.  The indentation of the second line of the paragraph
   relative to the first will be retained.  Use
   \[idlwave-auto-fill-mode] to toggle auto-fill mode for these
   comments.  When the variable `idlwave-fill-comment-line-only' is
   nil, code can also be auto-filled and auto-indented.

   To convert pre-existing IDL code to your formatting style, mark the
   entire buffer with \[mark-whole-buffer] and execute
   \[idlwave-expand-region-abbrevs].  Then mark the entire buffer
   again followed by \[indent-region] (`indent-region').

2. Routine Info
   ------------
   IDLWAVE displays information about the calling sequence and the
   accepted keyword parameters of a procedure or function with
   \[idlwave-routine-info].  \[idlwave-find-module] jumps to the
   source file of a module.  These commands know about system
   routines, all routines in idlwave-mode buffers and (when the
   idlwave-shell is active) about all modules currently compiled under
   this shell.  It also makes use of pre-compiled or custom-scanned
   user and library catalogs many popular libraries ship with by
   default.  Use \[idlwave-update-routine-info] to update this
   information, which is also used for completion (see item 4).

3. Online IDL Help
   ---------------

   \[idlwave-context-help] displays the IDL documentation relevant
   for the system variable, keyword, or routines at point.  A single
   key stroke gets you directly to the right place in the docs.  See
   the manual to configure where and how the HTML help is displayed.

4. Completion
   ----------
   \[idlwave-complete] completes the names of procedures, functions
   class names, keyword parameters, system variables and tags, class
   tags, structure tags, filenames and much more.  It is context
   sensitive and figures out what is expected at point.  Lower case
   strings are completed in lower case, other strings in mixed or
   upper case.

5. Code Templates and Abbreviations
   --------------------------------
   Many Abbreviations are predefined to expand to code fragments and templates.
   The abbreviations start generally with a `\`.  Some examples:

   \pr        PROCEDURE template
   \fu        FUNCTION template
   \c         CASE statement template
   \sw        SWITCH statement template
   \f         FOR loop template
   \r         REPEAT Loop template
   \w         WHILE loop template
   \i         IF statement template
   \elif      IF-ELSE statement template
   \b         BEGIN

   For a full list, use \[idlwave-list-abbrevs].  Some templates also
   have direct keybindings - see the list of keybindings below.

   \[idlwave-doc-header] inserts a documentation header at the
   beginning of the current program unit (pro, function or main).
   Change log entries can be added to the current program unit with
   \[idlwave-doc-modification].

6. Automatic Case Conversion
   -------------------------
   The case of reserved words and some abbrevs is controlled by
   `idlwave-reserved-word-upcase' and `idlwave-abbrev-change-case'.

7. Automatic END completion
   ------------------------
   If the variable `idlwave-expand-generic-end' is non-nil, each END typed
   will be converted to the specific version, like ENDIF, ENDFOR, etc.

8. Hooks
   -----
   Loading idlwave.el runs `idlwave-load-hook'.
   Turning on `idlwave-mode' runs `idlwave-mode-hook'.

9. Documentation and Customization
   -------------------------------
   Info documentation for this package is available.  Use
   \[idlwave-info] to display (complain to your sysadmin if that does
   not work).  For Postscript, PDF, and HTML versions of the
   documentation, check IDLWAVE's homepage at URL `http://idlwave.org'.
   IDLWAVE has customize support - see the group `idlwave'.

10.Keybindings
   -----------
   Here is a list of all keybindings of this mode.
   If some of the key bindings below show with ??, use \[describe-key]
   followed by the key sequence to see what the key sequence does.

\{idlwave-mode-map}

(fn)Vido-mode
Determines for which functional group (buffer and files) ido behavior
should be enabled.  The following values are possible:
- `buffer': Turn only on ido buffer behavior (switching, killing,
  displaying...)
- `file': Turn only on ido file behavior (finding, writing, inserting...)
- `both': Turn on ido buffer and file behavior.
- `nil': Turn off any ido switching.

Setting this variable directly does not take effect;
use either \[customize] or the function `ido-mode'.Fido-mode
Toggle ido mode on or off.
With ARG, turn ido-mode on if arg is positive, off otherwise.
Turning on ido-mode will remap (via a minor-mode keymap) the default
keybindings for the `find-file' and `switch-to-buffer' families of
commands to the ido versions of these functions.
However, if ARG arg equals 'files, remap only commands for files, or
if it equals 'buffers, remap only commands for buffer switching.
This function also adds a hook to the minibuffer.

(fn &optional ARG)Fido-switch-buffer
Switch to another buffer.
The buffer is displayed according to `ido-default-buffer-method' -- the
default is to show it in the same window, unless it is already visible
in another frame.

As you type in a string, all of the buffers matching the string are
displayed if substring-matching is used (default).  Look at
`ido-enable-prefix' and `ido-toggle-prefix'.  When you have found the
buffer you want, it can then be selected.  As you type, most keys have
their normal keybindings, except for the following: \<ido-buffer-completion-map>

RET Select the buffer at the front of the list of matches.  If the
list is empty, possibly prompt to create new buffer.

\[ido-select-text] Use the current input string verbatim.

\[ido-next-match] Put the first element at the end of the list.
\[ido-prev-match] Put the last element at the start of the list.
\[ido-complete] Complete a common suffix to the current string that
matches all buffers.  If there is only one match, select that buffer.
If there is no common suffix, show a list of all matching buffers
in a separate window.
\[ido-edit-input] Edit input string.
\[ido-fallback-command] Fallback to non-ido version of current command.
\[ido-toggle-regexp] Toggle regexp searching.
\[ido-toggle-prefix] Toggle between substring and prefix matching.
\[ido-toggle-case] Toggle case-sensitive searching of buffer names.
\[ido-completion-help] Show list of matching buffers in separate window.
\[ido-enter-find-file] Drop into `ido-find-file'.
\[ido-kill-buffer-at-head] Kill buffer at head of buffer list.
\[ido-toggle-ignore] Toggle ignoring buffers listed in `ido-ignore-buffers'.

(fn)Fido-switch-buffer-other-window
Switch to another buffer and show it in another window.
The buffer name is selected interactively by typing a substring.
For details of keybindings, see `ido-switch-buffer'.

(fn)Fido-display-buffer
Display a buffer in another window but don't select it.
The buffer name is selected interactively by typing a substring.
For details of keybindings, see `ido-switch-buffer'.

(fn)Fido-kill-buffer
Kill a buffer.
The buffer name is selected interactively by typing a substring.
For details of keybindings, see `ido-switch-buffer'.

(fn)Fido-insert-buffer
Insert contents of a buffer in current buffer after point.
The buffer name is selected interactively by typing a substring.
For details of keybindings, see `ido-switch-buffer'.

(fn)Fido-switch-buffer-other-frame
Switch to another buffer and show it in another frame.
The buffer name is selected interactively by typing a substring.
For details of keybindings, see `ido-switch-buffer'.

(fn)Fido-find-file-in-dir
Switch to another file starting from DIR.

(fn DIR)Fido-find-file
Edit file with name obtained via minibuffer.
The file is displayed according to `ido-default-file-method' -- the
default is to show it in the same window, unless it is already
visible in another frame.

The file name is selected interactively by typing a substring.  As you
type in a string, all of the filenames matching the string are displayed
if substring-matching is used (default).  Look at `ido-enable-prefix' and
`ido-toggle-prefix'.  When you have found the filename you want, it can
then be selected.  As you type, most keys have their normal keybindings,
except for the following: \<ido-file-completion-map>

RET Select the file at the front of the list of matches.  If the
list is empty, possibly prompt to create new file.

\[ido-select-text] Use the current input string verbatim.

\[ido-next-match] Put the first element at the end of the list.
\[ido-prev-match] Put the last element at the start of the list.
\[ido-complete] Complete a common suffix to the current string that
matches all files.  If there is only one match, select that file.
If there is no common suffix, show a list of all matching files
in a separate window.
\[ido-magic-delete-char] Open the specified directory in Dired mode.
\[ido-edit-input] Edit input string (including directory).
\[ido-prev-work-directory] or \[ido-next-work-directory] go to previous/next directory in work directory history.
\[ido-merge-work-directories] search for file in the work directory history.
\[ido-forget-work-directory] removes current directory from the work directory history.
\[ido-prev-work-file] or \[ido-next-work-file] cycle through the work file history.
\[ido-wide-find-file-or-pop-dir] and \[ido-wide-find-dir-or-delete-dir] prompts and uses find to locate files or directories.
\[ido-make-directory] prompts for a directory to create in current directory.
\[ido-fallback-command] Fallback to non-ido version of current command.
\[ido-toggle-regexp] Toggle regexp searching.
\[ido-toggle-prefix] Toggle between substring and prefix matching.
\[ido-toggle-case] Toggle case-sensitive searching of file names.
\[ido-toggle-literal] Toggle literal reading of this file.
\[ido-completion-help] Show list of matching files in separate window.
\[ido-toggle-ignore] Toggle ignoring files listed in `ido-ignore-files'.

(fn)Fido-find-file-other-window
Switch to another file and show it in another window.
The file name is selected interactively by typing a substring.
For details of keybindings, see `ido-find-file'.

(fn)Fido-find-alternate-file
Switch to another file and show it in another window.
The file name is selected interactively by typing a substring.
For details of keybindings, see `ido-find-file'.

(fn)Fido-find-file-read-only
Edit file read-only with name obtained via minibuffer.
The file name is selected interactively by typing a substring.
For details of keybindings, see `ido-find-file'.

(fn)Fido-find-file-read-only-other-window
Edit file read-only in other window with name obtained via minibuffer.
The file name is selected interactively by typing a substring.
For details of keybindings, see `ido-find-file'.

(fn)Fido-find-file-read-only-other-frame
Edit file read-only in other frame with name obtained via minibuffer.
The file name is selected interactively by typing a substring.
For details of keybindings, see `ido-find-file'.

(fn)Fido-display-file
Display a file in another window but don't select it.
The file name is selected interactively by typing a substring.
For details of keybindings, see `ido-find-file'.

(fn)Fido-find-file-other-frame
Switch to another file and show it in another frame.
The file name is selected interactively by typing a substring.
For details of keybindings, see `ido-find-file'.

(fn)Fido-write-file
Write current buffer to a file.
The file name is selected interactively by typing a substring.
For details of keybindings, see `ido-find-file'.

(fn)Fido-insert-file
Insert contents of file in current buffer.
The file name is selected interactively by typing a substring.
For details of keybindings, see `ido-find-file'.

(fn)Fido-dired
Call `dired' the ido way.
The directory is selected interactively by typing a substring.
For details of keybindings, see `ido-find-file'.

(fn)Fido-read-buffer
Ido replacement for the built-in `read-buffer'.
Return the name of a buffer selected.
PROMPT is the prompt to give to the user.  DEFAULT if given is the default
buffer to be selected, which will go to the front of the list.
If REQUIRE-MATCH is non-nil, an existing buffer must be selected.

(fn PROMPT &optional DEFAULT REQUIRE-MATCH)Fido-read-file-name
Ido replacement for the built-in `read-file-name'.
Read file name, prompting with PROMPT and completing in directory DIR.
See `read-file-name' for additional parameters.

(fn PROMPT &optional DIR DEFAULT-FILENAME MUSTMATCH INITIAL PREDICATE)Fido-read-directory-name
Ido replacement for the built-in `read-directory-name'.
Read directory name, prompting with PROMPT and completing in directory DIR.
See `read-directory-name' for additional parameters.

(fn PROMPT &optional DIR DEFAULT-DIRNAME MUSTMATCH INITIAL)Fido-completing-read
Ido replacement for the built-in `completing-read'.
Read a string in the minibuffer with ido-style completion.
PROMPT is a string to prompt with; normally it ends in a colon and a space.
CHOICES is a list of strings which are the possible completions.
PREDICATE and INHERIT-INPUT-METHOD is currently ignored; it is included
 to be compatible with `completing-read'.
If REQUIRE-MATCH is non-nil, the user is not allowed to exit unless
 the input is (or completes to) an element of CHOICES or is null.
 If the input is null, `ido-completing-read' returns DEF, or an empty
 string if DEF is nil, regardless of the value of REQUIRE-MATCH.
If INITIAL-INPUT is non-nil, insert it in the minibuffer initially,
 with point positioned at the end.
HIST, if non-nil, specifies a history list.
DEF, if non-nil, is the default value.

(fn PROMPT CHOICES &optional PREDICATE REQUIRE-MATCH INITIAL-INPUT HIST DEF INHERIT-INPUT-METHOD)Fielm
Interactively evaluate Emacs Lisp expressions.
Switches to the buffer `*ielm*', or creates it if it does not exist.

(fn)Fiimage-mode
Toggle Iimage mode on or off.
With a prefix argument ARG, enable Iimage mode if ARG is
positive, and disable it otherwise.  If called from Lisp, enable
the mode if ARG is omitted or nil, and toggle it if ARG is `toggle'.
\{iimage-mode-map}

(fn &optional ARG)Fimage-type-from-data
Determine the image type from image data DATA.
Value is a symbol specifying the image type or nil if type cannot
be determined.

(fn DATA)Fimage-type-from-buffer
Determine the image type from data in the current buffer.
Value is a symbol specifying the image type or nil if type cannot
be determined.

(fn)Fimage-type-from-file-header
Determine the type of image file FILE from its first few bytes.
Value is a symbol specifying the image type, or nil if type cannot
be determined.

(fn FILE)Fimage-type-from-file-name
Determine the type of image file FILE from its name.
Value is a symbol specifying the image type, or nil if type cannot
be determined.

(fn FILE)Fimage-type
Determine and return image type.
SOURCE is an image file name or image data.
Optional TYPE is a symbol describing the image type.  If TYPE is omitted
or nil, try to determine the image type from its first few bytes
of image data.  If that doesn't work, and SOURCE is a file name,
use its file extension as image type.
Optional DATA-P non-nil means SOURCE is a string containing image data.

(fn SOURCE &optional TYPE DATA-P)Fimage-type-available-p
Return non-nil if image type TYPE is available.
Image types are symbols like `xbm' or `jpeg'.

(fn TYPE)Fimage-type-auto-detected-p
Return t if the current buffer contains an auto-detectable image.
This function is intended to be used from `magic-fallback-mode-alist'.

The buffer is considered to contain an auto-detectable image if
its beginning matches an image type in `image-type-header-regexps',
and that image type is present in `image-type-auto-detectable' with a
non-nil value.  If that value is non-nil, but not t, then the image type
must be available.

(fn)Fcreate-image
Create an image.
FILE-OR-DATA is an image file name or image data.
Optional TYPE is a symbol describing the image type.  If TYPE is omitted
or nil, try to determine the image type from its first few bytes
of image data.  If that doesn't work, and FILE-OR-DATA is a file name,
use its file extension as image type.
Optional DATA-P non-nil means FILE-OR-DATA is a string containing image data.
Optional PROPS are additional image attributes to assign to the image,
like, e.g. `:mask MASK'.
Value is the image created, or nil if images of type TYPE are not supported.

Images should not be larger than specified by `max-image-size'.

Image file names that are not absolute are searched for in the
"images" sub-directory of `data-directory' and
`x-bitmap-file-path' (in that order).

(fn FILE-OR-DATA &optional TYPE DATA-P &rest PROPS)Fput-image
Put image IMAGE in front of POS in the current buffer.
IMAGE must be an image created with `create-image' or `defimage'.
IMAGE is displayed by putting an overlay into the current buffer with a
`before-string' STRING that has a `display' property whose value is the
image.  STRING is defaulted if you omit it.
The overlay created will have the `put-image' property set to t.
POS may be an integer or marker.
AREA is where to display the image.  AREA nil or omitted means
display it in the text area, a value of `left-margin' means
display it in the left marginal area, a value of `right-margin'
means display it in the right marginal area.

(fn IMAGE POS &optional STRING AREA)Finsert-image
Insert IMAGE into current buffer at point.
IMAGE is displayed by inserting STRING into the current buffer
with a `display' property whose value is the image.  STRING
defaults to a single space if you omit it.
AREA is where to display the image.  AREA nil or omitted means
display it in the text area, a value of `left-margin' means
display it in the left marginal area, a value of `right-margin'
means display it in the right marginal area.
SLICE specifies slice of IMAGE to insert.  SLICE nil or omitted
means insert whole image.  SLICE is a list (X Y WIDTH HEIGHT)
specifying the X and Y positions and WIDTH and HEIGHT of image area
to insert.  A float value 0.0 - 1.0 means relative to the width or
height of the image; integer values are taken as pixel values.

(fn IMAGE &optional STRING AREA SLICE)Finsert-sliced-image
Insert IMAGE into current buffer at point.
IMAGE is displayed by inserting STRING into the current buffer
with a `display' property whose value is the image.  The default
STRING is a single space.
AREA is where to display the image.  AREA nil or omitted means
display it in the text area, a value of `left-margin' means
display it in the left marginal area, a value of `right-margin'
means display it in the right marginal area.
The image is automatically split into ROWS x COLS slices.

(fn IMAGE &optional STRING AREA ROWS COLS)Fremove-images
Remove images between START and END in BUFFER.
Remove only images that were put in BUFFER with calls to `put-image'.
BUFFER nil or omitted means use the current buffer.

(fn START END &optional BUFFER)Ffind-image
Find an image, choosing one of a list of image specifications.

SPECS is a list of image specifications.

Each image specification in SPECS is a property list.  The contents of
a specification are image type dependent.  All specifications must at
least contain the properties `:type TYPE' and either `:file FILE' or
`:data DATA', where TYPE is a symbol specifying the image type,
e.g. `xbm', FILE is the file to load the image from, and DATA is a
string containing the actual image data.  The specification whose TYPE
is supported, and FILE exists, is used to construct the image
specification to be returned.  Return nil if no specification is
satisfied.

The image is looked for in `image-load-path'.

Image files should not be larger than specified by `max-image-size'.

(fn SPECS)Fdefimage
Define SYMBOL as an image.

SPECS is a list of image specifications.  DOC is an optional
documentation string.

Each image specification in SPECS is a property list.  The contents of
a specification are image type dependent.  All specifications must at
least contain the properties `:type TYPE' and either `:file FILE' or
`:data DATA', where TYPE is a symbol specifying the image type,
e.g. `xbm', FILE is the file to load the image from, and DATA is a
string containing the actual image data.  The first image
specification whose TYPE is supported, and FILE exists, is used to
define SYMBOL.

Example:

   (defimage test-image ((:type xpm :file "~/test1.xpm")
                         (:type xbm :file "~/test1.xbm")))

(fn SYMBOL SPECS &optional DOC)Fimagemagick-register-types
Register file types that can be handled by ImageMagick.
This function is called at startup, after loading the init file.
It registers the ImageMagick types returned by `imagemagick-filter-types'.

Registered image types are added to `auto-mode-alist', so that
Emacs visits them in Image mode.  They are also added to
`image-type-file-name-regexps', so that the `image-type' function
recognizes these files as having image type `imagemagick'.

If Emacs is compiled without ImageMagick support, this does nothing.

(fn)Fimage-dired-dired-toggle-marked-thumbs
Toggle thumbnails in front of file names in the dired buffer.
If no marked file could be found, insert or hide thumbnails on the
current line.  ARG, if non-nil, specifies the files to use instead
of the marked files.  If ARG is an integer, use the next ARG (or
previous -ARG, if ARG<0) files.

(fn &optional ARG)Fimage-dired-dired-with-window-configuration
Open directory DIR and create a default window configuration.

Convenience command that:

 - Opens dired in folder DIR
 - Splits windows in most useful (?) way
 - Set `truncate-lines' to t

After the command has finished, you would typically mark some
image files in dired and type
\[image-dired-display-thumbs] (`image-dired-display-thumbs').

If called with prefix argument ARG, skip splitting of windows.

The current window configuration is saved and can be restored by
calling `image-dired-restore-window-configuration'.

(fn DIR &optional ARG)Fimage-dired-display-thumbs
Display thumbnails of all marked files, in `image-dired-thumbnail-buffer'.
If a thumbnail image does not exist for a file, it is created on the
fly.  With prefix argument ARG, display only thumbnail for file at
point (this is useful if you have marked some files but want to show
another one).

Recommended usage is to split the current frame horizontally so that
you have the dired buffer in the left window and the
`image-dired-thumbnail-buffer' buffer in the right window.

With optional argument APPEND, append thumbnail to thumbnail buffer
instead of erasing it first.

Optional argument DO-NOT-POP controls if `pop-to-buffer' should be
used or not.  If non-nil, use `display-buffer' instead of
`pop-to-buffer'.  This is used from functions like
`image-dired-next-line-and-display' and
`image-dired-previous-line-and-display' where we do not want the
thumbnail buffer to be selected.

(fn &optional ARG APPEND DO-NOT-POP)Fimage-dired-show-all-from-dir
Make a preview buffer for all images in DIR and display it.
If the number of files in DIR matching `image-file-name-regexp'
exceeds `image-dired-show-all-from-dir-max-files', a warning will be
displayed.

(fn DIR)Fimage-dired-tag-files
Tag marked file(s) in dired.  With prefix ARG, tag file at point.

(fn ARG)Fimage-dired-delete-tag
Remove tag for selected file(s).
With prefix argument ARG, remove tag from file at point.

(fn ARG)Fimage-dired-jump-thumbnail-buffer
Jump to thumbnail buffer.

(fn)Fimage-dired-setup-dired-keybindings
Setup easy-to-use keybindings for the commands to be used in dired mode.
Note that n, p and <down> and <up> will be hijacked and bound to
`image-dired-dired-x-line'.

(fn)Fimage-dired-display-thumbs-append
Append thumbnails to `image-dired-thumbnail-buffer'.

(fn)Fimage-dired-display-thumb
Shorthand for `image-dired-display-thumbs' with prefix argument.

(fn)Fimage-dired-dired-display-external
Display file at point using an external viewer.

(fn)Fimage-dired-dired-display-image
Display current image file.
See documentation for `image-dired-display-image' for more information.
With prefix argument ARG, display image in its original size.

(fn &optional ARG)Fimage-dired-dired-comment-files
Add comment to current or marked files in dired.

(fn)Fimage-dired-mark-tagged-files
Use regexp to mark files with matching tag.
A `tag' is a keyword, a piece of meta data, associated with an
image file and stored in image-dired's database file.  This command
lets you input a regexp and this will be matched against all tags
on all image files in the database file.  The files that have a
matching tag will be marked in the dired buffer.

(fn)Fimage-dired-dired-edit-comment-and-tags
Edit comment and tags of current or marked image files.
Edit comment and tags for all marked image files in an
easy-to-use form.

(fn)Vimage-file-name-extensions
A list of image-file filename extensions.
Filenames having one of these extensions are considered image files,
in addition to those matching `image-file-name-regexps'.

See `auto-image-file-mode'; if `auto-image-file-mode' is enabled,
setting this variable directly does not take effect unless
`auto-image-file-mode' is re-enabled; this happens automatically when
the variable is set using \[customize].Vimage-file-name-regexps
List of regexps matching image-file filenames.
Filenames matching one of these regexps are considered image files,
in addition to those with an extension in `image-file-name-extensions'.

See function `auto-image-file-mode'; if `auto-image-file-mode' is
enabled, setting this variable directly does not take effect unless
`auto-image-file-mode' is re-enabled; this happens automatically when
the variable is set using \[customize].Fimage-file-name-regexp
Return a regular expression matching image-file filenames.

(fn)Finsert-image-file
Insert the image file FILE into the current buffer.
Optional arguments VISIT, BEG, END, and REPLACE are interpreted as for
the command `insert-file-contents'.

(fn FILE &optional VISIT BEG END REPLACE)Vauto-image-file-mode
Non-nil if Auto-Image-File mode is enabled.
See the command `auto-image-file-mode' for a description of this minor mode.
Setting this variable directly does not take effect;
either customize it (see the info node `Easy Customization')
or call the function `auto-image-file-mode'.Fauto-image-file-mode
Toggle visiting of image files as images (Auto Image File mode).
With a prefix argument ARG, enable Auto Image File mode if ARG is
positive, and disable it otherwise.  If called from Lisp, enable
the mode if ARG is omitted or nil.

An image file is one whose name has an extension in
`image-file-name-extensions', or matches a regexp in
`image-file-name-regexps'.

(fn &optional ARG)Fimage-mode
Major mode for image files.
You can use \<image-mode-map>\[image-toggle-display]
to toggle between display as an image and display as text.

(fn)Fimage-minor-mode
Toggle Image minor mode in this buffer.
With a prefix argument ARG, enable Image minor mode if ARG is
positive, and disable it otherwise.  If called from Lisp, enable
the mode if ARG is omitted or nil.

Image minor mode provides the key \<image-mode-map>\[image-toggle-display],
to switch back to `image-mode' and display an image file as the
actual image.

(fn &optional ARG)Fimage-mode-as-text
Set a non-image mode as major mode in combination with image minor mode.
A non-image major mode found from `auto-mode-alist' or Fundamental mode
displays an image file as text.  `image-minor-mode' provides the key
\<image-mode-map>\[image-toggle-display] to switch back to `image-mode'
to display an image file as the actual image.

You can use `image-mode-as-text' in `auto-mode-alist' when you want
to display an image file as text initially.

See commands `image-mode' and `image-minor-mode' for more information
on these modes.

(fn)Fimage-bookmark-jump


(fn BMK)Vimenu-sort-function
The function to use for sorting the index mouse-menu.

Affects only the mouse index menu.

Set this to nil if you don't want any sorting (faster).
The items in the menu are then presented in the order they were found
in the buffer.

Set it to `imenu--sort-by-name' if you want alphabetic sorting.

The function should take two arguments and return t if the first
element should come before the second.  The arguments are cons cells;
(NAME . POSITION).  Look at `imenu--sort-by-name' for an example.Vimenu-generic-expression
List of definition matchers for creating an Imenu index.
Each element of this list should have the form

  (MENU-TITLE REGEXP INDEX [FUNCTION] [ARGUMENTS...])

MENU-TITLE should be nil (in which case the matches for this
element are put in the top level of the buffer index) or a
string (which specifies the title of a submenu into which the
matches are put).
REGEXP is a regular expression matching a definition construct
which is to be displayed in the menu.  REGEXP may also be a
function, called without arguments.  It is expected to search
backwards.  It must return true and set `match-data' if it finds
another element.
INDEX is an integer specifying which subexpression of REGEXP
matches the definition's name; this subexpression is displayed as
the menu item.
FUNCTION, if present, specifies a function to call when the index
item is selected by the user.  This function is called with
arguments consisting of the item name, the buffer position, and
the ARGUMENTS.

The variable `imenu-case-fold-search' determines whether or not
the regexp matches are case sensitive, and `imenu-syntax-alist'
can be used to alter the syntax table for the search.

If non-nil this pattern is passed to `imenu--generic-function' to
create a buffer index.

For example, see the value of `fortran-imenu-generic-expression'
used by `fortran-mode' with `imenu-syntax-alist' set locally to
give the characters which normally have "symbol" syntax
"word" syntax during matching.Vimenu-create-index-function
The function to use for creating an index alist of the current buffer.

It should be a function that takes no arguments and returns
an index alist of the current buffer.  The function is
called within a `save-excursion'.

See `imenu--index-alist' for the format of the buffer index alist.Vimenu-prev-index-position-function
Function for finding the next index position.

If `imenu-create-index-function' is set to
`imenu-default-create-index-function', then you must set this variable
to a function that will find the next index, looking backwards in the
file.

The function should leave point at the place to be connected to the
index and it should return nil when it doesn't find another index.Vimenu-extract-index-name-function
Function for extracting the index item name, given a position.

This function is called after `imenu-prev-index-position-function'
finds a position for an index item, with point at that position.
It should return the name for that index item.Vimenu-name-lookup-function
Function to compare string with index item.

This function will be called with two strings, and should return
non-nil if they match.

If nil, comparison is done with `string='.
Set this to some other function for more advanced comparisons,
such as "begins with" or "name matches and number of
arguments match".Vimenu-default-goto-function
The default function called when selecting an Imenu item.
The function in this variable is called when selecting a normal index-item.Fimenu-add-to-menubar
Add an `imenu' entry to the menu bar for the current buffer.
NAME is a string used to name the menu bar item.
See the command `imenu' for more information.

(fn NAME)Fimenu-add-menubar-index
Add an Imenu "Index" entry on the menu bar for the current buffer.

A trivial interface to `imenu-add-to-menubar' suitable for use in a hook.

(fn)Fimenu
Jump to a place in the buffer chosen using a buffer menu or mouse menu.
INDEX-ITEM specifies the position.  See `imenu-choose-buffer-index'
for more information.

(fn INDEX-ITEM)Findian-compose-region
Compose the region according to `composition-function-table'.

(fn FROM TO)Findian-compose-string


(fn STRING)Fin-is13194-post-read-conversion


(fn LEN)Fin-is13194-pre-write-conversion


(fn FROM TO)Findian-2-column-to-ucs-region
Convert old Emacs Devanagari characters to UCS.

(fn FROM TO)Finferior-lisp
Run an inferior Lisp process, input and output via buffer `*inferior-lisp*'.
If there is a process already running in `*inferior-lisp*', just switch
to that buffer.
With argument, allows you to edit the command line (default is value
of `inferior-lisp-program').  Runs the hooks from
`inferior-lisp-mode-hook' (after the `comint-mode-hook' is run).
(Type \[describe-mode] in the process buffer for a list of commands.)

(fn CMD)VInfo-default-directory-list
Default list of directories to search for Info documentation files.
They are searched in the order they are given in the list.
Therefore, the directory of Info files that come with Emacs
normally should come last (so that local files override standard ones),
unless Emacs is installed into a non-standard directory.  In the latter
case, the directory of Info files that come with Emacs should be
first in this list.

Once Info is started, the list of directories to search
comes from the variable `Info-directory-list'.
This variable `Info-default-directory-list' is used as the default
for initializing `Info-directory-list' when Info is started, unless
the environment variable INFOPATH is set.

Although this is a customizable variable, that is mainly for technical
reasons.  Normally, you should either set INFOPATH or customize
`Info-additional-directory-list', rather than changing this variable.Finfo-other-window
Like `info' but show the Info buffer in another window.

(fn &optional FILE-OR-NODE)Finfo
Enter Info, the documentation browser.
Optional argument FILE-OR-NODE specifies the file to examine;
the default is the top-level directory of Info.
Called from a program, FILE-OR-NODE may specify an Info node of the form
"(FILENAME)NODENAME".
Optional argument BUFFER specifies the Info buffer name;
the default buffer name is *info*.  If BUFFER exists,
just switch to BUFFER.  Otherwise, create a new buffer
with the top-level Info directory.

In interactive use, a non-numeric prefix argument directs
this command to read a file name from the minibuffer.
A numeric prefix argument selects an Info buffer with the prefix number
appended to the Info buffer name.

The search path for Info files is in the variable `Info-directory-list'.
The top-level Info directory is made by combining all the files named `dir'
in all the directories in that path.

See a list of available Info commands in `Info-mode'.

(fn &optional FILE-OR-NODE BUFFER)Finfo-emacs-manual
Display the Emacs manual in Info mode.

(fn)Finfo-emacs-bug
Display the "Reporting Bugs" section of the Emacs manual in Info mode.

(fn)Finfo-standalone
Run Emacs as a standalone Info reader.
Usage:  emacs -f info-standalone [filename]
In standalone mode, \<Info-mode-map>\[Info-exit] exits Emacs itself.

(fn)FInfo-on-current-buffer
Use Info mode to browse the current Info buffer.
With a prefix arg, this queries for the node name to visit first;
otherwise, that defaults to `Top'.

(fn &optional NODENAME)FInfo-directory
Go to the Info directory node.

(fn)FInfo-index
Look up a string TOPIC in the index for this manual and go to that entry.
If there are no exact matches to the specified topic, this chooses
the first match which is a case-insensitive substring of a topic.
Use the \<Info-mode-map>\[Info-index-next] command to see the other matches.
Give an empty topic name to go to the Index node itself.

(fn TOPIC)Finfo-apropos
Grovel indices of all known Info files on your system for STRING.
Build a menu of the possible matches.

(fn STRING)Finfo-finder
Display descriptions of the keywords in the Finder virtual manual.
In interactive use, a prefix argument directs this command to read
a list of keywords separated by comma.  After that, it displays a node
with a list of packages that contain all specified keywords.

(fn &optional KEYWORDS)FInfo-mode
Info mode provides commands for browsing through the Info documentation tree.
Documentation in Info is divided into "nodes", each of which discusses
one topic and contains references to other nodes which discuss related
topics.  Info has commands to follow the references and show you other nodes.

\<Info-mode-map>\[Info-help]	Invoke the Info tutorial.
\[Info-exit]	Quit Info: reselect previously selected buffer.

Selecting other nodes:
\[Info-mouse-follow-nearest-node]
	Follow a node reference you click on.
	  This works with menu items, cross references, and
	  the "next", "previous" and "up", depending on where you click.
\[Info-follow-nearest-node]	Follow a node reference near point, like \[Info-mouse-follow-nearest-node].
\[Info-next]	Move to the "next" node of this node.
\[Info-prev]	Move to the "previous" node of this node.
\[Info-up]	Move "up" from this node.
\[Info-menu]	Pick menu item specified by name (or abbreviation).
	  Picking a menu item causes another node to be selected.
\[Info-directory]	Go to the Info directory node.
\[Info-top-node]	Go to the Top node of this file.
\[Info-final-node]	Go to the final node in this file.
\[Info-backward-node]	Go backward one node, considering all nodes as forming one sequence.
\[Info-forward-node]	Go forward one node, considering all nodes as forming one sequence.
\[Info-next-reference]	Move cursor to next cross-reference or menu item.
\[Info-prev-reference]	Move cursor to previous cross-reference or menu item.
\[Info-follow-reference]	Follow a cross reference.  Reads name of reference.
\[Info-history-back]	Move back in history to the last node you were at.
\[Info-history-forward]	Move forward in history to the node you returned from after using \[Info-history-back].
\[Info-history]	Go to menu of visited nodes.
\[Info-toc]	Go to table of contents of the current Info file.

Moving within a node:
\[Info-scroll-up]	Normally, scroll forward a full screen.
	  Once you scroll far enough in a node that its menu appears on the
	  screen but after point, the next scroll moves into its first
	  subnode.  When after all menu items (or if there is no menu),
	  move up to the parent node.
\[Info-scroll-down]	Normally, scroll backward.  If the beginning of the buffer is
	  already visible, try to go to the previous menu entry, or up
	  if there is none.
\[beginning-of-buffer]	Go to beginning of node.

Advanced commands:
\[Info-search]	Search through this Info file for specified regexp,
	  and select the node in which the next occurrence is found.
\[Info-search-case-sensitively]	Search through this Info file for specified regexp case-sensitively.
\[isearch-forward], \[isearch-forward-regexp]	Use Isearch to search through multiple Info nodes.
\[Info-index]	Search for a topic in this manual's Index and go to index entry.
\[Info-index-next]	(comma) Move to the next match from a previous \<Info-mode-map>\[Info-index] command.
\[Info-virtual-index]	Look for a string and display the index node with results.
\[info-apropos]	Look for a string in the indices of all manuals.
\[Info-goto-node]	Move to node specified by name.
	  You may include a filename as well, as (FILENAME)NODENAME.
1 .. 9	Pick first ... ninth item in node's menu.
	  Every third `*' is highlighted to help pick the right number.
\[Info-copy-current-node-name]	Put name of current Info node in the kill ring.
\[clone-buffer]	Select a new cloned Info buffer in another window.
\[universal-argument] \[info]	Move to new Info file with completion.
\[universal-argument] N \[info]	Select Info buffer with prefix number in the name *info*<N>.

(fn)FInfo-goto-emacs-command-node
Go to the Info node in the Emacs manual for command COMMAND.
The command is found by looking up in Emacs manual's indices
or in another manual found via COMMAND's `info-file' property or
the variable `Info-file-list-for-emacs'.
COMMAND must be a symbol or string.

(fn COMMAND)FInfo-goto-emacs-key-command-node
Go to the node in the Emacs manual which describes the command bound to KEY.
KEY is a string.
Interactively, if the binding is `execute-extended-command', a command is read.
The command is found by looking up in Emacs manual's indices
or in another manual found via COMMAND's `info-file' property or
the variable `Info-file-list-for-emacs'.

(fn KEY)FInfo-speedbar-browser
Initialize speedbar to display an Info node browser.
This will add a speedbar major display mode.

(fn)FInfo-bookmark-jump
This implements the `handler' function interface for the record
type returned by `Info-bookmark-make-record', which see.

(fn BMK)Finfo-display-manual
Go to Info buffer that displays MANUAL, creating it if none already exists.

(fn MANUAL)Finfo-lookup-reset
Throw away all cached data.
This command is useful if the user wants to start at the beginning without
quitting Emacs, for example, after some Info documents were updated on the
system.

(fn)Finfo-lookup-symbol
Display the definition of SYMBOL, as found in the relevant manual.
When this command is called interactively, it reads SYMBOL from the
minibuffer.  In the minibuffer, use M-n to yank the default argument
value into the minibuffer so you can edit it.  The default symbol is the
one found at point.

With prefix arg a query for the symbol help mode is offered.

(fn SYMBOL &optional MODE)Finfo-lookup-file
Display the documentation of a file.
When this command is called interactively, it reads FILE from the minibuffer.
In the minibuffer, use M-n to yank the default file name
into the minibuffer so you can edit it.
The default file name is the one found at point.

With prefix arg a query for the file help mode is offered.

(fn FILE &optional MODE)Finfo-complete-symbol
Perform completion on symbol preceding point.

(fn &optional MODE)Finfo-complete-file
Perform completion on file preceding point.

(fn &optional MODE)Finfo-xref-check
Check external references in FILENAME, an info document.
Interactively from an `Info-mode' or `texinfo-mode' buffer the
current info file is the default.

Results are shown in a `compilation-mode' buffer.  The format is
a bit rough, but there shouldn't be many problems normally.  The
file:line:column: is the info document, but of course normally
any correction should be made in the original .texi file.
Finding the right place in the .texi is a manual process.

When a target info file doesn't exist there's obviously no way to
validate node references within it.  A message is given for
missing target files once per source document.  It could be
simply that you don't have the target installed, or it could be a
mistake in the reference.

Indirect info files are understood, just pass the top-level
foo.info to `info-xref-check' and it traverses all sub-files.
Compressed info files are accepted too as usual for `Info-mode'.

"makeinfo" checks references internal to an info document, but
not external references, which makes it rather easy for mistakes
to creep in or node name changes to go unnoticed.
`Info-validate' doesn't check external references either.

(fn FILENAME)Finfo-xref-check-all
Check external references in all info documents in the info path.
`Info-directory-list' and `Info-additional-directory-list' are
the info paths.  See `info-xref-check' for how each file is
checked.

The search for "all" info files is rather permissive, since
info files don't necessarily have a ".info" extension and in
particular the Emacs manuals normally don't.  If you have a
source code directory in `Info-directory-list' then a lot of
extraneous files might be read.  This will be time consuming but
should be harmless.

(fn)Finfo-xref-check-all-custom
Check info references in all customize groups and variables.
Info references can be in `custom-manual' or `info-link' entries
of the `custom-links' for a variable.

Any `custom-load' autoloads in variables are loaded in order to
get full link information.  This will be a lot of Lisp packages
and can take a long time.

(fn)Finfo-xref-docstrings
Check docstring info node references in source files.
The given files are searched for docstring hyperlinks like

    Info node `(elisp)Documentation Tips'

and those links checked by attempting to visit the target nodes
as per `info-xref-check' does.

Interactively filenames are read as a wildcard pattern like
"foo*.el", with the current file as a default.  Usually this
will be lisp sources, but anything with such hyperlinks can be
checked, including the Emacs .c sources (or the etc/DOC file of
all builtins).

Because info node hyperlinks are found by a simple regexp search
in the files, the Lisp code checked doesn't have to be loaded,
and links can be in the file commentary or elsewhere too.  Even
.elc files can usually be checked successfully if you don't have
the sources handy.

(fn FILENAME-LIST)FInfo-tagify
Create or update Info file tag table in current buffer or in a region.

(fn &optional INPUT-BUFFER-NAME)VInfo-split-threshold
The number of characters by which `Info-split' splits an info file.FInfo-split
Split an info file into an indirect file plus bounded-size subfiles.
Each subfile will be up to the number of characters that
`Info-split-threshold' specifies, plus one node.

To use this command, first visit a large Info file that has a tag
table.  The buffer is modified into a (small) indirect info file which
should be saved in place of the original visited file.

The subfiles are written in the same directory the original file is
in, with names generated by appending `-' and a number to the original
file name.  The indirect file still functions as an Info file, but it
contains just the tag table and a directory of subfiles.

(fn)FInfo-validate
Check current buffer for validity as an Info file.
Check that every node pointer points to an existing node.

(fn)Fbatch-info-validate
Runs `Info-validate' on the files remaining on the command line.
Must be used only with -batch, and kills Emacs on completion.
Each file will be processed even if an error occurred previously.
For example, invoke "emacs -batch -f batch-info-validate $info/ ~/*.info"

(fn)Finversion-require-emacs
Declare that you need either EMACS-VER, XEMACS-VER or SXEMACS-ver.
Only checks one based on which kind of Emacs is being run.

(fn EMACS-VER XEMACS-VER SXEMACS-VER)Fisearch-toggle-specified-input-method
Select an input method and turn it on in interactive search.

(fn)Fisearch-toggle-input-method
Toggle input method in interactive search.

(fn)Fisearch-process-search-multibyte-characters


(fn LAST-CHAR)Fisearchb-activate
Active isearchb mode for subsequent alphanumeric keystrokes.
Executing this command again will terminate the search; or, if
the search has not yet begun, will toggle to the last buffer
accessed via isearchb.

(fn)Fiso-spanish
Translate net conventions for Spanish to ISO 8859-1.
Translate the region between FROM and TO using the table
`iso-spanish-trans-tab'.
Optional arg BUFFER is ignored (for use in `format-alist').

(fn FROM TO &optional BUFFER)Fiso-german
Translate net conventions for German to ISO 8859-1.
Translate the region FROM and TO using the table
`iso-german-trans-tab'.
Optional arg BUFFER is ignored (for use in `format-alist').

(fn FROM TO &optional BUFFER)Fiso-iso2tex
Translate ISO 8859-1 characters to TeX sequences.
Translate the region between FROM and TO using the table
`iso-iso2tex-trans-tab'.
Optional arg BUFFER is ignored (for use in `format-alist').

(fn FROM TO &optional BUFFER)Fiso-tex2iso
Translate TeX sequences to ISO 8859-1 characters.
Translate the region between FROM and TO using the table
`iso-tex2iso-trans-tab'.
Optional arg BUFFER is ignored (for use in `format-alist').

(fn FROM TO &optional BUFFER)Fiso-gtex2iso
Translate German TeX sequences to ISO 8859-1 characters.
Translate the region between FROM and TO using the table
`iso-gtex2iso-trans-tab'.
Optional arg BUFFER is ignored (for use in `format-alist').

(fn FROM TO &optional BUFFER)Fiso-iso2gtex
Translate ISO 8859-1 characters to German TeX sequences.
Translate the region between FROM and TO using the table
`iso-iso2gtex-trans-tab'.
Optional arg BUFFER is ignored (for use in `format-alist').

(fn FROM TO &optional BUFFER)Fiso-iso2duden
Translate ISO 8859-1 characters to Duden sequences.
Translate the region between FROM and TO using the table
`iso-iso2duden-trans-tab'.
Optional arg BUFFER is ignored (for use in `format-alist').

(fn FROM TO &optional BUFFER)Fiso-iso2sgml
Translate ISO 8859-1 characters in the region to SGML entities.
Use entities from "ISO 8879:1986//ENTITIES Added Latin 1//EN".
Optional arg BUFFER is ignored (for use in `format-alist').

(fn FROM TO &optional BUFFER)Fiso-sgml2iso
Translate SGML entities in the region to ISO 8859-1 characters.
Use entities from "ISO 8879:1986//ENTITIES Added Latin 1//EN".
Optional arg BUFFER is ignored (for use in `format-alist').

(fn FROM TO &optional BUFFER)Fiso-cvt-read-only
Warn that format is read-only.

(fn &rest IGNORE)Fiso-cvt-write-only
Warn that format is write-only.

(fn &rest IGNORE)Fiso-cvt-define-menu
Add submenus to the File menu, to convert to and from various formats.

(fn)Vispell-personal-dictionary
File name of your personal spelling dictionary, or nil.
If nil, the default personal dictionary, ("~/.ispell_DICTNAME" for ispell or
"~/.aspell.LANG.pws" for aspell) is used, where DICTNAME is the name of your
default dictionary and LANG the two letter language code.Vispell-menu-map
Key map for ispell menu.Vispell-menu-xemacs
Spelling menu for XEmacs.
If nil when package is loaded, a standard menu will be set,
and added as a submenu of the "Edit" menu.Vispell-skip-region-alist
Alist expressing beginning and end of regions not to spell check.
The alist key must be a regular expression.
Valid forms include:
  (KEY) - just skip the key.
  (KEY . REGEXP) - skip to the end of REGEXP.  REGEXP may be string or symbol.
  (KEY REGEXP) - skip to end of REGEXP.  REGEXP must be a string.
  (KEY FUNCTION ARGS) - FUNCTION called with ARGS returns end of region.Vispell-tex-skip-alists
Lists of regions to be skipped in TeX mode.
First list is used raw.
Second list has key placed inside \begin{}.

Delete or add any regions you want to be automatically selected
for skipping in latex mode.Vispell-html-skip-alists
Lists of start and end keys to skip in HTML buffers.
Same format as `ispell-skip-region-alist'.
Note - substrings of other matches must come last
 (e.g. "<[tT][tT]/" and "<[^ \t\n>]").Fispell-word
Check spelling of word under or before the cursor.
If the word is not found in dictionary, display possible corrections
in a window allowing you to choose one.

If optional argument FOLLOWING is non-nil or if `ispell-following-word'
is non-nil when called interactively, then the following word
(rather than preceding) is checked when the cursor is not over a word.
When the optional argument QUIETLY is non-nil or `ispell-quietly' is non-nil
when called interactively, non-corrective messages are suppressed.

With a prefix argument (or if CONTINUE is non-nil),
resume interrupted spell-checking of a buffer or region.

Interactively, in Transient Mark mode when the mark is active, call
`ispell-region' to check the active region for spelling errors.

Word syntax is controlled by the definition of the chosen dictionary,
which is in `ispell-local-dictionary-alist' or `ispell-dictionary-alist'.

This will check or reload the dictionary.  Use \[ispell-change-dictionary]
or \[ispell-region] to update the Ispell process.

Return values:
nil           word is correct or spelling is accepted.
0             word is inserted into buffer-local definitions.
"word"        word corrected from word list.
("word" arg)  word is hand entered.
quit          spell session exited.

(fn &optional FOLLOWING QUIETLY CONTINUE REGION)Fispell-pdict-save
Check to see if the personal dictionary has been modified.
If so, ask if it needs to be saved.

(fn &optional NO-QUERY FORCE-SAVE)Fispell-help
Display a list of the options available when a misspelling is encountered.

Selections are:

DIGIT: Replace the word with a digit offered in the *Choices* buffer.
SPC:   Accept word this time.
`i':   Accept word and insert into private dictionary.
`a':   Accept word for this session.
`A':   Accept word and place in `buffer-local dictionary'.
`r':   Replace word with typed-in value.  Rechecked.
`R':   Replace word with typed-in value.  Query-replaced in buffer.  Rechecked.
`?':   Show these commands.
`x':   Exit spelling buffer.  Move cursor to original point.
`X':   Exit spelling buffer.  Leaves cursor at the current point, and permits
        the aborted check to be completed later.
`q':   Quit spelling session (Kills ispell process).
`l':   Look up typed-in replacement in alternate dictionary.  Wildcards okay.
`u':   Like `i', but the word is lower-cased first.
`m':   Place typed-in value in personal dictionary, then recheck current word.
`C-l':  Redraw screen.
`C-r':  Recursive edit.
`C-z':  Suspend Emacs or iconify frame.

(fn)Fispell-kill-ispell
Kill current Ispell process (so that you may start a fresh one).
With NO-ERROR, just return non-nil if there was no Ispell running.
With CLEAR, buffer session localwords are cleaned.

(fn &optional NO-ERROR CLEAR)Fispell-change-dictionary
Change to dictionary DICT for Ispell.
With a prefix arg, set it "globally", for all buffers.
Without a prefix arg, set it "locally", just for this buffer.

By just answering RET you can find out what the current dictionary is.

(fn DICT &optional ARG)Fispell-region
Interactively check a region for spelling errors.
Return nil if spell session was terminated, otherwise returns shift offset
amount for last line processed.

(fn REG-START REG-END &optional RECHECKP SHIFT)Fispell-comments-and-strings
Check comments and strings in the current buffer for spelling errors.

(fn)Fispell-buffer
Check the current buffer for spelling errors interactively.

(fn)Fispell-continue
Continue a halted spelling session beginning with the current word.

(fn)Fispell-complete-word
Try to complete the word before or under point (see `lookup-words').
If optional INTERIOR-FRAG is non-nil then the word may be a character
sequence inside of a word.

Standard ispell choices are then available.

(fn &optional INTERIOR-FRAG)Fispell-complete-word-interior-frag
Completes word matching character sequence inside a word.

(fn)Fispell
Interactively check a region or buffer for spelling errors.
If `transient-mark-mode' is on, and a region is active, spell-check
that region.  Otherwise spell-check the buffer.

Ispell dictionaries are not distributed with Emacs.  If you are
looking for a dictionary, please see the distribution of the GNU ispell
program, or do an Internet search; there are various dictionaries
available on the net.

(fn)Fispell-minor-mode
Toggle last-word spell checking (Ispell minor mode).
With a prefix argument ARG, enable Ispell minor mode if ARG is
positive, and disable it otherwise.  If called from Lisp, enable
the mode if ARG is omitted or nil.

Ispell minor mode is a buffer-local minor mode.  When enabled,
typing SPC or RET warns you if the previous word is incorrectly
spelled.

All the buffer-local variables and dictionaries are ignored.  To
read them into the running ispell process, type \[ispell-word]
SPC.

For spell-checking "on the fly", not just after typing SPC or
RET, use `flyspell-mode'.

(fn &optional ARG)Fispell-message
Check the spelling of a mail message or news post.
Don't check spelling of message headers except the Subject field.
Don't check included messages.

To abort spell checking of a message region and send the message anyway,
use the `x' command.  (Any subsequent regions will be checked.)
The `X' command aborts sending the message so that you can edit the buffer.

To spell-check whenever a message is sent, include the appropriate lines
in your init file:
   (add-hook 'message-send-hook 'ispell-message)  ;; GNUS 5
   (add-hook 'news-inews-hook 'ispell-message)    ;; GNUS 4
   (add-hook 'mail-send-hook  'ispell-message)
   (add-hook 'mh-before-send-letter-hook 'ispell-message)

You can bind this to the key C-c i in GNUS or mail by adding to
`news-reply-mode-hook' or `mail-mode-hook' the following lambda expression:
   (function (lambda () (local-set-key "\C-ci" 'ispell-message)))

(fn)Viswitchb-mode
Non-nil if Iswitchb mode is enabled.
See the command `iswitchb-mode' for a description of this minor mode.
Setting this variable directly does not take effect;
either customize it (see the info node `Easy Customization')
or call the function `iswitchb-mode'.Fiswitchb-mode
Toggle Iswitchb mode.
With a prefix argument ARG, enable Iswitchb mode if ARG is
positive, and disable it otherwise.  If called from Lisp, enable
the mode if ARG is omitted or nil.

Iswitchb mode is a global minor mode that enables switching
between buffers using substrings.  See `iswitchb' for details.

(fn &optional ARG)Fsetup-japanese-environment-internal


(fn)Fjapanese-katakana
Convert argument to Katakana and return that.
The argument may be a character or string.  The result has the same type.
The argument object is not altered--the value is a copy.
Optional argument HANKAKU t means to convert to `hankaku' Katakana
 (`japanese-jisx0201-kana'), in which case return value
 may be a string even if OBJ is a character if two Katakanas are
 necessary to represent OBJ.

(fn OBJ &optional HANKAKU)Fjapanese-hiragana
Convert argument to Hiragana and return that.
The argument may be a character or string.  The result has the same type.
The argument object is not altered--the value is a copy.

(fn OBJ)Fjapanese-hankaku
Convert argument to `hankaku' and return that.
The argument may be a character or string.  The result has the same type.
The argument object is not altered--the value is a copy.
Optional argument ASCII-ONLY non-nil means to return only ASCII character.

(fn OBJ &optional ASCII-ONLY)Fjapanese-zenkaku
Convert argument to `zenkaku' and return that.
The argument may be a character or string.  The result has the same type.
The argument object is not altered--the value is a copy.

(fn OBJ)Fjapanese-katakana-region
Convert Japanese `hiragana' chars in the region to `katakana' chars.
Optional argument HANKAKU t means to convert to `hankaku katakana' character
of which charset is `japanese-jisx0201-kana'.

(fn FROM TO &optional HANKAKU)Fjapanese-hiragana-region
Convert Japanese `katakana' chars in the region to `hiragana' chars.

(fn FROM TO)Fjapanese-hankaku-region
Convert Japanese `zenkaku' chars in the region to `hankaku' chars.
`Zenkaku' chars belong to `japanese-jisx0208'
`Hankaku' chars belong to `ascii' or `japanese-jisx0201-kana'.
Optional argument ASCII-ONLY non-nil means to convert only to ASCII char.

(fn FROM TO &optional ASCII-ONLY)Fjapanese-zenkaku-region
Convert hankaku' chars in the region to Japanese `zenkaku' chars.
`Zenkaku' chars belong to `japanese-jisx0208'
`Hankaku' chars belong to `ascii' or `japanese-jisx0201-kana'.
Optional argument KATAKANA-ONLY non-nil means to convert only KATAKANA char.

(fn FROM TO &optional KATAKANA-ONLY)Fread-hiragana-string
Read a Hiragana string from the minibuffer, prompting with string PROMPT.
If non-nil, second arg INITIAL-INPUT is a string to insert before reading.

(fn PROMPT &optional INITIAL-INPUT)Vjka-compr-inhibit
Non-nil means inhibit automatic uncompression temporarily.
Lisp programs can bind this to t to do that.
It is not recommended to set this variable permanently to anything but nil.Fjka-compr-handler


(fn OPERATION &rest ARGS)Fjka-compr-uninstall
Uninstall jka-compr.
This removes the entries in `file-name-handler-alist' and `auto-mode-alist'
and `inhibit-local-variables-suffixes' that were added
by `jka-compr-installed'.

(fn)Fjs-mode
Major mode for editing JavaScript.

(fn)Vkeypad-setup
Specifies the keypad setup for unshifted keypad keys when NumLock is off.
When selecting the plain numeric keypad setup, the character returned by the
decimal key must be specified.Vkeypad-numlock-setup
Specifies the keypad setup for unshifted keypad keys when NumLock is on.
When selecting the plain numeric keypad setup, the character returned by the
decimal key must be specified.Vkeypad-shifted-setup
Specifies the keypad setup for shifted keypad keys when NumLock is off.
When selecting the plain numeric keypad setup, the character returned by the
decimal key must be specified.Vkeypad-numlock-shifted-setup
Specifies the keypad setup for shifted keypad keys when NumLock is off.
When selecting the plain numeric keypad setup, the character returned by the
decimal key must be specified.Fkeypad-setup
Set keypad bindings in `function-key-map' according to SETUP.
If optional second argument NUMLOCK is non-nil, the NumLock On bindings
are changed.  Otherwise, the NumLock Off bindings are changed.
If optional third argument SHIFT is non-nil, the shifted keypad
keys are bound.

 Setup      Binding
 -------------------------------------------------------------
 'prefix   Command prefix argument, i.e.  M-0 .. M-9 and M--
 'S-cursor Bind shifted keypad keys to the shifted cursor movement keys.
 'cursor   Bind keypad keys to the cursor movement keys.
 'numeric  Plain numeric keypad, i.e. 0 .. 9 and .  (or DECIMAL arg)
 'none     Removes all bindings for keypad keys in function-key-map;
           this enables any user-defined bindings for the keypad keys
           in the global and local keymaps.

If SETUP is 'numeric and the optional fourth argument DECIMAL is non-nil,
the decimal key on the keypad is mapped to DECIMAL instead of `.'

(fn SETUP &optional NUMLOCK SHIFT DECIMAL)Fkinsoku
Go to a line breaking position near point by doing `kinsoku' processing.
LINEBEG is a buffer position we can't break a line before.

`Kinsoku' processing is to prohibit specific characters to be placed
at beginning of line or at end of line.  Characters not to be placed
at beginning and end of line have character category `>' and `<'
respectively.  This restriction is dissolved by making a line longer or
shorter.

`Kinsoku' is a Japanese word which originally means ordering to stay
in one place, and is used for the text processing described above in
the context of text formatting.

(fn LINEBEG)Vkkc-after-update-conversion-functions
Functions to run after a conversion is selected in `japanese' input method.
With this input method, a user can select a proper conversion from
candidate list.  Each time he changes the selection, functions in this
list are called with two arguments; starting and ending buffer
positions that contains the current selection.Fkkc-region
Convert Kana string in the current region to Kanji-Kana mixed string.
Users can select a desirable conversion interactively.
When called from a program, expects two arguments,
positions FROM and TO (integers or markers) specifying the target region.
When it returns, the point is at the tail of the selected conversion,
and the return value is the length of the conversion.

(fn FROM TO)Fkmacro-exec-ring-item
Execute item ITEM from the macro ring.

(fn ITEM ARG)Fkmacro-start-macro
Record subsequent keyboard input, defining a keyboard macro.
The commands are recorded even as they are executed.
Use \[kmacro-end-macro] to finish recording and make the macro available.
Use \[kmacro-end-and-call-macro] to execute the macro.

Non-nil arg (prefix arg) means append to last macro defined.

With \[universal-argument] prefix, append to last keyboard macro
defined.  Depending on `kmacro-execute-before-append', this may begin
by re-executing the last macro as if you typed it again.

Otherwise, it sets `kmacro-counter' to ARG or 0 if missing before
defining the macro.

Use \[kmacro-insert-counter] to insert (and increment) the macro counter.
The counter value can be set or modified via \[kmacro-set-counter] and \[kmacro-add-counter].
The format of the counter can be modified via \[kmacro-set-format].

Use \[kmacro-name-last-macro] to give it a permanent name.
Use \[kmacro-bind-to-key] to bind it to a key sequence.

(fn ARG)Fkmacro-end-macro
Finish defining a keyboard macro.
The definition was started by \[kmacro-start-macro].
The macro is now available for use via \[kmacro-call-macro],
or it can be given a name with \[kmacro-name-last-macro] and then invoked
under that name.

With numeric arg, repeat macro now that many times,
counting the definition just completed as the first repetition.
An argument of zero means repeat until error.

(fn ARG)Fkmacro-call-macro
Call the last keyboard macro that you defined with \[kmacro-start-macro].
A prefix argument serves as a repeat count.  Zero means repeat until error.

When you call the macro, you can call the macro again by repeating
just the last key in the key sequence that you used to call this
command.  See `kmacro-call-repeat-key' and `kmacro-call-repeat-with-arg'
for details on how to adjust or disable this behavior.

To make a macro permanent so you can call it even after defining
others, use \[kmacro-name-last-macro].

(fn ARG &optional NO-REPEAT END-MACRO)Fkmacro-start-macro-or-insert-counter
Record subsequent keyboard input, defining a keyboard macro.
The commands are recorded even as they are executed.

Sets the `kmacro-counter' to ARG (or 0 if no prefix arg) before defining the
macro.

With \[universal-argument], appends to current keyboard macro (keeping
the current value of `kmacro-counter').

When defining/executing macro, inserts macro counter and increments
the counter with ARG or 1 if missing.  With \[universal-argument],
inserts previous `kmacro-counter' (but do not modify counter).

The macro counter can be modified via \[kmacro-set-counter] and \[kmacro-add-counter].
The format of the counter can be modified via \[kmacro-set-format].

(fn ARG)Fkmacro-end-or-call-macro
End kbd macro if currently being defined; else call last kbd macro.
With numeric prefix ARG, repeat macro that many times.
With \[universal-argument], call second macro in macro ring.

(fn ARG &optional NO-REPEAT)Fkmacro-end-and-call-macro
Call last keyboard macro, ending it first if currently being defined.
With numeric prefix ARG, repeat macro that many times.
Zero argument means repeat until there is an error.

To give a macro a permanent name, so you can call it
even after defining other macros, use \[kmacro-name-last-macro].

(fn ARG &optional NO-REPEAT)Fkmacro-end-call-mouse
Move point to the position clicked with the mouse and call last kbd macro.
If kbd macro currently being defined end it before activating it.

(fn EVENT)Vdefault-korean-keyboard
The kind of Korean keyboard for Korean input method.
"" for 2, "3" for 3.Fsetup-korean-environment-internal


(fn)Flandmark-test-run
Run 100 Landmark games, each time saving the weights from the previous game.

(fn)Flandmark
Start or resume an Landmark game.
If a game is in progress, this command allows you to resume it.
Here is the relation between prefix args and game options:

prefix arg | robot is auto-started | weights are saved from last game
---------------------------------------------------------------------
none / 1   | yes                   | no
       2   | yes                   | yes
       3   | no                    | yes
       4   | no                    | no

You start by moving to a square and typing \[landmark-start-robot],
if you did not use a prefix arg to ask for automatic start.
Use \[describe-mode] for more info.

(fn PARG)Flao-compose-string


(fn STR)Flao-transcribe-single-roman-syllable-to-lao
Transcribe a Romanized Lao syllable in the region FROM and TO to Lao string.
Only the first syllable is transcribed.
The value has the form: (START END LAO-STRING), where
START and END are the beginning and end positions of the Roman Lao syllable,
LAO-STRING is the Lao character transcription of it.

Optional 3rd arg STR, if non-nil, is a string to search for Roman Lao
syllable.  In that case, FROM and TO are indexes to STR.

(fn FROM TO &optional STR)Flao-transcribe-roman-to-lao-string
Transcribe Romanized Lao string STR to Lao character string.

(fn STR)Flao-composition-function


(fn GSTRING)Flao-compose-region


(fn FROM TO)Vlatex-inputenc-coding-alist
Mapping from LaTeX encodings in "inputenc.sty" to Emacs coding systems.
LaTeX encodings are specified with "\usepackage[encoding]{inputenc}".
Used by the function `latexenc-find-file-coding-system'.Flatexenc-inputenc-to-coding-system
Return the corresponding coding-system for the specified input encoding.
Return nil if no matching coding system can be found.

(fn INPUTENC)Flatexenc-coding-system-to-inputenc
Return the corresponding input encoding for the specified coding system.
Return nil if no matching input encoding can be found.

(fn CS)Flatexenc-find-file-coding-system
Determine the coding system of a LaTeX file if it uses "inputenc.sty".
The mapping from LaTeX's "inputenc.sty" encoding names to Emacs
coding system names is determined from `latex-inputenc-coding-alist'.

(fn ARG-LIST)Vlatin1-display
Set up Latin-1/ASCII display for ISO8859 character sets.
This is done for each character set in the list `latin1-display-sets',
if no font is available to display it.  Characters are displayed using
the corresponding Latin-1 characters where they match.  Otherwise
ASCII sequences are used, mostly following the Latin prefix input
methods.  Some different ASCII sequences are used if
`latin1-display-mnemonic' is non-nil.

This option also treats some characters in the `mule-unicode-...'
charsets if you don't have a Unicode font with which to display them.

Setting this variable directly does not take effect;
use either \[customize] or the function `latin1-display'.Flatin1-display
Set up Latin-1/ASCII display for the arguments character SETS.
See option `latin1-display' for the method.  The members of the list
must be in `latin1-display-sets'.  With no arguments, reset the
display for all of `latin1-display-sets'. See also
`latin1-display-setup'.

(fn &rest SETS)Vlatin1-display-ucs-per-lynx
Set up Latin-1/ASCII display for Unicode characters.
This uses the transliterations of the Lynx browser.  The display isn't
changed if the display can render Unicode characters.

Setting this variable directly does not take effect;
use either \[customize] or the function `latin1-display'.Fld-script-mode
A major mode to edit GNU ld script files

(fn)Flife
Run Conway's Life simulation.
The starting pattern is randomly selected.  Prefix arg (optional first
arg non-nil from a program) is the number of seconds to sleep between
generations (this defaults to 1).

(fn &optional SLEEPTIME)Flinum-mode
Toggle display of line numbers in the left margin (Linum mode).
With a prefix argument ARG, enable Linum mode if ARG is positive,
and disable it otherwise.  If called from Lisp, enable the mode
if ARG is omitted or nil.

Linum mode is a buffer-local minor mode.

(fn &optional ARG)Vglobal-linum-mode
Non-nil if Global-Linum mode is enabled.
See the command `global-linum-mode' for a description of this minor mode.
Setting this variable directly does not take effect;
either customize it (see the info node `Easy Customization')
or call the function `global-linum-mode'.Fglobal-linum-mode
Toggle Linum mode in all buffers.
With prefix ARG, enable Global-Linum mode if ARG is positive;
otherwise, disable it.  If called from Lisp, enable the mode if
ARG is omitted or nil.

Linum mode is enabled in all buffers where
`linum-on' would do it.
See `linum-mode' for more information on Linum mode.

(fn &optional ARG)Funload-feature
Unload the library that provided FEATURE.
If the feature is required by any other loaded code, and prefix arg FORCE
is nil, raise an error.

Standard unloading activities include restoring old autoloads for
functions defined by the library, undoing any additions that the
library has made to hook variables or to `auto-mode-alist', undoing
ELP profiling of functions in that library, unproviding any features
provided by the library, and canceling timers held in variables
defined by the library.

If a function `FEATURE-unload-function' is defined, this function
calls it with no arguments, before doing anything else.  That function
can do whatever is appropriate to undo the loading of the library.  If
`FEATURE-unload-function' returns non-nil, that suppresses the
standard unloading of the library.  Otherwise the standard unloading
proceeds.

`FEATURE-unload-function' has access to the package's list of
definitions in the variable `unload-function-defs-list' and could
remove symbols from it in the event that the package has done
something strange, such as redefining an Emacs function.

(fn FEATURE &optional FORCE)Vlocate-ls-subdir-switches
`ls' switches for inserting subdirectories in `*Locate*' buffers.
This should contain the "-l" switch, but not the "-F" or "-b" switches.Flocate
Run the program `locate', putting results in `*Locate*' buffer.
Pass it SEARCH-STRING as argument.  Interactively, prompt for SEARCH-STRING.
With prefix arg ARG, prompt for the exact shell command to run instead.

This program searches for those file names in a database that match
SEARCH-STRING and normally outputs all matching absolute file names,
one per line.  The database normally consists of all files on your
system, or of all files that you have access to.  Consult the
documentation of the program for the details about how it determines
which file names match SEARCH-STRING.  (Those details vary highly with
the version.)

You can specify another program for this command to run by customizing
the variables `locate-command' or `locate-make-command-line'.

The main use of FILTER is to implement `locate-with-filter'.  See
the docstring of that function for its meaning.

After preparing the results buffer, this runs `dired-mode-hook' and
then `locate-post-command-hook'.

(fn SEARCH-STRING &optional FILTER ARG)Flocate-with-filter
Run the executable program `locate' with a filter.
This function is similar to the function `locate', which see.
The difference is that, when invoked interactively, the present function
prompts for both SEARCH-STRING and FILTER.  It passes SEARCH-STRING
to the locate executable program.  It produces a `*Locate*' buffer
that lists only those lines in the output of the locate program that
contain a match for the regular expression FILTER; this is often useful
to constrain a big search.

ARG is the interactive prefix arg, which has the same effect as in `locate'.

When called from Lisp, this function is identical with `locate',
except that FILTER is not optional.

(fn SEARCH-STRING FILTER &optional ARG)Flog-edit
Setup a buffer to enter a log message.
The buffer is put in mode MODE or `log-edit-mode' if MODE is nil.
\<log-edit-mode-map>
If SETUP is non-nil, erase the buffer and run `log-edit-hook'.
Set mark and point around the entire contents of the buffer, so
that it is easy to kill the contents of the buffer with
\[kill-region].  Once the user is done editing the message,
invoking the command \[log-edit-done] (`log-edit-done') will
call CALLBACK to do the actual commit.

PARAMS if non-nil is an alist of variables and buffer-local
values to give them in the Log Edit buffer.  Possible keys and
associated values:
 `log-edit-listfun' -- function taking no arguments that returns the list of
 files that are concerned by the current operation (using relative names);
 `log-edit-diff-function' -- function taking no arguments that
 displays a diff of the files concerned by the current operation.
 `vc-log-fileset' -- the VC fileset to be committed (if any).

If BUFFER is non-nil `log-edit' will jump to that buffer, use it
to edit the log message and go back to the current buffer when
done.  Otherwise, it uses the current buffer.

(fn CALLBACK &optional SETUP PARAMS BUFFER MODE &rest IGNORE)Flog-view-mode
Major mode for browsing CVS log output.

(fn)Flonglines-mode
Toggle Long Lines mode in this buffer.
With a prefix argument ARG, enable Long Lines mode if ARG is
positive, and disable it otherwise.  If called from Lisp, enable
the mode if ARG is omitted or nil.

When Long Lines mode is enabled, long lines are wrapped if they
extend beyond `fill-column'.  The soft newlines used for line
wrapping will not show up when the text is yanked or saved to
disk.

If the variable `longlines-auto-wrap' is non-nil, lines are
automatically wrapped whenever the buffer is changed.  You can
always call `fill-paragraph' to fill individual paragraphs.

If the variable `longlines-show-hard-newlines' is non-nil, hard
newlines are indicated with a symbol.

(fn &optional ARG)Vlpr-windows-system
Non-nil if running on MS-DOS or MS Windows.Vlpr-lp-system
Non-nil if running on a system type that uses the "lp" command.Vprinter-name
The name of a local printer to which data is sent for printing.
(Note that PostScript files are sent to `ps-printer-name', which see.)

On Unix-like systems, a string value should be a name understood by
lpr's -P option; otherwise the value should be nil.

On MS-DOS and MS-Windows systems, a string value is taken as the name of
a printer device or port, provided `lpr-command' is set to "".
Typical non-default settings would be "LPT1" to "LPT3" for parallel
printers, or "COM1" to "COM4" or "AUX" for serial printers, or
"//hostname/printer" for a shared network printer.  You can also set
it to the name of a file, in which case the output gets appended to that
file.  If you want to discard the printed output, set this to "NUL".Vlpr-switches
List of strings to pass as extra options for the printer program.
It is recommended to set `printer-name' instead of including an explicit
switch on this list.
See `lpr-command'.Vlpr-command
Name of program for printing a file.

On MS-DOS and MS-Windows systems, if the value is an empty string then
Emacs will write directly to the printer port named by `printer-name'.
The programs `print' and `nprint' (the standard print programs on
Windows NT and Novell Netware respectively) are handled specially, using
`printer-name' as the destination for output; any other program is
treated like `lpr' except that an explicit filename is given as the last
argument.Flpr-buffer
Print buffer contents without pagination or page headers.
See the variables `lpr-switches' and `lpr-command'
for customization of the printer command.

(fn)Fprint-buffer
Paginate and print buffer contents.

The variable `lpr-headers-switches' controls how to paginate.
If it is nil (the default), we run the `pr' program (or whatever program
`lpr-page-header-program' specifies) to paginate.
`lpr-page-header-switches' specifies the switches for that program.

Otherwise, the switches in `lpr-headers-switches' are used
in the print command itself; we expect them to request pagination.

See the variables `lpr-switches' and `lpr-command'
for further customization of the printer command.

(fn)Flpr-region
Print region contents without pagination or page headers.
See the variables `lpr-switches' and `lpr-command'
for customization of the printer command.

(fn START END)Fprint-region
Paginate and print the region contents.

The variable `lpr-headers-switches' controls how to paginate.
If it is nil (the default), we run the `pr' program (or whatever program
`lpr-page-header-program' specifies) to paginate.
`lpr-page-header-switches' specifies the switches for that program.

Otherwise, the switches in `lpr-headers-switches' are used
in the print command itself; we expect them to request pagination.

See the variables `lpr-switches' and `lpr-command'
for further customization of the printer command.

(fn START END)Vls-lisp-support-shell-wildcards
Non-nil means ls-lisp treats file patterns as shell wildcards.
Otherwise they are treated as Emacs regexps (for backward compatibility).Flunar-phases
Display the quarters of the moon for last month, this month, and next month.
If called with an optional prefix argument ARG, prompts for month and year.
This function is suitable for execution in an init file.

(fn &optional ARG)Fm4-mode
A major mode to edit m4 macro files.

(fn)Fname-last-kbd-macro
Assign a name to the last keyboard macro defined.
Argument SYMBOL is the name to define.
The symbol's function definition becomes the keyboard macro string.
Such a "function" cannot be called from Lisp, but it is a valid editor command.

(fn SYMBOL)Finsert-kbd-macro
Insert in buffer the definition of kbd macro NAME, as Lisp code.
Optional second arg KEYS means also record the keys it is on
(this is the prefix argument, when calling interactively).

This Lisp code will, when executed, define the kbd macro with the same
definition it has now.  If you say to record the keys, the Lisp code
will also rebind those keys to the macro.  Only global key bindings
are recorded since executing this Lisp code always makes global
bindings.

To save a kbd macro, visit a file of Lisp code such as your `~/.emacs',
use this command, and then save the file.

(fn MACRONAME &optional KEYS)Fkbd-macro-query
Query user during kbd macro execution.
  With prefix argument, enters recursive edit, reading keyboard
commands even within a kbd macro.  You can give different commands
each time the macro executes.
  Without prefix argument, asks whether to continue running the macro.
Your options are: \<query-replace-map>
\[act]	Finish this iteration normally and continue with the next.
\[skip]	Skip the rest of this iteration, and start the next.
\[exit]	Stop the macro entirely right now.
\[recenter]	Redisplay the screen, then ask again.
\[edit]	Enter recursive edit; ask again when you exit from that.

(fn FLAG)Fapply-macro-to-region-lines
Apply last keyboard macro to all lines in the region.
For each line that begins in the region, move to the beginning of
the line, and run the last keyboard macro.

When called from lisp, this function takes two arguments TOP and
BOTTOM, describing the current region.  TOP must be before BOTTOM.
The optional third argument MACRO specifies a keyboard macro to
execute.

This is useful for quoting or unquoting included text, adding and
removing comments, or producing tables where the entries are regular.

For example, in Usenet articles, sections of text quoted from another
author are indented, or have each line start with `>'.  To quote a
section of text, define a keyboard macro which inserts `>', put point
and mark at opposite ends of the quoted section, and use
`\[apply-macro-to-region-lines]' to mark the entire section.

Suppose you wanted to build a keyword table in C where each entry
looked like this:

    { "foo", foo_data, foo_function },
    { "bar", bar_data, bar_function },
    { "baz", baz_data, baz_function },

You could enter the names in this format:

    foo
    bar
    baz

and write a macro to massage a word into a table entry:

    \C-x (
       \M-d { "\C-y", \C-y_data, \C-y_function },
    \C-x )

and then select the region of un-tablified names and use
`\[apply-macro-to-region-lines]' to build the table from the names.

(fn TOP BOTTOM &optional MACRO)Fmail-extract-address-components
Given an RFC-822 address ADDRESS, extract full name and canonical address.
Returns a list of the form (FULL-NAME CANONICAL-ADDRESS).  If no
name can be extracted, FULL-NAME will be nil.  Also see
`mail-extr-ignore-single-names' and
`mail-extr-ignore-realname-equals-mailbox-name'.

If the optional argument ALL is non-nil, then ADDRESS can contain zero
or more recipients, separated by commas, and we return a list of
the form ((FULL-NAME CANONICAL-ADDRESS) ...) with one element for
each recipient.  If ALL is nil, then if ADDRESS contains more than
one recipients, all but the first is ignored.

ADDRESS may be a string or a buffer.  If it is a buffer, the visible
(narrowed) portion of the buffer will be interpreted as the address.
(This feature exists so that the clever caller might be able to avoid
consing a string.)

(fn ADDRESS &optional ALL)Fwhat-domain
Convert mail domain DOMAIN to the country it corresponds to.

(fn DOMAIN)Fmail-hist-define-keys
Define keys for accessing mail header history.  For use in hooks.

(fn)Fmail-hist-enable


(fn)Vmail-hist-keep-history
Non-nil means keep a history for headers and text of outgoing mail.Fmail-hist-put-headers-into-history
Put headers and contents of this message into mail header history.
Each header has its own independent history, as does the body of the
message.

This function normally would be called when the message is sent.

(fn)Vmail-use-rfc822
If non-nil, use a full, hairy RFC822 parser on mail addresses.
Otherwise, (the default) use a smaller, somewhat faster, and
often correct parser.Vmail-dont-reply-to-names
Regexp specifying addresses to prune from a reply message.
If this is nil, it is set the first time you compose a reply, to
a value which excludes your own email address.

Matching addresses are excluded from the CC field in replies, and
also the To field, unless this would leave an empty To field.Fmail-file-babyl-p
Return non-nil if FILE is a Babyl file.

(fn FILE)Fmail-quote-printable
Convert a string to the "quoted printable" Q encoding if necessary.
If the string contains only ASCII characters and no troublesome ones,
we return it unconverted.

If the optional argument WRAPPER is non-nil,
we add the wrapper characters =?ISO-8859-1?Q?....?=.

(fn STRING &optional WRAPPER)Fmail-quote-printable-region
Convert the region to the "quoted printable" Q encoding.
If the optional argument WRAPPER is non-nil,
we add the wrapper characters =?ISO-8859-1?Q?....?=.

(fn BEG END &optional WRAPPER)Fmail-unquote-printable
Undo the "quoted printable" encoding.
If the optional argument WRAPPER is non-nil,
we expect to find and remove the wrapper characters =?ISO-8859-1?Q?....?=.

(fn STRING &optional WRAPPER)Fmail-unquote-printable-region
Undo the "quoted printable" encoding in buffer from BEG to END.
If the optional argument WRAPPER is non-nil,
we expect to find and remove the wrapper characters =?ISO-8859-1?Q?....?=.
On encountering malformed quoted-printable text, exits with an error,
unless NOERROR is non-nil, in which case it continues, and returns nil
when finished.  Returns non-nil on successful completion.
If UNIBYTE is non-nil, insert converted characters as unibyte.
That is useful if you are going to character code decoding afterward,
as Rmail does.

(fn BEG END &optional WRAPPER NOERROR UNIBYTE)Fmail-fetch-field
Return the value of the header field whose type is FIELD-NAME.
If second arg LAST is non-nil, use the last field of type FIELD-NAME.
If third arg ALL is non-nil, concatenate all such fields with commas between.
If 4th arg LIST is non-nil, return a list of all such fields.
The buffer should be narrowed to just the header, else false
matches may be returned from the message body.

(fn FIELD-NAME &optional LAST ALL LIST)Vmail-abbrevs-mode
Non-nil if Mail-Abbrevs mode is enabled.
See the command `mail-abbrevs-mode' for a description of this minor mode.
Setting this variable directly does not take effect;
either customize it (see the info node `Easy Customization')
or call the function `mail-abbrevs-mode'.Fmail-abbrevs-mode
Toggle abbrev expansion of mail aliases (Mail Abbrevs mode).
With a prefix argument ARG, enable Mail Abbrevs mode if ARG is
positive, and disable it otherwise.  If called from Lisp, enable
the mode if ARG is omitted or nil.

Mail Abbrevs mode is a global minor mode.  When enabled,
abbrev-like expansion is performed when editing certain mail
headers (those specified by `mail-abbrev-mode-regexp'), based on
the entries in your `mail-personal-alias-file'.

(fn &optional ARG)Fmail-abbrevs-setup
Initialize use of the `mailabbrev' package.

(fn)Fbuild-mail-abbrevs
Read mail aliases from personal mail alias file and set `mail-abbrevs'.
By default this is the file specified by `mail-personal-alias-file'.

(fn &optional FILE RECURSIVEP)Fdefine-mail-abbrev
Define NAME as a mail alias abbrev that translates to DEFINITION.
If DEFINITION contains multiple addresses, separate them with commas.

Optional argument FROM-MAILRC-FILE means that DEFINITION comes
from a mailrc file.  In that case, addresses are separated with
spaces and addresses with embedded spaces are surrounded by
double-quotes.

(fn NAME DEFINITION &optional FROM-MAILRC-FILE)Vmail-complete-style
Specifies how \[mail-complete] formats the full name when it completes.
If `nil', they contain just the return address like:
	king@grassland.com
If `parens', they look like:
	king@grassland.com (Elvis Parsley)
If `angles', they look like:
	Elvis Parsley <king@grassland.com>Fexpand-mail-aliases
Expand all mail aliases in suitable header fields found between BEG and END.
If interactive, expand in header fields.
Suitable header fields are `To', `From', `CC' and `BCC', `Reply-to', and
their `Resent-' variants.

Optional second arg EXCLUDE may be a regular expression defining text to be
removed from alias expansions.

(fn BEG END &optional EXCLUDE)Fdefine-mail-alias
Define NAME as a mail alias that translates to DEFINITION.
This means that sending a message to NAME will actually send to DEFINITION.

Normally, the addresses in DEFINITION must be separated by commas.
If FROM-MAILRC-FILE is non-nil, then addresses in DEFINITION
can be separated by spaces; an address can contain spaces
if it is quoted with double-quotes.

(fn NAME DEFINITION &optional FROM-MAILRC-FILE)Fmail-completion-at-point-function
Compute completion data for mail aliases.
For use on `completion-at-point-functions'.

(fn)Fmail-complete
Perform completion on header field or word preceding point.
Completable headers are according to `mail-complete-alist'.  If none matches
current header, calls `mail-complete-function' and passes prefix ARG if any.

(fn ARG)Fmailclient-send-it
Pass current buffer on to the system's mail client.
Suitable value for `send-mail-function'.
The mail client is taken to be the handler of mailto URLs.

(fn)Fmakefile-mode
Major mode for editing standard Makefiles.

If you are editing a file for a different make, try one of the
variants `makefile-automake-mode', `makefile-gmake-mode',
`makefile-makepp-mode', `makefile-bsdmake-mode' or,
`makefile-imake-mode'.  All but the last should be correctly
chosen based on the file name, except if it is *.mk.  This
function ends by invoking the function(s) `makefile-mode-hook'.

It is strongly recommended to use `font-lock-mode', because that
provides additional parsing information.  This is used for
example to see that a rule action `echo foo: bar' is a not rule
dependency, despite the colon.

\{makefile-mode-map}

In the browser, use the following keys:

\{makefile-browser-map}

Makefile mode can be configured by modifying the following variables:

`makefile-browser-buffer-name':
    Name of the macro- and target browser buffer.

`makefile-target-colon':
    The string that gets appended to all target names
    inserted by `makefile-insert-target'.
    ":" or "::" are quite common values.

`makefile-macro-assign':
   The string that gets appended to all macro names
   inserted by `makefile-insert-macro'.
   The normal value should be " = ", since this is what
   standard make expects.  However, newer makes such as dmake
   allow a larger variety of different macro assignments, so you
   might prefer to use " += " or " := " .

`makefile-tab-after-target-colon':
   If you want a TAB (instead of a space) to be appended after the
   target colon, then set this to a non-nil value.

`makefile-browser-leftmost-column':
   Number of blanks to the left of the browser selection mark.

`makefile-browser-cursor-column':
   Column in which the cursor is positioned when it moves
   up or down in the browser.

`makefile-browser-selected-mark':
   String used to mark selected entries in the browser.

`makefile-browser-unselected-mark':
   String used to mark unselected entries in the browser.

`makefile-browser-auto-advance-after-selection-p':
   If this variable is set to a non-nil value the cursor
   will automagically advance to the next line after an item
   has been selected in the browser.

`makefile-pickup-everything-picks-up-filenames-p':
   If this variable is set to a non-nil value then
   `makefile-pickup-everything' also picks up filenames as targets
   (i.e. it calls `makefile-pickup-filenames-as-targets'), otherwise
   filenames are omitted.

`makefile-cleanup-continuations':
   If this variable is set to a non-nil value then Makefile mode
   will assure that no line in the file ends with a backslash
   (the continuation character) followed by any whitespace.
   This is done by silently removing the trailing whitespace, leaving
   the backslash itself intact.
   IMPORTANT: Please note that enabling this option causes Makefile mode
   to MODIFY A FILE WITHOUT YOUR CONFIRMATION when "it seems necessary".

`makefile-browser-hook':
   A function or list of functions to be called just before the
   browser is entered. This is executed in the makefile buffer.

`makefile-special-targets-list':
   List of special targets. You will be offered to complete
   on one of those in the minibuffer whenever you enter a `.'.
   at the beginning of a line in Makefile mode.

(fn)Fmakefile-automake-mode
An adapted `makefile-mode' that knows about automake.

(fn)Fmakefile-gmake-mode
An adapted `makefile-mode' that knows about gmake.

(fn)Fmakefile-makepp-mode
An adapted `makefile-mode' that knows about makepp.

(fn)Fmakefile-bsdmake-mode
An adapted `makefile-mode' that knows about BSD make.

(fn)Fmakefile-imake-mode
An adapted `makefile-mode' that knows about imake.

(fn)Fmake-command-summary
Make a summary of current key bindings in the buffer *Summary*.
Previous contents of that buffer are killed first.

(fn)Fman
Get a Un*x manual page and put it in a buffer.
This command is the top-level command in the man package.  It
runs a Un*x command to retrieve and clean a manpage in the
background and places the results in a `Man-mode' browsing
buffer.  See variable `Man-notify-method' for what happens when
the buffer is ready.  If a buffer already exists for this man
page, it will display immediately.

For a manpage from a particular section, use either of the
following.  "cat(1)" is how cross-references appear and is
passed to man as "1 cat".

    cat(1)
    1 cat

To see manpages from all sections related to a subject, use an
"all pages" option (which might be "-a" if it's not the
default), then step through with `Man-next-manpage' (\<Man-mode-map>\[Man-next-manpage]) etc.
Add to `Man-switches' to make this option permanent.

    -a chmod

An explicit filename can be given too.  Use -l if it might
otherwise look like a page name.

    /my/file/name.1.gz
    -l somefile.1

An "apropos" query with -k gives a buffer of matching page
names or descriptions.  The pattern argument is usually an
"egrep" style regexp.

    -k pattern

(fn MAN-ARGS)Fman-follow
Get a Un*x manual page of the item under point and put it in a buffer.

(fn MAN-ARGS)FMan-bookmark-jump
Default bookmark handler for Man buffers.

(fn BOOKMARK)Fmaster-mode
Toggle Master mode.
With a prefix argument ARG, enable Master mode if ARG is
positive, and disable it otherwise.  If called from Lisp, enable
the mode if ARG is omitted or nil.

When Master mode is enabled, you can scroll the slave buffer
using the following commands:

\{master-mode-map}

The slave buffer is stored in the buffer-local variable `master-of'.
You can set this variable using `master-set-slave'.  You can show
yourself the value of `master-of' by calling `master-show-slave'.

(fn &optional ARG)Vminibuffer-depth-indicate-mode
Non-nil if Minibuffer-Depth-Indicate mode is enabled.
See the command `minibuffer-depth-indicate-mode' for a description of this minor mode.
Setting this variable directly does not take effect;
either customize it (see the info node `Easy Customization')
or call the function `minibuffer-depth-indicate-mode'.Fminibuffer-depth-indicate-mode
Toggle Minibuffer Depth Indication mode.
With a prefix argument ARG, enable Minibuffer Depth Indication
mode if ARG is positive, and disable it otherwise.  If called
from Lisp, enable the mode if ARG is omitted or nil.

Minibuffer Depth Indication mode is a global minor mode.  When
enabled, any recursive use of the minibuffer will show the
recursion depth in the minibuffer prompt.  This is only useful if
`enable-recursive-minibuffers' is non-nil.

(fn &optional ARG)Fmessage-mode
Major mode for editing mail and news to be sent.
Like Text Mode but with these additional commands:\<message-mode-map>
C-c C-s  `message-send' (send the message)  C-c C-c  `message-send-and-exit'
C-c C-d  Postpone sending the message       C-c C-k  Kill the message
C-c C-f  move to a header field (and create it if there isn't):
	 C-c C-f C-t  move to To	C-c C-f C-s  move to Subject
	 C-c C-f C-c  move to Cc	C-c C-f C-b  move to Bcc
	 C-c C-f C-w  move to Fcc	C-c C-f C-r  move to Reply-To
	 C-c C-f C-u  move to Summary	C-c C-f C-n  move to Newsgroups
	 C-c C-f C-k  move to Keywords	C-c C-f C-d  move to Distribution
	 C-c C-f C-o  move to From ("Originator")
	 C-c C-f C-f  move to Followup-To
	 C-c C-f C-m  move to Mail-Followup-To
	 C-c C-f C-e  move to Expires
	 C-c C-f C-i  cycle through Importance values
	 C-c C-f s    change subject and append "(was: <Old Subject>)"
	 C-c C-f x    crossposting with FollowUp-To header and note in body
	 C-c C-f t    replace To: header with contents of Cc: or Bcc:
	 C-c C-f a    Insert X-No-Archive: header and a note in the body
C-c C-t  `message-insert-to' (add a To header to a news followup)
C-c C-l  `message-to-list-only' (removes all but list address in to/cc)
C-c C-n  `message-insert-newsgroups' (add a Newsgroup header to a news reply)
C-c C-b  `message-goto-body' (move to beginning of message text).
C-c C-i  `message-goto-signature' (move to the beginning of the signature).
C-c C-w  `message-insert-signature' (insert `message-signature-file' file).
C-c C-y  `message-yank-original' (insert current message, if any).
C-c C-q  `message-fill-yanked-message' (fill what was yanked).
C-c C-e  `message-elide-region' (elide the text between point and mark).
C-c C-v  `message-delete-not-region' (remove the text outside the region).
C-c C-z  `message-kill-to-signature' (kill the text up to the signature).
C-c C-r  `message-caesar-buffer-body' (rot13 the message body).
C-c C-a  `mml-attach-file' (attach a file as MIME).
C-c C-u  `message-insert-or-toggle-importance'  (insert or cycle importance).
C-c M-n  `message-insert-disposition-notification-to'  (request receipt).
C-c M-m  `message-mark-inserted-region' (mark region with enclosing tags).
C-c M-f  `message-mark-insert-file' (insert file marked with enclosing tags).
M-RET    `message-newline-and-reformat' (break the line and reformat).

(fn)Fmessage-mail
Start editing a mail message to be sent.
OTHER-HEADERS is an alist of header/value pairs.  CONTINUE says whether
to continue editing a message already being composed.  SWITCH-FUNCTION
is a function used to switch to and display the mail buffer.

(fn &optional TO SUBJECT OTHER-HEADERS CONTINUE SWITCH-FUNCTION YANK-ACTION SEND-ACTIONS RETURN-ACTION &rest IGNORED)Fmessage-news
Start editing a news article to be sent.

(fn &optional NEWSGROUPS SUBJECT)Fmessage-reply
Start editing a reply to the article in the current buffer.

(fn &optional TO-ADDRESS WIDE SWITCH-FUNCTION)Fmessage-wide-reply
Make a "wide" reply to the message in the current buffer.

(fn &optional TO-ADDRESS)Fmessage-followup
Follow up to the message in the current buffer.
If TO-NEWSGROUPS, use that as the new Newsgroups line.

(fn &optional TO-NEWSGROUPS)Fmessage-cancel-news
Cancel an article you posted.
If ARG, allow editing of the cancellation message.

(fn &optional ARG)Fmessage-supersede
Start composing a message to supersede the current message.
This is done simply by taking the old article and adding a Supersedes
header line with the old Message-ID.

(fn)Fmessage-recover
Reread contents of current buffer from its last auto-save file.

(fn)Fmessage-forward
Forward the current message via mail.
Optional NEWS will use news to forward instead of mail.
Optional DIGEST will use digest to forward.

(fn &optional NEWS DIGEST)Fmessage-forward-make-body


(fn FORWARD-BUFFER &optional DIGEST)Fmessage-forward-rmail-make-body


(fn FORWARD-BUFFER)Fmessage-insinuate-rmail
Let RMAIL use message to forward.

(fn)Fmessage-resend
Resend the current article to ADDRESS.

(fn ADDRESS)Fmessage-bounce
Re-mail the current message.
This only makes sense if the current message is a bounce message that
contains some mail you have written which has been bounced back to
you.

(fn)Fmessage-mail-other-window
Like `message-mail' command, but display mail buffer in another window.

(fn &optional TO SUBJECT)Fmessage-mail-other-frame
Like `message-mail' command, but display mail buffer in another frame.

(fn &optional TO SUBJECT)Fmessage-news-other-window
Start editing a news article to be sent.

(fn &optional NEWSGROUPS SUBJECT)Fmessage-news-other-frame
Start editing a news article to be sent.

(fn &optional NEWSGROUPS SUBJECT)Fmessage-bold-region
Bold all nonblank characters in the region.
Works by overstriking characters.
Called from program, takes two arguments START and END
which specify the range to operate on.

(fn START END)Fmessage-unbold-region
Remove all boldness (overstruck characters) in the region.
Called from program, takes two arguments START and END
which specify the range to operate on.

(fn START END)Fmetafont-mode
Major mode for editing Metafont sources.

(fn)Fmetapost-mode
Major mode for editing MetaPost sources.

(fn)Fmetamail-interpret-header
Interpret a header part of a MIME message in current buffer.
Its body part is not interpreted at all.

(fn)Fmetamail-interpret-body
Interpret a body part of a MIME message in current buffer.
Optional argument VIEWMODE specifies the value of the
EMACS_VIEW_MODE environment variable (defaulted to 1).
Optional argument NODISPLAY non-nil means buffer is not
redisplayed as output is inserted.
Its header part is not interpreted at all.

(fn &optional VIEWMODE NODISPLAY)Fmetamail-buffer
Process current buffer through `metamail'.
Optional argument VIEWMODE specifies the value of the
EMACS_VIEW_MODE environment variable (defaulted to 1).
Optional argument BUFFER specifies a buffer to be filled (nil
means current).
Optional argument NODISPLAY non-nil means buffer is not
redisplayed as output is inserted.

(fn &optional VIEWMODE BUFFER NODISPLAY)Fmetamail-region
Process current region through 'metamail'.
Optional argument VIEWMODE specifies the value of the
EMACS_VIEW_MODE environment variable (defaulted to 1).
Optional argument BUFFER specifies a buffer to be filled (nil
means current).
Optional argument NODISPLAY non-nil means buffer is not
redisplayed as output is inserted.

(fn BEG END &optional VIEWMODE BUFFER NODISPLAY)Fmh-smail
Compose a message with the MH mail system.
See `mh-send' for more details on composing mail.

(fn)Fmh-smail-other-window
Compose a message with the MH mail system in other window.
See `mh-send' for more details on composing mail.

(fn)Fmh-smail-batch
Compose a message with the MH mail system.

This function does not prompt the user for any header fields, and
thus is suitable for use by programs that want to create a mail
buffer. Users should use \[mh-smail] to compose mail.

Optional arguments for setting certain fields include TO,
SUBJECT, and OTHER-HEADERS. Additional arguments are IGNORED.

This function remains for Emacs 21 compatibility. New
applications should use `mh-user-agent-compose'.

(fn &optional TO SUBJECT OTHER-HEADERS &rest IGNORED)Fmh-user-agent-compose
Set up mail composition draft with the MH mail system.
This is the `mail-user-agent' entry point to MH-E. This function
conforms to the contract specified by `define-mail-user-agent'
which means that this function should accept the same arguments
as `compose-mail'.

The optional arguments TO and SUBJECT specify recipients and the
initial Subject field, respectively.

OTHER-HEADERS is an alist specifying additional header fields.
Elements look like (HEADER . VALUE) where both HEADER and VALUE
are strings.

CONTINUE, SWITCH-FUNCTION, YANK-ACTION, SEND-ACTIONS, and
RETURN-ACTION and any additional arguments are IGNORED.

(fn &optional TO SUBJECT OTHER-HEADERS CONTINUE SWITCH-FUNCTION YANK-ACTION SEND-ACTIONS RETURN-ACTION &rest IGNORED)Fmh-send-letter
Save draft and send message.

When you are all through editing a message, you send it with this
command. You can give a prefix argument ARG to monitor the first stage
of the delivery; this output can be found in a buffer called "*MH-E
Mail Delivery*".

The hook `mh-before-send-letter-hook' is run at the beginning of
this command. For example, if you want to check your spelling in
your message before sending, add the function `ispell-message'.

Unless `mh-insert-auto-fields' had previously been called
manually, the function `mh-insert-auto-fields' is called to
insert fields based upon the recipients. If fields are added, you
are given a chance to see and to confirm these fields before the
message is actually sent. You can do away with this confirmation
by turning off the option `mh-auto-fields-prompt-flag'.

In case the MH "send" program is installed under a different name,
use `mh-send-prog' to tell MH-E the name.

The hook `mh-annotate-msg-hook' is run after annotating the
message and scan line.

(fn &optional ARG)Fmh-fully-kill-draft
Quit editing and delete draft message.

If for some reason you are not happy with the draft, you can use
this command to kill the draft buffer and delete the draft
message. Use the command \[kill-buffer] if you don't want to
delete the draft message.

(fn)Fmh-version
Display version information about MH-E and the MH mail handling system.

(fn)Fmh-rmail
Incorporate new mail with MH.
Scan an MH folder if ARG is non-nil.

This function is an entry point to MH-E, the Emacs interface to
the MH mail system.

(fn &optional ARG)Fmh-nmail
Check for new mail in inbox folder.
Scan an MH folder if ARG is non-nil.

This function is an entry point to MH-E, the Emacs interface to
the MH mail system.

(fn &optional ARG)Fmh-folder-mode
Major MH-E mode for "editing" an MH folder scan listing.\<mh-folder-mode-map>

You can show the message the cursor is pointing to, and step through
the messages. Messages can be marked for deletion or refiling into
another folder; these commands are executed all at once with a
separate command.

Options that control this mode can be changed with
\[customize-group]; specify the "mh" group. In particular, please
see the `mh-scan-format-file' option if you wish to modify scan's
format.

When a folder is visited, the hook `mh-folder-mode-hook' is run.

Ranges
======
Many commands that operate on individual messages, such as
`mh-forward' or `mh-refile-msg' take a RANGE argument. This argument
can be used in several ways.

If you provide the prefix argument (\[universal-argument]) to
these commands, then you will be prompted for the message range.
This can be any valid MH range which can include messages,
sequences, and the abbreviations (described in the mh(1) man
page):

<num1>-<num2>
    Indicates all messages in the range <num1> to <num2>, inclusive.
    The range must be nonempty.

<num>:N
<num>:+N
<num>:-N
    Up to N messages beginning with (or ending with) message num. Num
    may be any of the predefined symbols: first, prev, cur, next or
    last.

first:N
prev:N
next:N
last:N
    The first, previous, next or last messages, if they exist.

all
    All of the messages.

For example, a range that shows all of these things is `1 2 3
5-10 last:5 unseen'.

If the option `transient-mark-mode' is set to t and you set a
region in the MH-Folder buffer, then the MH-E command will
perform the operation on all messages in that region.

\{mh-folder-mode-map}

(fn)Fclean-buffer-list
Kill old buffers that have not been displayed recently.
The relevant variables are `clean-buffer-list-delay-general',
`clean-buffer-list-delay-special', `clean-buffer-list-kill-buffer-names',
`clean-buffer-list-kill-never-buffer-names',
`clean-buffer-list-kill-regexps' and
`clean-buffer-list-kill-never-regexps'.
While processing buffers, this procedure displays messages containing
the current date/time, buffer name, how many seconds ago it was
displayed (can be nil if the buffer was never displayed) and its
lifetime, i.e., its "age" when it will be purged.

(fn)Fmidnight-delay-set
Modify `midnight-timer' according to `midnight-delay'.
Sets the first argument SYMB (which must be symbol `midnight-delay')
to its second argument TM.

(fn SYMB TM)Vminibuffer-electric-default-mode
Non-nil if Minibuffer-Electric-Default mode is enabled.
See the command `minibuffer-electric-default-mode' for a description of this minor mode.
Setting this variable directly does not take effect;
either customize it (see the info node `Easy Customization')
or call the function `minibuffer-electric-default-mode'.Fminibuffer-electric-default-mode
Toggle Minibuffer Electric Default mode.
With a prefix argument ARG, enable Minibuffer Electric Default
mode if ARG is positive, and disable it otherwise.  If called
from Lisp, enable the mode if ARG is omitted or nil.

Minibuffer Electric Default mode is a global minor mode.  When
enabled, minibuffer prompts that show a default value only show
the default when it's applicable -- that is, when hitting RET
would yield the default value.  If the user modifies the input
such that hitting RET would enter a non-default value, the prompt
is modified to remove the default indication.

(fn &optional ARG)Fbutterfly
Use butterflies to flip the desired bit on the drive platter.
Open hands and let the delicate wings flap once.  The disturbance
ripples outward, changing the flow of the eddy currents in the
upper atmosphere.  These cause momentary pockets of higher-pressure
air to form, which act as lenses that deflect incoming cosmic rays,
focusing them to strike the drive platter and flip the desired bit.
You can type `M-x butterfly C-M-c' to run it.  This is a permuted
variation of `C-x M-c M-butterfly' from url `http://xkcd.com/378/'.

(fn)Flist-dynamic-libraries
Display a list of all dynamic libraries known to Emacs.
(These are the libraries listed in `dynamic-library-alist'.)
If optional argument LOADED-ONLY-P (interactively, prefix arg)
is non-nil, only libraries already loaded are listed.
Optional argument BUFFER specifies a buffer to use, instead of
"*Dynamic Libraries*".
The return value is always nil.

(fn &optional LOADED-ONLY-P BUFFER)Vmulti-isearch-next-buffer-function
Function to call to get the next buffer to search.

When this variable is set to a function that returns a buffer, then
after typing another \[isearch-forward] or \[isearch-backward] at a failing search, the search goes
to the next buffer in the series and continues searching for the
next occurrence.

This function should return the next buffer (it doesn't need to switch
to it), or nil if it can't find the next buffer (when it reaches the
end of the search space).

The first argument of this function is the current buffer where the
search is currently searching.  It defines the base buffer relative to
which this function should find the next buffer.  When the isearch
direction is backward (when `isearch-forward' is nil), this function
should return the previous buffer to search.

If the second argument of this function WRAP is non-nil, then it
should return the first buffer in the series; and for the backward
search, it should return the last buffer in the series.Vmulti-isearch-next-buffer-current-function
The currently active function to get the next buffer to search.
Initialized from `multi-isearch-next-buffer-function' when
Isearch starts.Vmulti-isearch-current-buffer
The buffer where the search is currently searching.
The value is nil when the search still is in the initial buffer.Fmulti-isearch-setup
Set up isearch to search multiple buffers.
Intended to be added to `isearch-mode-hook'.

(fn)Fmulti-isearch-buffers
Start multi-buffer Isearch on a list of BUFFERS.
This list can contain live buffers or their names.
Interactively read buffer names to search, one by one, ended with RET.
With a prefix argument, ask for a regexp, and search in buffers
whose names match the specified regexp.

(fn BUFFERS)Fmulti-isearch-buffers-regexp
Start multi-buffer regexp Isearch on a list of BUFFERS.
This list can contain live buffers or their names.
Interactively read buffer names to search, one by one, ended with RET.
With a prefix argument, ask for a regexp, and search in buffers
whose names match the specified regexp.

(fn BUFFERS)Fmulti-isearch-files
Start multi-buffer Isearch on a list of FILES.
Relative file names in this list are expanded to absolute
file names using the current buffer's value of `default-directory'.
Interactively read file names to search, one by one, ended with RET.
With a prefix argument, ask for a wildcard, and search in file buffers
whose file names match the specified wildcard.

(fn FILES)Fmulti-isearch-files-regexp
Start multi-buffer regexp Isearch on a list of FILES.
Relative file names in this list are expanded to absolute
file names using the current buffer's value of `default-directory'.
Interactively read file names to search, one by one, ended with RET.
With a prefix argument, ask for a wildcard, and search in file buffers
whose file names match the specified wildcard.

(fn FILES)Fmixal-mode
Major mode for the mixal asm language.

(fn)Fmm-default-file-encoding
Return a default encoding for FILE.

(fn FILE)Fmm-extern-cache-contents
Put the external-body part of HANDLE into its cache.

(fn HANDLE)Fmm-inline-external-body
Show the external-body part of HANDLE.
This function replaces the buffer of HANDLE with a buffer contains
the entire message.
If NO-DISPLAY is nil, display it. Otherwise, do nothing after replacing.

(fn HANDLE &optional NO-DISPLAY)Fmm-inline-partial
Show the partial part of HANDLE.
This function replaces the buffer of HANDLE with a buffer contains
the entire message.
If NO-DISPLAY is nil, display it. Otherwise, do nothing after replacing.

(fn HANDLE &optional NO-DISPLAY)Fmm-url-insert-file-contents
Insert file contents of URL.
If `mm-url-use-external' is non-nil, use `mm-url-program'.

(fn URL)Fmm-url-insert-file-contents-external
Insert file contents of URL using `mm-url-program'.

(fn URL)Fmm-uu-dissect
Dissect the current buffer and return a list of uu handles.
The optional NOHEADER means there's no header in the buffer.
MIME-TYPE specifies a MIME type and parameters, which defaults to the
value of `mm-uu-text-plain-type'.

(fn &optional NOHEADER MIME-TYPE)Fmm-uu-dissect-text-parts
Dissect text parts and put uu handles into HANDLE.
Assume text has been decoded if DECODED is non-nil.

(fn HANDLE &optional DECODED)Fmml-to-mime
Translate the current buffer from MML to MIME.

(fn)Fmml-attach-file
Attach a file to the outgoing MIME message.
The file is not inserted or encoded until you send the message with
`\[message-send-and-exit]' or `\[message-send]' in Message mode,
or `\[mail-send-and-exit]' or `\[mail-send]' in Mail mode.

FILE is the name of the file to attach.  TYPE is its
content-type, a string of the form "type/subtype".  DESCRIPTION
is a one-line description of the attachment.  The DISPOSITION
specifies how the attachment is intended to be displayed.  It can
be either "inline" (displayed automatically within the message
body) or "attachment" (separate from the body).

(fn FILE &optional TYPE DESCRIPTION DISPOSITION)Fmml1991-encrypt


(fn CONT &optional SIGN)Fmml1991-sign


(fn CONT)Fmml2015-decrypt


(fn HANDLE CTL)Fmml2015-decrypt-test


(fn HANDLE CTL)Fmml2015-verify


(fn HANDLE CTL)Fmml2015-verify-test


(fn HANDLE CTL)Fmml2015-encrypt


(fn CONT &optional SIGN)Fmml2015-sign


(fn CONT)Fmml2015-self-encrypt


(fn)Fm2-mode
This is a mode intended to support program development in Modula-2.
All control constructs of Modula-2 can be reached by typing C-c
followed by the first character of the construct.
\<m2-mode-map>
  \[m2-begin] begin         \[m2-case] case
  \[m2-definition] definition    \[m2-else] else
  \[m2-for] for           \[m2-header] header
  \[m2-if] if            \[m2-module] module
  \[m2-loop] loop          \[m2-or] or
  \[m2-procedure] procedure     Control-c Control-w with
  \[m2-record] record        \[m2-stdio] stdio
  \[m2-type] type          \[m2-until] until
  \[m2-var] var           \[m2-while] while
  \[m2-export] export        \[m2-import] import
  \[m2-begin-comment] begin-comment \[m2-end-comment] end-comment
  \[suspend-emacs] suspend Emacs     \[m2-toggle] toggle
  \[m2-compile] compile           \[m2-next-error] next-error
  \[m2-link] link

   `m2-indent' controls the number of spaces for each indentation.
   `m2-compile-command' holds the command to compile a Modula-2 program.
   `m2-link-command' holds the command to link a Modula-2 program.

(fn)Fmorse-region
Convert all text in a given region to morse code.

(fn BEG END)Funmorse-region
Convert morse coded text in region to ordinary ASCII text.

(fn BEG END)Fnato-region
Convert all text in a given region to NATO phonetic alphabet.

(fn BEG END)Fdenato-region
Convert NATO phonetic alphabet in region to ordinary ASCII text.

(fn BEG END)Fmouse-drag-throw
"Throw" the page according to a mouse drag.

A "throw" is scrolling the page at a speed relative to the distance
from the original mouse click to the current mouse location.  Try it;
you'll like it.  It's easier to observe than to explain.

If the mouse is clicked and released in the same place of time we
assume that the user didn't want to scroll but wanted to whatever
mouse-2 used to do, so we pass it through.

Throw scrolling was inspired (but is not identical to) the "hand"
option in MacPaint, or the middle button in Tk text widgets.

If `mouse-throw-with-scroll-bar' is non-nil, then this command scrolls
in the opposite direction.  (Different people have different ideas
about which direction is natural.  Perhaps it has to do with which
hemisphere you're in.)

To test this function, evaluate:
    (global-set-key [down-mouse-2] 'mouse-drag-throw)

(fn START-EVENT)Fmouse-drag-drag
"Drag" the page according to a mouse drag.

Drag scrolling moves the page according to the movement of the mouse.
You "grab" the character under the mouse and move it around.

If the mouse is clicked and released in the same place of time we
assume that the user didn't want to scroll but wanted to whatever
mouse-2 used to do, so we pass it through.

Drag scrolling is identical to the "hand" option in MacPaint, or the
middle button in Tk text widgets.

To test this function, evaluate:
    (global-set-key [down-mouse-2] 'mouse-drag-drag)

(fn START-EVENT)Fmpc
Main entry point for MPC.

(fn)Fmpuz
Multiplication puzzle with GNU Emacs.

(fn)Vmsb-mode
Non-nil if Msb mode is enabled.
See the command `msb-mode' for a description of this minor mode.
Setting this variable directly does not take effect;
either customize it (see the info node `Easy Customization')
or call the function `msb-mode'.Fmsb-mode
Toggle Msb mode.
With a prefix argument ARG, enable Msb mode if ARG is positive,
and disable it otherwise.  If called from Lisp, enable the mode
if ARG is omitted or nil.

This mode overrides the binding(s) of `mouse-buffer-menu' to provide a
different buffer menu using the function `msb'.

(fn &optional ARG)Flist-character-sets
Display a list of all character sets.

The D column contains the dimension of this character set.  The CH
column contains the number of characters in a block of this character
set.  The FINAL-BYTE column contains an ISO-2022 <final-byte> to use
in the designation escape sequence for this character set in
ISO-2022-based coding systems.

With prefix ARG, the output format gets more cryptic,
but still shows the full information.

(fn ARG)Fread-charset
Read a character set from the minibuffer, prompting with string PROMPT.
It must be an Emacs character set listed in the variable `charset-list'.

Optional arguments are DEFAULT-VALUE and INITIAL-INPUT.
DEFAULT-VALUE, if non-nil, is the default value.
INITIAL-INPUT, if non-nil, is a string inserted in the minibuffer initially.
See the documentation of the function `completing-read' for the detailed
meanings of these arguments.

(fn PROMPT &optional DEFAULT-VALUE INITIAL-INPUT)Flist-charset-chars
Display a list of characters in character set CHARSET.

(fn CHARSET)Fdescribe-character-set
Display information about built-in character set CHARSET.

(fn CHARSET)Fdescribe-coding-system
Display information about CODING-SYSTEM.

(fn CODING-SYSTEM)Fdescribe-current-coding-system-briefly
Display coding systems currently used in a brief format in echo area.

The format is "F[..],K[..],T[..],P>[..],P<[..], default F[..],P<[..],P<[..]",
where mnemonics of the following coding systems come in this order
in place of `..':
  `buffer-file-coding-system' (of the current buffer)
  eol-type of `buffer-file-coding-system' (of the current buffer)
  Value returned by `keyboard-coding-system'
  eol-type of `keyboard-coding-system'
  Value returned by `terminal-coding-system'.
  eol-type of `terminal-coding-system'
  `process-coding-system' for read (of the current buffer, if any)
  eol-type of `process-coding-system' for read (of the current buffer, if any)
  `process-coding-system' for write (of the current buffer, if any)
  eol-type of `process-coding-system' for write (of the current buffer, if any)
  default `buffer-file-coding-system'
  eol-type of default `buffer-file-coding-system'
  `default-process-coding-system' for read
  eol-type of `default-process-coding-system' for read
  `default-process-coding-system' for write
  eol-type of `default-process-coding-system'

(fn)Fdescribe-current-coding-system
Display coding systems currently used, in detail.

(fn)Flist-coding-systems
Display a list of all coding systems.
This shows the mnemonic letter, name, and description of each coding system.

With prefix ARG, the output format gets more cryptic,
but still contains full information about each coding system.

(fn &optional ARG)Flist-coding-categories
Display a list of all coding categories.

(fn)Fdescribe-font
Display information about a font whose name is FONTNAME.
The font must be already used by Emacs.

(fn FONTNAME)Fdescribe-fontset
Display information about FONTSET.
This shows which font is used for which character(s).

(fn FONTSET)Flist-fontsets
Display a list of all fontsets.
This shows the name, size, and style of each fontset.
With prefix arg, also list the fonts contained in each fontset;
see the function `describe-fontset' for the format of the list.

(fn ARG)Flist-input-methods
Display information about all input methods.

(fn)Fmule-diag
Display diagnosis of the multilingual environment (Mule).

This shows various information related to the current multilingual
environment, including lists of input methods, coding systems,
character sets, and fontsets (if Emacs is running under a window
system which uses fontsets).

(fn)Ffont-show-log
Show log of font listing and opening.
Prefix arg LIMIT says how many fonts to show for each listing.
The default is 20.  If LIMIT is negative, do not limit the listing.

(fn &optional LIMIT)Fstring-to-list
Return a list of characters in STRING.Fstring-to-vector
Return a vector of characters in STRING.Fstore-substring
Embed OBJ (string or character) at index IDX of STRING.

(fn STRING IDX OBJ)Ftruncate-string-to-width
Truncate string STR to end at column END-COLUMN.
The optional 3rd arg START-COLUMN, if non-nil, specifies the starting
column; that means to return the characters occupying columns
START-COLUMN ... END-COLUMN of STR.  Both END-COLUMN and START-COLUMN
are specified in terms of character display width in the current
buffer; see also `char-width'.

The optional 4th arg PADDING, if non-nil, specifies a padding
character (which should have a display width of 1) to add at the end
of the result if STR doesn't reach column END-COLUMN, or if END-COLUMN
comes in the middle of a character in STR.  PADDING is also added at
the beginning of the result if column START-COLUMN appears in the
middle of a character in STR.

If PADDING is nil, no padding is added in these cases, so
the resulting string may be narrower than END-COLUMN.

If ELLIPSIS is non-nil, it should be a string which will replace the
end of STR (including any padding) if it extends beyond END-COLUMN,
unless the display width of STR is equal to or less than the display
width of ELLIPSIS.  If it is non-nil and not a string, then ELLIPSIS
defaults to "...".

(fn STR END-COLUMN &optional START-COLUMN PADDING ELLIPSIS)Fnested-alist-p
Return t if OBJ is a nested alist.

Nested alist is a list of the form (ENTRY . BRANCHES), where ENTRY is
any Lisp object, and BRANCHES is a list of cons cells of the form
(KEY-ELEMENT . NESTED-ALIST).

You can use a nested alist to store any Lisp object (ENTRY) for a key
sequence KEYSEQ, where KEYSEQ is a sequence of KEY-ELEMENT.  KEYSEQ
can be a string, a vector, or a list.Fset-nested-alist
Set ENTRY for KEYSEQ in a nested alist ALIST.
Optional 4th arg LEN non-nil means the first LEN elements in KEYSEQ
 are considered.
Optional 5th argument BRANCHES if non-nil is branches for a keyseq
longer than KEYSEQ.
See the documentation of `nested-alist-p' for more detail.

(fn KEYSEQ ENTRY ALIST &optional LEN BRANCHES)Flookup-nested-alist
Look up key sequence KEYSEQ in nested alist ALIST.  Return the definition.
Optional 3rd argument LEN specifies the length of KEYSEQ.
Optional 4th argument START specifies index of the starting key.
The returned value is normally a nested alist of which
car part is the entry for KEYSEQ.
If ALIST is not deep enough for KEYSEQ, return number which is
 how many key elements at the front of KEYSEQ it takes
 to reach a leaf in ALIST.
Optional 5th argument NIL-FOR-TOO-LONG non-nil means return nil
 even if ALIST is not deep enough.

(fn KEYSEQ ALIST &optional LEN START NIL-FOR-TOO-LONG)Fcoding-system-post-read-conversion
Return the value of CODING-SYSTEM's `post-read-conversion' property.

(fn CODING-SYSTEM)Fcoding-system-pre-write-conversion
Return the value of CODING-SYSTEM's `pre-write-conversion' property.

(fn CODING-SYSTEM)Fcoding-system-translation-table-for-decode
Return the value of CODING-SYSTEM's `decode-translation-table' property.

(fn CODING-SYSTEM)Fcoding-system-translation-table-for-encode
Return the value of CODING-SYSTEM's `encode-translation-table' property.

(fn CODING-SYSTEM)Fwith-coding-priority
Execute BODY like `progn' with CODING-SYSTEMS at the front of priority list.
CODING-SYSTEMS is a list of coding systems.  See `set-coding-system-priority'.
This affects the implicit sorting of lists of coding systems returned by
operations such as `find-coding-systems-region'.

(fn CODING-SYSTEMS &rest BODY)Fdetect-coding-with-priority
Detect a coding system of the text between FROM and TO with PRIORITY-LIST.
PRIORITY-LIST is an alist of coding categories vs the corresponding
coding systems ordered by priority.

(fn FROM TO PRIORITY-LIST)Fdetect-coding-with-language-environment
Detect a coding system for the text between FROM and TO with LANG-ENV.
The detection takes into account the coding system priorities for the
language environment LANG-ENV.

(fn FROM TO LANG-ENV)Fchar-displayable-p
Return non-nil if we should be able to display CHAR.
On a multi-font display, the test is only whether there is an
appropriate font from the selected frame's fontset to display
CHAR's charset in general.  Since fonts may be specified on a
per-character basis, this may not be accurate.

(fn CHAR)Fifconfig
Run ifconfig and display diagnostic output.

(fn)Fiwconfig
Run iwconfig and display diagnostic output.

(fn)Fnetstat
Run netstat and display diagnostic output.

(fn)Farp
Run arp and display diagnostic output.

(fn)Froute
Run route and display diagnostic output.

(fn)Ftraceroute
Run traceroute program for TARGET.

(fn TARGET)Fping
Ping HOST.
If your system's ping continues until interrupted, you can try setting
`ping-program-options'.

(fn HOST)Fnslookup-host
Lookup the DNS information for HOST.

(fn HOST)Fnslookup
Run nslookup program.

(fn)Fdns-lookup-host
Lookup the DNS information for HOST (name or IP address).

(fn HOST)Frun-dig
Run dig program.

(fn HOST)Fftp
Run ftp program.

(fn HOST)Ffinger
Finger USER on HOST.

(fn USER HOST)Fwhois
Send SEARCH-STRING to server defined by the `whois-server-name' variable.
If `whois-guess-server' is non-nil, then try to deduce the correct server
from SEARCH-STRING.  With argument, prompt for whois server.

(fn ARG SEARCH-STRING)Fwhois-reverse-lookup


(fn)Fnetwork-connection-to-service
Open a network connection to SERVICE on HOST.

(fn HOST SERVICE)Fnetwork-connection
Open a network connection to HOST on PORT.

(fn HOST PORT)Fnetrc-credentials
Return a user name/password pair.
Port specifications will be prioritized in the order they are
listed in the PORTS list.

(fn MACHINE &rest PORTS)Fopen-network-stream
Open a TCP connection to HOST, optionally with encryption.
Normally, return a network process object; with a non-nil
:return-list parameter, return a list instead (see below).
Input and output work as for subprocesses; `delete-process'
closes it.

NAME is the name for the process.  It is modified if necessary to
 make it unique.
BUFFER is a buffer or buffer name to associate with the process.
 Process output goes at end of that buffer.  BUFFER may be nil,
 meaning that the process is not associated with any buffer.
HOST is the name or IP address of the host to connect to.
SERVICE is the name of the service desired, or an integer specifying
 a port number to connect to.

The remaining PARAMETERS should be a sequence of keywords and
values:

:type specifies the connection type, one of the following:
  nil or `network'
             -- Begin with an ordinary network connection, and if
                the parameters :success and :capability-command
                are also supplied, try to upgrade to an encrypted
                connection via STARTTLS.  Even if that
                fails (e.g. if HOST does not support TLS), retain
                an unencrypted connection.
  `plain'    -- An ordinary, unencrypted network connection.
  `starttls' -- Begin with an ordinary connection, and try
                upgrading via STARTTLS.  If that fails for any
                reason, drop the connection; in that case the
                returned object is a killed process.
  `tls'      -- A TLS connection.
  `ssl'      -- Equivalent to `tls'.
  `shell'    -- A shell connection.

:return-list specifies this function's return value.
  If omitted or nil, return a process object.  A non-nil means to
  return (PROC . PROPS), where PROC is a process object and PROPS
  is a plist of connection properties, with these keywords:
   :greeting -- the greeting returned by HOST (a string), or nil.
   :capabilities -- a string representing HOST's capabilities,
                    or nil if none could be found.
   :type -- the resulting connection type; `plain' (unencrypted)
            or `tls' (TLS-encrypted).

:end-of-command specifies a regexp matching the end of a command.

:end-of-capability specifies a regexp matching the end of the
  response to the command specified for :capability-command.
  It defaults to the regexp specified for :end-of-command.

:success specifies a regexp matching a message indicating a
  successful STARTTLS negotiation.  For instance, the default
  should be "^3" for an NNTP connection.

:capability-command specifies a command used to query the HOST
  for its capabilities.  For instance, for IMAP this should be
  "1 CAPABILITY\r\n".

:starttls-function specifies a function for handling STARTTLS.
  This function should take one parameter, the response to the
  capability command, and should return the command to switch on
  STARTTLS if the server supports STARTTLS, and nil otherwise.

:always-query-capabilities says whether to query the server for
  capabilities, even if we're doing a `plain' network connection.

:client-certificate should either be a list where the first
  element is the certificate key file name, and the second
  element is the certificate file name itself, or `t', which
  means that `auth-source' will be queried for the key and the
  certificate.  This parameter will only be used when doing TLS
  or STARTTLS connections.

:use-starttls-if-possible is a boolean that says to do opportunistic
STARTTLS upgrades even if Emacs doesn't have built-in TLS functionality.

:nowait is a boolean that says the connection should be made
  asynchronously, if possible.

(fn NAME BUFFER HOST SERVICE &rest PARAMETERS)Fnewsticker-running-p
Check whether newsticker is running.
Return t if newsticker is running, nil otherwise.  Newsticker is
considered to be running if the newsticker timer list is not empty.

(fn)Fnewsticker-start
Start the newsticker.
Start the timers for display and retrieval.  If the newsticker, i.e. the
timers, are running already a warning message is printed unless
DO-NOT-COMPLAIN-IF-RUNNING is not nil.
Run `newsticker-start-hook' if newsticker was not running already.

(fn &optional DO-NOT-COMPLAIN-IF-RUNNING)Fnewsticker-plainview
Start newsticker plainview.

(fn)Fnewsticker-show-news
Start reading news.  You may want to bind this to a key.

(fn)Fnewsticker-ticker-running-p
Check whether newsticker's actual ticker is running.
Return t if ticker is running, nil otherwise.  Newsticker is
considered to be running if the newsticker timer list is not
empty.

(fn)Fnewsticker-start-ticker
Start newsticker's ticker (but not the news retrieval).
Start display timer for the actual ticker if wanted and not
running already.

(fn)Fnewsticker-treeview
Start newsticker treeview.

(fn)Fnndiary-generate-nov-databases
Generate NOV databases in all nndiary directories.

(fn &optional SERVER)Fnndoc-add-type
Add document DEFINITION to the list of nndoc document definitions.
If POSITION is nil or `last', the definition will be added
as the last checked definition, if t or `first', add as the
first definition, and if any other symbol, add after that
symbol in the alist.

(fn DEFINITION &optional POSITION)Fnnfolder-generate-active-file
Look for mbox folders in the nnfolder directory and make them into groups.
This command does not work if you use short group names.

(fn)Fnnml-generate-nov-databases
Generate NOV databases in all nnml directories.

(fn &optional SERVER)Vdisabled-command-function
Function to call to handle disabled commands.
If nil, the feature is disabled, i.e., all commands work normally.Fdisabled-command-function


(fn &optional CMD KEYS)Fenable-command
Allow COMMAND to be executed without special confirmation from now on.
COMMAND must be a symbol.
This command alters the user's .emacs file so that this will apply
to future sessions.

(fn COMMAND)Fdisable-command
Require special confirmation to execute COMMAND from now on.
COMMAND must be a symbol.
This command alters your init file so that this choice applies to
future sessions.

(fn COMMAND)Fnroff-mode
Major mode for editing text intended for nroff to format.
\{nroff-mode-map}
Turning on Nroff mode runs `text-mode-hook', then `nroff-mode-hook'.
Also, try `nroff-electric-mode', for automatically inserting
closing requests for requests that are used in matched pairs.

(fn)Fnxml-glyph-display-string
Return a string that can display a glyph for Unicode code-point N.
FACE gives the face that will be used for displaying the string.
Return nil if the face cannot display a glyph for N.

(fn N FACE)Fnxml-mode
Major mode for editing XML.

\[nxml-finish-element] finishes the current element by inserting an end-tag.
C-c C-i closes a start-tag with `>' and then inserts a balancing end-tag
leaving point between the start-tag and end-tag.
\[nxml-balanced-close-start-tag-block] is similar but for block rather than inline elements:
the start-tag, point, and end-tag are all left on separate lines.
If `nxml-slash-auto-complete-flag' is non-nil, then inserting a `</'
automatically inserts the rest of the end-tag.

\[completion-at-point] performs completion on the symbol preceding point.

\[nxml-dynamic-markup-word] uses the contents of the current buffer
to choose a tag to put around the word preceding point.

Sections of the document can be displayed in outline form.  The
variable `nxml-section-element-name-regexp' controls when an element
is recognized as a section.  The same key sequences that change
visibility in outline mode are used except that they start with C-c C-o
instead of C-c.

Validation is provided by the related minor-mode `rng-validate-mode'.
This also makes completion schema- and context- sensitive.  Element
names, attribute names, attribute values and namespace URIs can all be
completed. By default, `rng-validate-mode' is automatically enabled.
You can toggle it using \[rng-validate-mode] or change the default by
customizing `rng-nxml-auto-validate-flag'.

\[indent-for-tab-command] indents the current line appropriately.
This can be customized using the variable `nxml-child-indent'
and the variable `nxml-attribute-indent'.

\[nxml-insert-named-char] inserts a character reference using
the character's name (by default, the Unicode name).
\[universal-argument] \[nxml-insert-named-char] inserts the character directly.

The Emacs commands that normally operate on balanced expressions will
operate on XML markup items.  Thus \[forward-sexp] will move forward
across one markup item; \[backward-sexp] will move backward across
one markup item; \[kill-sexp] will kill the following markup item;
\[mark-sexp] will mark the following markup item.  By default, each
tag each treated as a single markup item; to make the complete element
be treated as a single markup item, set the variable
`nxml-sexp-element-flag' to t.  For more details, see the function
`nxml-forward-balanced-item'.

\[nxml-backward-up-element] and \[nxml-down-element] move up and down the element structure.

Many aspects this mode can be customized using
\[customize-group] nxml RET.

(fn)Fnxml-enable-unicode-char-name-sets
Enable the use of Unicode standard names for characters.
The Unicode blocks for which names are enabled is controlled by
the variable `nxml-enabled-unicode-blocks'.

(fn)Finferior-octave
Run an inferior Octave process, I/O via `inferior-octave-buffer'.
This buffer is put in Inferior Octave mode.  See `inferior-octave-mode'.

Unless ARG is non-nil, switches to this buffer.

The elements of the list `inferior-octave-startup-args' are sent as
command line arguments to the inferior Octave process on startup.

Additional commands to be executed on startup can be provided either in
the file specified by `inferior-octave-startup-file' or by the default
startup file, `~/.emacs-octave'.

(fn &optional ARG)Foctave-mode
Major mode for editing Octave code.

This mode makes it easier to write Octave code by helping with
indentation, doing some of the typing for you (with Abbrev mode) and by
showing keywords, comments, strings, etc. in different faces (with
Font Lock mode on terminals that support it).

Octave itself is a high-level language, primarily intended for numerical
computations.  It provides a convenient command line interface for
solving linear and nonlinear problems numerically.  Function definitions
can also be stored in files, and it can be used in a batch mode (which
is why you need this mode!).

The latest released version of Octave is always available via anonymous
ftp from ftp.octave.org in the directory `/pub/octave'.  Complete
source and binaries for several popular systems are available.

Type \[list-abbrevs] to display the built-in abbrevs for Octave keywords.

Keybindings
===========

\{octave-mode-map}

Variables you can use to customize Octave mode
==============================================

`octave-blink-matching-block'
  Non-nil means show matching begin of block when inserting a space,
  newline or semicolon after an else or end keyword.  Default is t.

`octave-block-offset'
  Extra indentation applied to statements in block structures.
  Default is 2.

`octave-continuation-offset'
  Extra indentation applied to Octave continuation lines.
  Default is 4.

`octave-continuation-string'
  String used for Octave continuation lines.
  Default is a backslash.

`octave-send-echo-input'
  Non-nil means always display `inferior-octave-buffer' after sending a
  command to the inferior Octave process.

`octave-send-line-auto-forward'
  Non-nil means always go to the next unsent line of Octave code after
  sending a line to the inferior Octave process.

`octave-send-echo-input'
  Non-nil means echo input sent to the inferior Octave process.

Turning on Octave mode runs the hook `octave-mode-hook'.

To begin using this mode for all `.m' files that you edit, add the
following lines to your init file:

  (add-to-list 'auto-mode-alist '("\\.m\\'" . octave-mode))

To automatically turn on the abbrev and auto-fill features,
add the following lines to your init file as well:

  (add-hook 'octave-mode-hook
	    (lambda ()
	      (abbrev-mode 1)
	      (auto-fill-mode 1)))

To submit a problem report, enter \[octave-submit-bug-report] from an Octave mode buffer.
This automatically sets up a mail buffer with version information
already added.  You just need to add a description of the problem,
including a reproducible test case and send the message.

(fn)Forg-babel-do-load-languages
Load the languages defined in `org-babel-load-languages'.

(fn SYM VALUE)Forg-version
Show the org-mode version in the echo area.
With prefix argument HERE, insert it at point.
When FULL is non-nil, use a verbose version string.
When MESSAGE is non-nil, display a message with the version.

(fn &optional HERE FULL MESSAGE)Fturn-on-orgtbl
Unconditionally turn on `orgtbl-mode'.

(fn)Forg-clock-persistence-insinuate
Set up hooks for clock persistence.

(fn)Forg-mode
Outline-based notes management and organizer, alias
"Carsten's outline-mode for keeping track of everything."

Org-mode develops organizational tasks around a NOTES file which
contains information about projects as plain text.  Org-mode is
implemented on top of outline-mode, which is ideal to keep the content
of large files well structured.  It supports ToDo items, deadlines and
time stamps, which magically appear in the diary listing of the Emacs
calendar.  Tables are easily created with a built-in table editor.
Plain text URL-like links connect to websites, emails (VM), Usenet
messages (Gnus), BBDB entries, and any files related to the project.
For printing and sharing of notes, an Org-mode file (or a part of it)
can be exported as a structured ASCII or HTML file.

The following commands are available:

\{org-mode-map}

(fn)Forg-cycle
TAB-action and visibility cycling for Org-mode.

This is the command invoked in Org-mode by the TAB key.  Its main purpose
is outline visibility cycling, but it also invokes other actions
in special contexts.

- When this function is called with a prefix argument, rotate the entire
  buffer through 3 states (global cycling)
  1. OVERVIEW: Show only top-level headlines.
  2. CONTENTS: Show all headlines of all levels, but no body text.
  3. SHOW ALL: Show everything.
  When called with two `C-u C-u' prefixes, switch to the startup visibility,
  determined by the variable `org-startup-folded', and by any VISIBILITY
  properties in the buffer.
  When called with three `C-u C-u C-u' prefixed, show the entire buffer,
  including any drawers.

- When inside a table, re-align the table and move to the next field.

- When point is at the beginning of a headline, rotate the subtree started
  by this line through 3 different states (local cycling)
  1. FOLDED:   Only the main headline is shown.
  2. CHILDREN: The main headline and the direct children are shown.
               From this state, you can move to one of the children
               and zoom in further.
  3. SUBTREE:  Show the entire subtree, including body text.
  If there is no subtree, switch directly from CHILDREN to FOLDED.

- When point is at the beginning of an empty headline and the variable
  `org-cycle-level-after-item/entry-creation' is set, cycle the level
  of the headline by demoting and promoting it to likely levels.  This
  speeds up creation document structure by pressing TAB once or several
  times right after creating a new headline.

- When there is a numeric prefix, go up to a heading with level ARG, do
  a `show-subtree' and return to the previous cursor position.  If ARG
  is negative, go up that many levels.

- When point is not at the beginning of a headline, execute the global
  binding for TAB, which is re-indenting the line.  See the option
  `org-cycle-emulate-tab' for details.

- Special case: if point is at the beginning of the buffer and there is
  no headline in line 1, this function will act as if called with prefix arg
  (C-u TAB, same as S-TAB) also when called without prefix arg.
  But only if also the variable `org-cycle-global-at-bob' is t.

(fn &optional ARG)Forg-global-cycle
Cycle the global visibility.  For details see `org-cycle'.
With \[universal-argument] prefix arg, switch to startup visibility.
With a numeric prefix, show all headlines up to that level.

(fn &optional ARG)Forgstruct-mode
Toggle the minor mode `orgstruct-mode'.
This mode is for using Org-mode structure commands in other
modes.  The following keys behave as if Org-mode were active, if
the cursor is on a headline, or on a plain list item (both as
defined by Org-mode).

M-up        Move entry/item up
M-down	    Move entry/item down
M-left	    Promote
M-right	    Demote
M-S-up	    Move entry/item up
M-S-down    Move entry/item down
M-S-left    Promote subtree
M-S-right   Demote subtree
M-q	    Fill paragraph and items like in Org-mode
C-c ^	    Sort entries
C-c -	    Cycle list bullet
TAB         Cycle item visibility
M-RET       Insert new heading/item
S-M-RET     Insert new TODO heading / Checkbox item
C-c C-c     Set tags / toggle checkbox

(fn &optional ARG)Fturn-on-orgstruct
Unconditionally turn on `orgstruct-mode'.

(fn)Fturn-on-orgstruct++
Unconditionally turn on `orgstruct++-mode'.

(fn)Forg-run-like-in-org-mode
Run a command, pretending that the current buffer is in Org-mode.
This will temporarily bind local variables that are typically bound in
Org-mode to the values they have in Org-mode, and then interactively
call CMD.

(fn CMD)Forg-store-link
\<org-mode-map>Store an org-link to the current location.
This link is added to `org-stored-links' and can later be inserted
into an org-buffer with \[org-insert-link].

For some link types, a prefix arg is interpreted:
For links to usenet articles, arg negates `org-gnus-prefer-web-links'.
For file links, arg negates `org-context-in-file-links'.

(fn ARG)Forg-insert-link-global
Insert a link like Org-mode does.
This command can be called in any mode to insert a link in Org-mode syntax.

(fn)Forg-open-at-point-global
Follow a link like Org-mode does.
This command can be called in any mode to follow a link that has
Org-mode syntax.

(fn)Forg-open-link-from-string
Open a link in the string S, as if it was in Org-mode.

(fn S &optional ARG REFERENCE-BUFFER)Forg-switchb
Switch between Org buffers.
With one prefix argument, restrict available buffers to files.
With two prefix arguments, restrict available buffers to agenda files.

Defaults to `iswitchb' for buffer name completion.
Set `org-completion-use-ido' to make it use ido instead.

(fn &optional ARG)Forg-cycle-agenda-files
Cycle through the files in `org-agenda-files'.
If the current buffer visits an agenda file, find the next one in the list.
If the current buffer does not, find the first agenda file.

(fn)Forg-submit-bug-report
Submit a bug report on Org-mode via mail.

Don't hesitate to report any problems or inaccurate documentation.

If you don't have setup sending mail from (X)Emacs, please copy the
output buffer into your mail program, as it gives us important
information about your Org-mode version and configuration.

(fn)Forg-reload
Reload all org lisp files.
With prefix arg UNCOMPILED, load the uncompiled versions.

(fn &optional UNCOMPILED)Forg-customize
Call the customize function with org as argument.

(fn)Forg-toggle-sticky-agenda
Toggle `org-agenda-sticky'.

(fn &optional ARG)Forg-agenda
Dispatch agenda commands to collect entries to the agenda buffer.
Prompts for a command to execute.  Any prefix arg will be passed
on to the selected command.  The default selections are:

a     Call `org-agenda-list' to display the agenda for current day or week.
t     Call `org-todo-list' to display the global todo list.
T     Call `org-todo-list' to display the global todo list, select only
      entries with a specific TODO keyword (the user gets a prompt).
m     Call `org-tags-view' to display headlines with tags matching
      a condition  (the user is prompted for the condition).
M     Like `m', but select only TODO entries, no ordinary headlines.
L     Create a timeline for the current buffer.
e     Export views to associated files.
s     Search entries for keywords.
S     Search entries for keywords, only with TODO keywords.
/     Multi occur across all agenda files and also files listed
      in `org-agenda-text-search-extra-files'.
<     Restrict agenda commands to buffer, subtree, or region.
      Press several times to get the desired effect.
>     Remove a previous restriction.
#     List "stuck" projects.
!     Configure what "stuck" means.
C     Configure custom agenda commands.

More commands can be added by configuring the variable
`org-agenda-custom-commands'.  In particular, specific tags and TODO keyword
searches can be pre-defined in this way.

If the current buffer is in Org-mode and visiting a file, you can also
first press `<' once to indicate that the agenda should be temporarily
(until the next use of \[org-agenda]) restricted to the current file.
Pressing `<' twice means to restrict to the current subtree or region
(if active).

(fn &optional ARG ORG-KEYS RESTRICTION)Forg-batch-agenda
Run an agenda command in batch mode and send the result to STDOUT.
If CMD-KEY is a string of length 1, it is used as a key in
`org-agenda-custom-commands' and triggers this command.  If it is a
longer string it is used as a tags/todo match string.
Parameters are alternating variable names and values that will be bound
before running the agenda command.

(fn CMD-KEY &rest PARAMETERS)Forg-batch-agenda-csv
Run an agenda command in batch mode and send the result to STDOUT.
If CMD-KEY is a string of length 1, it is used as a key in
`org-agenda-custom-commands' and triggers this command.  If it is a
longer string it is used as a tags/todo match string.
Parameters are alternating variable names and values that will be bound
before running the agenda command.

The output gives a line for each selected agenda item.  Each
item is a list of comma-separated values, like this:

category,head,type,todo,tags,date,time,extra,priority-l,priority-n

category     The category of the item
head         The headline, without TODO kwd, TAGS and PRIORITY
type         The type of the agenda entry, can be
                todo               selected in TODO match
                tagsmatch          selected in tags match
                diary              imported from diary
                deadline           a deadline on given date
                scheduled          scheduled on given date
                timestamp          entry has timestamp on given date
                closed             entry was closed on given date
                upcoming-deadline  warning about deadline
                past-scheduled     forwarded scheduled item
                block              entry has date block including g. date
todo         The todo keyword, if any
tags         All tags including inherited ones, separated by colons
date         The relevant date, like 2007-2-14
time         The time, like 15:00-16:50
extra        Sting with extra planning info
priority-l   The priority letter if any was given
priority-n   The computed numerical priority
agenda-day   The day in the agenda where this is listed

(fn CMD-KEY &rest PARAMETERS)Forg-store-agenda-views


(fn &rest PARAMETERS)Forg-batch-store-agenda-views
Run all custom agenda commands that have a file argument.

(fn &rest PARAMETERS)Forg-agenda-list
Produce a daily/weekly view from all files in variable `org-agenda-files'.
The view will be for the current day or week, but from the overview buffer
you will be able to go to other days/weeks.

With a numeric prefix argument in an interactive call, the agenda will
span ARG days.  Lisp programs should instead specify SPAN to change
the number of days.  SPAN defaults to `org-agenda-span'.

START-DAY defaults to TODAY, or to the most recent match for the weekday
given in `org-agenda-start-on-weekday'.

(fn &optional ARG START-DAY SPAN)Forg-search-view
Show all entries that contain a phrase or words or regular expressions.

With optional prefix argument TODO-ONLY, only consider entries that are
TODO entries.  The argument STRING can be used to pass a default search
string into this function.  If EDIT-AT is non-nil, it means that the
user should get a chance to edit this string, with cursor at position
EDIT-AT.

The search string can be viewed either as a phrase that should be found as
is, or it can be broken into a number of snippets, each of which must match
in a Boolean way to select an entry.  The default depends on the variable
`org-agenda-search-view-always-boolean'.
Even if this is turned off (the default) you can always switch to
Boolean search dynamically by preceding the first word with  "+" or "-".

The default is a direct search of the whole phrase, where each space in
the search string can expand to an arbitrary amount of whitespace,
including newlines.

If using a Boolean search, the search string is split on whitespace and
each snippet is searched separately, with logical AND to select an entry.
Words prefixed with a minus must *not* occur in the entry.  Words without
a prefix or prefixed with a plus must occur in the entry.  Matching is
case-insensitive.  Words are enclosed by word delimiters (i.e. they must
match whole words, not parts of a word) if
`org-agenda-search-view-force-full-words' is set (default is nil).

Boolean search snippets enclosed by curly braces are interpreted as
regular expressions that must or (when preceded with "-") must not
match in the entry.  Snippets enclosed into double quotes will be taken
as a whole, to include whitespace.

- If the search string starts with an asterisk, search only in headlines.
- If (possibly after the leading star) the search string starts with an
  exclamation mark, this also means to look at TODO entries only, an effect
  that can also be achieved with a prefix argument.
- If (possibly after star and exclamation mark) the search string starts
  with a colon, this will mean that the (non-regexp) snippets of the
  Boolean search must match as full words.

This command searches the agenda files, and in addition the files listed
in `org-agenda-text-search-extra-files'.

(fn &optional TODO-ONLY STRING EDIT-AT)Forg-todo-list
Show all (not done) TODO entries from all agenda file in a single list.
The prefix arg can be used to select a specific TODO keyword and limit
the list to these.  When using \[universal-argument], you will be prompted
for a keyword.  A numeric prefix directly selects the Nth keyword in
`org-todo-keywords-1'.

(fn &optional ARG)Forg-tags-view
Show all headlines for all `org-agenda-files' matching a TAGS criterion.
The prefix arg TODO-ONLY limits the search to TODO entries.

(fn &optional TODO-ONLY MATCH)Forg-agenda-list-stuck-projects
Create agenda view for projects that are stuck.
Stuck projects are project that have no next actions.  For the definitions
of what a project is and how to check if it stuck, customize the variable
`org-stuck-projects'.

(fn &rest IGNORE)Forg-diary
Return diary information from org files.
This function can be used in a "sexp" diary entry in the Emacs calendar.
It accesses org files and extracts information from those files to be
listed in the diary.  The function accepts arguments specifying what
items should be listed.  For a list of arguments allowed here, see the
variable `org-agenda-entry-types'.

The call in the diary file should look like this:

   &%%(org-diary) ~/path/to/some/orgfile.org

Use a separate line for each org file to check.  Or, if you omit the file name,
all files listed in `org-agenda-files' will be checked automatically:

   &%%(org-diary)

If you don't give any arguments (as in the example above), the default
arguments (:deadline :scheduled :timestamp :sexp) are used.
So the example above may also be written as

   &%%(org-diary :deadline :timestamp :sexp :scheduled)

The function expects the lisp variables `entry' and `date' to be provided
by the caller, because this is how the calendar works.  Don't use this
function from a program - use `org-agenda-get-day-entries' instead.

(fn &rest ARGS)Forg-calendar-goto-agenda
Compute the Org-mode agenda for the calendar date displayed at the cursor.
This is a command that has to be installed in `calendar-mode-map'.

(fn)Forg-agenda-to-appt
Activate appointments found in `org-agenda-files'.
With a \[universal-argument] prefix, refresh the list of
appointments.

If FILTER is t, interactively prompt the user for a regular
expression, and filter out entries that don't match it.

If FILTER is a string, use this string as a regular expression
for filtering entries out.

If FILTER is a function, filter out entries against which
calling the function returns nil.  This function takes one
argument: an entry from `org-agenda-get-day-entries'.

FILTER can also be an alist with the car of each cell being
either 'headline or 'category.  For example:

  '((headline "IMPORTANT")
    (category "Work"))

will only add headlines containing IMPORTANT or headlines
belonging to the "Work" category.

ARGS are symbols indicating what kind of entries to consider.
By default `org-agenda-to-appt' will use :deadline, :scheduled
and :timestamp entries.  See the docstring of `org-diary' for
details and examples.

If an entry has a APPT_WARNTIME property, its value will be used
to override `appt-message-warning-time'.

(fn &optional REFRESH FILTER &rest ARGS)Forg-beamer-sectioning
Return the sectioning entry for the current headline.
LEVEL is the reduced level of the headline.
TEXT is the text of the headline, everything except the leading stars.
The return value is a cons cell.  The car is the headline text, usually
just TEXT, but possibly modified if options have been extracted from the
text.  The cdr is the sectioning entry, similar to what is given
in org-export-latex-classes.

(fn LEVEL TEXT)Forg-beamer-mode
Special support for editing Org-mode files made to export to beamer.

(fn &optional ARG)Forg-capture-string


(fn STRING &optional KEYS)Forg-capture
Capture something.
\<org-capture-mode-map>
This will let you select a template from `org-capture-templates', and then
file the newly captured information.  The text is immediately inserted
at the target location, and an indirect buffer is shown where you can
edit it.  Pressing \[org-capture-finalize] brings you back to the previous state
of Emacs, so that you can continue your work.

When called interactively with a \[universal-argument] prefix argument GOTO, don't capture
anything, just go to the file/headline where the selected template
stores its notes.  With a double prefix argument \[universal-argument] \[universal-argument], go to the last note
stored.

When called with a `C-0' (zero) prefix, insert a template at point.

Lisp programs can set KEYS to a string associated with a template
in `org-capture-templates'.  In this case, interactive selection
will be bypassed.

If `org-capture-use-agenda-date' is non-nil, capturing from the
agenda will use the date at point as the default date.

(fn &optional GOTO KEYS)Forg-capture-import-remember-templates
Set org-capture-templates to be similar to `org-remember-templates'.

(fn)Forg-columns
Turn on column view on an org-mode file.
When COLUMNS-FMT-STRING is non-nil, use it as the column format.

(fn &optional COLUMNS-FMT-STRING)Forg-dblock-write:columnview
Write the column view table.
PARAMS is a property list of parameters:

:width    enforce same column widths with <N> specifiers.
:id       the :ID: property of the entry where the columns view
	  should be built.  When the symbol `local', call locally.
	  When `global' call column view with the cursor at the beginning
	  of the buffer (usually this means that the whole buffer switches
	  to column view).  When "file:path/to/file.org", invoke column
	  view at the start of that file.  Otherwise, the ID is located
	  using `org-id-find'.
:hlines   When t, insert a hline before each item.  When a number, insert
	  a hline before each level <= that number.
:vlines   When t, make each column a colgroup to enforce vertical lines.
:maxlevel When set to a number, don't capture headlines below this level.
:skip-empty-rows
	  When t, skip rows where all specifiers other than ITEM are empty.
:format   When non-nil, specify the column view format to use.

(fn PARAMS)Forg-insert-columns-dblock
Create a dynamic block capturing a column view table.

(fn)Forg-agenda-columns
Turn on or update column view in the agenda.

(fn)Forg-check-version
Try very hard to provide sensible version strings.

(fn)Forg-release
The release version of org-mode.
  Inserted by installing org-mode or when a release is made.

(fn)Forg-git-version
The Git version of org-mode.
  Inserted by installing org-mode or when a release is made.

(fn)Vorg-odt-data-dir
The location of ODT styles.Foutline-mode
Set major mode for editing outlines with selective display.
Headings are lines which start with asterisks: one for major headings,
two for subheadings, etc.  Lines not starting with asterisks are body lines.

Body text or subheadings under a heading can be made temporarily
invisible, or visible again.  Invisible lines are attached to the end
of the heading, so they move with it, if the line is killed and yanked
back.  A heading with text hidden under it is marked with an ellipsis (...).

Commands:\<outline-mode-map>
\[outline-next-visible-heading]   outline-next-visible-heading      move by visible headings
\[outline-previous-visible-heading]   outline-previous-visible-heading
\[outline-forward-same-level]   outline-forward-same-level        similar but skip subheadings
\[outline-backward-same-level]   outline-backward-same-level
\[outline-up-heading]   outline-up-heading		    move from subheading to heading

\[hide-body]	make all text invisible (not headings).
\[show-all]	make everything in buffer visible.
\[hide-sublevels]  make only the first N levels of headers visible.

The remaining commands are used when point is on a heading line.
They apply to some of the body or subheadings of that heading.
\[hide-subtree]   hide-subtree	make body and subheadings invisible.
\[show-subtree]   show-subtree	make body and subheadings visible.
\[show-children]   show-children	make direct subheadings visible.
		 No effect on body, or subheadings 2 or more levels down.
		 With arg N, affects subheadings N levels down.
\[hide-entry]	   make immediately following body invisible.
\[show-entry]	   make it visible.
\[hide-leaves]	   make body under heading and under its subheadings invisible.
		     The subheadings remain visible.
\[show-branches]  make all subheadings at all levels visible.

The variable `outline-regexp' can be changed to control what is a heading.
A line is a heading if `outline-regexp' matches something at the
beginning of the line.  The longer the match, the deeper the level.

Turning on outline mode calls the value of `text-mode-hook' and then of
`outline-mode-hook', if they are non-nil.

(fn)Foutline-minor-mode
Toggle Outline minor mode.
With a prefix argument ARG, enable Outline minor mode if ARG is
positive, and disable it otherwise.  If called from Lisp, enable
the mode if ARG is omitted or nil.

See the command `outline-mode' for more information on this mode.

(fn &optional ARG)Vpackage-enable-at-startup
Whether to activate installed packages when Emacs starts.
If non-nil, packages are activated after reading the init file
and before `after-init-hook'.  Activation is not done if
`user-init-file' is nil (e.g. Emacs was started with "-q").

Even if the value is nil, you can type \[package-initialize] to
activate the package system at any time.Fpackage-install
Install the package named NAME.
NAME should be the name of one of the available packages in an
archive in `package-archives'.  Interactively, prompt for NAME.

(fn NAME)Fpackage-install-from-buffer
Install a package from the current buffer.
When called interactively, the current buffer is assumed to be a
single .el file that follows the packaging guidelines; see info
node `(elisp)Packaging'.

When called from Lisp, PKG-INFO is a vector describing the
information, of the type returned by `package-buffer-info'; and
TYPE is the package type (either `single' or `tar').

(fn PKG-INFO TYPE)Fpackage-install-file
Install a package from a file.
The file can either be a tar file or an Emacs Lisp file.

(fn FILE)Fpackage-refresh-contents
Download the ELPA archive description if needed.
This informs Emacs about the latest versions of all packages, and
makes them available for download.

(fn)Fpackage-initialize
Load Emacs Lisp packages, and activate them.
The variable `package-load-list' controls which packages to load.
If optional arg NO-ACTIVATE is non-nil, don't activate packages.

(fn &optional NO-ACTIVATE)Fdescribe-package
Display the full documentation of PACKAGE (a symbol).

(fn PACKAGE)Flist-packages
Display a list of packages.
This first fetches the updated list of packages before
displaying, unless a prefix argument NO-FETCH is specified.
The list is displayed in a buffer named `*Packages*'.

(fn &optional NO-FETCH)Vshow-paren-mode
Non-nil if Show-Paren mode is enabled.
See the command `show-paren-mode' for a description of this minor mode.
Setting this variable directly does not take effect;
either customize it (see the info node `Easy Customization')
or call the function `show-paren-mode'.Fshow-paren-mode
Toggle visualization of matching parens (Show Paren mode).
With a prefix argument ARG, enable Show Paren mode if ARG is
positive, and disable it otherwise.  If called from Lisp, enable
the mode if ARG is omitted or nil.

Show Paren mode is a global minor mode.  When enabled, any
matching parenthesis is highlighted in `show-paren-style' after
`show-paren-delay' seconds of Emacs idle time.

(fn &optional ARG)Fparse-time-string
Parse the time-string STRING into (SEC MIN HOUR DAY MON YEAR DOW DST TZ).
The values are identical to those of `decode-time', but any values that are
unknown are returned as nil.

(fn STRING)Fpascal-mode
Major mode for editing Pascal code. \<pascal-mode-map>
TAB indents for Pascal code.  Delete converts tabs to spaces as it moves back.

\[completion-at-point] completes the word around current point with respect to position in code
\[completion-help-at-point] shows all possible completions at this point.

Other useful functions are:

\[pascal-mark-defun]	- Mark function.
\[pascal-insert-block]	- insert begin ... end;
\[pascal-star-comment]	- insert (* ... *)
\[pascal-comment-area]	- Put marked area in a comment, fixing nested comments.
\[pascal-uncomment-area]	- Uncomment an area commented with \[pascal-comment-area].
\[pascal-beg-of-defun]	- Move to beginning of current function.
\[pascal-end-of-defun]	- Move to end of current function.
\[pascal-goto-defun]	- Goto function prompted for in the minibuffer.
\[pascal-outline-mode]	- Enter `pascal-outline-mode'.

Variables controlling indentation/edit style:

 `pascal-indent-level' (default 3)
    Indentation of Pascal statements with respect to containing block.
 `pascal-case-indent' (default 2)
    Indentation for case statements.
 `pascal-auto-newline' (default nil)
    Non-nil means automatically newline after semicolons and the punctuation
    mark after an end.
 `pascal-indent-nested-functions' (default t)
    Non-nil means nested functions are indented.
 `pascal-tab-always-indent' (default t)
    Non-nil means TAB in Pascal mode should always reindent the current line,
    regardless of where in the line point is when the TAB command is used.
 `pascal-auto-endcomments' (default t)
    Non-nil means a comment { ... } is set after the ends which ends cases and
    functions. The name of the function or case will be set between the braces.
 `pascal-auto-lineup' (default t)
    List of contexts where auto lineup of :'s or ='s should be done.

See also the user variables `pascal-type-keywords', `pascal-start-keywords' and
`pascal-separator-keywords'.

Turning on Pascal mode calls the value of the variable pascal-mode-hook with
no args, if that value is non-nil.

(fn)Vpassword-cache
Whether to cache passwords.Vpassword-cache-expiry
How many seconds passwords are cached, or nil to disable expiring.
Whether passwords are cached at all is controlled by `password-cache'.Fpassword-in-cache-p
Check if KEY is in the cache.

(fn KEY)Fpcase
Perform ML-style pattern matching on EXP.
CASES is a list of elements of the form (UPATTERN CODE...).

UPatterns can take the following forms:
  _		matches anything.
  SELFQUOTING	matches itself.  This includes keywords, numbers, and strings.
  SYMBOL	matches anything and binds it to SYMBOL.
  (or UPAT...)	matches if any of the patterns matches.
  (and UPAT...)	matches if all the patterns match.
  `QPAT		matches if the QPattern QPAT matches.
  (pred PRED)	matches if PRED applied to the object returns non-nil.
  (guard BOOLEXP)	matches if BOOLEXP evaluates to non-nil.
  (let UPAT EXP)	matches if EXP matches UPAT.
If a SYMBOL is used twice in the same pattern (i.e. the pattern is
"non-linear"), then the second occurrence is turned into an `eq'uality test.

QPatterns can take the following forms:
  (QPAT1 . QPAT2)	matches if QPAT1 matches the car and QPAT2 the cdr.
  ,UPAT			matches if the UPattern UPAT matches.
  STRING		matches if the object is `equal' to STRING.
  ATOM			matches if the object is `eq' to ATOM.
QPatterns for vectors are not implemented yet.

PRED can take the form
  FUNCTION	     in which case it gets called with one argument.
  (FUN ARG1 .. ARGN) in which case it gets called with an N+1'th argument
                        which is the value being matched.
A PRED of the form FUNCTION is equivalent to one of the form (FUNCTION).
PRED patterns can refer to variables bound earlier in the pattern.
E.g. you can match pairs where the cdr is larger than the car with a pattern
like `(,a . ,(pred (< a))) or, with more checks:
`(,(and a (pred numberp)) . ,(and (pred numberp) (pred (< a))))

(fn EXP &rest CASES)Fpcase-let*
Like `let*' but where you can use `pcase' patterns for bindings.
BODY should be an expression, and BINDINGS should be a list of bindings
of the form (UPAT EXP).

(fn BINDINGS &rest BODY)Fpcase-let
Like `let' but where you can use `pcase' patterns for bindings.
BODY should be a list of expressions, and BINDINGS should be a list of bindings
of the form (UPAT EXP).

(fn BINDINGS &rest BODY)Fpcomplete/cvs
Completion rules for the `cvs' command.

(fn)Fpcomplete/gzip
Completion for `gzip'.

(fn)Fpcomplete/bzip2
Completion for `bzip2'.

(fn)Fpcomplete/make
Completion for GNU `make'.

(fn)Fpcomplete/tar
Completion for the GNU tar utility.

(fn)Fpcomplete/kill
Completion for GNU/Linux `kill', using /proc filesystem.

(fn)Fpcomplete/umount
Completion for GNU/Linux `umount'.

(fn)Fpcomplete/mount
Completion for GNU/Linux `mount'.

(fn)Fpcomplete/rpm
Completion for the `rpm' command.

(fn)Fpcomplete/cd
Completion for `cd'.

(fn)Fpcomplete/rmdir
Completion for `rmdir'.

(fn)Fpcomplete/rm
Completion for `rm'.

(fn)Fpcomplete/xargs
Completion for `xargs'.

(fn)Fpcomplete/which
Completion for `which'.

(fn)Fpcomplete/chown
Completion for the `chown' command.

(fn)Fpcomplete/chgrp
Completion for the `chgrp' command.

(fn)Fpcomplete/ssh
Completion rules for the `ssh' command.

(fn)Fpcomplete/scp
Completion rules for the `scp' command.
Includes files as well as host names followed by a colon.

(fn)Fpcomplete
Support extensible programmable completion.
To use this function, just bind the TAB key to it, or add it to your
completion functions list (it should occur fairly early in the list).

(fn &optional INTERACTIVELY)Fpcomplete-reverse
If cycling completion is in use, cycle backwards.

(fn)Fpcomplete-expand-and-complete
Expand the textual value of the current argument.
This will modify the current buffer.

(fn)Fpcomplete-continue
Complete without reference to any cycling completions.

(fn)Fpcomplete-expand
Expand the textual value of the current argument.
This will modify the current buffer.

(fn)Fpcomplete-help
Display any help information relative to the current argument.

(fn)Fpcomplete-list
Show the list of possible completions for the current argument.

(fn)Fpcomplete-comint-setup
Setup a comint buffer to use pcomplete.
COMPLETEF-SYM should be the symbol where the
dynamic-complete-functions are kept.  For comint mode itself,
this is `comint-dynamic-complete-functions'.

(fn COMPLETEF-SYM)Fpcomplete-shell-setup
Setup `shell-mode' to use pcomplete.

(fn)Fcvs-checkout
Run a 'cvs checkout MODULES' in DIR.
Feed the output to a *cvs* buffer, display it in the current window,
and run `cvs-mode' on it.

With a prefix argument, prompt for cvs FLAGS to use.

(fn MODULES DIR FLAGS &optional ROOT)Fcvs-quickdir
Open a *cvs* buffer on DIR without running cvs.
With a prefix argument, prompt for a directory to use.
A prefix arg >8 (ex: \[universal-argument] \[universal-argument]),
  prevents reuse of an existing *cvs* buffer.
Optional argument NOSHOW if non-nil means not to display the buffer.
FLAGS is ignored.

(fn DIR &optional FLAGS NOSHOW)Fcvs-examine
Run a `cvs -n update' in the specified DIRECTORY.
That is, check what needs to be done, but don't change the disc.
Feed the output to a *cvs* buffer and run `cvs-mode' on it.
With a prefix argument, prompt for a directory and cvs FLAGS to use.
A prefix arg >8 (ex: \[universal-argument] \[universal-argument]),
  prevents reuse of an existing *cvs* buffer.
Optional argument NOSHOW if non-nil means not to display the buffer.

(fn DIRECTORY FLAGS &optional NOSHOW)Fcvs-update
Run a `cvs update' in the current working DIRECTORY.
Feed the output to a *cvs* buffer and run `cvs-mode' on it.
With a \[universal-argument] prefix argument, prompt for a directory to use.
A prefix arg >8 (ex: \[universal-argument] \[universal-argument]),
  prevents reuse of an existing *cvs* buffer.
The prefix is also passed to `cvs-flags-query' to select the FLAGS
  passed to cvs.

(fn DIRECTORY FLAGS)Fcvs-status
Run a `cvs status' in the current working DIRECTORY.
Feed the output to a *cvs* buffer and run `cvs-mode' on it.
With a prefix argument, prompt for a directory and cvs FLAGS to use.
A prefix arg >8 (ex: \[universal-argument] \[universal-argument]),
  prevents reuse of an existing *cvs* buffer.
Optional argument NOSHOW if non-nil means not to display the buffer.

(fn DIRECTORY FLAGS &optional NOSHOW)Vcvs-dired-action
The action to be performed when opening a CVS directory.
Sensible values are `cvs-examine', `cvs-status' and `cvs-quickdir'.Vcvs-dired-use-hook
Whether or not opening a CVS directory should run PCL-CVS.
A value of nil means never do it.
ALWAYS means to always do it unless a prefix argument is given to the
  command that prompted the opening of the directory.
Anything else means to do it only if the prefix arg is equal to this value.Fcvs-dired-noselect
Run `cvs-examine' if DIR is a CVS administrative directory.
The exact behavior is determined also by `cvs-dired-use-hook'.Vcvs-global-menu
Global menu used by PCL-CVS.Fperl-mode
Major mode for editing Perl code.
Expression and list commands understand all Perl brackets.
Tab indents for Perl code.
Comments are delimited with # ... \n.
Paragraphs are separated by blank lines only.
Delete converts tabs to spaces as it moves back.
\{perl-mode-map}
Variables controlling indentation style:
 `perl-tab-always-indent'
    Non-nil means TAB in Perl mode should always indent the current line,
    regardless of where in the line point is when the TAB command is used.
 `perl-tab-to-comment'
    Non-nil means that for lines which don't need indenting, TAB will
    either delete an empty comment, indent an existing comment, move
    to end-of-line, or if at end-of-line already, create a new comment.
 `perl-nochange'
    Lines starting with this regular expression are not auto-indented.
 `perl-indent-level'
    Indentation of Perl statements within surrounding block.
    The surrounding block's indentation is the indentation
    of the line on which the open-brace appears.
 `perl-continued-statement-offset'
    Extra indentation given to a substatement, such as the
    then-clause of an if or body of a while.
 `perl-continued-brace-offset'
    Extra indentation given to a brace that starts a substatement.
    This is in addition to `perl-continued-statement-offset'.
 `perl-brace-offset'
    Extra indentation for line if it starts with an open brace.
 `perl-brace-imaginary-offset'
    An open brace following other text is treated as if it were
    this far to the right of the start of its line.
 `perl-label-offset'
    Extra indentation for line that is a label.
 `perl-indent-continued-arguments'
    Offset of argument lines relative to usual indentation.

Various indentation styles:       K&R  BSD  BLK  GNU  LW
  perl-indent-level                5    8    0    2    4
  perl-continued-statement-offset  5    8    4    2    4
  perl-continued-brace-offset      0    0    0    0   -4
  perl-brace-offset               -5   -8    0    0    0
  perl-brace-imaginary-offset      0    0    4    0    0
  perl-label-offset               -5   -8   -2   -2   -2

Turning on Perl mode runs the normal hook `perl-mode-hook'.

(fn)Fpicture-mode
Switch to Picture mode, in which a quarter-plane screen model is used.
\<picture-mode-map>
Printing characters replace instead of inserting themselves with motion
afterwards settable by these commands:

 Move left after insertion:            \[picture-movement-left]
 Move right after insertion:           \[picture-movement-right]
 Move up after insertion:              \[picture-movement-up]
 Move down after insertion:            \[picture-movement-down]

 Move northwest (nw) after insertion:  \[picture-movement-nw]
 Move northeast (ne) after insertion:  \[picture-movement-ne]
 Move southwest (sw) after insertion:  \[picture-movement-sw]
 Move southeast (se) after insertion:  \[picture-movement-se]

 Move westnorthwest (wnw) after insertion:  C-u \[picture-movement-nw]
 Move eastnortheast (ene) after insertion:  C-u \[picture-movement-ne]
 Move westsouthwest (wsw) after insertion:  C-u \[picture-movement-sw]
 Move eastsoutheast (ese) after insertion:  C-u \[picture-movement-se]

The current direction is displayed in the mode line.  The initial
direction is right.  Whitespace is inserted and tabs are changed to
spaces when required by movement.  You can move around in the buffer
with these commands:

 Move vertically to SAME column in previous line: \[picture-move-down]
 Move vertically to SAME column in next line:     \[picture-move-up]
 Move to column following last
  non-whitespace character:                       \[picture-end-of-line]
 Move right, inserting spaces if required:        \[picture-forward-column]
 Move left changing tabs to spaces if required:   \[picture-backward-column]
 Move in direction of current picture motion:     \[picture-motion]
 Move opposite to current picture motion:         \[picture-motion-reverse]
 Move to beginning of next line:                  \[next-line]

You can edit tabular text with these commands:

 Move to column beneath (or at) next interesting
  character (see variable `picture-tab-chars'):   \[picture-tab-search]
 Move to next stop in tab stop list:              \[picture-tab]
 Set tab stops according to context of this line: \[picture-set-tab-stops]
   (With ARG, resets tab stops to default value.)
 Change the tab stop list:                        \[edit-tab-stops]

You can manipulate text with these commands:
 Clear ARG columns after point without moving:    \[picture-clear-column]
 Delete char at point:                            \[picture-delete-char]
 Clear ARG columns backward:                      \[picture-backward-clear-column]
 Clear ARG lines, advancing over them:            \[picture-clear-line]
  (the cleared text is saved in the kill ring)
 Open blank line(s) beneath current line:         \[picture-open-line]

You can manipulate rectangles with these commands:
  Clear a rectangle and save it:                  \[picture-clear-rectangle]
  Clear a rectangle, saving in a named register:  \[picture-clear-rectangle-to-register]
  Insert currently saved rectangle at point:      \[picture-yank-rectangle]
  Insert rectangle from named register:           \[picture-yank-rectangle-from-register]
  Draw a rectangular box around mark and point:   \[picture-draw-rectangle]
  Copies a rectangle to a register:               \[copy-rectangle-to-register]
  Undo effects of rectangle overlay commands:     \[undo]

You can return to the previous mode with \[picture-mode-exit], which
also strips trailing whitespace from every line.  Stripping is suppressed
by supplying an argument.

Entry to this mode calls the value of `picture-mode-hook' if non-nil.

Note that Picture mode commands will work outside of Picture mode, but
they are not by default assigned to keys.

(fn)Fplstore-open
Create a plstore instance associated with FILE.

(fn FILE)Fplstore-mode
Major mode for editing PLSTORE files.

(fn)Fpo-find-file-coding-system
Return a (DECODING . ENCODING) pair, according to PO file's charset.
Called through `file-coding-system-alist', before the file is visited for real.

(fn ARG-LIST)Fpong
Play pong and waste time.
This is an implementation of the classical game pong.
Move left and right bats and try to bounce the ball to your opponent.

pong-mode keybindings:\<pong-mode-map>

\{pong-mode-map}

(fn)Fpop3-movemail
Transfer contents of a maildrop to the specified FILE.
Use streaming commands.

(fn FILE)Fpp-to-string
Return a string containing the pretty-printed representation of OBJECT.
OBJECT can be any Lisp object.  Quoting characters are used as needed
to make output that `read' can handle, whenever this is possible.

(fn OBJECT)Fpp-buffer
Prettify the current buffer with printed representation of a Lisp object.

(fn)Fpp
Output the pretty-printed representation of OBJECT, any Lisp object.
Quoting characters are printed as needed to make output that `read'
can handle, whenever this is possible.
Output stream is STREAM, or value of `standard-output' (which see).

(fn OBJECT &optional STREAM)Fpp-eval-expression
Evaluate EXPRESSION and pretty-print its value.
Also add the value to the front of the list in the variable `values'.

(fn EXPRESSION)Fpp-macroexpand-expression
Macroexpand EXPRESSION and pretty-print its value.

(fn EXPRESSION)Fpp-eval-last-sexp
Run `pp-eval-expression' on sexp before point.
With argument, pretty-print output into current buffer.
Ignores leading comment characters.

(fn ARG)Fpp-macroexpand-last-sexp
Run `pp-macroexpand-expression' on sexp before point.
With argument, pretty-print output into current buffer.
Ignores leading comment characters.

(fn ARG)Fpr-interface
Activate the printing interface buffer.

If BUFFER is nil, the current buffer is used for printing.

For more information, type \[pr-interface-help].

(fn &optional BUFFER)Fpr-ps-directory-preview
Preview directory using ghostview.

Interactively, the command prompts for N-UP printing number, a directory, a
file name regexp for matching and, when you use a prefix argument (C-u), the
command prompts the user for a file name, and saves the PostScript image in
that file instead of saving it in a temporary file.

Noninteractively, if N-UP is nil, prompts for N-UP printing number.  If DIR is
nil, prompts for DIRectory.  If FILE-REGEXP is nil, prompts for
FILE(name)-REGEXP.  The argument FILENAME is treated as follows: if it's nil,
save the image in a temporary file.  If FILENAME is a string, save the
PostScript image in a file with that name.  If FILENAME is t, prompts for a
file name.

See also documentation for `pr-list-directory'.

(fn N-UP DIR FILE-REGEXP &optional FILENAME)Fpr-ps-directory-using-ghostscript
Print directory using PostScript through ghostscript.

Interactively, the command prompts for N-UP printing number, a directory, a
file name regexp for matching and, when you use a prefix argument (C-u), the
command prompts the user for a file name, and saves the PostScript image in
that file instead of saving it in a temporary file.

Noninteractively, if N-UP is nil, prompts for N-UP printing number.  If DIR is
nil, prompts for DIRectory.  If FILE-REGEXP is nil, prompts for
FILE(name)-REGEXP.  The argument FILENAME is treated as follows: if it's nil,
save the image in a temporary file.  If FILENAME is a string, save the
PostScript image in a file with that name.  If FILENAME is t, prompts for a
file name.

See also documentation for `pr-list-directory'.

(fn N-UP DIR FILE-REGEXP &optional FILENAME)Fpr-ps-directory-print
Print directory using PostScript printer.

Interactively, the command prompts for N-UP printing number, a directory, a
file name regexp for matching and, when you use a prefix argument (C-u), the
command prompts the user for a file name, and saves the PostScript image in
that file instead of saving it in a temporary file.

Noninteractively, if N-UP is nil, prompts for N-UP printing number.  If DIR is
nil, prompts for DIRectory.  If FILE-REGEXP is nil, prompts for
FILE(name)-REGEXP.  The argument FILENAME is treated as follows: if it's nil,
save the image in a temporary file.  If FILENAME is a string, save the
PostScript image in a file with that name.  If FILENAME is t, prompts for a
file name.

See also documentation for `pr-list-directory'.

(fn N-UP DIR FILE-REGEXP &optional FILENAME)Fpr-ps-directory-ps-print
Print directory using PostScript printer or through ghostscript.

It depends on `pr-print-using-ghostscript'.

Interactively, the command prompts for N-UP printing number, a directory, a
file name regexp for matching and, when you use a prefix argument (C-u), the
command prompts the user for a file name, and saves the PostScript image in
that file instead of saving it in a temporary file.

Noninteractively, if N-UP is nil, prompts for N-UP printing number.  If DIR is
nil, prompts for DIRectory.  If FILE-REGEXP is nil, prompts for
FILE(name)-REGEXP.  The argument FILENAME is treated as follows: if it's nil,
save the image in a temporary file.  If FILENAME is a string, save the
PostScript image in a file with that name.  If FILENAME is t, prompts for a
file name.

See also documentation for `pr-list-directory'.

(fn N-UP DIR FILE-REGEXP &optional FILENAME)Fpr-ps-buffer-preview
Preview buffer using ghostview.

Interactively, the command prompts for N-UP printing number and, when you use a
prefix argument (C-u), the command prompts the user for a file name, and saves
the PostScript image in that file instead of saving it in a temporary file.

Noninteractively, if N-UP is nil, prompts for N-UP printing number.  The
argument FILENAME is treated as follows: if it's nil, save the image in a
temporary file.  If FILENAME is a string, save the PostScript image in a file
with that name.  If FILENAME is t, prompts for a file name.

(fn N-UP &optional FILENAME)Fpr-ps-buffer-using-ghostscript
Print buffer using PostScript through ghostscript.

Interactively, the command prompts for N-UP printing number and, when you use a
prefix argument (C-u), the command prompts the user for a file name, and saves
the PostScript image in that file instead of sending it to the printer.

Noninteractively, if N-UP is nil, prompts for N-UP printing number.  The
argument FILENAME is treated as follows: if it's nil, send the image to the
printer.  If FILENAME is a string, save the PostScript image in a file with
that name.  If FILENAME is t, prompts for a file name.

(fn N-UP &optional FILENAME)Fpr-ps-buffer-print
Print buffer using PostScript printer.

Interactively, the command prompts for N-UP printing number and, when you use a
prefix argument (C-u), the command prompts the user for a file name, and saves
the PostScript image in that file instead of sending it to the printer.

Noninteractively, if N-UP is nil, prompts for N-UP printing number.  The
argument FILENAME is treated as follows: if it's nil, send the image to the
printer.  If FILENAME is a string, save the PostScript image in a file with
that name.  If FILENAME is t, prompts for a file name.

(fn N-UP &optional FILENAME)Fpr-ps-buffer-ps-print
Print buffer using PostScript printer or through ghostscript.

It depends on `pr-print-using-ghostscript'.

Interactively, the command prompts for N-UP printing number and, when you use a
prefix argument (C-u), the command prompts the user for a file name, and saves
the PostScript image in that file instead of sending it to the printer.

Noninteractively, if N-UP is nil, prompts for N-UP printing number.  The
argument FILENAME is treated as follows: if it's nil, send the image to the
printer.  If FILENAME is a string, save the PostScript image in a file with
that name.  If FILENAME is t, prompts for a file name.

(fn N-UP &optional FILENAME)Fpr-ps-region-preview
Preview region using ghostview.

See also `pr-ps-buffer-preview'.

(fn N-UP &optional FILENAME)Fpr-ps-region-using-ghostscript
Print region using PostScript through ghostscript.

See also `pr-ps-buffer-using-ghostscript'.

(fn N-UP &optional FILENAME)Fpr-ps-region-print
Print region using PostScript printer.

See also `pr-ps-buffer-print'.

(fn N-UP &optional FILENAME)Fpr-ps-region-ps-print
Print region using PostScript printer or through ghostscript.

See also `pr-ps-buffer-ps-print'.

(fn N-UP &optional FILENAME)Fpr-ps-mode-preview
Preview major mode using ghostview.

See also `pr-ps-buffer-preview'.

(fn N-UP &optional FILENAME)Fpr-ps-mode-using-ghostscript
Print major mode using PostScript through ghostscript.

See also `pr-ps-buffer-using-ghostscript'.

(fn N-UP &optional FILENAME)Fpr-ps-mode-print
Print major mode using PostScript printer.

See also `pr-ps-buffer-print'.

(fn N-UP &optional FILENAME)Fpr-ps-mode-ps-print
Print major mode using PostScript or through ghostscript.

See also `pr-ps-buffer-ps-print'.

(fn N-UP &optional FILENAME)Fpr-printify-directory
Replace nonprinting characters in directory with printable representations.
The printable representations use ^ (for ASCII control characters) or hex.
The characters tab, linefeed, space, return and formfeed are not affected.

Interactively, the command prompts for a directory and a file name regexp for
matching.

Noninteractively, if DIR is nil, prompts for DIRectory.  If FILE-REGEXP is nil,
prompts for FILE(name)-REGEXP.

See also documentation for `pr-list-directory'.

(fn &optional DIR FILE-REGEXP)Fpr-printify-buffer
Replace nonprinting characters in buffer with printable representations.
The printable representations use ^ (for ASCII control characters) or hex.
The characters tab, linefeed, space, return and formfeed are not affected.

(fn)Fpr-printify-region
Replace nonprinting characters in region with printable representations.
The printable representations use ^ (for ASCII control characters) or hex.
The characters tab, linefeed, space, return and formfeed are not affected.

(fn)Fpr-txt-directory
Print directory using text printer.

Interactively, the command prompts for a directory and a file name regexp for
matching.

Noninteractively, if DIR is nil, prompts for DIRectory.  If FILE-REGEXP is nil,
prompts for FILE(name)-REGEXP.

See also documentation for `pr-list-directory'.

(fn &optional DIR FILE-REGEXP)Fpr-txt-buffer
Print buffer using text printer.

(fn)Fpr-txt-region
Print region using text printer.

(fn)Fpr-txt-mode
Print major mode using text printer.

(fn)Fpr-despool-preview
Preview spooled PostScript.

Interactively, when you use a prefix argument (C-u), the command prompts the
user for a file name, and saves the spooled PostScript image in that file
instead of saving it in a temporary file.

Noninteractively, the argument FILENAME is treated as follows: if it is nil,
save the image in a temporary file.  If FILENAME is a string, save the
PostScript image in a file with that name.

(fn &optional FILENAME)Fpr-despool-using-ghostscript
Print spooled PostScript using ghostscript.

Interactively, when you use a prefix argument (C-u), the command prompts the
user for a file name, and saves the spooled PostScript image in that file
instead of sending it to the printer.

Noninteractively, the argument FILENAME is treated as follows: if it is nil,
send the image to the printer.  If FILENAME is a string, save the PostScript
image in a file with that name.

(fn &optional FILENAME)Fpr-despool-print
Send the spooled PostScript to the printer.

Interactively, when you use a prefix argument (C-u), the command prompts the
user for a file name, and saves the spooled PostScript image in that file
instead of sending it to the printer.

Noninteractively, the argument FILENAME is treated as follows: if it is nil,
send the image to the printer.  If FILENAME is a string, save the PostScript
image in a file with that name.

(fn &optional FILENAME)Fpr-despool-ps-print
Send the spooled PostScript to the printer or use ghostscript to print it.

Interactively, when you use a prefix argument (C-u), the command prompts the
user for a file name, and saves the spooled PostScript image in that file
instead of sending it to the printer.

Noninteractively, the argument FILENAME is treated as follows: if it is nil,
send the image to the printer.  If FILENAME is a string, save the PostScript
image in a file with that name.

(fn &optional FILENAME)Fpr-ps-file-preview
Preview PostScript file FILENAME.

(fn FILENAME)Fpr-ps-file-up-preview
Preview PostScript file FILENAME.

(fn N-UP IFILENAME &optional OFILENAME)Fpr-ps-file-using-ghostscript
Print PostScript file FILENAME using ghostscript.

(fn FILENAME)Fpr-ps-file-print
Print PostScript file FILENAME.

(fn FILENAME)Fpr-ps-file-ps-print
Send PostScript file FILENAME to printer or use ghostscript to print it.

(fn FILENAME)Fpr-ps-file-up-ps-print
Process a PostScript file IFILENAME and send it to printer.

Interactively, the command prompts for N-UP printing number, for an input
PostScript file IFILENAME and, when you use a prefix argument (C-u), the
command prompts the user for an output PostScript file name OFILENAME, and
saves the PostScript image in that file instead of sending it to the printer.

Noninteractively, if N-UP is nil, prompts for N-UP printing number.  The
argument IFILENAME is treated as follows: if it's t, prompts for an input
PostScript file name; otherwise, it *must* be a string that it's an input
PostScript file name.  The argument OFILENAME is treated as follows: if it's
nil, send the image to the printer.  If OFILENAME is a string, save the
PostScript image in a file with that name.  If OFILENAME is t, prompts for a
file name.

(fn N-UP IFILENAME &optional OFILENAME)Fpr-toggle-file-duplex
Toggle duplex for PostScript file.

(fn)Fpr-toggle-file-tumble
Toggle tumble for PostScript file.

If tumble is off, produces a printing suitable for binding on the left or
right.
If tumble is on, produces a printing suitable for binding at the top or
bottom.

(fn)Fpr-toggle-file-landscape
Toggle landscape for PostScript file.

(fn)Fpr-toggle-ghostscript
Toggle printing using ghostscript.

(fn)Fpr-toggle-faces
Toggle printing with faces.

(fn)Fpr-toggle-spool
Toggle spooling.

(fn)Fpr-toggle-duplex
Toggle duplex.

(fn)Fpr-toggle-tumble
Toggle tumble.

If tumble is off, produces a printing suitable for binding on the left or
right.
If tumble is on, produces a printing suitable for binding at the top or
bottom.

(fn)Fpr-toggle-landscape
Toggle landscape.

(fn)Fpr-toggle-upside-down
Toggle upside-down.

(fn)Fpr-toggle-line
Toggle line number.

(fn)Fpr-toggle-zebra
Toggle zebra stripes.

(fn)Fpr-toggle-header
Toggle printing header.

(fn)Fpr-toggle-header-frame
Toggle printing header frame.

(fn)Fpr-toggle-lock
Toggle menu lock.

(fn)Fpr-toggle-region
Toggle whether the region is automagically detected.

(fn)Fpr-toggle-mode
Toggle auto mode.

(fn)Fpr-customize
Customization of the `printing' group.

(fn &rest IGNORE)Flpr-customize
Customization of the `lpr' group.

(fn &rest IGNORE)Fpr-help
Help for the printing package.

(fn &rest IGNORE)Fpr-ps-name
Interactively select a PostScript printer.

(fn)Fpr-txt-name
Interactively select a text printer.

(fn)Fpr-ps-utility
Interactively select a PostScript utility.

(fn)Fpr-show-ps-setup
Show current ps-print settings.

(fn &rest IGNORE)Fpr-show-pr-setup
Show current printing settings.

(fn &rest IGNORE)Fpr-show-lpr-setup
Show current lpr settings.

(fn &rest IGNORE)Fpr-ps-fast-fire
Fast fire function for PostScript printing.

If a region is active, the region will be printed instead of the whole buffer.
Also if the current major-mode is defined in `pr-mode-alist', the settings in
`pr-mode-alist' will be used, that is, the current buffer or region will be
printed using `pr-ps-mode-ps-print'.


Interactively, you have the following situations:

   M-x pr-ps-fast-fire RET
      The command prompts the user for a N-UP value and printing will
      immediately be done using the current active printer.

   C-u   M-x pr-ps-fast-fire RET
   C-u 0 M-x pr-ps-fast-fire RET
      The command prompts the user for a N-UP value and also for a current
      PostScript printer, then printing will immediately be done using the new
      current active printer.

   C-u 1 M-x pr-ps-fast-fire RET
      The command prompts the user for a N-UP value and also for a file name,
      and saves the PostScript image in that file instead of sending it to the
      printer.

   C-u 2 M-x pr-ps-fast-fire RET
      The command prompts the user for a N-UP value, then for a current
      PostScript printer and, finally, for a file name.  Then change the active
      printer to that chosen by user and saves the PostScript image in
      that file instead of sending it to the printer.


Noninteractively, the argument N-UP should be a positive integer greater than
zero and the argument SELECT is treated as follows:

   If it's nil, send the image to the printer.

   If it's a list or an integer lesser or equal to zero, the command prompts
   the user for a current PostScript printer, then printing will immediately
   be done using the new current active printer.

   If it's an integer equal to 1, the command prompts the user for a file name
   and saves the PostScript image in that file instead of sending it to the
   printer.

   If it's an integer greater or equal to 2, the command prompts the user for a
   current PostScript printer and for a file name.  Then change the active
   printer to that chosen by user and saves the PostScript image in that file
   instead of sending it to the printer.

   If it's a symbol which it's defined in `pr-ps-printer-alist', it's the new
   active printer and printing will immediately be done using the new active
   printer.

   Otherwise, send the image to the printer.


Note that this command always behaves as if `pr-auto-region' and `pr-auto-mode'
are both set to t.

(fn N-UP &optional SELECT)Fpr-txt-fast-fire
Fast fire function for text printing.

If a region is active, the region will be printed instead of the whole buffer.
Also if the current major-mode is defined in `pr-mode-alist', the settings in
`pr-mode-alist' will be used, that is, the current buffer or region will be
printed using `pr-txt-mode'.

Interactively, when you use a prefix argument (C-u), the command prompts the
user for a new active text printer.

Noninteractively, the argument SELECT-PRINTER is treated as follows:

   If it's nil, the printing is sent to the current active text printer.

   If it's a symbol which it's defined in `pr-txt-printer-alist', it's the new
   active printer and printing will immediately be done using the new active
   printer.

   If it's non-nil, the command prompts the user for a new active text printer.

Note that this command always behaves as if `pr-auto-region' and `pr-auto-mode'
are both set to t.

(fn &optional SELECT-PRINTER)Fproced
Generate a listing of UNIX system processes.
\<proced-mode-map>
If invoked with optional ARG, do not select the window displaying
the process information.

This function runs the normal hook `proced-post-display-hook'.

See `proced-mode' for a description of features available in
Proced buffers.

(fn &optional ARG)Fprofiler-start
Start/restart profilers.
MODE can be one of `cpu', `mem', or `cpu+mem'.
If MODE is `cpu' or `cpu+mem', time-based profiler will be started.
Also, if MODE is `mem' or `cpu+mem', then memory profiler will be started.

(fn MODE)Fprofiler-find-profile
Open profile FILENAME.

(fn FILENAME)Fprofiler-find-profile-other-window
Open profile FILENAME.

(fn FILENAME)Fprofiler-find-profile-other-frame
Open profile FILENAME.

(fn FILENAME)Fprolog-mode
Major mode for editing Prolog code.

Blank lines and `%%...' separate paragraphs.  `%'s starts a comment
line and comments can also be enclosed in /* ... */.

If an optional argument SYSTEM is non-nil, set up mode for the given system.

To find out what version of Prolog mode you are running, enter
`\[prolog-mode-version]'.

Commands:
\{prolog-mode-map}
Entry to this mode calls the value of `prolog-mode-hook'
if that value is non-nil.

(fn)Fmercury-mode
Major mode for editing Mercury programs.
Actually this is just customized `prolog-mode'.

(fn)Frun-prolog
Run an inferior Prolog process, input and output via buffer *prolog*.
With prefix argument ARG, restart the Prolog process if running before.

(fn ARG)Vbdf-directory-list
List of directories to search for `BDF' font files.
The default value is '("/usr/local/share/emacs/fonts/bdf").Fps-mode
Major mode for editing PostScript with GNU Emacs.

Entry to this mode calls `ps-mode-hook'.

The following variables hold user options, and can
be set through the `customize' command:

  `ps-mode-auto-indent'
  `ps-mode-tab'
  `ps-mode-paper-size'
  `ps-mode-print-function'
  `ps-run-prompt'
  `ps-run-font-lock-keywords-2'
  `ps-run-x'
  `ps-run-dumb'
  `ps-run-init'
  `ps-run-error-line-numbers'
  `ps-run-tmp-dir'

Type \[describe-variable] for documentation on these options.


\{ps-mode-map}


When starting an interactive PostScript process with \[ps-run-start],
a second window will be displayed, and `ps-run-mode-hook' will be called.
The keymap for this second window is:

\{ps-run-mode-map}


When Ghostscript encounters an error it displays an error message
with a file position. Clicking mouse-2 on this number will bring
point to the corresponding spot in the PostScript window, if input
to the interpreter was sent from that window.
Typing \<ps-run-mode-map>\[ps-run-goto-error] when the cursor is at the number has the same effect.

(fn)Vps-page-dimensions-database
List associating a symbolic paper type to its width, height and doc media.
See `ps-paper-type'.Vps-paper-type
Specify the size of paper to format for.
Should be one of the paper types defined in `ps-page-dimensions-database', for
example `letter', `legal' or `a4'.Vps-print-color-p
Specify how buffer's text color is printed.

Valid values are:

   nil		Do not print colors.

   t		Print colors.

   black-white	Print colors on black/white printer.
		See also `ps-black-white-faces'.

Any other value is treated as t.Fps-print-customize
Customization of ps-print group.

(fn)Fps-print-buffer
Generate and print a PostScript image of the buffer.

Interactively, when you use a prefix argument (\[universal-argument]), the command prompts the
user for a file name, and saves the PostScript image in that file instead of
sending it to the printer.

Noninteractively, the argument FILENAME is treated as follows: if it is nil,
send the image to the printer.  If FILENAME is a string, save the PostScript
image in a file with that name.

(fn &optional FILENAME)Fps-print-buffer-with-faces
Generate and print a PostScript image of the buffer.
Like `ps-print-buffer', but includes font, color, and underline information in
the generated image.  This command works only if you are using a window system,
so it has a way to determine color values.

(fn &optional FILENAME)Fps-print-region
Generate and print a PostScript image of the region.
Like `ps-print-buffer', but prints just the current region.

(fn FROM TO &optional FILENAME)Fps-print-region-with-faces
Generate and print a PostScript image of the region.
Like `ps-print-region', but includes font, color, and underline information in
the generated image.  This command works only if you are using a window system,
so it has a way to determine color values.

(fn FROM TO &optional FILENAME)Fps-spool-buffer
Generate and spool a PostScript image of the buffer.
Like `ps-print-buffer' except that the PostScript image is saved in a local
buffer to be sent to the printer later.

Use the command `ps-despool' to send the spooled images to the printer.

(fn)Fps-spool-buffer-with-faces
Generate and spool a PostScript image of the buffer.
Like `ps-spool-buffer', but includes font, color, and underline information in
the generated image.  This command works only if you are using a window system,
so it has a way to determine color values.

Use the command `ps-despool' to send the spooled images to the printer.

(fn)Fps-spool-region
Generate a PostScript image of the region and spool locally.
Like `ps-spool-buffer', but spools just the current region.

Use the command `ps-despool' to send the spooled images to the printer.

(fn FROM TO)Fps-spool-region-with-faces
Generate a PostScript image of the region and spool locally.
Like `ps-spool-region', but includes font, color, and underline information in
the generated image.  This command works only if you are using a window system,
so it has a way to determine color values.

Use the command `ps-despool' to send the spooled images to the printer.

(fn FROM TO)Fps-despool
Send the spooled PostScript to the printer.

Interactively, when you use a prefix argument (\[universal-argument]), the command prompts the
user for a file name, and saves the spooled PostScript image in that file
instead of sending it to the printer.

Noninteractively, the argument FILENAME is treated as follows: if it is nil,
send the image to the printer.  If FILENAME is a string, save the PostScript
image in a file with that name.

(fn &optional FILENAME)Fps-line-lengths
Display the correspondence between a line length and a font size.
Done using the current ps-print setup.
Try: pr -t file | awk '{printf "%3d %s
", length($0), $0}' | sort -r | head

(fn)Fps-nb-pages-buffer
Display number of pages to print this buffer, for various font heights.
The table depends on the current ps-print setup.

(fn NB-LINES)Fps-nb-pages-region
Display number of pages to print the region, for various font heights.
The table depends on the current ps-print setup.

(fn NB-LINES)Fps-setup
Return the current PostScript-generation setup.

(fn)Fps-extend-face-list
Extend face in ALIST-SYM.

If optional MERGE-P is non-nil, extensions in FACE-EXTENSION-LIST are merged
with face extension in ALIST-SYM; otherwise, overrides.

If optional ALIST-SYM is nil, `ps-print-face-extension-alist' is used;
otherwise, it should be an alist symbol.

The elements in FACE-EXTENSION-LIST are like those for `ps-extend-face'.

See `ps-extend-face' for documentation.

(fn FACE-EXTENSION-LIST &optional MERGE-P ALIST-SYM)Fps-extend-face
Extend face in ALIST-SYM.

If optional MERGE-P is non-nil, extensions in FACE-EXTENSION list are merged
with face extensions in ALIST-SYM; otherwise, overrides.

If optional ALIST-SYM is nil, `ps-print-face-extension-alist' is used;
otherwise, it should be an alist symbol.

The elements of FACE-EXTENSION list have the form:

   (FACE-NAME FOREGROUND BACKGROUND EXTENSION...)

FACE-NAME is a face name symbol.

FOREGROUND and BACKGROUND may be nil or a string that denotes the
foreground and background colors respectively.

EXTENSION is one of the following symbols:
   bold      - use bold font.
   italic    - use italic font.
   underline - put a line under text.
   strikeout - like underline, but the line is in middle of text.
   overline  - like underline, but the line is over the text.
   shadow    - text will have a shadow.
   box       - text will be surrounded by a box.
   outline   - print characters as hollow outlines.

If EXTENSION is any other symbol, it is ignored.

(fn FACE-EXTENSION &optional MERGE-P ALIST-SYM)Frun-python
Run an inferior Python process.
Input and output via buffer named after
`python-shell-buffer-name'.  If there is a process already
running in that buffer, just switch to it.

With argument, allows you to define CMD so you can edit the
command used to call the interpreter and define DEDICATED, so a
dedicated process for the current buffer is open.  When numeric
prefix arg is other than 0 or 4 do not SHOW.

Runs the hook `inferior-python-mode-hook' (after the
`comint-mode-hook' is run).  (Type \[describe-mode] in the
process buffer for a list of commands.)

(fn CMD &optional DEDICATED SHOW)Fpython-mode
Major mode for editing Python files.

\{python-mode-map}
Entry to this mode calls the value of `python-mode-hook'
if that value is non-nil.

(fn)Fquoted-printable-decode-region
Decode quoted-printable in the region between FROM and TO, per RFC 2045.
If CODING-SYSTEM is non-nil, decode bytes into characters with that
coding-system.

Interactively, you can supply the CODING-SYSTEM argument
with \[universal-coding-system-argument].

The CODING-SYSTEM argument is a historical hangover and is deprecated.
QP encodes raw bytes and should be decoded into raw bytes.  Decoding
them into characters should be done separately.

(fn FROM TO &optional CODING-SYSTEM)Fquail-title
Return the title of the current Quail package.

(fn)Fquail-use-package
Start using Quail package PACKAGE-NAME.
The remaining arguments are LIBRARIES to be loaded before using the package.

This activates input method defined by PACKAGE-NAME by running
`quail-activate', which see.

(fn PACKAGE-NAME &rest LIBRARIES)Fquail-define-package
Define NAME as a new Quail package for input LANGUAGE.
TITLE is a string to be displayed at mode-line to indicate this package.
Optional arguments are GUIDANCE, DOCSTRING, TRANSLATION-KEYS,
 FORGET-LAST-SELECTION, DETERMINISTIC, KBD-TRANSLATE, SHOW-LAYOUT,
 CREATE-DECODE-MAP, MAXIMUM-SHORTEST, OVERLAY-PLIST,
 UPDATE-TRANSLATION-FUNCTION, CONVERSION-KEYS and SIMPLE.

GUIDANCE specifies how a guidance string is shown in echo area.
If it is t, list of all possible translations for the current key is shown
 with the currently selected translation being highlighted.
If it is an alist, the element has the form (CHAR . STRING).  Each character
 in the current key is searched in the list and the corresponding string is
 shown.
If it is nil, the current key is shown.

DOCSTRING is the documentation string of this package.  The command
`describe-input-method' shows this string while replacing the form
\=\<VAR> in the string by the value of VAR.  That value should be a
string.  For instance, the form \=\<quail-translation-docstring> is
replaced by a description about how to select a translation from a
list of candidates.

TRANSLATION-KEYS specifies additional key bindings used while translation
region is active.  It is an alist of single key character vs. corresponding
command to be called.

FORGET-LAST-SELECTION non-nil means a selected translation is not kept
for the future to translate the same key.  If this flag is nil, a
translation selected for a key is remembered so that it can be the
first candidate when the same key is entered later.

DETERMINISTIC non-nil means the first candidate of translation is
selected automatically without allowing users to select another
translation for a key.  In this case, unselected translations are of
no use for an interactive use of Quail but can be used by some other
programs.  If this flag is non-nil, FORGET-LAST-SELECTION is also set
to t.

KBD-TRANSLATE non-nil means input characters are translated from a
user's keyboard layout to the standard keyboard layout.  See the
documentation of `quail-keyboard-layout' and
`quail-keyboard-layout-standard' for more detail.

SHOW-LAYOUT non-nil means the `quail-help' command should show
the user's keyboard layout visually with translated characters.
If KBD-TRANSLATE is set, it is desirable to set also this flag unless
this package defines no translations for single character keys.

CREATE-DECODE-MAP non-nil means decode map is also created.  A decode
map is an alist of translations and corresponding original keys.
Although this map is not used by Quail itself, it can be used by some
other programs.  For instance, Vietnamese supporting needs this map to
convert Vietnamese text to VIQR format which uses only ASCII
characters to represent Vietnamese characters.

MAXIMUM-SHORTEST non-nil means break key sequence to get maximum
length of the shortest sequence.  When we don't have a translation of
key "..ABCD" but have translations of "..AB" and "CD..", break
the key at "..AB" and start translation of "CD..".  Hangul
packages, for instance, use this facility.  If this flag is nil, we
break the key just at "..ABC" and start translation of "D..".

OVERLAY-PLIST if non-nil is a property list put on an overlay which
covers Quail translation region.

UPDATE-TRANSLATION-FUNCTION if non-nil is a function to call to update
the current translation region according to a new translation data.  By
default, a translated text or a user's key sequence (if no translation
for it) is inserted.

CONVERSION-KEYS specifies additional key bindings used while
conversion region is active.  It is an alist of single key character
vs. corresponding command to be called.

If SIMPLE is non-nil, then we do not alter the meanings of
commands such as C-f, C-b, C-n, C-p and TAB; they are treated as
non-Quail commands.

(fn NAME LANGUAGE TITLE &optional GUIDANCE DOCSTRING TRANSLATION-KEYS FORGET-LAST-SELECTION DETERMINISTIC KBD-TRANSLATE SHOW-LAYOUT CREATE-DECODE-MAP MAXIMUM-SHORTEST OVERLAY-PLIST UPDATE-TRANSLATION-FUNCTION CONVERSION-KEYS SIMPLE)Fquail-set-keyboard-layout
Set the current keyboard layout to the same as keyboard KBD-TYPE.

Since some Quail packages depends on a physical layout of keys (not
characters generated by them), those are created by assuming the
standard layout defined in `quail-keyboard-layout-standard'.  This
function tells Quail system the layout of your keyboard so that what
you type is correctly handled.

(fn KBD-TYPE)Fquail-show-keyboard-layout
Show the physical layout of the keyboard type KEYBOARD-TYPE.

The variable `quail-keyboard-layout-type' holds the currently selected
keyboard type.

(fn &optional KEYBOARD-TYPE)Fquail-define-rules
Define translation rules of the current Quail package.
Each argument is a list of KEY and TRANSLATION.
KEY is a string meaning a sequence of keystrokes to be translated.
TRANSLATION is a character, a string, a vector, a Quail map, or a function.
If it is a character, it is the sole translation of KEY.
If it is a string, each character is a candidate for the translation.
If it is a vector, each element (string or character) is a candidate
  for the translation.
In these cases, a key specific Quail map is generated and assigned to KEY.

If TRANSLATION is a Quail map or a function symbol which returns a Quail map,
 it is used to handle KEY.

The first argument may be an alist of annotations for the following
rules.  Each element has the form (ANNOTATION . VALUE), where
ANNOTATION is a symbol indicating the annotation type.  Currently
the following annotation types are supported.

  append -- the value non-nil means that the following rules should
	be appended to the rules of the current Quail package.

  face -- the value is a face to use for displaying TRANSLATIONs in
	candidate list.

  advice -- the value is a function to call after one of RULES is
	selected.  The function is called with one argument, the
	selected TRANSLATION string, after the TRANSLATION is
	inserted.

  no-decode-map --- the value non-nil means that decoding map is not
	generated for the following translations.

(fn &rest RULES)Fquail-install-map
Install the Quail map MAP in the current Quail package.

Optional 2nd arg NAME, if non-nil, is a name of Quail package for
which to install MAP.

The installed map can be referred by the function `quail-map'.

(fn MAP &optional NAME)Fquail-install-decode-map
Install the Quail decode map DECODE-MAP in the current Quail package.

Optional 2nd arg NAME, if non-nil, is a name of Quail package for
which to install MAP.

The installed decode map can be referred by the function `quail-decode-map'.

(fn DECODE-MAP &optional NAME)Fquail-defrule
Add one translation rule, KEY to TRANSLATION, in the current Quail package.
KEY is a string meaning a sequence of keystrokes to be translated.
TRANSLATION is a character, a string, a vector, a Quail map,
 a function, or a cons.
It it is a character, it is the sole translation of KEY.
If it is a string, each character is a candidate for the translation.
If it is a vector, each element (string or character) is a candidate
 for the translation.
If it is a cons, the car is one of the above and the cdr is a function
 to call when translating KEY (the return value is assigned to the
 variable `quail-current-data').  If the cdr part is not a function,
 the value itself is assigned to `quail-current-data'.
In these cases, a key specific Quail map is generated and assigned to KEY.

If TRANSLATION is a Quail map or a function symbol which returns a Quail map,
 it is used to handle KEY.

Optional 3rd argument NAME, if specified, says which Quail package
to define this translation rule in.  The default is to define it in the
current Quail package.

Optional 4th argument APPEND, if non-nil, appends TRANSLATION
to the current translations for KEY instead of replacing them.

(fn KEY TRANSLATION &optional NAME APPEND)Fquail-defrule-internal
Define KEY as TRANS in a Quail map MAP.

If Optional 4th arg APPEND is non-nil, TRANS is appended to the
current translations for KEY instead of replacing them.

Optional 5th arg DECODE-MAP is a Quail decode map.

Optional 6th arg PROPS is a property list annotating TRANS.  See the
function `quail-define-rules' for the detail.

(fn KEY TRANS MAP &optional APPEND DECODE-MAP PROPS)Fquail-update-leim-list-file
Update entries for Quail packages in `LEIM' list file in directory DIRNAME.
DIRNAME is a directory containing Emacs input methods;
normally, it should specify the `leim' subdirectory
of the Emacs source tree.

It searches for Quail packages under `quail' subdirectory of DIRNAME,
and update the file "leim-list.el" in DIRNAME.

When called from a program, the remaining arguments are additional
directory names to search for Quail packages under `quail' subdirectory
of each directory.

(fn DIRNAME &rest DIRNAMES)Vquickurl-reread-hook-postfix
Example `quickurl-postfix' text that adds a local variable to the
`quickurl-url-file' so that if you edit it by hand it will ensure that
`quickurl-urls' is updated with the new URL list.

To make use of this do something like:

  (setq quickurl-postfix quickurl-reread-hook-postfix)

in your init file (after loading/requiring quickurl).Fquickurl
Insert a URL based on LOOKUP.

If not supplied LOOKUP is taken to be the word at point in the current
buffer, this default action can be modified via
`quickurl-grab-lookup-function'.

(fn &optional LOOKUP)Fquickurl-ask
Insert a URL, with `completing-read' prompt, based on LOOKUP.

(fn LOOKUP)Fquickurl-add-url
Allow the user to interactively add a new URL associated with WORD.

See `quickurl-grab-url' for details on how the default word/URL combination
is decided.

(fn WORD URL COMMENT)Fquickurl-browse-url
Browse the URL associated with LOOKUP.

If not supplied LOOKUP is taken to be the word at point in the
current buffer, this default action can be modified via
`quickurl-grab-lookup-function'.

(fn &optional LOOKUP)Fquickurl-browse-url-ask
Browse the URL, with `completing-read' prompt, associated with LOOKUP.

(fn LOOKUP)Fquickurl-edit-urls
Pull `quickurl-url-file' into a buffer for hand editing.

(fn)Fquickurl-list-mode
A mode for browsing the quickurl URL list.

The key bindings for `quickurl-list-mode' are:

\{quickurl-list-mode-map}

(fn)Fquickurl-list
Display `quickurl-list' as a formatted list using `quickurl-list-mode'.

(fn)Frcirc
Connect to all servers in `rcirc-server-alist'.

Do not connect to a server if it is already connected.

If ARG is non-nil, instead prompt for connection parameters.

(fn ARG)Frcirc-connect


(fn SERVER &optional PORT NICK USER-NAME FULL-NAME STARTUP-CHANNELS PASSWORD ENCRYPTION)Vrcirc-track-minor-mode
Non-nil if Rcirc-Track minor mode is enabled.
See the command `rcirc-track-minor-mode' for a description of this minor mode.
Setting this variable directly does not take effect;
either customize it (see the info node `Easy Customization')
or call the function `rcirc-track-minor-mode'.Frcirc-track-minor-mode
Global minor mode for tracking activity in rcirc buffers.
With a prefix argument ARG, enable the mode if ARG is positive,
and disable it otherwise.  If called from Lisp, enable the mode
if ARG is omitted or nil.

(fn &optional ARG)Fremote-compile
Compile the current buffer's directory on HOST.  Log in as USER.
See \[compile].

(fn HOST USER COMMAND)Fre-builder
Construct a regexp interactively.
This command makes the current buffer the "target" buffer of
the regexp builder.  It displays a buffer named "*RE-Builder*"
in another window, initially containing an empty regexp.

As you edit the regexp in the "*RE-Builder*" buffer, the
matching parts of the target buffer will be highlighted.

(fn)Vrecentf-mode
Non-nil if Recentf mode is enabled.
See the command `recentf-mode' for a description of this minor mode.
Setting this variable directly does not take effect;
either customize it (see the info node `Easy Customization')
or call the function `recentf-mode'.Frecentf-mode
Toggle "Open Recent" menu (Recentf mode).
With a prefix argument ARG, enable Recentf mode if ARG is
positive, and disable it otherwise.  If called from Lisp, enable
Recentf mode if ARG is omitted or nil.

When Recentf mode is enabled, a "Open Recent" submenu is
displayed in the "File" menu, containing a list of files that
were operated on recently.

(fn &optional ARG)Fdelete-rectangle
Delete (don't save) text in the region-rectangle.
The same range of columns is deleted in each line starting with the
line where the region begins and ending with the line where the region
ends.

When called from a program the rectangle's corners are START and END.
With a prefix (or a FILL) argument, also fill lines where nothing has
to be deleted.

(fn START END &optional FILL)Fdelete-extract-rectangle
Delete the contents of the rectangle with corners at START and END.
Return it as a list of strings, one for each line of the rectangle.

When called from a program the rectangle's corners are START and END.
With an optional FILL argument, also fill lines where nothing has to be
deleted.

(fn START END &optional FILL)Fextract-rectangle
Return the contents of the rectangle with corners at START and END.
Return it as a list of strings, one for each line of the rectangle.

(fn START END)Fkill-rectangle
Delete the region-rectangle and save it as the last killed one.

When called from a program the rectangle's corners are START and END.
You might prefer to use `delete-extract-rectangle' from a program.

With a prefix (or a FILL) argument, also fill lines where nothing has to be
deleted.

If the buffer is read-only, Emacs will beep and refrain from deleting
the rectangle, but put it in the kill ring anyway.  This means that
you can use this command to copy text from a read-only buffer.
(If the variable `kill-read-only-ok' is non-nil, then this won't
even beep.)

(fn START END &optional FILL)Fcopy-rectangle-as-kill
Copy the region-rectangle and save it as the last killed one.

(fn START END)Fyank-rectangle
Yank the last killed rectangle with upper left corner at point.

(fn)Finsert-rectangle
Insert text of RECTANGLE with upper left corner at point.
RECTANGLE's first line is inserted at point, its second
line is inserted at a point vertically under point, etc.
RECTANGLE should be a list of strings.
After this command, the mark is at the upper left corner
and point is at the lower right corner.

(fn RECTANGLE)Fopen-rectangle
Blank out the region-rectangle, shifting text right.

The text previously in the region is not overwritten by the blanks,
but instead winds up to the right of the rectangle.

When called from a program the rectangle's corners are START and END.
With a prefix (or a FILL) argument, fill with blanks even if there is
no text on the right side of the rectangle.

(fn START END &optional FILL)Fdelete-whitespace-rectangle
Delete all whitespace following a specified column in each line.
The left edge of the rectangle specifies the position in each line
at which whitespace deletion should begin.  On each line in the
rectangle, all continuous whitespace starting at that column is deleted.

When called from a program the rectangle's corners are START and END.
With a prefix (or a FILL) argument, also fill too short lines.

(fn START END &optional FILL)Fstring-rectangle
Replace rectangle contents with STRING on each line.
The length of STRING need not be the same as the rectangle width.

Called from a program, takes three args; START, END and STRING.

(fn START END STRING)Fstring-insert-rectangle
Insert STRING on each line of region-rectangle, shifting text right.

When called from a program, the rectangle's corners are START and END.
The left edge of the rectangle specifies the column for insertion.
This command does not delete or overwrite any existing text.

(fn START END STRING)Fclear-rectangle
Blank out the region-rectangle.
The text previously in the region is overwritten with blanks.

When called from a program the rectangle's corners are START and END.
With a prefix (or a FILL) argument, also fill with blanks the parts of the
rectangle which were empty.

(fn START END &optional FILL)Frectangle-number-lines
Insert numbers in front of the region-rectangle.

START-AT, if non-nil, should be a number from which to begin
counting.  FORMAT, if non-nil, should be a format string to pass
to `format' along with the line count.  When called interactively
with a prefix argument, prompt for START-AT and FORMAT.

(fn START END START-AT &optional FORMAT)Frefill-mode
Toggle automatic refilling (Refill mode).
With a prefix argument ARG, enable Refill mode if ARG is
positive, and disable it otherwise.  If called from Lisp, enable
the mode if ARG is omitted or nil.

Refill mode is a buffer-local minor mode.  When enabled, the
current paragraph is refilled as you edit.  Self-inserting
characters only cause refilling if they would cause
auto-filling.

For true "word wrap" behavior, use `visual-line-mode' instead.

(fn &optional ARG)Fturn-on-reftex
Turn on RefTeX mode.

(fn)Freftex-mode
Minor mode with distinct support for \label, \ref and \cite in LaTeX.

\<reftex-mode-map>A Table of Contents of the entire (multifile) document with browsing
capabilities is available with `\[reftex-toc]'.

Labels can be created with `\[reftex-label]' and referenced with `\[reftex-reference]'.
When referencing, you get a menu with all labels of a given type and
context of the label definition.  The selected label is inserted as a
\ref macro.

Citations can be made with `\[reftex-citation]' which will use a regular expression
to pull out a *formatted* list of articles from your BibTeX
database.  The selected citation is inserted as a \cite macro.

Index entries can be made with `\[reftex-index-selection-or-word]' which indexes the word at point
or the current selection.  More general index entries are created with
`\[reftex-index]'.  `\[reftex-display-index]' displays the compiled index.

Most command have help available on the fly.  This help is accessed by
pressing `?' to any prompt mentioning this feature.

Extensive documentation about RefTeX is available in Info format.
You can view this information with `\[reftex-info]'.

\{reftex-mode-map}
Under X, these and other functions will also be available as `Ref' menu
on the menu bar.

------------------------------------------------------------------------------

(fn &optional ARG)Freftex-reset-scanning-information
Reset the symbols containing information from buffer scanning.
This enforces rescanning the buffer on next use.

(fn)Freftex-citation
Make a citation using BibTeX database files.
After prompting for a regular expression, scans the buffers with
bibtex entries (taken from the \bibliography command) and offers the
matching entries for selection.  The selected entry is formatted according
to `reftex-cite-format' and inserted into the buffer.

If NO-INSERT is non-nil, nothing is inserted, only the selected key returned.

FORMAT-KEY can be used to pre-select a citation format.

When called with a `C-u' prefix, prompt for optional arguments in
cite macros.  When called with a numeric prefix, make that many
citations.  When called with point inside the braces of a `\cite'
command, it will add another key, ignoring the value of
`reftex-cite-format'.

The regular expression uses an expanded syntax: && is interpreted as `and'.
Thus, `aaaa&&bbb' matches entries which contain both `aaaa' and `bbb'.
While entering the regexp, completion on knows citation keys is possible.
`=' is a good regular expression to match all entries in all files.

(fn &optional NO-INSERT FORMAT-KEY)Freftex-isearch-minor-mode
When on, isearch searches the whole document, not only the current file.
This minor mode allows isearch to search through all the files of
the current TeX document.

With no argument, this command toggles
`reftex-isearch-minor-mode'.  With a prefix argument ARG, turn
`reftex-isearch-minor-mode' on if ARG is positive, otherwise turn it off.

(fn &optional ARG)Freftex-index-phrases-mode
Major mode for managing the Index phrases of a LaTeX document.
This buffer was created with RefTeX.

To insert new phrases, use
 - `C-c \' in the LaTeX document to copy selection or word
 - `\[reftex-index-new-phrase]' in the phrases buffer.

To index phrases use one of:

\[reftex-index-this-phrase]     index current phrase
\[reftex-index-next-phrase]     index next phrase (or N with prefix arg)
\[reftex-index-all-phrases]     index all phrases
\[reftex-index-remaining-phrases]     index current and following phrases
\[reftex-index-region-phrases]     index the phrases in the region

You can sort the phrases in this buffer with \[reftex-index-sort-phrases].
To display information about the phrase at point, use \[reftex-index-phrases-info].

For more information see the RefTeX User Manual.

Here are all local bindings.

\{reftex-index-phrases-mode-map}

(fn)Freftex-all-document-files
Return a list of all files belonging to the current document.
When RELATIVE is non-nil, give file names relative to directory
of master file.

(fn &optional RELATIVE)Fregexp-opt
Return a regexp to match a string in the list STRINGS.
Each string should be unique in STRINGS and should not contain any regexps,
quoted or not.  If optional PAREN is non-nil, ensure that the returned regexp
is enclosed by at least one regexp grouping construct.
The returned regexp is typically more efficient than the equivalent regexp:

 (let ((open (if PAREN "\\(" "")) (close (if PAREN "\\)" "")))
   (concat open (mapconcat 'regexp-quote STRINGS "\\|") close))

If PAREN is `words', then the resulting regexp is additionally surrounded
by \=\< and \>.
If PAREN is `symbols', then the resulting regexp is additionally surrounded
by \=\_< and \_>.

(fn STRINGS &optional PAREN)Fregexp-opt-depth
Return the depth of REGEXP.
This means the number of non-shy regexp grouping constructs
(parenthesized expressions) in REGEXP.

(fn REGEXP)Fremember
Remember an arbitrary piece of data.
INITIAL is the text to initially place in the *Remember* buffer,
or nil to bring up a blank *Remember* buffer.

With a prefix or a visible region, use the region as INITIAL.

(fn &optional INITIAL)Fremember-other-frame
Call `remember' in another frame.

(fn &optional INITIAL)Fremember-clipboard
Remember the contents of the current clipboard.
Most useful for remembering things from other applications.

(fn)Fremember-diary-extract-entries
Extract diary entries from the region.

(fn)Frepeat
Repeat most recently executed command.
If REPEAT-ARG is non-nil (interactively, with a prefix argument),
supply a prefix argument to that command.  Otherwise, give the
command the same prefix argument it was given before, if any.

If this command is invoked by a multi-character key sequence, it
can then be repeated by repeating the final character of that
sequence.  This behavior can be modified by the global variable
`repeat-on-final-keystroke'.

`repeat' ignores commands bound to input events.  Hence the term
"most recently executed command" shall be read as "most
recently executed command not bound to an input event".

(fn REPEAT-ARG)Freporter-submit-bug-report
Begin submitting a bug report via email.

ADDRESS is the email address for the package's maintainer.  PKGNAME is
the name of the package (if you want to include version numbers,
you must put them into PKGNAME before calling this function).
Optional PRE-HOOKS and POST-HOOKS are passed to `reporter-dump-state'.
Optional SALUTATION is inserted at the top of the mail buffer,
and point is left after the salutation.

VARLIST is the list of variables to dump (see `reporter-dump-state'
for details).  The optional argument PRE-HOOKS and POST-HOOKS are
passed to `reporter-dump-state'.  Optional argument SALUTATION is text
to be inserted at the top of the mail buffer; in that case, point is
left after that text.

This function prompts for a summary if `reporter-prompt-for-summary-p'
is non-nil.

This function does not send a message; it uses the given information
to initialize a message, which the user can then edit and finally send
(or decline to send).  The variable `mail-user-agent' controls which
mail-sending package is used for editing and sending the message.

(fn ADDRESS PKGNAME VARLIST &optional PRE-HOOKS POST-HOOKS SALUTATION)Freposition-window
Make the current definition and/or comment visible.
Further invocations move it to the top of the window or toggle the
visibility of comments that precede it.
  Point is left unchanged unless prefix ARG is supplied.
  If the definition is fully onscreen, it is moved to the top of the
window.  If it is partly offscreen, the window is scrolled to get the
definition (or as much as will fit) onscreen, unless point is in a comment
which is also partly offscreen, in which case the scrolling attempts to get
as much of the comment onscreen as possible.
  Initially `reposition-window' attempts to make both the definition and
preceding comments visible.  Further invocations toggle the visibility of
the comment lines.
  If ARG is non-nil, point may move in order to make the whole defun
visible (if only part could otherwise be made so), to make the defun line
visible (if point is in code and it could not be made so, or if only
comments, including the first comment line, are visible), or to make the
first comment line visible (if point is in a comment).

(fn &optional ARG)Freveal-mode
Toggle uncloaking of invisible text near point (Reveal mode).
With a prefix argument ARG, enable Reveal mode if ARG is
positive, and disable it otherwise.  If called from Lisp, enable
Reveal mode if ARG is omitted or nil.

Reveal mode is a buffer-local minor mode.  When enabled, it
reveals invisible text around point.

(fn &optional ARG)Vglobal-reveal-mode
Non-nil if Global-Reveal mode is enabled.
See the command `global-reveal-mode' for a description of this minor mode.
Setting this variable directly does not take effect;
either customize it (see the info node `Easy Customization')
or call the function `global-reveal-mode'.Fglobal-reveal-mode
Toggle Reveal mode in all buffers (Global Reveal mode).
Reveal mode renders invisible text around point visible again.

With a prefix argument ARG, enable Global Reveal mode if ARG is
positive, and disable it otherwise.  If called from Lisp, enable
the mode if ARG is omitted or nil.

(fn &optional ARG)Fring-p
Return t if X is a ring; nil otherwise.

(fn X)Fmake-ring
Make a ring that can contain SIZE elements.

(fn SIZE)Frlogin
Open a network login connection via `rlogin' with args INPUT-ARGS.
INPUT-ARGS should start with a host name; it may also contain
other arguments for `rlogin'.

Input is sent line-at-a-time to the remote connection.

Communication with the remote host is recorded in a buffer `*rlogin-HOST*'
(or `*rlogin-USER@HOST*' if the remote username differs).
If a prefix argument is given and the buffer `*rlogin-HOST*' already exists,
a new buffer with a different connection will be made.

When called from a program, if the optional second argument BUFFER is
a string or buffer, it specifies the buffer to use.

The variable `rlogin-program' contains the name of the actual program to
run.  It can be a relative or absolute path.

The variable `rlogin-explicit-args' is a list of arguments to give to
the rlogin when starting.  They are added after any arguments given in
INPUT-ARGS.

If the default value of `rlogin-directory-tracking-mode' is t, then the
default directory in that buffer is set to a remote (FTP) file name to
access your home directory on the remote machine.  Occasionally this causes
an error, if you cannot access the home directory on that machine.  This
error is harmless as long as you don't try to use that default directory.

If `rlogin-directory-tracking-mode' is neither t nor nil, then the default
directory is initially set up to your (local) home directory.
This is useful if the remote machine and your local machine
share the same files via NFS.  This is the default.

If you wish to change directory tracking styles during a session, use the
function `rlogin-directory-tracking-mode' rather than simply setting the
variable.

(fn INPUT-ARGS &optional BUFFER)Vrmail-file-name
Name of user's primary mail file.Vrmail-spool-directory
Name of directory used by system mailer for delivering new mail.
Its name should end with a slash.Frmail-movemail-variant-p
Return t if the current movemail variant is any of VARIANTS.
Currently known variants are 'emacs and 'mailutils.

(fn &rest VARIANTS)Vrmail-user-mail-address-regexp
Regexp matching user mail addresses.
If non-nil, this variable is used to identify the correspondent
when receiving new mail.  If it matches the address of the sender,
the recipient is taken as correspondent of a mail.
If nil (default value), your `user-login-name' and `user-mail-address'
are used to exclude yourself as correspondent.

Usually you don't have to set this variable, except if you collect mails
sent by you under different user names.
Then it should be a regexp matching your mail addresses.

Setting this variable has an effect only before reading a mail.Vrmail-default-dont-reply-to-names
Regexp specifying part of the default value of `mail-dont-reply-to-names'.
This is used when the user does not set `mail-dont-reply-to-names'
explicitly.Vrmail-ignored-headers
Regexp to match header fields that Rmail should normally hide.
(See also `rmail-nonignored-headers', which overrides this regexp.)
This variable is used for reformatting the message header,
which normally happens once for each message,
when you view the message for the first time in Rmail.
To make a change in this variable take effect
for a message that you have already viewed,
go to that message and type \[rmail-toggle-header] twice.Vrmail-displayed-headers
Regexp to match Header fields that Rmail should display.
If nil, display all header fields except those matched by
`rmail-ignored-headers'.Vrmail-retry-ignored-headers
Headers that should be stripped when retrying a failed message.Vrmail-highlighted-headers
Regexp to match Header fields that Rmail should normally highlight.
A value of nil means don't highlight.  Uses the face `rmail-highlight'.Vrmail-primary-inbox-list
List of files that are inboxes for your primary mail file `rmail-file-name'.
If this is nil, uses the environment variable MAIL.  If that is
unset, uses a file named by the function `user-login-name' in the
directory `rmail-spool-directory' (whose value depends on the
operating system).  For example, "/var/mail/USER".Vrmail-secondary-file-directory
Directory for additional secondary Rmail files.Vrmail-secondary-file-regexp
Regexp for which files are secondary Rmail files.Vrmail-mode-hook
List of functions to call when Rmail is invoked.Vrmail-show-message-hook
List of functions to call when Rmail displays a message.Vrmail-file-coding-system
Coding system used in RMAIL file.

This is set to nil by default.Vrmail-insert-mime-forwarded-message-function
Function to insert a message in MIME format so it can be forwarded.
This function is called if `rmail-enable-mime' and
`rmail-enable-mime-composing' are non-nil.
It is called with one argument FORWARD-BUFFER, which is a
buffer containing the message to forward.  The current buffer
is the outgoing mail buffer.Frmail
Read and edit incoming mail.
Moves messages into file named by `rmail-file-name' and edits that
file in RMAIL Mode.
Type \[describe-mode] once editing that file, for a list of RMAIL commands.

May be called with file name as argument; then performs rmail editing on
that file, but does not copy any new mail into the file.
Interactively, if you supply a prefix argument, then you
have a chance to specify a file name with the minibuffer.

If `rmail-display-summary' is non-nil, make a summary for this RMAIL file.

(fn &optional FILE-NAME-ARG)Frmail-mode
Rmail Mode is used by \<rmail-mode-map>\[rmail] for editing Rmail files.
All normal editing commands are turned off.
Instead, these commands are available:

\[rmail-beginning-of-message]	Move point to front of this message.
\[rmail-end-of-message]	Move point to bottom of this message.
\[scroll-up]	Scroll to next screen of this message.
\[scroll-down]	Scroll to previous screen of this message.
\[rmail-next-undeleted-message]	Move to Next non-deleted message.
\[rmail-previous-undeleted-message]	Move to Previous non-deleted message.
\[rmail-next-message]	Move to Next message whether deleted or not.
\[rmail-previous-message]	Move to Previous message whether deleted or not.
\[rmail-first-message]	Move to the first message in Rmail file.
\[rmail-last-message]	Move to the last message in Rmail file.
\[rmail-show-message]	Jump to message specified by numeric position in file.
\[rmail-search]	Search for string and show message it is found in.
\[rmail-delete-forward]	Delete this message, move to next nondeleted.
\[rmail-delete-backward]	Delete this message, move to previous nondeleted.
\[rmail-undelete-previous-message]	Undelete message.  Tries current message, then earlier messages
	till a deleted message is found.
\[rmail-edit-current-message]	Edit the current message.  \[rmail-cease-edit] to return to Rmail.
\[rmail-expunge]	Expunge deleted messages.
\[rmail-expunge-and-save]	Expunge and save the file.
\[rmail-quit]       Quit Rmail: expunge, save, then switch to another buffer.
\[save-buffer] Save without expunging.
\[rmail-get-new-mail]	Move new mail from system spool directory into this file.
\[rmail-mail]	Mail a message (same as \[mail-other-window]).
\[rmail-continue]	Continue composing outgoing message started before.
\[rmail-reply]	Reply to this message.  Like \[rmail-mail] but initializes some fields.
\[rmail-retry-failure]	Send this message again.  Used on a mailer failure message.
\[rmail-forward]	Forward this message to another user.
\[rmail-output]	Output (append) this message to another mail file.
\[rmail-output-as-seen]	Output (append) this message to file as it's displayed.
\[rmail-output-body-to-file]	Save message body to a file.  Default filename comes from Subject line.
\[rmail-input]	Input Rmail file.  Run Rmail on that file.
\[rmail-add-label]	Add label to message.  It will be displayed in the mode line.
\[rmail-kill-label]	Kill label.  Remove a label from current message.
\[rmail-next-labeled-message]   Move to Next message with specified label
          (label defaults to last one specified).
          Standard labels: filed, unseen, answered, forwarded, deleted.
          Any other label is present only if you add it with \[rmail-add-label].
\[rmail-previous-labeled-message]   Move to Previous message with specified label
\[rmail-summary]	Show headers buffer, with a one line summary of each message.
\[rmail-summary-by-labels]	Summarize only messages with particular label(s).
\[rmail-summary-by-recipients]   Summarize only messages with particular recipient(s).
\[rmail-summary-by-regexp]   Summarize only messages with particular regexp(s).
\[rmail-summary-by-topic]   Summarize only messages with subject line regexp(s).
\[rmail-toggle-header]	Toggle display of complete header.

(fn)Frmail-input
Run Rmail on file FILENAME.

(fn FILENAME)Frmail-set-remote-password
Set PASSWORD to be used for retrieving mail from a POP or IMAP server.

(fn PASSWORD)Frmail-output
Append this message to mail file FILE-NAME.
Writes mbox format, unless FILE-NAME exists and is Babyl format, in which
case it writes Babyl.

Interactively, the default file name comes from `rmail-default-file',
which is updated to the name you use in this command.  In all uses, if
FILE-NAME is not absolute, it is expanded with the directory part of
`rmail-default-file'.

If a buffer is visiting FILE-NAME, adds the text to that buffer
rather than saving the file directly.  If the buffer is an Rmail
buffer, updates it accordingly.

This command always outputs the complete message header, even if
the header display is currently pruned.

Optional prefix argument COUNT (default 1) says to output that
many consecutive messages, starting with the current one (ignoring
deleted messages).  If `rmail-delete-after-output' is non-nil, deletes
messages after output.

The optional third argument NOATTRIBUTE, if non-nil, says not to
set the `filed' attribute, and not to display a "Wrote file"
message (if writing a file directly).

Set the optional fourth argument NOT-RMAIL non-nil if you call this
from a non-Rmail buffer.  In this case, COUNT is ignored.

(fn FILE-NAME &optional COUNT NOATTRIBUTE NOT-RMAIL)Frmail-output-as-seen
Append this message to mbox file named FILE-NAME.
The details are as for `rmail-output', except that:
  i) the header is output as currently seen
 ii) this function cannot write to Babyl files
iii) an Rmail buffer cannot be visiting FILE-NAME

Note that if NOT-RMAIL is non-nil, there is no difference between this
function and `rmail-output'.  This argument may be removed in future,
so you should call `rmail-output' directly in that case.

(fn FILE-NAME &optional COUNT NOATTRIBUTE NOT-RMAIL)Frmail-output-body-to-file
Write this message body to the file FILE-NAME.
Interactively, the default file name comes from either the message
"Subject" header, or from `rmail-default-body-file'.  Updates the value
of `rmail-default-body-file' accordingly.  In all uses, if FILE-NAME
is not absolute, it is expanded with the directory part of
`rmail-default-body-file'.

Note that this overwrites FILE-NAME (after confirmation), rather
than appending to it.  Deletes the message after writing if
`rmail-delete-after-output' is non-nil.

(fn FILE-NAME)Frng-c-load-schema
Load a schema in RELAX NG compact syntax from FILENAME.
Return a pattern.

(fn FILENAME)Frng-nxml-mode-init
Initialize `nxml-mode' to take advantage of `rng-validate-mode'.
This is typically called from `nxml-mode-hook'.
Validation will be enabled if `rng-nxml-auto-validate-flag' is non-nil.

(fn)Frng-validate-mode
Minor mode performing continual validation against a RELAX NG schema.

Checks whether the buffer is a well-formed XML 1.0 document,
conforming to the XML Namespaces Recommendation and valid against a
RELAX NG schema.  The mode-line indicates whether it is or not.  Any
parts of the buffer that cause it not to be are considered errors and
are highlighted with face `rng-error'.  A description of each error is
available as a tooltip.  \[rng-next-error] goes to the next error
after point.  Clicking mouse-1 on the word `Invalid' in the mode-line
goes to the first error in the buffer.  If the buffer changes, then it
will be automatically rechecked when Emacs becomes idle; the
rechecking will be paused whenever there is input pending.

By default, uses a vacuous schema that allows any well-formed XML
document.  A schema can be specified explicitly using
\[rng-set-schema-file-and-validate], or implicitly based on the buffer's
file name or on the root element name.  In each case the schema must
be a RELAX NG schema using the compact schema (such schemas
conventionally have a suffix of `.rnc').  The variable
`rng-schema-locating-files' specifies files containing rules
to use for finding the schema.

(fn &optional ARG NO-CHANGE-SCHEMA)Frng-xsd-compile
Provides W3C XML Schema as a RELAX NG datatypes library.
NAME is a symbol giving the local name of the datatype.  PARAMS is a
list of pairs (PARAM-NAME . PARAM-VALUE) where PARAM-NAME is a symbol
giving the name of the parameter and PARAM-VALUE is a string giving
its value.  If NAME or PARAMS are invalid, it calls rng-dt-error
passing it arguments in the same style as format; the value from
rng-dt-error will be returned.  Otherwise, it returns a list.  The
first member of the list is t if any string is a legal value for the
datatype and nil otherwise.  The second argument is a symbol; this
symbol will be called as a function passing it a string followed by
the remaining members of the list.  The function must return an object
representing the value of the datatype that was represented by the
string, or nil if the string is not a representation of any value.
The object returned can be any convenient non-nil value, provided
that, if two strings represent the same value, the returned objects
must be equal.

(fn NAME PARAMS)Frobin-define-package
Define a robin package.

NAME is the string of this robin package.
DOCSTRING is the documentation string of this robin package.
Each RULE is of the form (INPUT OUTPUT) where INPUT is a string and
OUTPUT is either a character or a string.  RULES are not evaluated.

If there already exists a robin package whose name is NAME, the new
one replaces the old one.

(fn NAME DOCSTRING &rest RULES)Frobin-modify-package
Change a rule in an already defined robin package.

NAME is the string specifying a robin package.
INPUT is a string that specifies the input pattern.
OUTPUT is either a character or a string to be generated.

(fn NAME INPUT OUTPUT)Frobin-use-package
Start using robin package NAME, which is a string.

(fn NAME)Frot13
Return ROT13 encryption of OBJECT, a buffer or string.

(fn OBJECT &optional START END)Frot13-string
Return ROT13 encryption of STRING.

(fn STRING)Frot13-region
ROT13 encrypt the region between START and END in current buffer.

(fn START END)Frot13-other-window
Display current buffer in ROT13 in another window.
The text itself is not modified, only the way it is displayed is affected.

To terminate the ROT13 display, delete that window.  As long as that window
is not deleted, any buffer displayed in it will become instantly encoded
in ROT13.

See also `toggle-rot13-mode'.

(fn)Ftoggle-rot13-mode
Toggle the use of ROT13 encoding for the current window.

(fn)Frst-mode
Major mode for editing reStructuredText documents.
\<rst-mode-map>

Turning on `rst-mode' calls the normal hooks `text-mode-hook'
and `rst-mode-hook'.  This mode also supports font-lock
highlighting.

\{rst-mode-map}

(fn)Frst-minor-mode
Toggle ReST minor mode.
With a prefix argument ARG, enable ReST minor mode if ARG is
positive, and disable it otherwise.  If called from Lisp, enable
the mode if ARG is omitted or nil.

When ReST minor mode is enabled, the ReST mode keybindings
are installed on top of the major mode bindings.  Use this
for modes derived from Text mode, like Mail mode.

(fn &optional ARG)Fruby-mode
Major mode for editing Ruby scripts.
\[ruby-indent-line] properly indents subexpressions of multi-line
class, module, def, if, while, for, do, and case statements, taking
nesting into account.

The variable `ruby-indent-level' controls the amount of indentation.

\{ruby-mode-map}

(fn)Vruler-mode
Non-nil if Ruler mode is enabled.
Use the command `ruler-mode' to change this variable.Fruler-mode
Toggle display of ruler in header line (Ruler mode).
With a prefix argument ARG, enable Ruler mode if ARG is positive,
and disable it otherwise.  If called from Lisp, enable the mode
if ARG is omitted or nil.

(fn &optional ARG)Frx-to-string
Parse and produce code for regular expression FORM.
FORM is a regular expression in sexp form.
NO-GROUP non-nil means don't put shy groups around the result.

(fn FORM &optional NO-GROUP)Frx
Translate regular expressions REGEXPS in sexp form to a regexp string.
REGEXPS is a non-empty sequence of forms of the sort listed below.

Note that `rx' is a Lisp macro; when used in a Lisp program being
 compiled, the translation is performed by the compiler.
See `rx-to-string' for how to do such a translation at run-time.

The following are valid subforms of regular expressions in sexp
notation.

STRING
     matches string STRING literally.

CHAR
     matches character CHAR literally.

`not-newline', `nonl'
     matches any character except a newline.

`anything'
     matches any character

`(any SET ...)'
`(in SET ...)'
`(char SET ...)'
     matches any character in SET ....  SET may be a character or string.
     Ranges of characters can be specified as `A-Z' in strings.
     Ranges may also be specified as conses like `(?A . ?Z)'.

     SET may also be the name of a character class: `digit',
     `control', `hex-digit', `blank', `graph', `print', `alnum',
     `alpha', `ascii', `nonascii', `lower', `punct', `space', `upper',
     `word', or one of their synonyms.

`(not (any SET ...))'
     matches any character not in SET ...

`line-start', `bol'
     matches the empty string, but only at the beginning of a line
     in the text being matched

`line-end', `eol'
     is similar to `line-start' but matches only at the end of a line

`string-start', `bos', `bot'
     matches the empty string, but only at the beginning of the
     string being matched against.

`string-end', `eos', `eot'
     matches the empty string, but only at the end of the
     string being matched against.

`buffer-start'
     matches the empty string, but only at the beginning of the
     buffer being matched against.  Actually equivalent to `string-start'.

`buffer-end'
     matches the empty string, but only at the end of the
     buffer being matched against.  Actually equivalent to `string-end'.

`point'
     matches the empty string, but only at point.

`word-start', `bow'
     matches the empty string, but only at the beginning of a word.

`word-end', `eow'
     matches the empty string, but only at the end of a word.

`word-boundary'
     matches the empty string, but only at the beginning or end of a
     word.

`(not word-boundary)'
`not-word-boundary'
     matches the empty string, but not at the beginning or end of a
     word.

`symbol-start'
     matches the empty string, but only at the beginning of a symbol.

`symbol-end'
     matches the empty string, but only at the end of a symbol.

`digit', `numeric', `num'
     matches 0 through 9.

`control', `cntrl'
     matches ASCII control characters.

`hex-digit', `hex', `xdigit'
     matches 0 through 9, a through f and A through F.

`blank'
     matches space and tab only.

`graphic', `graph'
     matches graphic characters--everything except ASCII control chars,
     space, and DEL.

`printing', `print'
     matches printing characters--everything except ASCII control chars
     and DEL.

`alphanumeric', `alnum'
     matches letters and digits.  (But at present, for multibyte characters,
     it matches anything that has word syntax.)

`letter', `alphabetic', `alpha'
     matches letters.  (But at present, for multibyte characters,
     it matches anything that has word syntax.)

`ascii'
     matches ASCII (unibyte) characters.

`nonascii'
     matches non-ASCII (multibyte) characters.

`lower', `lower-case'
     matches anything lower-case.

`upper', `upper-case'
     matches anything upper-case.

`punctuation', `punct'
     matches punctuation.  (But at present, for multibyte characters,
     it matches anything that has non-word syntax.)

`space', `whitespace', `white'
     matches anything that has whitespace syntax.

`word', `wordchar'
     matches anything that has word syntax.

`not-wordchar'
     matches anything that has non-word syntax.

`(syntax SYNTAX)'
     matches a character with syntax SYNTAX.  SYNTAX must be one
     of the following symbols, or a symbol corresponding to the syntax
     character, e.g. `\.' for `\s.'.

     `whitespace'		(\s- in string notation)
     `punctuation'		(\s.)
     `word'			(\sw)
     `symbol'			(\s_)
     `open-parenthesis'		(\s()
     `close-parenthesis'	(\s))
     `expression-prefix'	(\s')
     `string-quote'		(\s")
     `paired-delimiter'		(\s$)
     `escape'			(\s\)
     `character-quote'		(\s/)
     `comment-start'		(\s<)
     `comment-end'		(\s>)
     `string-delimiter'		(\s|)
     `comment-delimiter'	(\s!)

`(not (syntax SYNTAX))'
     matches a character that doesn't have syntax SYNTAX.

`(category CATEGORY)'
     matches a character with category CATEGORY.  CATEGORY must be
     either a character to use for C, or one of the following symbols.

     `consonant'			(\c0 in string notation)
     `base-vowel'			(\c1)
     `upper-diacritical-mark'		(\c2)
     `lower-diacritical-mark'		(\c3)
     `tone-mark'		        (\c4)
     `symbol'			        (\c5)
     `digit'			        (\c6)
     `vowel-modifying-diacritical-mark'	(\c7)
     `vowel-sign'			(\c8)
     `semivowel-lower'			(\c9)
     `not-at-end-of-line'		(\c<)
     `not-at-beginning-of-line'		(\c>)
     `alpha-numeric-two-byte'		(\cA)
     `chinse-two-byte'			(\cC)
     `greek-two-byte'			(\cG)
     `japanese-hiragana-two-byte'	(\cH)
     `indian-tow-byte'			(\cI)
     `japanese-katakana-two-byte'	(\cK)
     `korean-hangul-two-byte'		(\cN)
     `cyrillic-two-byte'		(\cY)
     `combining-diacritic'		(\c^)
     `ascii'				(\ca)
     `arabic'				(\cb)
     `chinese'				(\cc)
     `ethiopic'				(\ce)
     `greek'				(\cg)
     `korean'				(\ch)
     `indian'				(\ci)
     `japanese'				(\cj)
     `japanese-katakana'		(\ck)
     `latin'				(\cl)
     `lao'				(\co)
     `tibetan'				(\cq)
     `japanese-roman'			(\cr)
     `thai'				(\ct)
     `vietnamese'			(\cv)
     `hebrew'				(\cw)
     `cyrillic'				(\cy)
     `can-break'			(\c|)

`(not (category CATEGORY))'
     matches a character that doesn't have category CATEGORY.

`(and SEXP1 SEXP2 ...)'
`(: SEXP1 SEXP2 ...)'
`(seq SEXP1 SEXP2 ...)'
`(sequence SEXP1 SEXP2 ...)'
     matches what SEXP1 matches, followed by what SEXP2 matches, etc.

`(submatch SEXP1 SEXP2 ...)'
`(group SEXP1 SEXP2 ...)'
     like `and', but makes the match accessible with `match-end',
     `match-beginning', and `match-string'.

`(submatch-n N SEXP1 SEXP2 ...)'
`(group-n N SEXP1 SEXP2 ...)'
     like `group', but make it an explicitly-numbered group with
     group number N.

`(or SEXP1 SEXP2 ...)'
`(| SEXP1 SEXP2 ...)'
     matches anything that matches SEXP1 or SEXP2, etc.  If all
     args are strings, use `regexp-opt' to optimize the resulting
     regular expression.

`(minimal-match SEXP)'
     produce a non-greedy regexp for SEXP.  Normally, regexps matching
     zero or more occurrences of something are "greedy" in that they
     match as much as they can, as long as the overall regexp can
     still match.  A non-greedy regexp matches as little as possible.

`(maximal-match SEXP)'
     produce a greedy regexp for SEXP.  This is the default.

Below, `SEXP ...' represents a sequence of regexp forms, treated as if
enclosed in `(and ...)'.

`(zero-or-more SEXP ...)'
`(0+ SEXP ...)'
     matches zero or more occurrences of what SEXP ... matches.

`(* SEXP ...)'
     like `zero-or-more', but always produces a greedy regexp, independent
     of `rx-greedy-flag'.

`(*? SEXP ...)'
     like `zero-or-more', but always produces a non-greedy regexp,
     independent of `rx-greedy-flag'.

`(one-or-more SEXP ...)'
`(1+ SEXP ...)'
     matches one or more occurrences of SEXP ...

`(+ SEXP ...)'
     like `one-or-more', but always produces a greedy regexp.

`(+? SEXP ...)'
     like `one-or-more', but always produces a non-greedy regexp.

`(zero-or-one SEXP ...)'
`(optional SEXP ...)'
`(opt SEXP ...)'
     matches zero or one occurrences of A.

`(? SEXP ...)'
     like `zero-or-one', but always produces a greedy regexp.

`(?? SEXP ...)'
     like `zero-or-one', but always produces a non-greedy regexp.

`(repeat N SEXP)'
`(= N SEXP ...)'
     matches N occurrences.

`(>= N SEXP ...)'
     matches N or more occurrences.

`(repeat N M SEXP)'
`(** N M SEXP ...)'
     matches N to M occurrences.

`(backref N)'
     matches what was matched previously by submatch N.

`(eval FORM)'
     evaluate FORM and insert result.  If result is a string,
     `regexp-quote' it.

`(regexp REGEXP)'
     include REGEXP in string notation in the result.

(fn &rest REGEXPS)Vsavehist-mode
Non-nil if Savehist mode is enabled.
See the command `savehist-mode' for a description of this minor mode.
Setting this variable directly does not take effect;
either customize it (see the info node `Easy Customization')
or call the function `savehist-mode'.Fsavehist-mode
Toggle saving of minibuffer history (Savehist mode).
With a prefix argument ARG, enable Savehist mode if ARG is
positive, and disable it otherwise.  If called from Lisp, enable
the mode if ARG is omitted or nil.

When Savehist mode is enabled, minibuffer history is saved
periodically and when exiting Emacs.  When Savehist mode is
enabled for the first time in an Emacs session, it loads the
previous minibuffer history from `savehist-file'.

This mode should normally be turned on from your Emacs init file.
Calling it at any other time replaces your current minibuffer
histories, which is probably undesirable.

(fn &optional ARG)Fscheme-mode
Major mode for editing Scheme code.
Editing commands are similar to those of `lisp-mode'.

In addition, if an inferior Scheme process is running, some additional
commands will be defined, for evaluating expressions and controlling
the interpreter, and the state of the process will be displayed in the
mode line of all Scheme buffers.  The names of commands that interact
with the Scheme process start with "xscheme-" if you use the MIT
Scheme-specific `xscheme' package; for more information see the
documentation for `xscheme-interaction-mode'.  Use \[run-scheme] to
start an inferior Scheme using the more general `cmuscheme' package.

Commands:
Delete converts tabs to spaces as it moves back.
Blank lines separate paragraphs.  Semicolons start comments.
\{scheme-mode-map}
Entry to this mode calls the value of `scheme-mode-hook'
if that value is non-nil.

(fn)Fdsssl-mode
Major mode for editing DSSSL code.
Editing commands are similar to those of `lisp-mode'.

Commands:
Delete converts tabs to spaces as it moves back.
Blank lines separate paragraphs.  Semicolons start comments.
\{scheme-mode-map}
Entering this mode runs the hooks `scheme-mode-hook' and then
`dsssl-mode-hook' and inserts the value of `dsssl-sgml-declaration' if
that variable's value is a string.

(fn)Fgnus-score-mode
Mode for editing Gnus score files.
This mode is an extended emacs-lisp mode.

\{gnus-score-mode-map}

(fn)Vscroll-all-mode
Non-nil if Scroll-All mode is enabled.
See the command `scroll-all-mode' for a description of this minor mode.
Setting this variable directly does not take effect;
either customize it (see the info node `Easy Customization')
or call the function `scroll-all-mode'.Fscroll-all-mode
Toggle shared scrolling in same-frame windows (Scroll-All mode).
With a prefix argument ARG, enable Scroll-All mode if ARG is
positive, and disable it otherwise.  If called from Lisp, enable
the mode if ARG is omitted or nil.

When Scroll-All mode is enabled, scrolling commands invoked in
one window apply to all visible windows in the same frame.

(fn &optional ARG)Fscroll-lock-mode
Buffer-local minor mode for pager-like scrolling.
With a prefix argument ARG, enable the mode if ARG is positive,
and disable it otherwise.  If called from Lisp, enable the mode
if ARG is omitted or nil.  When enabled, keys that normally move
point by line or paragraph will scroll the buffer by the
respective amount of lines instead and point will be kept
vertically fixed relative to window boundaries during scrolling.

(fn &optional ARG)Vsemantic-default-submodes
List of auxiliary Semantic minor modes enabled by `semantic-mode'.
The possible elements of this list include the following:

 `global-semanticdb-minor-mode'        - Maintain tag database.
 `global-semantic-idle-scheduler-mode' - Reparse buffer when idle.
 `global-semantic-idle-summary-mode'   - Show summary of tag at point.
 `global-semantic-idle-completions-mode' - Show completions when idle.
 `global-semantic-decoration-mode'     - Additional tag decorations.
 `global-semantic-highlight-func-mode' - Highlight the current tag.
 `global-semantic-stickyfunc-mode'     - Show current fun in header line.
 `global-semantic-mru-bookmark-mode'   - Provide `switch-to-buffer'-like
                                         keybinding for tag names.
 `global-cedet-m3-minor-mode'          - A mouse 3 context menu.
 `global-semantic-idle-local-symbol-highlight-mode' - Highlight references
                                         of the symbol under point.
The following modes are more targeted at people who want to see
 some internal information of the semantic parser in action:
 `global-semantic-highlight-edits-mode' - Visualize incremental parser by
                                         highlighting not-yet parsed changes.
 `global-semantic-show-unmatched-syntax-mode' - Highlight unmatched lexical
                                         syntax tokens.
 `global-semantic-show-parser-state-mode' - Display the parser cache state.Vsemantic-mode
Non-nil if Semantic mode is enabled.
See the command `semantic-mode' for a description of this minor mode.
Setting this variable directly does not take effect;
either customize it (see the info node `Easy Customization')
or call the function `semantic-mode'.Fsemantic-mode
Toggle parser features (Semantic mode).
With a prefix argument ARG, enable Semantic mode if ARG is
positive, and disable it otherwise.  If called from Lisp, enable
Semantic mode if ARG is omitted or nil.

In Semantic mode, Emacs parses the buffers you visit for their
semantic content.  This information is used by a variety of
auxiliary minor modes, listed in `semantic-default-submodes';
all the minor modes in this list are also enabled when you enable
Semantic mode.

\{semantic-mode-map}

(fn &optional ARG)Fbovine-grammar-mode
Major mode for editing Bovine grammars.

(fn)Fwisent-grammar-mode
Major mode for editing Wisent grammars.

(fn)Vmail-from-style
Specifies how "From:" fields look.

If `nil', they contain just the return address like:
	king@grassland.com
If `parens', they look like:
	king@grassland.com (Elvis Parsley)
If `angles', they look like:
	Elvis Parsley <king@grassland.com>

Otherwise, most addresses look like `angles', but they look like
`parens' if `angles' would need quoting and `parens' would not.Vmail-specify-envelope-from
If non-nil, specify the envelope-from address when sending mail.
The value used to specify it is whatever is found in
the variable `mail-envelope-from', with `user-mail-address' as fallback.

On most systems, specifying the envelope-from address is a
privileged operation.  This variable affects sendmail and
smtpmail -- if you use feedmail to send mail, see instead the
variable `feedmail-deduce-envelope-from'.Vmail-self-blind
Non-nil means insert BCC to self in messages to be sent.
This is done when the message is initialized,
so you can remove or alter the BCC field to override the default.Vmail-interactive
Non-nil means when sending a message wait for and display errors.
Otherwise, let mailer send back a message to report errors.Vsend-mail-function
Function to call to send the current buffer as mail.
The headers should be delimited by a line which is
not a valid RFC822 header or continuation line,
that matches the variable `mail-header-separator'.
This is used by the default mail-sending commands.  See also
`message-send-mail-function' for use with the Message package.Vmail-header-separator
Line used to separate headers from text in messages being composed.Vmail-archive-file-name
Name of file to write all outgoing messages in, or nil for none.
This is normally an mbox file, but for backwards compatibility may also
be a Babyl file.Vmail-default-reply-to
Address to insert as default Reply-to field of outgoing messages.
If nil, it will be initialized from the REPLYTO environment variable
when you first send mail.Vmail-personal-alias-file
If non-nil, the name of the user's personal mail alias file.
This file typically should be in same format as the `.mailrc' file used by
the `Mail' or `mailx' program.
This file need not actually exist.Vmail-setup-hook
Normal hook, run each time a new outgoing message is initialized.Vmail-aliases
Alist of mail address aliases,
or t meaning should be initialized from your mail aliases file.
(The file's name is normally `~/.mailrc', but `mail-personal-alias-file'
can specify a different file name.)
The alias definitions in the file have this form:
    alias ALIAS MEANINGVmail-yank-prefix
Prefix insert on lines of yanked message being replied to.
If this is nil, use indentation, as specified by `mail-indentation-spaces'.Vmail-indentation-spaces
Number of spaces to insert at the beginning of each cited line.
Used by `mail-yank-original' via `mail-indent-citation'.Vmail-citation-hook
Hook for modifying a citation just inserted in the mail buffer.
Each hook function can find the citation between (point) and (mark t),
and should leave point and mark around the citation text as modified.
The hook functions can find the header of the cited message
in the variable `mail-citation-header', whether or not this is included
in the cited portion of the message.

If this hook is entirely empty (nil), a default action is taken
instead of no action.Vmail-citation-prefix-regexp
Regular expression to match a citation prefix plus whitespace.
It should match whatever sort of citation prefixes you want to handle,
with whitespace before and after; it should also match just whitespace.
The default value matches citations like `foo-bar>' plus whitespace.Vmail-signature
Text inserted at end of mail buffer when a message is initialized.
If t, it means to insert the contents of the file `mail-signature-file'.
If a string, that string is inserted.
 (To make a proper signature, the string should begin with \n\n-- \n,
  which is the standard way to delimit a signature in a message.)
Otherwise, it should be an expression; it is evaluated
and should insert whatever you want to insert.Vmail-signature-file
File containing the text inserted at end of mail buffer.Vmail-default-directory
Value of `default-directory' for Mail mode buffers.
This directory is used for auto-save files of Mail mode buffers.

Note that Message mode does not use this variable; it auto-saves
in `message-auto-save-directory'.Vmail-default-headers
A string containing header lines, to be inserted in outgoing messages.
It can contain newlines, and should end in one.  It is inserted
before you edit the message, so you can edit or delete the lines.Fsendmail-query-once
Query for `send-mail-function' and send mail with it.
This also saves the value of `send-mail-function' via Customize.

(fn)Fsendmail-user-agent-compose


(fn &optional TO SUBJECT OTHER-HEADERS CONTINUE SWITCH-FUNCTION YANK-ACTION SEND-ACTIONS RETURN-ACTION &rest IGNORED)Fmail-mode
Major mode for editing mail to be sent.
Like Text Mode but with these additional commands:

\[mail-send]  mail-send (send the message)
\[mail-send-and-exit]  mail-send-and-exit (send the message and exit)

Here are commands that move to a header field (and create it if there isn't):
	 \[mail-to]  move to To:	\[mail-subject]  move to Subj:
	 \[mail-bcc]  move to BCC:	\[mail-cc]  move to CC:
	 \[mail-fcc]  move to FCC:	\[mail-reply-to] move to Reply-To:
         \[mail-mail-reply-to]  move to Mail-Reply-To:
         \[mail-mail-followup-to] move to Mail-Followup-To:
\[mail-text]  move to message text.
\[mail-signature]  mail-signature (insert `mail-signature-file' file).
\[mail-yank-original]  mail-yank-original (insert current message, in Rmail).
\[mail-fill-yanked-message]  mail-fill-yanked-message (fill what was yanked).
\[mail-insert-file] insert a text file into the message.
\[mail-add-attachment] attach to the message a file as binary attachment.
Turning on Mail mode runs the normal hooks `text-mode-hook' and
`mail-mode-hook' (in that order).

(fn)Vmail-mailing-lists
List of mailing list addresses the user is subscribed to.
The variable is used to trigger insertion of the "Mail-Followup-To"
header when sending a message to a mailing list.Vsendmail-coding-system
Coding system for encoding the outgoing mail.
This has higher priority than the default `buffer-file-coding-system'
and `default-sendmail-coding-system',
but lower priority than the local value of `buffer-file-coding-system'.
See also the function `select-message-coding-system'.Vdefault-sendmail-coding-system
Default coding system for encoding the outgoing mail.
This variable is used only when `sendmail-coding-system' is nil.

This variable is set/changed by the command `set-language-environment'.
User should not set this variable manually,
instead use `sendmail-coding-system' to get a constant encoding
of outgoing mails regardless of the current language environment.
See also the function `select-message-coding-system'.Fmail
Edit a message to be sent.  Prefix arg means resume editing (don't erase).
When this function returns, the buffer `*mail*' is selected.
The value is t if the message was newly initialized; otherwise, nil.

Optionally, the signature file `mail-signature-file' can be inserted at the
end; see the variable `mail-signature'.

\<mail-mode-map>
While editing message, type \[mail-send-and-exit] to send the message and exit.

Various special commands starting with C-c are available in sendmail mode
to move to message header fields:
\{mail-mode-map}

If `mail-self-blind' is non-nil, a BCC to yourself is inserted
when the message is initialized.

If `mail-default-reply-to' is non-nil, it should be an address (a string);
a Reply-to: field with that address is inserted.

If `mail-archive-file-name' is non-nil, an FCC field with that file name
is inserted.

The normal hook `mail-setup-hook' is run after the message is
initialized.  It can add more default fields to the message.

The first argument, NOERASE, determines what to do when there is
an existing modified `*mail*' buffer.  If NOERASE is nil, the
existing mail buffer is used, and the user is prompted whether to
keep the old contents or to erase them.  If NOERASE has the value
`new', a new mail buffer will be created instead of using the old
one.  Any other non-nil value means to always select the old
buffer without erasing the contents.

The second through fifth arguments,
 TO, SUBJECT, IN-REPLY-TO and CC, specify if non-nil
 the initial contents of those header fields.
 These arguments should not have final newlines.
The sixth argument REPLYBUFFER is a buffer which contains an
 original message being replied to, or else an action
 of the form (FUNCTION . ARGS) which says how to insert the original.
 Or it can be nil, if not replying to anything.
The seventh argument ACTIONS is a list of actions to take
 if/when the message is sent.  Each action looks like (FUNCTION . ARGS);
 when the message is sent, we apply FUNCTION to ARGS.
 This is how Rmail arranges to mark messages `answered'.

(fn &optional NOERASE TO SUBJECT IN-REPLY-TO CC REPLYBUFFER ACTIONS RETURN-ACTION)Fmail-other-window
Like `mail' command, but display mail buffer in another window.

(fn &optional NOERASE TO SUBJECT IN-REPLY-TO CC REPLYBUFFER SENDACTIONS)Fmail-other-frame
Like `mail' command, but display mail buffer in another frame.

(fn &optional NOERASE TO SUBJECT IN-REPLY-TO CC REPLYBUFFER SENDACTIONS)Fserver-start
Allow this Emacs process to be a server for client processes.
This starts a server communications subprocess through which client
"editors" can send your editing commands to this Emacs job.
To use the server, set up the program `emacsclient' in the Emacs
distribution as your standard "editor".

Optional argument LEAVE-DEAD (interactively, a prefix arg) means just
kill any existing server communications subprocess.

If a server is already running, restart it.  If clients are
running, ask the user for confirmation first, unless optional
argument INHIBIT-PROMPT is non-nil.

To force-start a server, do \[server-force-delete] and then
\[server-start].

(fn &optional LEAVE-DEAD INHIBIT-PROMPT)Fserver-force-delete
Unconditionally delete connection file for server NAME.
If server is running, it is first stopped.
NAME defaults to `server-name'.  With argument, ask for NAME.

(fn &optional NAME)Vserver-mode
Non-nil if Server mode is enabled.
See the command `server-mode' for a description of this minor mode.
Setting this variable directly does not take effect;
either customize it (see the info node `Easy Customization')
or call the function `server-mode'.Fserver-mode
Toggle Server mode.
With a prefix argument ARG, enable Server mode if ARG is
positive, and disable it otherwise.  If called from Lisp, enable
Server mode if ARG is omitted or nil.

Server mode runs a process that accepts commands from the
`emacsclient' program.  See Info node `Emacs server' and
`server-start' for details.

(fn &optional ARG)Fserver-save-buffers-kill-terminal
Offer to save each buffer, then kill the current client.
With ARG non-nil, silently save all file-visiting buffers, then kill.

If emacsclient was started with a list of filenames to edit, then
only these files will be asked to be saved.

(fn ARG)Fses-mode
Major mode for Simple Emacs Spreadsheet.
See "ses-example.ses" (in `data-directory') for more info.

Key definitions:
\{ses-mode-map}
These key definitions are active only in the print area (the visible part):
\{ses-mode-print-map}
These are active only in the minibuffer, when entering or editing a formula:
\{ses-mode-edit-map}

(fn)Fsgml-mode
Major mode for editing SGML documents.
Makes > match <.
Keys <, &, SPC within <>, ", / and ' can be electric depending on
`sgml-quick-keys'.

An argument of N to a tag-inserting command means to wrap it around
the next N words.  In Transient Mark mode, when the mark is active,
N defaults to -1, which means to wrap it around the current region.

If you like upcased tags, put (setq sgml-transformation-function 'upcase)
in your init file.

Use \[sgml-validate] to validate your document with an SGML parser.

Do \[describe-variable] sgml- SPC to see available variables.
Do \[describe-key] on the following bindings to discover what they do.
\{sgml-mode-map}

(fn)Fhtml-mode
Major mode based on SGML mode for editing HTML documents.
This allows inserting skeleton constructs used in hypertext documents with
completion.  See below for an introduction to HTML.  Use
\[browse-url-of-buffer] to see how this comes out.  See also `sgml-mode' on
which this is based.

Do \[describe-variable] html- SPC and \[describe-variable] sgml- SPC to see available variables.

To write fairly well formatted pages you only need to know few things.  Most
browsers have a function to read the source code of the page being seen, so
you can imitate various tricks.  Here's a very short HTML primer which you
can also view with a browser to see what happens:

<title>A Title Describing Contents</title> should be on every page.  Pages can
have <h1>Very Major Headlines</h1> through <h6>Very Minor Headlines</h6>
<hr> Parts can be separated with horizontal rules.

<p>Paragraphs only need an opening tag.  Line breaks and multiple spaces are
ignored unless the text is <pre>preformatted.</pre>  Text can be marked as
<b>bold</b>, <i>italic</i> or <u>underlined</u> using the normal M-o or
Edit/Text Properties/Face commands.

Pages can have <a name="SOMENAME">named points</a> and can link other points
to them with <a href="#SOMENAME">see also somename</a>.  In the same way <a
href="URL">see also URL</a> where URL is a filename relative to current
directory, or absolute as in `http://www.cs.indiana.edu/elisp/w3/docs.html'.

Images in many formats can be inlined with <img src="URL">.

If you mainly create your own documents, `sgml-specials' might be
interesting.  But note that some HTML 2 browsers can't handle `&apos;'.
To work around that, do:
   (eval-after-load "sgml-mode" '(aset sgml-char-names ?' nil))

\{html-mode-map}

(fn)Fsh-mode
Major mode for editing shell scripts.
This mode works for many shells, since they all have roughly the same syntax,
as far as commands, arguments, variables, pipes, comments etc. are concerned.
Unless the file's magic number indicates the shell, your usual shell is
assumed.  Since filenames rarely give a clue, they are not further analyzed.

This mode adapts to the variations between shells (see `sh-set-shell') by
means of an inheritance based feature lookup (see `sh-feature').  This
mechanism applies to all variables (including skeletons) that pertain to
shell-specific features.

The default style of this mode is that of Rosenblatt's Korn shell book.
The syntax of the statements varies with the shell being used.  The
following commands are available, based on the current shell's syntax:
\<sh-mode-map>
\[sh-case]	 case statement
\[sh-for]	 for loop
\[sh-function]	 function definition
\[sh-if]	 if statement
\[sh-indexed-loop]	 indexed loop from 1 to n
\[sh-while-getopts]	 while getopts loop
\[sh-repeat]	 repeat loop
\[sh-select]	 select loop
\[sh-until]	 until loop
\[sh-while]	 while loop

For sh and rc shells indentation commands are:
\[sh-show-indent]	Show the variable controlling this line's indentation.
\[sh-set-indent]	Set then variable controlling this line's indentation.
\[sh-learn-line-indent]	Change the indentation variable so this line
would indent to the way it currently is.
\[sh-learn-buffer-indent]  Set the indentation variables so the
buffer indents as it currently is indented.


\[backward-delete-char-untabify]	 Delete backward one position, even if it was a tab.
\[newline-and-indent]	 Delete unquoted space and indent new line same as this one.
\[sh-end-of-command]	 Go to end of successive commands.
\[sh-beginning-of-command]	 Go to beginning of successive commands.
\[sh-set-shell]	 Set this buffer's shell, and maybe its magic number.
\[sh-execute-region]	 Have optional header and region be executed in a subshell.

`sh-electric-here-document-mode' controls whether insertion of two
unquoted < insert a here document.

If you generally program a shell different from your login shell you can
set `sh-shell-file' accordingly.  If your shell's file name doesn't correctly
indicate what shell it is use `sh-alias-alist' to translate.

If your shell gives error messages with line numbers, you can use \[executable-interpret]
with your script for an edit-interpret-debug cycle.

(fn)Flist-load-path-shadows
Display a list of Emacs Lisp files that shadow other files.

If STRINGP is non-nil, returns any shadows as a string.
Otherwise, if interactive shows any shadows in a `*Shadows*' buffer;
else prints messages listing any shadows.

This function lists potential load path problems.  Directories in
the `load-path' variable are searched, in order, for Emacs Lisp
files.  When a previously encountered file name is found again, a
message is displayed indicating that the later file is "hidden" by
the earlier.

For example, suppose `load-path' is set to

("/usr/gnu/emacs/site-lisp" "/usr/gnu/emacs/share/emacs/19.30/lisp")

and that each of these directories contains a file called XXX.el.  Then
XXX.el in the site-lisp directory is referred to by all of:
(require 'XXX), (autoload .... "XXX"), (load-library "XXX") etc.

The first XXX.el file prevents Emacs from seeing the second (unless
the second is loaded explicitly via `load-file').

When not intended, such shadowings can be the source of subtle
problems.  For example, the above situation may have arisen because the
XXX package was not distributed with versions of Emacs prior to
19.30.  An Emacs maintainer downloaded XXX from elsewhere and installed
it.  Later, XXX was updated and included in the Emacs distribution.
Unless the Emacs maintainer checks for this, the new version of XXX
will be hidden behind the old (which may no longer work with the new
Emacs version).

This function performs these checks and flags all possible
shadowings.  Because a .el file may exist without a corresponding .elc
(or vice-versa), these suffixes are essentially ignored.  A file
XXX.elc in an early directory (that does not contain XXX.el) is
considered to shadow a later file XXX.el, and vice-versa.

Shadowings are located by calling the (non-interactive) companion
function, `load-path-shadows-find'.

(fn &optional STRINGP)Fshadow-define-cluster
Edit (or create) the definition of a cluster NAME.
This is a group of hosts that share directories, so that copying to or from
one of them is sufficient to update the file on all of them.  Clusters are
defined by a name, the network address of a primary host (the one we copy
files to), and a regular expression that matches the hostnames of all the
sites in the cluster.

(fn NAME)Fshadow-define-literal-group
Declare a single file to be shared between sites.
It may have different filenames on each site.  When this file is edited, the
new version will be copied to each of the other locations.  Sites can be
specific hostnames, or names of clusters (see `shadow-define-cluster').

(fn)Fshadow-define-regexp-group
Make each of a group of files be shared between hosts.
Prompts for regular expression; files matching this are shared between a list
of sites, which are also prompted for.  The filenames must be identical on all
hosts (if they aren't, use `shadow-define-literal-group' instead of this
function).  Each site can be either a hostname or the name of a cluster (see
`shadow-define-cluster').

(fn)Fshadow-initialize
Set up file shadowing.

(fn)Vshell-dumb-shell-regexp
Regexp to match shells that don't save their command history, and
don't handle the backslash as a quote character.  For shells that
match this regexp, Emacs will write out the command history when the
shell finishes, and won't remove backslashes when it unquotes shell
arguments.Fshell
Run an inferior shell, with I/O through BUFFER (which defaults to `*shell*').
Interactively, a prefix arg means to prompt for BUFFER.
If `default-directory' is a remote file name, it is also prompted
to change if called with a prefix arg.

If BUFFER exists but shell process is not running, make new shell.
If BUFFER exists and shell process is running, just switch to BUFFER.
Program used comes from variable `explicit-shell-file-name',
 or (if that is nil) from the ESHELL environment variable,
 or (if that is nil) from `shell-file-name'.
If a file `~/.emacs_SHELLNAME' exists, or `~/.emacs.d/init_SHELLNAME.sh',
it is given as initial input (but this may be lost, due to a timing
error, if the shell discards input when it starts up).
The buffer is put in Shell mode, giving commands for sending input
and controlling the subjobs of the shell.  See `shell-mode'.
See also the variable `shell-prompt-pattern'.

To specify a coding system for converting non-ASCII characters
in the input and output to the shell, use \[universal-coding-system-argument]
before \[shell].  You can also specify this with \[set-buffer-process-coding-system]
in the shell buffer, after you start the shell.
The default comes from `process-coding-system-alist' and
`default-process-coding-system'.

The shell file name (sans directories) is used to make a symbol name
such as `explicit-csh-args'.  If that symbol is a variable,
its value is used as a list of arguments when invoking the shell.
Otherwise, one argument `-i' is passed to the shell.

(Type \[describe-mode] in the shell buffer for a list of commands.)

(fn &optional BUFFER)Fshr-insert-document
Render the parsed document DOM into the current buffer.
DOM should be a parse tree as generated by
`libxml-parse-html-region' or similar.

(fn DOM)Fsieve-manage


(fn SERVER &optional PORT)Fsieve-upload


(fn &optional NAME)Fsieve-upload-and-bury


(fn &optional NAME)Fsieve-upload-and-kill


(fn &optional NAME)Fsieve-mode
Major mode for editing Sieve code.
This is much like C mode except for the syntax of comments.  Its keymap
inherits from C mode's and it has the same variables for customizing
indentation.  It has its own abbrev table and its own syntax table.

Turning on Sieve mode runs `sieve-mode-hook'.

(fn)Fsimula-mode
Major mode for editing SIMULA code.
\{simula-mode-map}
Variables controlling indentation style:
 `simula-tab-always-indent'
    Non-nil means TAB in SIMULA mode should always reindent the current line,
    regardless of where in the line point is when the TAB command is used.
 `simula-indent-level'
    Indentation of SIMULA statements with respect to containing block.
 `simula-substatement-offset'
    Extra indentation after DO, THEN, ELSE, WHEN and OTHERWISE.
 `simula-continued-statement-offset' 3
    Extra indentation for lines not starting a statement or substatement,
    e.g. a nested FOR-loop.  If value is a list, each line in a multiple-
    line continued statement will have the car of the list extra indentation
    with respect to the previous line of the statement.
 `simula-label-offset' -4711
    Offset of SIMULA label lines relative to usual indentation.
 `simula-if-indent' '(0 . 0)
    Extra indentation of THEN and ELSE with respect to the starting IF.
    Value is a cons cell, the car is extra THEN indentation and the cdr
    extra ELSE indentation.  IF after ELSE is indented as the starting IF.
 `simula-inspect-indent' '(0 . 0)
    Extra indentation of WHEN and OTHERWISE with respect to the
    corresponding INSPECT.  Value is a cons cell, the car is
    extra WHEN indentation and the cdr extra OTHERWISE indentation.
 `simula-electric-indent' nil
    If this variable is non-nil, `simula-indent-line'
    will check the previous line to see if it has to be reindented.
 `simula-abbrev-keyword' 'upcase
    Determine how SIMULA keywords will be expanded.  Value is one of
    the symbols `upcase', `downcase', `capitalize', (as in) `abbrev-table',
    or nil if they should not be changed.
 `simula-abbrev-stdproc' 'abbrev-table
    Determine how standard SIMULA procedure and class names will be
    expanded.  Value is one of the symbols `upcase', `downcase', `capitalize',
    (as in) `abbrev-table', or nil if they should not be changed.

Turning on SIMULA mode calls the value of the variable simula-mode-hook
with no arguments, if that value is non-nil.

(fn)Vskeleton-filter-function
Function for transforming a skeleton proxy's aliases' variable value.Fdefine-skeleton
Define a user-configurable COMMAND that enters a statement skeleton.
DOCUMENTATION is that of the command.
SKELETON is as defined under `skeleton-insert'.

(fn COMMAND DOCUMENTATION &rest SKELETON)Fskeleton-proxy-new
Insert SKELETON.
Prefix ARG allows wrapping around words or regions (see `skeleton-insert').
If no ARG was given, but the region is visible, ARG defaults to -1 depending
on `skeleton-autowrap'.  An ARG of  M-0  will prevent this just for once.
This command can also be an abbrev expansion (3rd and 4th columns in
\[edit-abbrevs]  buffer: ""  command-name).

Optional second argument STR may also be a string which will be the value
of `str' whereas the skeleton's interactor is then ignored.

(fn SKELETON &optional STR ARG)Fskeleton-insert
Insert the complex statement skeleton SKELETON describes very concisely.

With optional second argument REGIONS, wrap first interesting point
(`_') in skeleton around next REGIONS words, if REGIONS is positive.
If REGIONS is negative, wrap REGIONS preceding interregions into first
REGIONS interesting positions (successive `_'s) in skeleton.

An interregion is the stretch of text between two contiguous marked
points.  If you marked A B C [] (where [] is the cursor) in
alphabetical order, the 3 interregions are simply the last 3 regions.
But if you marked B A [] C, the interregions are B-A, A-[], []-C.

The optional third argument STR, if specified, is the value for the
variable `str' within the skeleton.  When this is non-nil, the
interactor gets ignored, and this should be a valid skeleton element.

SKELETON is made up as (INTERACTOR ELEMENT ...).  INTERACTOR may be nil if
not needed, a prompt-string or an expression for complex read functions.

If ELEMENT is a string or a character it gets inserted (see also
`skeleton-transformation-function').  Other possibilities are:

	\n	go to next line and indent according to mode
	_	interesting point, interregion here
	-	interesting point, no interregion interaction, overrides
		interesting point set by _
	>	indent line (or interregion if > _) according to major mode
	@	add position to `skeleton-positions'
	&	do next ELEMENT if previous moved point
	|	do next ELEMENT if previous didn't move point
	-num	delete num preceding characters (see `skeleton-untabify')
	resume:	skipped, continue here if quit is signaled
	nil	skipped

After termination, point will be positioned at the last occurrence of -
or at the first occurrence of _ or at the end of the inserted text.

Further elements can be defined via `skeleton-further-elements'.  ELEMENT may
itself be a SKELETON with an INTERACTOR.  The user is prompted repeatedly for
different inputs.  The SKELETON is processed as often as the user enters a
non-empty string.  \[keyboard-quit] terminates skeleton insertion, but
continues after `resume:' and positions at `_' if any.  If INTERACTOR in such
a subskeleton is a prompt-string which contains a ".. %s .." it is
formatted with `skeleton-subprompt'.  Such an INTERACTOR may also be a list of
strings with the subskeleton being repeated once for each string.

Quoted Lisp expressions are evaluated for their side-effects.
Other Lisp expressions are evaluated and the value treated as above.
Note that expressions may not return t since this implies an
endless loop.  Modes can define other symbols by locally setting them
to any valid skeleton element.  The following local variables are
available:

	str	first time: read a string according to INTERACTOR
		then: insert previously read string once more
	help	help-form during interaction with the user or nil
	input	initial input (string or cons with index) while reading str
	v1, v2	local variables for memorizing anything you want

When done with skeleton, but before going back to `_'-point call
`skeleton-end-hook' if that is non-nil.

(fn SKELETON &optional REGIONS STR)Fskeleton-pair-insert-maybe
Insert the character you type ARG times.

With no ARG, if `skeleton-pair' is non-nil, pairing can occur.  If the region
is visible the pair is wrapped around it depending on `skeleton-autowrap'.
Else, if `skeleton-pair-on-word' is non-nil or we are not before or inside a
word, and if `skeleton-pair-filter-function' returns nil, pairing is performed.
Pairing is also prohibited if we are right after a quoting character
such as backslash.

If a match is found in `skeleton-pair-alist', that is inserted, else
the defaults are used.  These are (), [], {}, <> and `' for the
symmetrical ones, and the same character twice for the others.

(fn ARG)Fsmerge-ediff
Invoke ediff to resolve the conflicts.
NAME-MINE, NAME-OTHER, and NAME-BASE, if non-nil, are used for the
buffer names.

(fn &optional NAME-MINE NAME-OTHER NAME-BASE)Fsmerge-mode
Minor mode to simplify editing output from the diff3 program.
With a prefix argument ARG, enable the mode if ARG is positive,
and disable it otherwise.  If called from Lisp, enable the mode
if ARG is omitted or nil.
\{smerge-mode-map}

(fn &optional ARG)Fsmerge-start-session
Turn on `smerge-mode' and move point to first conflict marker.
If no conflict maker is found, turn off `smerge-mode'.

(fn)Fsmiley-region
Replace in the region `smiley-regexp-alist' matches with corresponding images.
A list of images is returned.

(fn START END)Fsmiley-buffer
Run `smiley-region' at the BUFFER, specified in the argument or
interactively.  If there's no argument, do it at the current buffer.

(fn &optional BUFFER)Fsmtpmail-send-it


(fn)Fsmtpmail-send-queued-mail
Send mail that was queued as a result of setting `smtpmail-queue-mail'.

(fn)Fsnake
Play the Snake game.
Move the snake around without colliding with its tail or with the border.

Eating dots causes the snake to get longer.

Snake mode keybindings:
   \<snake-mode-map>
\[snake-start-game]	Starts a new game of Snake
\[snake-end-game]	Terminates the current game
\[snake-pause-game]	Pauses (or resumes) the current game
\[snake-move-left]	Makes the snake move left
\[snake-move-right]	Makes the snake move right
\[snake-move-up]	Makes the snake move up
\[snake-move-down]	Makes the snake move down

(fn)Fsnmp-mode
Major mode for editing SNMP MIBs.
Expression and list commands understand all C brackets.
Tab indents for C code.
Comments start with -- and end with newline or another --.
Delete converts tabs to spaces as it moves back.
\{snmp-mode-map}
Turning on snmp-mode runs the hooks in `snmp-common-mode-hook', then
`snmp-mode-hook'.

(fn)Fsnmpv2-mode
Major mode for editing SNMPv2 MIBs.
Expression and list commands understand all C brackets.
Tab indents for C code.
Comments start with -- and end with newline or another --.
Delete converts tabs to spaces as it moves back.
\{snmp-mode-map}
Turning on snmp-mode runs the hooks in `snmp-common-mode-hook',
then `snmpv2-mode-hook'.

(fn)Fsunrise-sunset
Local time of sunrise and sunset for today.  Accurate to a few seconds.
If called with an optional prefix argument ARG, prompt for date.
If called with an optional double prefix argument, prompt for
longitude, latitude, time zone, and date, and always use standard time.

This function is suitable for execution in an init file.

(fn &optional ARG)Fsolitaire
Play Solitaire.

To play Solitaire, type \[solitaire].
\<solitaire-mode-map>
Move around the board using the cursor keys.
Move stones using \[solitaire-move] followed by a direction key.
Undo moves using \[solitaire-undo].
Check for possible moves using \[solitaire-do-check].
(The variable `solitaire-auto-eval' controls whether to automatically
check after each move or undo.)

What is Solitaire?

I don't know who invented this game, but it seems to be rather old and
its origin seems to be northern Africa.  Here's how to play:
Initially, the board will look similar to this:

	Le Solitaire
	============

		o   o   o

		o   o   o

	o   o   o   o   o   o   o

	o   o   o   .   o   o   o

	o   o   o   o   o   o   o

		o   o   o

		o   o   o

Let's call the o's stones and the .'s holes.  One stone fits into one
hole.  As you can see, all holes but one are occupied by stones.  The
aim of the game is to get rid of all but one stone, leaving that last
one in the middle of the board if you're cool.

A stone can be moved if there is another stone next to it, and a hole
after that one.  Thus there must be three fields in a row, either
horizontally or vertically, up, down, left or right, which look like
this:  o  o  .

Then the first stone is moved to the hole, jumping over the second,
which therefore is taken away.  The above thus `evaluates' to:  .  .  o

That's all.  Here's the board after two moves:

		o   o   o

		.   o   o

	o   o   .   o   o   o   o

	o   .   o   o   o   o   o

	o   o   o   o   o   o   o

		o   o   o

		o   o   o

Pick your favorite shortcuts:

\{solitaire-mode-map}

(fn ARG)Fsort-subr
General text sorting routine to divide buffer into records and sort them.

We divide the accessible portion of the buffer into disjoint pieces
called sort records.  A portion of each sort record (perhaps all of
it) is designated as the sort key.  The records are rearranged in the
buffer in order by their sort keys.  The records may or may not be
contiguous.

Usually the records are rearranged in order of ascending sort key.
If REVERSE is non-nil, they are rearranged in order of descending sort key.
The variable `sort-fold-case' determines whether alphabetic case affects
the sort order.

The next four arguments are functions to be called to move point
across a sort record.  They will be called many times from within sort-subr.

NEXTRECFUN is called with point at the end of the previous record.
It moves point to the start of the next record.
It should move point to the end of the buffer if there are no more records.
The first record is assumed to start at the position of point when sort-subr
is called.

ENDRECFUN is called with point within the record.
It should move point to the end of the record.

STARTKEYFUN moves from the start of the record to the start of the key.
It may return either a non-nil value to be used as the key, or
else the key is the substring between the values of point after
STARTKEYFUN and ENDKEYFUN are called.  If STARTKEYFUN is nil, the key
starts at the beginning of the record.

ENDKEYFUN moves from the start of the sort key to the end of the sort key.
ENDKEYFUN may be nil if STARTKEYFUN returns a value or if it would be the
same as ENDRECFUN.

PREDICATE, if non-nil, is the predicate function for comparing
keys; it is called with two arguments, the keys to compare, and
should return non-nil if the first key should sort before the
second key.  If PREDICATE is nil, comparison is done with `<' if
the keys are numbers, with `compare-buffer-substrings' if the
keys are cons cells (the car and cdr of each cons cell are taken
as start and end positions), and with `string<' otherwise.

(fn REVERSE NEXTRECFUN ENDRECFUN &optional STARTKEYFUN ENDKEYFUN PREDICATE)Fsort-lines
Sort lines in region alphabetically; argument means descending order.
Called from a program, there are three arguments:
REVERSE (non-nil means reverse order), BEG and END (region to sort).
The variable `sort-fold-case' determines whether alphabetic case affects
the sort order.

(fn REVERSE BEG END)Fsort-paragraphs
Sort paragraphs in region alphabetically; argument means descending order.
Called from a program, there are three arguments:
REVERSE (non-nil means reverse order), BEG and END (region to sort).
The variable `sort-fold-case' determines whether alphabetic case affects
the sort order.

(fn REVERSE BEG END)Fsort-pages
Sort pages in region alphabetically; argument means descending order.
Called from a program, there are three arguments:
REVERSE (non-nil means reverse order), BEG and END (region to sort).
The variable `sort-fold-case' determines whether alphabetic case affects
the sort order.

(fn REVERSE BEG END)Fsort-numeric-fields
Sort lines in region numerically by the ARGth field of each line.
Fields are separated by whitespace and numbered from 1 up.
Specified field must contain a number in each line of the region,
which may begin with "0x" or "0" for hexadecimal and octal values.
Otherwise, the number is interpreted according to sort-numeric-base.
With a negative arg, sorts by the ARGth field counted from the right.
Called from a program, there are three arguments:
FIELD, BEG and END.  BEG and END specify region to sort.

(fn FIELD BEG END)Fsort-fields
Sort lines in region lexicographically by the ARGth field of each line.
Fields are separated by whitespace and numbered from 1 up.
With a negative arg, sorts by the ARGth field counted from the right.
Called from a program, there are three arguments:
FIELD, BEG and END.  BEG and END specify region to sort.
The variable `sort-fold-case' determines whether alphabetic case affects
the sort order.

(fn FIELD BEG END)Fsort-regexp-fields
Sort the text in the region region lexicographically.
If called interactively, prompt for two regular expressions,
RECORD-REGEXP and KEY-REGEXP.

RECORD-REGEXP specifies the textual units to be sorted.
  For example, to sort lines, RECORD-REGEXP would be "^.*$".

KEY-REGEXP specifies the part of each record (i.e. each match for
  RECORD-REGEXP) to be used for sorting.
  If it is "\\digit", use the digit'th "\\(...\\)"
  match field specified by RECORD-REGEXP.
  If it is "\\&", use the whole record.
  Otherwise, KEY-REGEXP should be a regular expression with which
  to search within the record.  If a match for KEY-REGEXP is not
  found within a record, that record is ignored.

With a negative prefix arg, sort in reverse order.

The variable `sort-fold-case' determines whether alphabetic case affects
the sort order.

For example: to sort lines in the region by the first word on each line
 starting with the letter "f",
 RECORD-REGEXP would be "^.*$" and KEY would be "\\=\<f\\w*\\>"

(fn REVERSE RECORD-REGEXP KEY-REGEXP BEG END)Fsort-columns
Sort lines in region alphabetically by a certain range of columns.
For the purpose of this command, the region BEG...END includes
the entire line that point is in and the entire line the mark is in.
The column positions of point and mark bound the range of columns to sort on.
A prefix argument means sort into REVERSE order.
The variable `sort-fold-case' determines whether alphabetic case affects
the sort order.

Note that `sort-columns' rejects text that contains tabs,
because tabs could be split across the specified columns
and it doesn't know how to handle that.  Also, when possible,
it uses the `sort' utility program, which doesn't understand tabs.
Use \[untabify] to convert tabs to spaces before sorting.

(fn REVERSE &optional BEG END)Freverse-region
Reverse the order of lines in a region.
From a program takes two point or marker arguments, BEG and END.

(fn BEG END)Fspam-initialize
Install the spam.el hooks and do other initialization.
When SYMBOLS is given, set those variables to t.  This is so you
can call `spam-initialize' before you set spam-use-* variables on
explicitly, and matters only if you need the extra headers
installed through `spam-necessary-extra-headers'.

(fn &rest SYMBOLS)Fspam-report-process-queue
Report all queued requests from `spam-report-requests-file'.

If FILE is given, use it instead of `spam-report-requests-file'.
If KEEP is t, leave old requests in the file.  If KEEP is the
symbol `ask', query before flushing the queue file.

(fn &optional FILE KEEP)Fspam-report-url-ping-mm-url
Ping a host through HTTP, addressing a specific GET resource. Use
the external program specified in `mm-url-program' to connect to
server.

(fn HOST REPORT)Fspam-report-url-to-file
Collect spam report requests in `spam-report-requests-file'.
Customize `spam-report-url-ping-function' to use this function.

(fn HOST REPORT)Fspam-report-agentize
Add spam-report support to the Agent.
Spam reports will be queued with \[spam-report-url-to-file] when
the Agent is unplugged, and will be submitted in a batch when the
Agent is plugged.

(fn)Fspam-report-deagentize
Remove spam-report support from the Agent.
Spam reports will be queued with the method used when
\[spam-report-agentize] was run.

(fn)Fspeedbar-frame-mode
Enable or disable speedbar.  Positive ARG means turn on, negative turn off.
A nil ARG means toggle.  Once the speedbar frame is activated, a buffer in
`speedbar-mode' will be displayed.  Currently, only one speedbar is
supported at a time.
`speedbar-before-popup-hook' is called before popping up the speedbar frame.
`speedbar-before-delete-hook' is called before the frame is deleted.

(fn &optional ARG)Fspeedbar-get-focus
Change frame focus to or from the speedbar frame.
If the selected frame is not speedbar, then speedbar frame is
selected.  If the speedbar frame is active, then select the attached frame.

(fn)Fspook
Adds that special touch of class to your outgoing mail.

(fn)Fsnarf-spooks
Return a vector containing the lines from `spook-phrases-file'.

(fn)Fsql-add-product-keywords
Add highlighting KEYWORDS for SQL PRODUCT.

PRODUCT should be a symbol, the name of a SQL product, such as
`oracle'.  KEYWORDS should be a list; see the variable
`font-lock-keywords'.  By default they are added at the beginning
of the current highlighting list.  If optional argument APPEND is
`set', they are used to replace the current highlighting list.
If APPEND is any other non-nil value, they are added at the end
of the current highlighting list.

For example:

 (sql-add-product-keywords 'ms
  '(("\\b\\w+_t\\b" . font-lock-type-face)))

adds a fontification pattern to fontify identifiers ending in
`_t' as data types.

(fn PRODUCT KEYWORDS &optional APPEND)Fsql-help
Show short help for the SQL modes.

Use an entry function to open an interactive SQL buffer.  This buffer is
usually named `*SQL*'.  The name of the major mode is SQLi.

Use the following commands to start a specific SQL interpreter:

    \\FREE

Other non-free SQL implementations are also supported:

    \\NONFREE

But we urge you to choose a free implementation instead of these.

You can also use \[sql-product-interactive] to invoke the
interpreter for the current `sql-product'.

Once you have the SQLi buffer, you can enter SQL statements in the
buffer.  The output generated is appended to the buffer and a new prompt
is generated.  See the In/Out menu in the SQLi buffer for some functions
that help you navigate through the buffer, the input history, etc.

If you have a really complex SQL statement or if you are writing a
procedure, you can do this in a separate buffer.  Put the new buffer in
`sql-mode' by calling \[sql-mode].  The name of this buffer can be
anything.  The name of the major mode is SQL.

In this SQL buffer (SQL mode), you can send the region or the entire
buffer to the interactive SQL buffer (SQLi mode).  The results are
appended to the SQLi buffer without disturbing your SQL buffer.

(fn)Fsql-mode
Major mode to edit SQL.

You can send SQL statements to the SQLi buffer using
\[sql-send-region].  Such a buffer must exist before you can do this.
See `sql-help' on how to create SQLi buffers.

\{sql-mode-map}
Customization: Entry to this mode runs the `sql-mode-hook'.

When you put a buffer in SQL mode, the buffer stores the last SQLi
buffer created as its destination in the variable `sql-buffer'.  This
will be the buffer \[sql-send-region] sends the region to.  If this
SQLi buffer is killed, \[sql-send-region] is no longer able to
determine where the strings should be sent to.  You can set the
value of `sql-buffer' using \[sql-set-sqli-buffer].

For information on how to create multiple SQLi buffers, see
`sql-interactive-mode'.

Note that SQL doesn't have an escape character unless you specify
one.  If you specify backslash as escape character in SQL, you
must tell Emacs.  Here's how to do that in your init file:

(add-hook 'sql-mode-hook
          (lambda ()
	    (modify-syntax-entry ?\\ "." sql-mode-syntax-table)))

(fn)Fsql-connect
Connect to an interactive session using CONNECTION settings.

See `sql-connection-alist' to see how to define connections and
their settings.

The user will not be prompted for any login parameters if a value
is specified in the connection settings.

(fn CONNECTION &optional NEW-NAME)Fsql-product-interactive
Run PRODUCT interpreter as an inferior process.

If buffer `*SQL*' exists but no process is running, make a new process.
If buffer exists and a process is running, just switch to buffer `*SQL*'.

To specify the SQL product, prefix the call with
\[universal-argument].  To set the buffer name as well, prefix
the call to \[sql-product-interactive] with
\[universal-argument] \[universal-argument].

(Type \[describe-mode] in the SQL buffer for a list of commands.)

(fn &optional PRODUCT NEW-NAME)Fsql-oracle
Run sqlplus by Oracle as an inferior process.

If buffer `*SQL*' exists but no process is running, make a new process.
If buffer exists and a process is running, just switch to buffer
`*SQL*'.

Interpreter used comes from variable `sql-oracle-program'.  Login uses
the variables `sql-user', `sql-password', and `sql-database' as
defaults, if set.  Additional command line parameters can be stored in
the list `sql-oracle-options'.

The buffer is put in SQL interactive mode, giving commands for sending
input.  See `sql-interactive-mode'.

To set the buffer name directly, use \[universal-argument]
before \[sql-oracle].  Once session has started,
\[sql-rename-buffer] can be called separately to rename the
buffer.

To specify a coding system for converting non-ASCII characters
in the input and output to the process, use \[universal-coding-system-argument]
before \[sql-oracle].  You can also specify this with \[set-buffer-process-coding-system]
in the SQL buffer, after you start the process.
The default comes from `process-coding-system-alist' and
`default-process-coding-system'.

(Type \[describe-mode] in the SQL buffer for a list of commands.)

(fn &optional BUFFER)Fsql-sybase
Run isql by Sybase as an inferior process.

If buffer `*SQL*' exists but no process is running, make a new process.
If buffer exists and a process is running, just switch to buffer
`*SQL*'.

Interpreter used comes from variable `sql-sybase-program'.  Login uses
the variables `sql-server', `sql-user', `sql-password', and
`sql-database' as defaults, if set.  Additional command line parameters
can be stored in the list `sql-sybase-options'.

The buffer is put in SQL interactive mode, giving commands for sending
input.  See `sql-interactive-mode'.

To set the buffer name directly, use \[universal-argument]
before \[sql-sybase].  Once session has started,
\[sql-rename-buffer] can be called separately to rename the
buffer.

To specify a coding system for converting non-ASCII characters
in the input and output to the process, use \[universal-coding-system-argument]
before \[sql-sybase].  You can also specify this with \[set-buffer-process-coding-system]
in the SQL buffer, after you start the process.
The default comes from `process-coding-system-alist' and
`default-process-coding-system'.

(Type \[describe-mode] in the SQL buffer for a list of commands.)

(fn &optional BUFFER)Fsql-informix
Run dbaccess by Informix as an inferior process.

If buffer `*SQL*' exists but no process is running, make a new process.
If buffer exists and a process is running, just switch to buffer
`*SQL*'.

Interpreter used comes from variable `sql-informix-program'.  Login uses
the variable `sql-database' as default, if set.

The buffer is put in SQL interactive mode, giving commands for sending
input.  See `sql-interactive-mode'.

To set the buffer name directly, use \[universal-argument]
before \[sql-informix].  Once session has started,
\[sql-rename-buffer] can be called separately to rename the
buffer.

To specify a coding system for converting non-ASCII characters
in the input and output to the process, use \[universal-coding-system-argument]
before \[sql-informix].  You can also specify this with \[set-buffer-process-coding-system]
in the SQL buffer, after you start the process.
The default comes from `process-coding-system-alist' and
`default-process-coding-system'.

(Type \[describe-mode] in the SQL buffer for a list of commands.)

(fn &optional BUFFER)Fsql-sqlite
Run sqlite as an inferior process.

SQLite is free software.

If buffer `*SQL*' exists but no process is running, make a new process.
If buffer exists and a process is running, just switch to buffer
`*SQL*'.

Interpreter used comes from variable `sql-sqlite-program'.  Login uses
the variables `sql-user', `sql-password', `sql-database', and
`sql-server' as defaults, if set.  Additional command line parameters
can be stored in the list `sql-sqlite-options'.

The buffer is put in SQL interactive mode, giving commands for sending
input.  See `sql-interactive-mode'.

To set the buffer name directly, use \[universal-argument]
before \[sql-sqlite].  Once session has started,
\[sql-rename-buffer] can be called separately to rename the
buffer.

To specify a coding system for converting non-ASCII characters
in the input and output to the process, use \[universal-coding-system-argument]
before \[sql-sqlite].  You can also specify this with \[set-buffer-process-coding-system]
in the SQL buffer, after you start the process.
The default comes from `process-coding-system-alist' and
`default-process-coding-system'.

(Type \[describe-mode] in the SQL buffer for a list of commands.)

(fn &optional BUFFER)Fsql-mysql
Run mysql by TcX as an inferior process.

Mysql versions 3.23 and up are free software.

If buffer `*SQL*' exists but no process is running, make a new process.
If buffer exists and a process is running, just switch to buffer
`*SQL*'.

Interpreter used comes from variable `sql-mysql-program'.  Login uses
the variables `sql-user', `sql-password', `sql-database', and
`sql-server' as defaults, if set.  Additional command line parameters
can be stored in the list `sql-mysql-options'.

The buffer is put in SQL interactive mode, giving commands for sending
input.  See `sql-interactive-mode'.

To set the buffer name directly, use \[universal-argument]
before \[sql-mysql].  Once session has started,
\[sql-rename-buffer] can be called separately to rename the
buffer.

To specify a coding system for converting non-ASCII characters
in the input and output to the process, use \[universal-coding-system-argument]
before \[sql-mysql].  You can also specify this with \[set-buffer-process-coding-system]
in the SQL buffer, after you start the process.
The default comes from `process-coding-system-alist' and
`default-process-coding-system'.

(Type \[describe-mode] in the SQL buffer for a list of commands.)

(fn &optional BUFFER)Fsql-solid
Run solsql by Solid as an inferior process.

If buffer `*SQL*' exists but no process is running, make a new process.
If buffer exists and a process is running, just switch to buffer
`*SQL*'.

Interpreter used comes from variable `sql-solid-program'.  Login uses
the variables `sql-user', `sql-password', and `sql-server' as
defaults, if set.

The buffer is put in SQL interactive mode, giving commands for sending
input.  See `sql-interactive-mode'.

To set the buffer name directly, use \[universal-argument]
before \[sql-solid].  Once session has started,
\[sql-rename-buffer] can be called separately to rename the
buffer.

To specify a coding system for converting non-ASCII characters
in the input and output to the process, use \[universal-coding-system-argument]
before \[sql-solid].  You can also specify this with \[set-buffer-process-coding-system]
in the SQL buffer, after you start the process.
The default comes from `process-coding-system-alist' and
`default-process-coding-system'.

(Type \[describe-mode] in the SQL buffer for a list of commands.)

(fn &optional BUFFER)Fsql-ingres
Run sql by Ingres as an inferior process.

If buffer `*SQL*' exists but no process is running, make a new process.
If buffer exists and a process is running, just switch to buffer
`*SQL*'.

Interpreter used comes from variable `sql-ingres-program'.  Login uses
the variable `sql-database' as default, if set.

The buffer is put in SQL interactive mode, giving commands for sending
input.  See `sql-interactive-mode'.

To set the buffer name directly, use \[universal-argument]
before \[sql-ingres].  Once session has started,
\[sql-rename-buffer] can be called separately to rename the
buffer.

To specify a coding system for converting non-ASCII characters
in the input and output to the process, use \[universal-coding-system-argument]
before \[sql-ingres].  You can also specify this with \[set-buffer-process-coding-system]
in the SQL buffer, after you start the process.
The default comes from `process-coding-system-alist' and
`default-process-coding-system'.

(Type \[describe-mode] in the SQL buffer for a list of commands.)

(fn &optional BUFFER)Fsql-ms
Run osql by Microsoft as an inferior process.

If buffer `*SQL*' exists but no process is running, make a new process.
If buffer exists and a process is running, just switch to buffer
`*SQL*'.

Interpreter used comes from variable `sql-ms-program'.  Login uses the
variables `sql-user', `sql-password', `sql-database', and `sql-server'
as defaults, if set.  Additional command line parameters can be stored
in the list `sql-ms-options'.

The buffer is put in SQL interactive mode, giving commands for sending
input.  See `sql-interactive-mode'.

To set the buffer name directly, use \[universal-argument]
before \[sql-ms].  Once session has started,
\[sql-rename-buffer] can be called separately to rename the
buffer.

To specify a coding system for converting non-ASCII characters
in the input and output to the process, use \[universal-coding-system-argument]
before \[sql-ms].  You can also specify this with \[set-buffer-process-coding-system]
in the SQL buffer, after you start the process.
The default comes from `process-coding-system-alist' and
`default-process-coding-system'.

(Type \[describe-mode] in the SQL buffer for a list of commands.)

(fn &optional BUFFER)Fsql-postgres
Run psql by Postgres as an inferior process.

If buffer `*SQL*' exists but no process is running, make a new process.
If buffer exists and a process is running, just switch to buffer
`*SQL*'.

Interpreter used comes from variable `sql-postgres-program'.  Login uses
the variables `sql-database' and `sql-server' as default, if set.
Additional command line parameters can be stored in the list
`sql-postgres-options'.

The buffer is put in SQL interactive mode, giving commands for sending
input.  See `sql-interactive-mode'.

To set the buffer name directly, use \[universal-argument]
before \[sql-postgres].  Once session has started,
\[sql-rename-buffer] can be called separately to rename the
buffer.

To specify a coding system for converting non-ASCII characters
in the input and output to the process, use \[universal-coding-system-argument]
before \[sql-postgres].  You can also specify this with \[set-buffer-process-coding-system]
in the SQL buffer, after you start the process.
The default comes from `process-coding-system-alist' and
`default-process-coding-system'.  If your output lines end with ^M,
your might try undecided-dos as a coding system.  If this doesn't help,
Try to set `comint-output-filter-functions' like this:

(setq comint-output-filter-functions (append comint-output-filter-functions
					     '(comint-strip-ctrl-m)))

(Type \[describe-mode] in the SQL buffer for a list of commands.)

(fn &optional BUFFER)Fsql-interbase
Run isql by Interbase as an inferior process.

If buffer `*SQL*' exists but no process is running, make a new process.
If buffer exists and a process is running, just switch to buffer
`*SQL*'.

Interpreter used comes from variable `sql-interbase-program'.  Login
uses the variables `sql-user', `sql-password', and `sql-database' as
defaults, if set.

The buffer is put in SQL interactive mode, giving commands for sending
input.  See `sql-interactive-mode'.

To set the buffer name directly, use \[universal-argument]
before \[sql-interbase].  Once session has started,
\[sql-rename-buffer] can be called separately to rename the
buffer.

To specify a coding system for converting non-ASCII characters
in the input and output to the process, use \[universal-coding-system-argument]
before \[sql-interbase].  You can also specify this with \[set-buffer-process-coding-system]
in the SQL buffer, after you start the process.
The default comes from `process-coding-system-alist' and
`default-process-coding-system'.

(Type \[describe-mode] in the SQL buffer for a list of commands.)

(fn &optional BUFFER)Fsql-db2
Run db2 by IBM as an inferior process.

If buffer `*SQL*' exists but no process is running, make a new process.
If buffer exists and a process is running, just switch to buffer
`*SQL*'.

Interpreter used comes from variable `sql-db2-program'.  There is not
automatic login.

The buffer is put in SQL interactive mode, giving commands for sending
input.  See `sql-interactive-mode'.

If you use \[sql-accumulate-and-indent] to send multiline commands to
db2, newlines will be escaped if necessary.  If you don't want that, set
`comint-input-sender' back to `comint-simple-send' by writing an after
advice.  See the elisp manual for more information.

To set the buffer name directly, use \[universal-argument]
before \[sql-db2].  Once session has started,
\[sql-rename-buffer] can be called separately to rename the
buffer.

To specify a coding system for converting non-ASCII characters
in the input and output to the process, use \[universal-coding-system-argument]
before \[sql-db2].  You can also specify this with \[set-buffer-process-coding-system]
in the SQL buffer, after you start the process.
The default comes from `process-coding-system-alist' and
`default-process-coding-system'.

(Type \[describe-mode] in the SQL buffer for a list of commands.)

(fn &optional BUFFER)Fsql-linter
Run inl by RELEX as an inferior process.

If buffer `*SQL*' exists but no process is running, make a new process.
If buffer exists and a process is running, just switch to buffer
`*SQL*'.

Interpreter used comes from variable `sql-linter-program' - usually `inl'.
Login uses the variables `sql-user', `sql-password', `sql-database' and
`sql-server' as defaults, if set.  Additional command line parameters
can be stored in the list `sql-linter-options'.  Run inl -h to get help on
parameters.

`sql-database' is used to set the LINTER_MBX environment variable for
local connections, `sql-server' refers to the server name from the
`nodetab' file for the network connection (dbc_tcp or friends must run
for this to work).  If `sql-password' is an empty string, inl will use
an empty password.

The buffer is put in SQL interactive mode, giving commands for sending
input.  See `sql-interactive-mode'.

To set the buffer name directly, use \[universal-argument]
before \[sql-linter].  Once session has started,
\[sql-rename-buffer] can be called separately to rename the
buffer.

(Type \[describe-mode] in the SQL buffer for a list of commands.)

(fn &optional BUFFER)Fsrecode-template-mode
Major-mode for writing SRecode macros.

(fn)Fstarttls-open-stream
Open a TLS connection for a port to a host.
Returns a subprocess object to represent the connection.
Input and output work as for subprocesses; `delete-process' closes it.
Args are NAME BUFFER HOST PORT.
NAME is name for process.  It is modified if necessary to make it unique.
BUFFER is the buffer (or `buffer-name') to associate with the process.
 Process output goes at end of that buffer, unless you specify
 an output stream or filter function to handle the output.
 BUFFER may be also nil, meaning that this process is not associated
 with any buffer
Third arg is name of the host to connect to, or its IP address.
Fourth arg PORT is an integer specifying a port to connect to.
If `starttls-use-gnutls' is nil, this may also be a service name, but
GnuTLS requires a port number.

(fn NAME BUFFER HOST PORT)Fstrokes-global-set-stroke
Interactively give STROKE the global binding as COMMAND.
Operated just like `global-set-key', except for strokes.
COMMAND is a symbol naming an interactively-callable function.  STROKE
is a list of sampled positions on the stroke grid as described in the
documentation for the `strokes-define-stroke' function.

See also `strokes-global-set-stroke-string'.

(fn STROKE COMMAND)Fstrokes-read-stroke
Read a simple stroke (interactively) and return the stroke.
Optional PROMPT in minibuffer displays before and during stroke reading.
This function will display the stroke interactively as it is being
entered in the strokes buffer if the variable
`strokes-use-strokes-buffer' is non-nil.
Optional EVENT is acceptable as the starting event of the stroke.

(fn &optional PROMPT EVENT)Fstrokes-read-complex-stroke
Read a complex stroke (interactively) and return the stroke.
Optional PROMPT in minibuffer displays before and during stroke reading.
Note that a complex stroke allows the user to pen-up and pen-down.  This
is implemented by allowing the user to paint with button 1 or button 2 and
then complete the stroke with button 3.
Optional EVENT is acceptable as the starting event of the stroke.

(fn &optional PROMPT EVENT)Fstrokes-do-stroke
Read a simple stroke from the user and then execute its command.
This must be bound to a mouse event.

(fn EVENT)Fstrokes-do-complex-stroke
Read a complex stroke from the user and then execute its command.
This must be bound to a mouse event.

(fn EVENT)Fstrokes-describe-stroke
Displays the command which STROKE maps to, reading STROKE interactively.

(fn STROKE)Fstrokes-help
Get instruction on using the Strokes package.

(fn)Fstrokes-load-user-strokes
Load user-defined strokes from file named by `strokes-file'.

(fn)Fstrokes-list-strokes
Pop up a buffer containing an alphabetical listing of strokes in STROKES-MAP.
With CHRONOLOGICAL prefix arg (\[universal-argument]) list strokes
chronologically by command name.
If STROKES-MAP is not given, `strokes-global-map' will be used instead.

(fn &optional CHRONOLOGICAL STROKES-MAP)Vstrokes-mode
Non-nil if Strokes mode is enabled.
See the command `strokes-mode' for a description of this minor mode.
Setting this variable directly does not take effect;
either customize it (see the info node `Easy Customization')
or call the function `strokes-mode'.Fstrokes-mode
Toggle Strokes mode, a global minor mode.
With a prefix argument ARG, enable Strokes mode if ARG is
positive, and disable it otherwise.  If called from Lisp, enable
the mode if ARG is omitted or nil.

\<strokes-mode-map>
Strokes are pictographic mouse gestures which invoke commands.
Strokes are invoked with \[strokes-do-stroke].  You can define
new strokes with \[strokes-global-set-stroke].  See also
\[strokes-do-complex-stroke] for `complex' strokes.

To use strokes for pictographic editing, such as Chinese/Japanese, use
\[strokes-compose-complex-stroke], which draws strokes and inserts them.
Encode/decode your strokes with \[strokes-encode-buffer],
\[strokes-decode-buffer].

\{strokes-mode-map}

(fn &optional ARG)Fstrokes-decode-buffer
Decode stroke strings in BUFFER and display their corresponding glyphs.
Optional BUFFER defaults to the current buffer.
Optional FORCE non-nil will ignore the buffer's read-only status.

(fn &optional BUFFER FORCE)Fstrokes-compose-complex-stroke
Read a complex stroke and insert its glyph into the current buffer.

(fn)Fstudlify-region
Studlify-case the region.

(fn BEGIN END)Fstudlify-word
Studlify-case the current word, or COUNT words if given an argument.

(fn COUNT)Fstudlify-buffer
Studlify-case the current buffer.

(fn)Fsubword-mode
Toggle subword movement and editing (Subword mode).
With a prefix argument ARG, enable Subword mode if ARG is
positive, and disable it otherwise.  If called from Lisp, enable
the mode if ARG is omitted or nil.

Subword mode is a buffer-local minor mode.  Enabling it remaps
word-based editing commands to subword-based commands that handle
symbols with mixed uppercase and lowercase letters,
e.g. "GtkWidget", "EmacsFrameClass", "NSGraphicsContext".

Here we call these mixed case symbols `nomenclatures'.  Each
capitalized (or completely uppercase) part of a nomenclature is
called a `subword'.  Here are some examples:

  Nomenclature           Subwords
  ===========================================================
  GtkWindow          =>  "Gtk" and "Window"
  EmacsFrameClass    =>  "Emacs", "Frame" and "Class"
  NSGraphicsContext  =>  "NS", "Graphics" and "Context"

The subword oriented commands activated in this minor mode recognize
subwords in a nomenclature to move between subwords and to edit them
as words.

\{subword-mode-map}

(fn &optional ARG)Vglobal-subword-mode
Non-nil if Global-Subword mode is enabled.
See the command `global-subword-mode' for a description of this minor mode.
Setting this variable directly does not take effect;
either customize it (see the info node `Easy Customization')
or call the function `global-subword-mode'.Fglobal-subword-mode
Toggle Subword mode in all buffers.
With prefix ARG, enable Global-Subword mode if ARG is positive;
otherwise, disable it.  If called from Lisp, enable the mode if
ARG is omitted or nil.

Subword mode is enabled in all buffers where
`(lambda nil (subword-mode 1))' would do it.
See `subword-mode' for more information on Subword mode.

(fn &optional ARG)Fsc-cite-original
Workhorse citing function which performs the initial citation.
This is callable from the various mail and news readers' reply
function according to the agreed upon standard.  See the associated
info node `(SC)Top' for more details.
`sc-cite-original' does not do any yanking of the
original message but it does require a few things:

     1) The reply buffer is the current buffer.

     2) The original message has been yanked and inserted into the
        reply buffer.

     3) Verbose mail headers from the original message have been
        inserted into the reply buffer directly before the text of the
        original message.

     4) Point is at the beginning of the verbose headers.

     5) Mark is at the end of the body of text to be cited.

The region need not be active (and typically isn't when this
function is called).  Also, the hook `sc-pre-hook' is run before,
and `sc-post-hook' is run after the guts of this function.

(fn)Vgpm-mouse-mode
Non-nil if Gpm-Mouse mode is enabled.
See the command `gpm-mouse-mode' for a description of this minor mode.
Setting this variable directly does not take effect;
either customize it (see the info node `Easy Customization')
or call the function `gpm-mouse-mode'.Fgpm-mouse-mode
Toggle mouse support in GNU/Linux consoles (GPM Mouse mode).
With a prefix argument ARG, enable GPM Mouse mode if ARG is
positive, and disable it otherwise.  If called from Lisp, enable
the mode if ARG is omitted or nil.

This allows the use of the mouse when operating on a GNU/Linux console,
in the same way as you can use the mouse under X11.
It relies on the `gpm' daemon being activated.

(fn &optional ARG)Funtabify
Convert all tabs in region to multiple spaces, preserving columns.
Called non-interactively, the region is specified by arguments
START and END, rather than by the position of point and mark.
The variable `tab-width' controls the spacing of tab stops.

(fn START END)Ftabify
Convert multiple spaces in region to tabs when possible.
A group of spaces is partially replaced by tabs
when this can be done without changing the column they end at.
Called non-interactively, the region is specified by arguments
START and END, rather than by the position of point and mark.
The variable `tab-width' controls the spacing of tab stops.

(fn START END)Vtable-cell-map-hook
Normal hooks run when finishing construction of `table-cell-map'.
User can modify `table-cell-map' by adding custom functions here.Vtable-load-hook
List of functions to be called after the table is first loaded.Vtable-point-entered-cell-hook
List of functions to be called after point entered a table cell.Vtable-point-left-cell-hook
List of functions to be called after point left a table cell.Ftable-insert
Insert an editable text table.
Insert a table of specified number of COLUMNS and ROWS.  Optional
parameter CELL-WIDTH and CELL-HEIGHT can specify the size of each
cell.  The cell size is uniform across the table if the specified size
is a number.  They can be a list of numbers to specify different size
for each cell.  When called interactively, the list of number is
entered by simply listing all the numbers with space characters
delimiting them.

Examples:

\[table-insert] inserts a table at the current point location.

Suppose we have the following situation where `-!-' indicates the
location of point.

    -!-

Type \[table-insert] and hit ENTER key.  As it asks table
specification, provide 3 for number of columns, 1 for number of rows,
5 for cell width and 1 for cell height.  Now you shall see the next
table and the point is automatically moved to the beginning of the
first cell.

    +-----+-----+-----+
    |-!-  |     |     |
    +-----+-----+-----+

Inside a table cell, there are special key bindings. \<table-cell-map>

M-9 \[table-widen-cell] (or \[universal-argument] 9 \[table-widen-cell]) widens the first cell by 9 character
width, which results as

    +--------------+-----+-----+
    |-!-           |     |     |
    +--------------+-----+-----+

Type TAB \[table-widen-cell] then type TAB M-2 M-7 \[table-widen-cell] (or \[universal-argument] 2 7 \[table-widen-cell]).  Typing
TAB moves the point forward by a cell. The result now looks like this:

    +--------------+------+--------------------------------+
    |              |      |-!-                             |
    +--------------+------+--------------------------------+

If you knew each width of the columns prior to the table creation,
what you could have done better was to have had given the complete
width information to `table-insert'.

Cell width(s): 14 6 32

instead of

Cell width(s): 5

This would have eliminated the previously mentioned width adjustment
work all together.

If the point is in the last cell type S-TAB S-TAB to move it to the
first cell.  Now type \[table-heighten-cell] which heighten the row by a line.

    +--------------+------+--------------------------------+
    |-!-           |      |                                |
    |              |      |                                |
    +--------------+------+--------------------------------+

Type \[table-insert-row-column] and tell it to insert a row.

    +--------------+------+--------------------------------+
    |-!-           |      |                                |
    |              |      |                                |
    +--------------+------+--------------------------------+
    |              |      |                                |
    |              |      |                                |
    +--------------+------+--------------------------------+

Move the point under the table as shown below.

    +--------------+------+--------------------------------+
    |              |      |                                |
    |              |      |                                |
    +--------------+------+--------------------------------+
    |              |      |                                |
    |              |      |                                |
    +--------------+------+--------------------------------+
    -!-

Type M-x table-insert-row instead of \[table-insert-row-column].  \[table-insert-row-column] does not work
when the point is outside of the table.  This insertion at
outside of the table effectively appends a row at the end.

    +--------------+------+--------------------------------+
    |              |      |                                |
    |              |      |                                |
    +--------------+------+--------------------------------+
    |              |      |                                |
    |              |      |                                |
    +--------------+------+--------------------------------+
    |-!-           |      |                                |
    |              |      |                                |
    +--------------+------+--------------------------------+

Text editing inside the table cell produces reasonably expected
results.

    +--------------+------+--------------------------------+
    |              |      |                                |
    |              |      |                                |
    +--------------+------+--------------------------------+
    |              |      |Text editing inside the table   |
    |              |      |cell produces reasonably        |
    |              |      |expected results.-!-            |
    +--------------+------+--------------------------------+
    |              |      |                                |
    |              |      |                                |
    +--------------+------+--------------------------------+

Inside a table cell has a special keymap.

\{table-cell-map}

(fn COLUMNS ROWS &optional CELL-WIDTH CELL-HEIGHT)Ftable-insert-row
Insert N table row(s).
When point is in a table the newly inserted row(s) are placed above
the current row.  When point is outside of the table it must be below
the table within the table width range, then the newly created row(s)
are appended at the bottom of the table.

(fn N)Ftable-insert-column
Insert N table column(s).
When point is in a table the newly inserted column(s) are placed left
of the current column.  When point is outside of the table it must be
right side of the table within the table height range, then the newly
created column(s) are appended at the right of the table.

(fn N)Ftable-insert-row-column
Insert row(s) or column(s).
See `table-insert-row' and `table-insert-column'.

(fn ROW-COLUMN N)Ftable-recognize
Recognize all tables within the current buffer and activate them.
Scans the entire buffer and recognizes valid table cells.  If the
optional numeric prefix argument ARG is negative the tables in the
buffer become inactive, meaning the tables become plain text and loses
all the table specific features.

(fn &optional ARG)Ftable-unrecognize


(fn)Ftable-recognize-region
Recognize all tables within region.
BEG and END specify the region to work on.  If the optional numeric
prefix argument ARG is negative the tables in the region become
inactive, meaning the tables become plain text and lose all the table
specific features.

(fn BEG END &optional ARG)Ftable-unrecognize-region


(fn BEG END)Ftable-recognize-table
Recognize a table at point.
If the optional numeric prefix argument ARG is negative the table
becomes inactive, meaning the table becomes plain text and loses all
the table specific features.

(fn &optional ARG)Ftable-unrecognize-table


(fn)Ftable-recognize-cell
Recognize a table cell that contains current point.
Probe the cell dimension and prepare the cell information.  The
optional two arguments FORCE and NO-COPY are for internal use only and
must not be specified.  When the optional numeric prefix argument ARG
is negative the cell becomes inactive, meaning that the cell becomes
plain text and loses all the table specific features.

(fn &optional FORCE NO-COPY ARG)Ftable-unrecognize-cell


(fn)Ftable-heighten-cell
Heighten the current cell by N lines by expanding the cell vertically.
Heightening is done by adding blank lines at the bottom of the current
cell.  Other cells aligned horizontally with the current one are also
heightened in order to keep the rectangular table structure.  The
optional argument NO-COPY is internal use only and must not be
specified.

(fn N &optional NO-COPY NO-UPDATE)Ftable-shorten-cell
Shorten the current cell by N lines by shrinking the cell vertically.
Shortening is done by removing blank lines from the bottom of the cell
and possibly from the top of the cell as well.  Therefore, the cell
must have some bottom/top blank lines to be shorten effectively.  This
is applicable to all the cells aligned horizontally with the current
one because they are also shortened in order to keep the rectangular
table structure.

(fn N)Ftable-widen-cell
Widen the current cell by N columns and expand the cell horizontally.
Some other cells in the same table are widen as well to keep the
table's rectangle structure.

(fn N &optional NO-COPY NO-UPDATE)Ftable-narrow-cell
Narrow the current cell by N columns and shrink the cell horizontally.
Some other cells in the same table are narrowed as well to keep the
table's rectangle structure.

(fn N)Ftable-forward-cell
Move point forward to the beginning of the next cell.
With argument ARG, do it ARG times;
a negative argument ARG = -N means move backward N cells.
Do not specify NO-RECOGNIZE and UNRECOGNIZE. They are for internal use only.

Sample Cell Traveling Order (In Irregular Table Cases)

You can actually try how it works in this buffer.  Press
\[table-recognize] and go to cells in the following tables and press
\[table-forward-cell] or TAB key.

+-----+--+  +--+-----+  +--+--+--+  +--+--+--+  +---------+  +--+---+--+
|0    |1 |  |0 |1    |  |0 |1 |2 |  |0 |1 |2 |  |0        |  |0 |1  |2 |
+--+--+  |  |  +--+--+  +--+  |  |  |  |  +--+  +----+----+  +--+-+-+--+
|2 |3 |  |  |  |2 |3 |  |3 +--+  |  |  +--+3 |  |1   |2   |  |3   |4   |
|  +--+--+  +--+--+  |  +--+4 |  |  |  |4 +--+  +--+-+-+--+  +----+----+
|  |4    |  |4    |  |  |5 |  |  |  |  |  |5 |  |3 |4  |5 |  |5        |
+--+-----+  +-----+--+  +--+--+--+  +--+--+--+  +--+---+--+  +---------+

+--+--+--+  +--+--+--+  +--+--+--+  +--+--+--+
|0 |1 |2 |  |0 |1 |2 |  |0 |1 |2 |  |0 |1 |2 |
|  |  |  |  |  +--+  |  |  |  |  |  +--+  +--+
+--+  +--+  +--+3 +--+  |  +--+  |  |3 +--+4 |
|3 |  |4 |  |4 +--+5 |  |  |3 |  |  +--+5 +--+
|  |  |  |  |  |6 |  |  |  |  |  |  |6 |  |7 |
+--+--+--+  +--+--+--+  +--+--+--+  +--+--+--+

+--+--+--+  +--+--+--+  +--+--+--+--+  +--+-----+--+  +--+--+--+--+
|0 |1 |2 |  |0 |1 |2 |	|0 |1 |2 |3 |  |0 |1    |2 |  |0 |1 |2 |3 |
|  +--+  |  |  +--+  |	|  +--+--+  |  |  |     |  |  |  +--+--+  |
|  |3 +--+  +--+3 |  |	+--+4    +--+  +--+     +--+  +--+4    +--+
+--+  |4 |  |4 |  +--+	|5 +--+--+6 |  |3 +--+--+4 |  |5 |     |6 |
|5 +--+  |  |  +--+5 |	|  |7 |8 |  |  |  |5 |6 |  |  |  |     |  |
|  |6 |  |  |  |6 |  |	+--+--+--+--+  +--+--+--+--+  +--+-----+--+
+--+--+--+  +--+--+--+

(fn &optional ARG NO-RECOGNIZE UNRECOGNIZE)Ftable-backward-cell
Move backward to the beginning of the previous cell.
With argument ARG, do it ARG times;
a negative argument ARG = -N means move forward N cells.

(fn &optional ARG)Ftable-span-cell
Span current cell into adjacent cell in DIRECTION.
DIRECTION is one of symbols; right, left, above or below.

(fn DIRECTION)Ftable-split-cell-vertically
Split current cell vertically.
Creates a cell above and a cell below the current point location.

(fn)Ftable-split-cell-horizontally
Split current cell horizontally.
Creates a cell on the left and a cell on the right of the current point location.

(fn)Ftable-split-cell
Split current cell in ORIENTATION.
ORIENTATION is a symbol either horizontally or vertically.

(fn ORIENTATION)Ftable-justify
Justify contents of a cell, a row of cells or a column of cells.
WHAT is a symbol 'cell, 'row or 'column.  JUSTIFY is a symbol 'left,
'center, 'right, 'top, 'middle, 'bottom or 'none.

(fn WHAT JUSTIFY)Ftable-justify-cell
Justify cell contents.
JUSTIFY is a symbol 'left, 'center or 'right for horizontal, or 'top,
'middle, 'bottom or 'none for vertical.  When optional PARAGRAPH is
non-nil the justify operation is limited to the current paragraph,
otherwise the entire cell contents is justified.

(fn JUSTIFY &optional PARAGRAPH)Ftable-justify-row
Justify cells of a row.
JUSTIFY is a symbol 'left, 'center or 'right for horizontal, or top,
'middle, 'bottom or 'none for vertical.

(fn JUSTIFY)Ftable-justify-column
Justify cells of a column.
JUSTIFY is a symbol 'left, 'center or 'right for horizontal, or top,
'middle, 'bottom or 'none for vertical.

(fn JUSTIFY)Ftable-fixed-width-mode
Cell width is fixed when this is non-nil.
Normally it should be nil for allowing automatic cell width expansion
that widens a cell when it is necessary.  When non-nil, typing in a
cell does not automatically expand the cell width.  A word that is too
long to fit in a cell is chopped into multiple lines.  The chopped
location is indicated by `table-word-continuation-char'.  This
variable's value can be toggled by \[table-fixed-width-mode] at
run-time.

(fn &optional ARG)Ftable-query-dimension
Return the dimension of the current cell and the current table.
The result is a list (cw ch tw th c r cells) where cw is the cell
width, ch is the cell height, tw is the table width, th is the table
height, c is the number of columns, r is the number of rows and cells
is the total number of cells.  The cell dimension excludes the cell
frame while the table dimension includes the table frame.  The columns
and the rows are counted by the number of cell boundaries.  Therefore
the number tends to be larger than it appears for the tables with
non-uniform cell structure (heavily spanned and split).  When optional
WHERE is provided the cell and table at that location is reported.

(fn &optional WHERE)Ftable-generate-source
Generate source of the current table in the specified language.
LANGUAGE is a symbol that specifies the language to describe the
structure of the table.  It must be either 'html, 'latex or 'cals.
The resulted source text is inserted into DEST-BUFFER and the buffer
object is returned.  When DEST-BUFFER is omitted or nil the default
buffer specified in `table-dest-buffer-name' is used.  In this case
the content of the default buffer is erased prior to the generation.
When DEST-BUFFER is non-nil it is expected to be either a destination
buffer or a name of the destination buffer.  In this case the
generated result is inserted at the current point in the destination
buffer and the previously existing contents in the buffer are
untouched.

References used for this implementation:

HTML:
        URL `http://www.w3.org'

LaTeX:
        URL `http://www.maths.tcd.ie/~dwilkins/LaTeXPrimer/Tables.html'

CALS (DocBook DTD):
        URL `http://www.oasis-open.org/html/a502.htm'
        URL `http://www.oreilly.com/catalog/docbook/chapter/book/table.html#AEN114751'

(fn LANGUAGE &optional DEST-BUFFER CAPTION)Ftable-insert-sequence
Travel cells forward while inserting a specified sequence string in each cell.
STR is the base string from which the sequence starts.  When STR is an
empty string then each cell content is erased.  When STR ends with
numerical characters (they may optionally be surrounded by a pair of
parentheses) they are incremented as a decimal number.  Otherwise the
last character in STR is incremented in ASCII code order.  N is the
number of sequence elements to insert.  When N is negative the cell
traveling direction is backward.  When N is zero it travels forward
entire table.  INCREMENT is the increment between adjacent sequence
elements and can be a negative number for effectively decrementing.
INTERVAL is the number of cells to travel between sequence element
insertion which is normally 1.  When zero or less is given for
INTERVAL it is interpreted as number of cells per row so that sequence
is placed straight down vertically as long as the table's cell
structure is uniform.  JUSTIFY is one of the symbol 'left, 'center or
'right, that specifies justification of the inserted string.

Example:

  (progn
    (table-insert 16 3 5 1)
    (table-forward-cell 15)
    (table-insert-sequence "D0" -16 1 1 'center)
    (table-forward-cell 16)
    (table-insert-sequence "A[0]" -16 1 1 'center)
    (table-forward-cell 1)
    (table-insert-sequence "-" 16 0 1 'center))

  (progn
    (table-insert 16 8 5 1)
    (table-insert-sequence "@" 0 1 2 'right)
    (table-forward-cell 1)
    (table-insert-sequence "64" 0 1 2 'left))

(fn STR N INCREMENT INTERVAL JUSTIFY)Ftable-delete-row
Delete N row(s) of cells.
Delete N rows of cells from current row.  The current row is the row
contains the current cell where point is located.  Each row must
consists from cells of same height.

(fn N)Ftable-delete-column
Delete N column(s) of cells.
Delete N columns of cells from current column.  The current column is
the column contains the current cell where point is located.  Each
column must consists from cells of same width.

(fn N)Ftable-capture
Convert plain text into a table by capturing the text in the region.
Create a table with the text in region as cell contents.  BEG and END
specify the region.  The text in the region is replaced with a table.
The removed text is inserted in the table.  When optional
COL-DELIM-REGEXP and ROW-DELIM-REGEXP are provided the region contents
is parsed and separated into individual cell contents by using the
delimiter regular expressions.  This parsing determines the number of
columns and rows of the table automatically.  If COL-DELIM-REGEXP and
ROW-DELIM-REGEXP are omitted the result table has only one cell and
the entire region contents is placed in that cell.  Optional JUSTIFY
is one of 'left, 'center or 'right, which specifies the cell
justification.  Optional MIN-CELL-WIDTH specifies the minimum cell
width.  Optional COLUMNS specify the number of columns when
ROW-DELIM-REGEXP is not specified.


Example 1:

1, 2, 3, 4
5, 6, 7, 8
, 9, 10

Running `table-capture' on above 3 line region with COL-DELIM-REGEXP
"," and ROW-DELIM-REGEXP "\n" creates the following table.  In
this example the cells are centered and minimum cell width is
specified as 5.

+-----+-----+-----+-----+
|  1  |  2  |  3  |  4  |
+-----+-----+-----+-----+
|  5  |  6  |  7  |  8  |
+-----+-----+-----+-----+
|     |  9  | 10  |     |
+-----+-----+-----+-----+

Note:

In case the function is called interactively user must use \[quoted-insert] `quoted-insert'
in order to enter "\n" successfully.  COL-DELIM-REGEXP at the end
of each row is optional.


Example 2:

This example shows how a table can be used for text layout editing.
Let `table-capture' capture the following region starting from
-!- and ending at -*-, that contains three paragraphs and two item
name headers.  This time specify empty string for both
COL-DELIM-REGEXP and ROW-DELIM-REGEXP.

-!-`table-capture' is a powerful command however mastering its power
requires some practice.  Here is a list of items what it can do.

Parse Cell Items      By using column delimiter regular
		      expression and raw delimiter regular
		      expression, it parses the specified text
		      area and extracts cell items from
		      non-table text and then forms a table out
		      of them.

Capture Text Area     When no delimiters are specified it
		      creates a single cell table.  The text in
		      the specified region is placed in that
		      cell.-*-

Now the entire content is captured in a cell which is itself a table
like this.

+-----------------------------------------------------------------+
|`table-capture' is a powerful command however mastering its power|
|requires some practice.  Here is a list of items what it can do. |
|                                                                 |
|Parse Cell Items      By using column delimiter regular          |
|                      expression and raw delimiter regular       |
|                      expression, it parses the specified text   |
|                      area and extracts cell items from          |
|                      non-table text and then forms a table out  |
|                      of them.                                   |
|                                                                 |
|Capture Text Area     When no delimiters are specified it        |
|                      creates a single cell table.  The text in  |
|                      the specified region is placed in that     |
|                      cell.                                      |
+-----------------------------------------------------------------+

By splitting the cell appropriately we now have a table consisting of
paragraphs occupying its own cell.  Each cell can now be edited
independently.

+-----------------------------------------------------------------+
|`table-capture' is a powerful command however mastering its power|
|requires some practice.  Here is a list of items what it can do. |
+---------------------+-------------------------------------------+
|Parse Cell Items     |By using column delimiter regular          |
|                     |expression and raw delimiter regular       |
|                     |expression, it parses the specified text   |
|                     |area and extracts cell items from          |
|                     |non-table text and then forms a table out  |
|                     |of them.                                   |
+---------------------+-------------------------------------------+
|Capture Text Area    |When no delimiters are specified it        |
|                     |creates a single cell table.  The text in  |
|                     |the specified region is placed in that     |
|                     |cell.                                      |
+---------------------+-------------------------------------------+

By applying `table-release', which does the opposite process, the
contents become once again plain text.  `table-release' works as
companion command to `table-capture' this way.

(fn BEG END &optional COL-DELIM-REGEXP ROW-DELIM-REGEXP JUSTIFY MIN-CELL-WIDTH COLUMNS)Ftable-release
Convert a table into plain text by removing the frame from a table.
Remove the frame from a table and deactivate the table.  This command
converts a table into plain text without frames.  It is a companion to
`table-capture' which does the opposite process.

(fn)Ftalk-connect
Connect to display DISPLAY for the Emacs talk group.

(fn DISPLAY)Ftalk
Connect to the Emacs talk group from the current X display or tty frame.

(fn)Ftar-mode
Major mode for viewing a tar file as a dired-like listing of its contents.
You can move around using the usual cursor motion commands.
Letters no longer insert themselves.
Type `e' to pull a file out of the tar file and into its own buffer;
or click mouse-2 on the file's line in the Tar mode buffer.
Type `c' to copy an entry from the tar file into another file on disk.

If you edit a sub-file of this archive (as with the `e' command) and
save it with \[save-buffer], the contents of that buffer will be
saved back into the tar-file buffer; in this way you can edit a file
inside of a tar archive without extracting it and re-archiving it.

See also: variables `tar-update-datestamp' and `tar-anal-blocksize'.
\{tar-mode-map}

(fn)Ftcl-mode
Major mode for editing Tcl code.
Expression and list commands understand all Tcl brackets.
Tab indents for Tcl code.
Paragraphs are separated by blank lines only.
Delete converts tabs to spaces as it moves back.

Variables controlling indentation style:
  `tcl-indent-level'
    Indentation of Tcl statements within surrounding block.
  `tcl-continued-indent-level'
    Indentation of continuation line relative to first line of command.

Variables controlling user interaction with mode (see variable
documentation for details):
  `tcl-tab-always-indent'
    Controls action of TAB key.
  `tcl-auto-newline'
    Non-nil means automatically newline before and after braces, brackets,
    and semicolons inserted in Tcl code.
  `tcl-use-smart-word-finder'
    If not nil, use a smarter, Tcl-specific way to find the current
    word when looking up help on a Tcl command.

Turning on Tcl mode runs `tcl-mode-hook'.  Read the documentation for
`tcl-mode-hook' to see what kinds of interesting hook functions
already exist.

(fn)Finferior-tcl
Run inferior Tcl process.
Prefix arg means enter program name interactively.
See documentation for function `inferior-tcl-mode' for more information.

(fn CMD)Ftcl-help-on-word
Get help on Tcl command.  Default is word at point.
Prefix argument means invert sense of `tcl-use-smart-word-finder'.

(fn COMMAND &optional ARG)Ftelnet
Open a network login connection to host named HOST (a string).
Optional arg PORT specifies alternative port to connect to.
Interactively, use \[universal-argument] prefix to be prompted for port number.

Communication with HOST is recorded in a buffer `*PROGRAM-HOST*'
where PROGRAM is the telnet program being used.  This program
is controlled by the contents of the global variable `telnet-host-properties',
falling back on the value of the global variable `telnet-program'.
Normally input is edited in Emacs and sent a line at a time.

(fn HOST &optional PORT)Frsh
Open a network login connection to host named HOST (a string).
Communication with HOST is recorded in a buffer `*rsh-HOST*'.
Normally input is edited in Emacs and sent a line at a time.

(fn HOST)Fmake-term
Make a term process NAME in a buffer, running PROGRAM.
The name of the buffer is made by surrounding NAME with `*'s.
If there is already a running process in that buffer, it is not restarted.
Optional third arg STARTFILE is the name of a file to send the contents of to
the process.  Any more args are arguments to PROGRAM.

(fn NAME PROGRAM &optional STARTFILE &rest SWITCHES)Fterm
Start a terminal-emulator in a new buffer.
The buffer is in Term mode; see `term-mode' for the
commands to use in that buffer.

\<term-raw-map>Type \[switch-to-buffer] to switch to another buffer.

(fn PROGRAM)Fansi-term
Start a terminal-emulator in a new buffer.

(fn PROGRAM &optional NEW-BUFFER-NAME)Fserial-term
Start a terminal-emulator for a serial port in a new buffer.
PORT is the path or name of the serial port.  For example, this
could be "/dev/ttyS0" on Unix.  On Windows, this could be
"COM1" or "\\.\COM10".
SPEED is the speed of the serial port in bits per second.  9600
is a common value.  SPEED can be nil, see
`serial-process-configure' for details.
The buffer is in Term mode; see `term-mode' for the commands to
use in that buffer.
\<term-raw-map>Type \[switch-to-buffer] to switch to another buffer.

(fn PORT SPEED)Fterminal-emulator
Under a display-terminal emulator in BUFFER, run PROGRAM on arguments ARGS.
ARGS is a list of argument-strings.  Remaining arguments are WIDTH and HEIGHT.
BUFFER's contents are made an image of the display generated by that program,
and any input typed when BUFFER is the current Emacs buffer is sent to that
program as keyboard input.

Interactively, BUFFER defaults to "*terminal*" and PROGRAM and ARGS
are parsed from an input-string using your usual shell.
WIDTH and HEIGHT are determined from the size of the current window
-- WIDTH will be one less than the window's width, HEIGHT will be its height.

To switch buffers and leave the emulator, or to give commands
to the emulator itself (as opposed to the program running under it),
type Control-^.  The following character is an emulator command.
Type Control-^ twice to send it to the subprogram.
This escape character may be changed using the variable `terminal-escape-char'.

`Meta' characters may not currently be sent through the terminal emulator.

Here is a list of some of the variables which control the behavior
of the emulator -- see their documentation for more information:
terminal-escape-char, terminal-scrolling, terminal-more-processing,
terminal-redisplay-interval.

This function calls the value of terminal-mode-hook if that exists
and is non-nil after the terminal buffer has been set up and the
subprocess started.

(fn BUFFER PROGRAM ARGS &optional WIDTH HEIGHT)Ftestcover-this-defun
Start coverage on function under point.

(fn)Vtex-shell-file-name
If non-nil, the shell file name to run in the subshell used to run TeX.Vtex-directory
Directory in which temporary files are written.
You can make this `/tmp' if your TEXINPUTS has no relative directories in it
and you don't try to apply \[tex-region] or \[tex-buffer] when there are
`\input' commands with relative directories.Vtex-first-line-header-regexp
Regexp for matching a first line which `tex-region' should include.
If this is non-nil, it should be a regular expression string;
if it matches the first line of the file,
`tex-region' always includes the first line in the TeX run.Vtex-main-file
The main TeX source file which includes this buffer's file.
The command `tex-file' runs TeX on the file specified by `tex-main-file'
if the variable is non-nil.Vtex-offer-save
If non-nil, ask about saving modified buffers before \[tex-file] is run.Vtex-run-command
Command used to run TeX subjob.
TeX Mode sets `tex-command' to this string.
See the documentation of that variable.Vlatex-run-command
Command used to run LaTeX subjob.
LaTeX Mode sets `tex-command' to this string.
See the documentation of that variable.Vslitex-run-command
Command used to run SliTeX subjob.
SliTeX Mode sets `tex-command' to this string.
See the documentation of that variable.Vtex-start-options
TeX options to use when starting TeX.
These immediately precede the commands in `tex-start-commands'
and the input file name, with no separating space and are not shell-quoted.
If nil, TeX runs with no options.  See the documentation of `tex-command'.Vtex-start-commands
TeX commands to use when starting TeX.
They are shell-quoted and precede the input file name, with a separating space.
If nil, no commands are used.  See the documentation of `tex-command'.Vlatex-block-names
User defined LaTeX block names.
Combined with `latex-standard-block-names' for minibuffer completion.Vtex-bibtex-command
Command used by `tex-bibtex-file' to gather bibliographic data.
If this string contains an asterisk (`*'), that is replaced by the file name;
otherwise, the file name, preceded by blank, is added at the end.Vtex-dvi-print-command
Command used by \[tex-print] to print a .dvi file.
If this string contains an asterisk (`*'), that is replaced by the file name;
otherwise, the file name, preceded by blank, is added at the end.Vtex-alt-dvi-print-command
Command used by \[tex-print] with a prefix arg to print a .dvi file.
If this string contains an asterisk (`*'), that is replaced by the file name;
otherwise, the file name, preceded by blank, is added at the end.

If two printers are not enough of a choice, you can set the variable
`tex-alt-dvi-print-command' to an expression that asks what you want;
for example,

    (setq tex-alt-dvi-print-command
         '(format "lpr -P%s" (read-string "Use printer: ")))

would tell \[tex-print] with a prefix argument to ask you which printer to
use.Vtex-dvi-view-command
Command used by \[tex-view] to display a `.dvi' file.
If it is a string, that specifies the command directly.
If this string contains an asterisk (`*'), that is replaced by the file name;
otherwise, the file name, preceded by a space, is added at the end.

If the value is a form, it is evaluated to get the command to use.Vtex-show-queue-command
Command used by \[tex-show-print-queue] to show the print queue.
Should show the queue(s) that \[tex-print] puts jobs on.Vtex-default-mode
Mode to enter for a new file that might be either TeX or LaTeX.
This variable is used when it can't be determined whether the file
is plain TeX or LaTeX or what because the file contains no commands.
Normally set to either `plain-tex-mode' or `latex-mode'.Vtex-open-quote
String inserted by typing \[tex-insert-quote] to open a quotation.Vtex-close-quote
String inserted by typing \[tex-insert-quote] to close a quotation.Ftex-mode
Major mode for editing files of input for TeX, LaTeX, or SliTeX.
Tries to determine (by looking at the beginning of the file) whether
this file is for plain TeX, LaTeX, or SliTeX and calls `plain-tex-mode',
`latex-mode', or `slitex-mode', respectively.  If it cannot be determined,
such as if there are no commands in the file, the value of `tex-default-mode'
says which mode to use.

(fn)Fplain-tex-mode
Major mode for editing files of input for plain TeX.
Makes $ and } display the characters they match.
Makes " insert `` when it seems to be the beginning of a quotation,
and '' when it appears to be the end; it inserts " only after a \.

Use \[tex-region] to run TeX on the current region, plus a "header"
copied from the top of the file (containing macro definitions, etc.),
running TeX under a special subshell.  \[tex-buffer] does the whole buffer.
\[tex-file] saves the buffer and then processes the file.
\[tex-print] prints the .dvi file made by any of these.
\[tex-view] previews the .dvi file made by any of these.
\[tex-bibtex-file] runs bibtex on the file of the current buffer.

Use \[tex-validate-buffer] to check buffer for paragraphs containing
mismatched $'s or braces.

Special commands:
\{plain-tex-mode-map}

Mode variables:
tex-run-command
	Command string used by \[tex-region] or \[tex-buffer].
tex-directory
	Directory in which to create temporary files for TeX jobs
	run by \[tex-region] or \[tex-buffer].
tex-dvi-print-command
	Command string used by \[tex-print] to print a .dvi file.
tex-alt-dvi-print-command
	Alternative command string used by \[tex-print] (when given a prefix
	argument) to print a .dvi file.
tex-dvi-view-command
	Command string used by \[tex-view] to preview a .dvi file.
tex-show-queue-command
	Command string used by \[tex-show-print-queue] to show the print
	queue that \[tex-print] put your job on.

Entering Plain-tex mode runs the hook `text-mode-hook', then the hook
`tex-mode-hook', and finally the hook `plain-tex-mode-hook'.  When the
special subshell is initiated, the hook `tex-shell-hook' is run.

(fn)Flatex-mode
Major mode for editing files of input for LaTeX.
Makes $ and } display the characters they match.
Makes " insert `` when it seems to be the beginning of a quotation,
and '' when it appears to be the end; it inserts " only after a \.

Use \[tex-region] to run LaTeX on the current region, plus the preamble
copied from the top of the file (containing \documentstyle, etc.),
running LaTeX under a special subshell.  \[tex-buffer] does the whole buffer.
\[tex-file] saves the buffer and then processes the file.
\[tex-print] prints the .dvi file made by any of these.
\[tex-view] previews the .dvi file made by any of these.
\[tex-bibtex-file] runs bibtex on the file of the current buffer.

Use \[tex-validate-buffer] to check buffer for paragraphs containing
mismatched $'s or braces.

Special commands:
\{latex-mode-map}

Mode variables:
latex-run-command
	Command string used by \[tex-region] or \[tex-buffer].
tex-directory
	Directory in which to create temporary files for LaTeX jobs
	run by \[tex-region] or \[tex-buffer].
tex-dvi-print-command
	Command string used by \[tex-print] to print a .dvi file.
tex-alt-dvi-print-command
	Alternative command string used by \[tex-print] (when given a prefix
	argument) to print a .dvi file.
tex-dvi-view-command
	Command string used by \[tex-view] to preview a .dvi file.
tex-show-queue-command
	Command string used by \[tex-show-print-queue] to show the print
	queue that \[tex-print] put your job on.

Entering Latex mode runs the hook `text-mode-hook', then
`tex-mode-hook', and finally `latex-mode-hook'.  When the special
subshell is initiated, `tex-shell-hook' is run.

(fn)Fslitex-mode
Major mode for editing files of input for SliTeX.
Makes $ and } display the characters they match.
Makes " insert `` when it seems to be the beginning of a quotation,
and '' when it appears to be the end; it inserts " only after a \.

Use \[tex-region] to run SliTeX on the current region, plus the preamble
copied from the top of the file (containing \documentstyle, etc.),
running SliTeX under a special subshell.  \[tex-buffer] does the whole buffer.
\[tex-file] saves the buffer and then processes the file.
\[tex-print] prints the .dvi file made by any of these.
\[tex-view] previews the .dvi file made by any of these.
\[tex-bibtex-file] runs bibtex on the file of the current buffer.

Use \[tex-validate-buffer] to check buffer for paragraphs containing
mismatched $'s or braces.

Special commands:
\{slitex-mode-map}

Mode variables:
slitex-run-command
	Command string used by \[tex-region] or \[tex-buffer].
tex-directory
	Directory in which to create temporary files for SliTeX jobs
	run by \[tex-region] or \[tex-buffer].
tex-dvi-print-command
	Command string used by \[tex-print] to print a .dvi file.
tex-alt-dvi-print-command
	Alternative command string used by \[tex-print] (when given a prefix
	argument) to print a .dvi file.
tex-dvi-view-command
	Command string used by \[tex-view] to preview a .dvi file.
tex-show-queue-command
	Command string used by \[tex-show-print-queue] to show the print
	queue that \[tex-print] put your job on.

Entering SliTeX mode runs the hook `text-mode-hook', then the hook
`tex-mode-hook', then the hook `latex-mode-hook', and finally the hook
`slitex-mode-hook'.  When the special subshell is initiated, the hook
`tex-shell-hook' is run.

(fn)Ftex-start-shell


(fn)Fdoctex-mode
Major mode to edit DocTeX files.

(fn)Ftexinfo-format-buffer
Process the current buffer as texinfo code, into an Info file.
The Info file output is generated in a buffer visiting the Info file
name specified in the @setfilename command.

Non-nil argument (prefix, if interactive) means don't make tag table
and don't split the file if large.  You can use `Info-tagify' and
`Info-split' to do these manually.

(fn &optional NOSPLIT)Ftexinfo-format-region
Convert the current region of the Texinfo file to Info format.
This lets you see what that part of the file will look like in Info.
The command is bound to \[texinfo-format-region].  The text that is
converted to Info is stored in a temporary buffer.

(fn REGION-BEGINNING REGION-END)Ftexi2info
Convert the current buffer (written in Texinfo code) into an Info file.
The Info file output is generated in a buffer visiting the Info file
names specified in the @setfilename command.

This function automatically updates all node pointers and menus, and
creates a master menu.  This work is done on a temporary buffer that
is automatically removed when the Info file is created.  The original
Texinfo source buffer is not changed.

Non-nil argument (prefix, if interactive) means don't split the file
if large.  You can use `Info-split' to do this manually.

(fn &optional NOSPLIT)Vtexinfo-open-quote
String inserted by typing \[texinfo-insert-quote] to open a quotation.Vtexinfo-close-quote
String inserted by typing \[texinfo-insert-quote] to close a quotation.Ftexinfo-mode
Major mode for editing Texinfo files.

  It has these extra commands:
\{texinfo-mode-map}

  These are files that are used as input for TeX to make printed manuals
and also to be turned into Info files with \[makeinfo-buffer] or
the `makeinfo' program.  These files must be written in a very restricted and
modified version of TeX input format.

  Editing commands are like text-mode except that the syntax table is
set up so expression commands skip Texinfo bracket groups.  To see
what the Info version of a region of the Texinfo file will look like,
use \[makeinfo-region], which runs `makeinfo' on the current region.

  You can show the structure of a Texinfo file with \[texinfo-show-structure].
This command shows the structure of a Texinfo file by listing the
lines with the @-sign commands for @chapter, @section, and the like.
These lines are displayed in another window called the *Occur* window.
In that window, you can position the cursor over one of the lines and
use \[occur-mode-goto-occurrence], to jump to the corresponding spot
in the Texinfo file.

  In addition, Texinfo mode provides commands that insert various
frequently used @-sign commands into the buffer.  You can use these
commands to save keystrokes.  And you can insert balanced braces with
\[texinfo-insert-braces] and later use the command \[up-list] to
move forward past the closing brace.

Also, Texinfo mode provides functions for automatically creating or
updating menus and node pointers.  These functions

  * insert the `Next', `Previous' and `Up' pointers of a node,
  * insert or update the menu for a section, and
  * create a master menu for a Texinfo source file.

Here are the functions:

    texinfo-update-node                \[texinfo-update-node]
    texinfo-every-node-update          \[texinfo-every-node-update]
    texinfo-sequential-node-update

    texinfo-make-menu                  \[texinfo-make-menu]
    texinfo-all-menus-update           \[texinfo-all-menus-update]
    texinfo-master-menu

    texinfo-indent-menu-description (column &optional region-p)

The `texinfo-column-for-description' variable specifies the column to
which menu descriptions are indented.

Passed an argument (a prefix argument, if interactive), the
`texinfo-update-node' and `texinfo-make-menu' functions do their jobs
in the region.

To use the updating commands, you must structure your Texinfo file
hierarchically, such that each `@node' line, with the exception of the
Top node, is accompanied by some kind of section line, such as an
`@chapter' or `@section' line.

If the file has a `top' node, it must be called `top' or `Top' and
be the first node in the file.

Entering Texinfo mode calls the value of `text-mode-hook', and then the
value of `texinfo-mode-hook'.

(fn)Fthai-compose-region
Compose Thai characters in the region.
When called from a program, expects two arguments,
positions (integers or markers) specifying the region.

(fn BEG END)Fthai-compose-string
Compose Thai characters in STRING and return the resulting string.

(fn STRING)Fthai-compose-buffer
Compose Thai characters in the current buffer.

(fn)Fthai-composition-function


(fn GSTRING)Fforward-thing
Move forward to the end of the Nth next THING.
THING should be a symbol specifying a type of syntactic entity.
Possibilities include `symbol', `list', `sexp', `defun',
`filename', `url', `email', `word', `sentence', `whitespace',
`line', and `page'.

(fn THING &optional N)Fbounds-of-thing-at-point
Determine the start and end buffer locations for the THING at point.
THING should be a symbol specifying a type of syntactic entity.
Possibilities include `symbol', `list', `sexp', `defun',
`filename', `url', `email', `word', `sentence', `whitespace',
`line', and `page'.

See the file `thingatpt.el' for documentation on how to define a
valid THING.

Return a cons cell (START . END) giving the start and end
positions of the thing found.

(fn THING)Fthing-at-point
Return the THING at point.
THING should be a symbol specifying a type of syntactic entity.
Possibilities include `symbol', `list', `sexp', `defun',
`filename', `url', `email', `word', `sentence', `whitespace',
`line', `number', and `page'.

See the file `thingatpt.el' for documentation on how to define
a symbol as a valid THING.

(fn THING)Fsexp-at-point
Return the sexp at point, or nil if none is found.

(fn)Fsymbol-at-point
Return the symbol at point, or nil if none is found.

(fn)Fnumber-at-point
Return the number at point, or nil if none is found.

(fn)Flist-at-point
Return the Lisp list at point, or nil if none is found.

(fn)Fthumbs-find-thumb
Display the thumbnail for IMG.

(fn IMG)Fthumbs-show-from-dir
Make a preview buffer for all images in DIR.
Optional argument REG to select file matching a regexp,
and SAME-WINDOW to show thumbs in the same window.

(fn DIR &optional REG SAME-WINDOW)Fthumbs-dired-show-marked
In dired, make a thumbs buffer with marked files.

(fn)Fthumbs-dired-show
In dired, make a thumbs buffer with all files in current directory.

(fn)Fthumbs-dired-setroot
In dired, call the setroot program on the image at point.

(fn)Ftibetan-char-p
Check if char CH is Tibetan character.
Returns non-nil if CH is Tibetan. Otherwise, returns nil.

(fn CH)Ftibetan-tibetan-to-transcription
Transcribe Tibetan string STR and return the corresponding Roman string.

(fn STR)Ftibetan-transcription-to-tibetan
Convert Tibetan Roman string STR to Tibetan character string.
The returned string has no composition information.

(fn STR)Ftibetan-compose-string
Compose Tibetan string STR.

(fn STR)Ftibetan-compose-region
Compose Tibetan text the region BEG and END.

(fn BEG END)Ftibetan-decompose-region
Decompose Tibetan text in the region FROM and TO.
This is different from decompose-region because precomposed Tibetan characters
are decomposed into normal Tibetan character sequences.

(fn FROM TO)Ftibetan-decompose-string
Decompose Tibetan string STR.
This is different from decompose-string because precomposed Tibetan characters
are decomposed into normal Tibetan character sequences.

(fn STR)Ftibetan-decompose-buffer
Decomposes Tibetan characters in the buffer into their components.
See also the documentation of the function `tibetan-decompose-region'.

(fn)Ftibetan-compose-buffer
Composes Tibetan character components in the buffer.
See also docstring of the function tibetan-compose-region.

(fn)Ftibetan-post-read-conversion


(fn LEN)Ftibetan-pre-write-conversion


(fn FROM TO)Ftibetan-pre-write-canonicalize-for-unicode


(fn FROM TO)Ftildify-region
Add hard spaces in the region between BEG and END.
See variables `tildify-pattern-alist', `tildify-string-alist', and
`tildify-ignored-environments-alist' for information about configuration
parameters.
This function performs no refilling of the changed text.

(fn BEG END)Ftildify-buffer
Add hard spaces in the current buffer.
See variables `tildify-pattern-alist', `tildify-string-alist', and
`tildify-ignored-environments-alist' for information about configuration
parameters.
This function performs no refilling of the changed text.

(fn)Vdisplay-time-day-and-date
Non-nil means \[display-time] should display day and date as well as time.Fdisplay-time
Enable display of time, load level, and mail flag in mode lines.
This display updates automatically every minute.
If `display-time-day-and-date' is non-nil, the current day and date
are displayed as well.
This runs the normal hook `display-time-hook' after each update.

(fn)Vdisplay-time-mode
Non-nil if Display-Time mode is enabled.
See the command `display-time-mode' for a description of this minor mode.
Setting this variable directly does not take effect;
either customize it (see the info node `Easy Customization')
or call the function `display-time-mode'.Fdisplay-time-mode
Toggle display of time, load level, and mail flag in mode lines.
With a prefix argument ARG, enable Display Time mode if ARG is
positive, and disable it otherwise.  If called from Lisp, enable
it if ARG is omitted or nil.

When Display Time mode is enabled, it updates every minute (you
can control the number of seconds between updates by customizing
`display-time-interval').  If `display-time-day-and-date' is
non-nil, the current day and date are displayed as well.  This
runs the normal hook `display-time-hook' after each update.

(fn &optional ARG)Fdisplay-time-world
Enable updating display of times in various time zones.
`display-time-world-list' specifies the zones.
To turn off the world time display, go to that window and type `q'.

(fn)Femacs-uptime
Return a string giving the uptime of this instance of Emacs.
FORMAT is a string to format the result, using `format-seconds'.
For example, the Unix uptime command format is "%D, %z%2h:%.2m".

(fn &optional FORMAT)Femacs-init-time
Return a string giving the duration of the Emacs initialization.

(fn)Fdate-to-time
Parse a string DATE that represents a date-time and return a time value.
If DATE lacks timezone information, GMT is assumed.

(fn DATE)Fseconds-to-time
Convert SECONDS (a floating point number) to a time value.

(fn SECONDS)Ftime-less-p
Return non-nil if time value T1 is earlier than time value T2.

(fn T1 T2)Fdays-to-time
Convert DAYS into a time value.

(fn DAYS)Ftime-since
Return the time elapsed since TIME.
TIME should be either a time value or a date-time string.

(fn TIME)Ftime-subtract
Subtract two time values, T1 minus T2.
Return the difference in the format of a time value.

(fn T1 T2)Ftime-add
Add two time values T1 and T2.  One should represent a time difference.

(fn T1 T2)Fdate-to-day
Return the number of days between year 1 and DATE.
DATE should be a date-time string.

(fn DATE)Fdays-between
Return the number of days between DATE1 and DATE2.
DATE1 and DATE2 should be date-time strings.

(fn DATE1 DATE2)Fdate-leap-year-p
Return t if YEAR is a leap year.

(fn YEAR)Ftime-to-day-in-year
Return the day number within the year corresponding to TIME.

(fn TIME)Ftime-to-days
The number of days between the Gregorian date 0001-12-31bce and TIME.
TIME should be a time value.
The Gregorian date Sunday, December 31, 1bce is imaginary.

(fn TIME)Fsafe-date-to-time
Parse a string DATE that represents a date-time and return a time value.
If DATE is malformed, return a time value of zeros.

(fn DATE)Fformat-seconds
Use format control STRING to format the number SECONDS.
The valid format specifiers are:
%y is the number of (365-day) years.
%d is the number of days.
%h is the number of hours.
%m is the number of minutes.
%s is the number of seconds.
%z is a non-printing control flag (see below).
%% is a literal "%".

Upper-case specifiers are followed by the unit-name (e.g. "years").
Lower-case specifiers return only the unit.

"%" may be followed by a number specifying a width, with an
optional leading "." for zero-padding.  For example, "%.3Y" will
return something of the form "001 year".

The "%z" specifier does not print anything.  When it is used, specifiers
must be given in order of decreasing size.  To the left of "%z", nothing
is output until the first non-zero unit is encountered.

This function does not work for SECONDS greater than `most-positive-fixnum'.

(fn STRING SECONDS)Ftime-stamp
Update the time stamp string(s) in the buffer.
A template in a file can be automatically updated with a new time stamp
every time you save the file.  Add this line to your init file:
    (add-hook 'before-save-hook 'time-stamp)
or customize `before-save-hook' through Custom.
Normally the template must appear in the first 8 lines of a file and
look like one of the following:
      Time-stamp: <>
      Time-stamp: " "
The time stamp is written between the brackets or quotes:
      Time-stamp: <2001-02-18 10:20:51 gildea>
The time stamp is updated only if the variable `time-stamp-active' is non-nil.
The format of the time stamp is set by the variable `time-stamp-pattern' or
`time-stamp-format'.  The variables `time-stamp-pattern',
`time-stamp-line-limit', `time-stamp-start', `time-stamp-end',
`time-stamp-count', and `time-stamp-inserts-lines' control finding
the template.

(fn)Ftime-stamp-toggle-active
Toggle `time-stamp-active', setting whether \[time-stamp] updates a buffer.
With ARG, turn time stamping on if and only if arg is positive.

(fn &optional ARG)Ftimeclock-mode-line-display
Toggle display of the amount of time left today in the mode line.
If `timeclock-use-display-time' is non-nil (the default), then
the function `display-time-mode' must be active, and the mode line
will be updated whenever the time display is updated.  Otherwise,
the timeclock will use its own sixty second timer to do its
updating.  With prefix ARG, turn mode line display on if and only
if ARG is positive.  Returns the new status of timeclock mode line
display (non-nil means on).

(fn &optional ARG)Ftimeclock-in
Clock in, recording the current time moment in the timelog.
With a numeric prefix ARG, record the fact that today has only that
many hours in it to be worked.  If ARG is a non-numeric prefix argument
(non-nil, but not a number), 0 is assumed (working on a holiday or
weekend).  *If not called interactively, ARG should be the number of
_seconds_ worked today*.  This feature only has effect the first time
this function is called within a day.

PROJECT is the project being clocked into.  If PROJECT is nil, and
FIND-PROJECT is non-nil -- or the user calls `timeclock-in'
interactively -- call the function `timeclock-get-project-function' to
discover the name of the project.

(fn &optional ARG PROJECT FIND-PROJECT)Ftimeclock-out
Clock out, recording the current time moment in the timelog.
If a prefix ARG is given, the user has completed the project that was
begun during the last time segment.

REASON is the user's reason for clocking out.  If REASON is nil, and
FIND-REASON is non-nil -- or the user calls `timeclock-out'
interactively -- call the function `timeclock-get-reason-function' to
discover the reason.

(fn &optional ARG REASON FIND-REASON)Ftimeclock-status-string
Report the overall timeclock status at the present moment.
If SHOW-SECONDS is non-nil, display second resolution.
If TODAY-ONLY is non-nil, the display will be relative only to time
worked today, ignoring the time worked on previous days.

(fn &optional SHOW-SECONDS TODAY-ONLY)Ftimeclock-change
Change to working on a different project.
This clocks out of the current project, then clocks in on a new one.
With a prefix ARG, consider the previous project as finished at the
time of changeover.  PROJECT is the name of the last project you were
working on.

(fn &optional ARG PROJECT)Ftimeclock-query-out
Ask the user whether to clock out.
This is a useful function for adding to `kill-emacs-query-functions'.

(fn)Ftimeclock-reread-log
Re-read the timeclock, to account for external changes.
Returns the new value of `timeclock-discrepancy'.

(fn)Ftimeclock-workday-remaining-string
Return a string representing the amount of time left today.
Display second resolution if SHOW-SECONDS is non-nil.  If TODAY-ONLY
is non-nil, the display will be relative only to time worked today.
See `timeclock-relative' for more information about the meaning of
"relative to today".

(fn &optional SHOW-SECONDS TODAY-ONLY)Ftimeclock-workday-elapsed-string
Return a string representing the amount of time worked today.
Display seconds resolution if SHOW-SECONDS is non-nil.  If RELATIVE is
non-nil, the amount returned will be relative to past time worked.

(fn &optional SHOW-SECONDS)Ftimeclock-when-to-leave-string
Return a string representing the end of today's workday.
This string is relative to the value of `timeclock-workday'.  If
SHOW-SECONDS is non-nil, the value printed/returned will include
seconds.  If TODAY-ONLY is non-nil, the value returned will be
relative only to the time worked today, and not to past time.

(fn &optional SHOW-SECONDS TODAY-ONLY)Ftitdic-convert
Convert a TIT dictionary of FILENAME into a Quail package.
Optional argument DIRNAME if specified is the directory name under which
the generated Quail package is saved.

(fn FILENAME &optional DIRNAME)Fbatch-titdic-convert
Run `titdic-convert' on the files remaining on the command line.
Use this from the command line, with `-batch';
it won't work in an interactive Emacs.
For example, invoke "emacs -batch -f batch-titdic-convert XXX.tit" to
 generate Quail package file "xxx.el" from TIT dictionary file "XXX.tit".
To get complete usage, invoke "emacs -batch -f batch-titdic-convert -h".

(fn &optional FORCE)Ftmm-menubar
Text-mode emulation of looking and choosing from a menubar.
See the documentation for `tmm-prompt'.
X-POSITION, if non-nil, specifies a horizontal position within the menu bar;
we make that menu bar item (the one at that position) the default choice.

(fn &optional X-POSITION)Ftmm-menubar-mouse
Text-mode emulation of looking and choosing from a menubar.
This command is used when you click the mouse in the menubar
on a console which has no window system but does have a mouse.
See the documentation for `tmm-prompt'.

(fn EVENT)Ftmm-prompt
Text-mode emulation of calling the bindings in keymap.
Creates a text-mode menu of possible choices.  You can access the elements
in the menu in two ways:
   *)  via history mechanism from minibuffer;
   *)  Or via completion-buffer that is automatically shown.
The last alternative is currently a hack, you cannot use mouse reliably.

MENU is like the MENU argument to `x-popup-menu': either a
keymap or an alist of alists.
DEFAULT-ITEM, if non-nil, specifies an initial default choice.
Its value should be an event that has a binding in MENU.

(fn MENU &optional IN-POPUP DEFAULT-ITEM)Ftodo-add-category
Add new category CAT to the TODO list.

(fn &optional CAT)Ftodo-add-item-non-interactively
Insert NEW-ITEM in TODO list as a new entry in CATEGORY.

(fn NEW-ITEM CATEGORY)Ftodo-insert-item
Insert new TODO list entry.
With a prefix argument ARG solicit the category, otherwise use the current
category.

(fn ARG)Ftodo-top-priorities
List top priorities for each category.

Number of entries for each category is given by NOF-PRIORITIES which
defaults to `todo-show-priorities'.

If CATEGORY-PR-PAGE is non-nil, a page separator '^L' is inserted
between each category.
INTERACTIVE should be non-nil if this function is called interactively.

(fn &optional NOF-PRIORITIES CATEGORY-PR-PAGE INTERACTIVE)Ftodo-print
Print todo summary using `todo-print-function'.
If CATEGORY-PR-PAGE is non-nil, a page separator `^L' is inserted
between each category.

Number of entries for each category is given by `todo-print-priorities'.

(fn &optional CATEGORY-PR-PAGE)Ftodo-mode
Major mode for editing TODO lists.

(fn)Ftodo-cp
Make a diary entry appear only in the current date's diary.

(fn)Ftodo-show
Show TODO list.

(fn)Ftoggle-tool-bar-mode-from-frame
Toggle tool bar on or off, based on the status of the current frame.
See `tool-bar-mode' for more information.

(fn &optional ARG)Ftool-bar-add-item
Add an item to the tool bar.
ICON names the image, DEF is the key definition and KEY is a symbol
for the fake function key in the menu keymap.  Remaining arguments
PROPS are additional items to add to the menu item specification.  See
Info node `(elisp)Tool Bar'.  Items are added from left to right.

ICON is the base name of a file containing the image to use.  The
function will first try to use low-color/ICON.xpm if `display-color-cells'
is less or equal to 256, then ICON.xpm, then ICON.pbm, and finally
ICON.xbm, using `find-image'.

Use this function only to make bindings in the global value of `tool-bar-map'.
To define items in any other map, use `tool-bar-local-item'.

(fn ICON DEF KEY &rest PROPS)Ftool-bar-local-item
Add an item to the tool bar in map MAP.
ICON names the image, DEF is the key definition and KEY is a symbol
for the fake function key in the menu keymap.  Remaining arguments
PROPS are additional items to add to the menu item specification.  See
Info node `(elisp)Tool Bar'.  Items are added from left to right.

ICON is the base name of a file containing the image to use.  The
function will first try to use low-color/ICON.xpm if `display-color-cells'
is less or equal to 256, then ICON.xpm, then ICON.pbm, and finally
ICON.xbm, using `find-image'.

(fn ICON DEF KEY MAP &rest PROPS)Ftool-bar-add-item-from-menu
Define tool bar binding for COMMAND in keymap MAP using the given ICON.
This makes a binding for COMMAND in `tool-bar-map', copying its
binding from the menu bar in MAP (which defaults to `global-map'), but
modifies the binding by adding an image specification for ICON.  It
finds ICON just like `tool-bar-add-item'.  PROPS are additional
properties to add to the binding.

MAP must contain appropriate binding for `[menu-bar]' which holds a keymap.

Use this function only to make bindings in the global value of `tool-bar-map'.
To define items in any other map, use `tool-bar-local-item-from-menu'.

(fn COMMAND ICON &optional MAP &rest PROPS)Ftool-bar-local-item-from-menu
Define local tool bar binding for COMMAND using the given ICON.
This makes a binding for COMMAND in IN-MAP, copying its binding from
the menu bar in FROM-MAP (which defaults to `global-map'), but
modifies the binding by adding an image specification for ICON.  It
finds ICON just like `tool-bar-add-item'.  PROPS are additional
properties to add to the binding.

FROM-MAP must contain appropriate binding for `[menu-bar]' which
holds a keymap.

(fn COMMAND ICON IN-MAP &optional FROM-MAP &rest PROPS)Vtpu-edt-mode
Non-nil if Tpu-Edt mode is enabled.
See the command `tpu-edt-mode' for a description of this minor mode.
Setting this variable directly does not take effect;
either customize it (see the info node `Easy Customization')
or call the function `tpu-edt-mode'.Ftpu-edt-mode
Toggle TPU/edt emulation on or off.
With a prefix argument ARG, enable the mode if ARG is positive,
and disable it otherwise.  If called from Lisp, enable the mode
if ARG is omitted or nil.

(fn &optional ARG)Ftpu-edt-on
Turn on TPU/edt emulation.

(fn)Ftpu-mapper
Create an Emacs lisp file defining the TPU-edt keypad for X-windows.

This command displays an instruction screen showing the TPU-edt keypad
and asks you to press the TPU-edt editing keys.  It uses the keys you
press to create an Emacs Lisp file that will define a TPU-edt keypad
for your X server.  You can even re-arrange the standard EDT keypad to
suit your tastes (or to cope with those silly Sun and PC keypads).

Finally, you will be prompted for the name of the file to store the key
definitions.  If you chose the default, TPU-edt will find it and load it
automatically.  If you specify a different file name, you will need to
set the variable ``tpu-xkeys-file'' before starting TPU-edt.  Here's how
you might go about doing that in your init file.

  (setq tpu-xkeys-file (expand-file-name "~/.my-emacs-x-keys"))
  (tpu-edt)

Known Problems:

Sometimes, tpu-mapper will ignore a key you press, and just continue to
prompt for the same key.  This can happen when your window manager sucks
up the key and doesn't pass it on to Emacs, or it could be an Emacs bug.
Either way, there's nothing that tpu-mapper can do about it.  You must
press RETURN, to skip the current key and continue.  Later, you and/or
your local X guru can try to figure out why the key is being ignored.

(fn)Ftq-create
Create and return a transaction queue communicating with PROCESS.
PROCESS should be a subprocess capable of sending and receiving
streams of bytes.  It may be a local process, or it may be connected
to a tcp server on another machine.

(fn PROCESS)Vtrace-buffer
Trace output will by default go to that buffer.Ftrace-function
Traces FUNCTION with trace output going to BUFFER.
For every call of FUNCTION Lisp-style trace messages that display argument
and return values will be inserted into BUFFER.  This function generates the
trace advice for FUNCTION and activates it together with any other advice
there might be!!  The trace BUFFER will popup whenever FUNCTION is called.
Do not use this to trace functions that switch buffers or do any other
display oriented stuff, use `trace-function-background' instead.

To untrace a function, use `untrace-function' or `untrace-all'.

(fn FUNCTION &optional BUFFER)Ftrace-function-background
Traces FUNCTION with trace output going quietly to BUFFER.
When this tracing is enabled, every call to FUNCTION writes
a Lisp-style trace message (showing the arguments and return value)
into BUFFER.  This function generates advice to trace FUNCTION
and activates it together with any other advice there might be.
The trace output goes to BUFFER quietly, without changing
the window or buffer configuration.

BUFFER defaults to `trace-buffer'.

To untrace a function, use `untrace-function' or `untrace-all'.

(fn FUNCTION &optional BUFFER)Vtramp-mode
Whether Tramp is enabled.
If it is set to nil, all remote file names are used literally.Vtramp-syntax
Tramp filename syntax to be used.

It can have the following values:

  'ftp -- Ange-FTP respective EFS like syntax (GNU Emacs default)
  'sep -- Syntax as defined for XEmacs (not available yet for GNU Emacs)
  'url -- URL-like syntax.Vtramp-file-name-regexp-unified
Value for `tramp-file-name-regexp' for unified remoting.
Emacs (not XEmacs) uses a unified filename syntax for Ange-FTP and
Tramp.  See `tramp-file-name-structure' for more explanations.

On W32 systems, the volume letter must be ignored.Vtramp-file-name-regexp-separate
Value for `tramp-file-name-regexp' for separate remoting.
XEmacs uses a separate filename syntax for Tramp and EFS.
See `tramp-file-name-structure' for more explanations.Vtramp-file-name-regexp-url
Value for `tramp-file-name-regexp' for URL-like remoting.
See `tramp-file-name-structure' for more explanations.Vtramp-file-name-regexp
Regular expression matching file names handled by Tramp.
This regexp should match Tramp file names but no other file names.
When tramp.el is loaded, this regular expression is prepended to
`file-name-handler-alist', and that is searched sequentially.  Thus,
if the Tramp entry appears rather early in the `file-name-handler-alist'
and is a bit too general, then some files might be considered Tramp
files which are not really Tramp files.

Please note that the entry in `file-name-handler-alist' is made when
this file (tramp.el) is loaded.  This means that this variable must be set
before loading tramp.el.  Alternatively, `file-name-handler-alist' can be
updated after changing this variable.

Also see `tramp-file-name-structure'.Vtramp-completion-file-name-regexp-unified
Value for `tramp-completion-file-name-regexp' for unified remoting.
GNU Emacs uses a unified filename syntax for Tramp and Ange-FTP.
See `tramp-file-name-structure' for more explanations.

On W32 systems, the volume letter must be ignored.Vtramp-completion-file-name-regexp-separate
Value for `tramp-completion-file-name-regexp' for separate remoting.
XEmacs uses a separate filename syntax for Tramp and EFS.
See `tramp-file-name-structure' for more explanations.Vtramp-completion-file-name-regexp-url
Value for `tramp-completion-file-name-regexp' for URL-like remoting.
See `tramp-file-name-structure' for more explanations.Vtramp-completion-file-name-regexp
Regular expression matching file names handled by Tramp completion.
This regexp should match partial Tramp file names only.

Please note that the entry in `file-name-handler-alist' is made when
this file (tramp.el) is loaded.  This means that this variable must be set
before loading tramp.el.  Alternatively, `file-name-handler-alist' can be
updated after changing this variable.

Also see `tramp-file-name-structure'.Vtramp-completion-file-name-handler-alist
Alist of completion handler functions.
Used for file names matching `tramp-file-name-regexp'. Operations
not mentioned here will be handled by Tramp's file name handler
functions, or the normal Emacs functions.Ftramp-run-real-handler
Invoke normal file name handler for OPERATION.
First arg specifies the OPERATION, second arg is a list of arguments to
pass to the OPERATION.Ftramp-completion-run-real-handler
Invoke `tramp-file-name-handler' for OPERATION.
First arg specifies the OPERATION, second arg is a list of arguments to
pass to the OPERATION.Ftramp-file-name-handler
Invoke Tramp file name handler.
Falls back to normal file name handler if no Tramp file name handler exists.

(fn OPERATION &rest ARGS)Ftramp-completion-file-name-handler
Invoke Tramp file name completion handler.
Falls back to normal file name handler if no Tramp file name handler exists.Ftramp-register-file-name-handlers
Add Tramp file name handlers to `file-name-handler-alist'.Ftramp-unload-file-name-handlers


(fn)Ftramp-completion-handle-file-name-all-completions
Like `file-name-all-completions' for partial Tramp files.

(fn FILENAME DIRECTORY)Ftramp-completion-handle-file-name-completion
Like `file-name-completion' for Tramp files.

(fn FILENAME DIRECTORY &optional PREDICATE)Ftramp-unload-tramp
Discard Tramp from loading remote files.

(fn)Ftramp-ftp-enable-ange-ftp


(fn)Fhelp-with-tutorial
Select the Emacs learn-by-doing tutorial.
If there is a tutorial version written in the language
of the selected language environment, that version is used.
If there's no tutorial in that language, `TUTORIAL' is selected.
With ARG, you are asked to choose which language.
If DONT-ASK-FOR-REVERT is non-nil the buffer is reverted without
any question when restarting the tutorial.

If any of the standard Emacs key bindings that are used in the
tutorial have been changed then an explanatory note about this is
shown in the beginning of the tutorial buffer.

When the tutorial buffer is killed the content and the point
position in the buffer is saved so that the tutorial may be
resumed later.

(fn &optional ARG DONT-ASK-FOR-REVERT)Ftai-viet-composition-function


(fn FROM TO FONT-OBJECT STRING)F2C-two-columns
Split current window vertically for two-column editing.
\<global-map>When called the first time, associates a buffer with the current
buffer in two-column minor mode (use \[describe-mode] once in the mode,
for details.).  It runs `2C-other-buffer-hook' in the new buffer.
When called again, restores the screen layout with the current buffer
first and the associated buffer to its right.

(fn &optional BUFFER)F2C-associate-buffer
Associate another buffer with this one in two-column minor mode.
Can also be used to associate a just previously visited file, by
accepting the proposed default buffer.

(See  \[describe-mode] .)

(fn)F2C-split
Split a two-column text at point, into two buffers in two-column minor mode.
Point becomes the local value of `2C-window-width'.  Only lines that
have the ARG same preceding characters at that column get split.  The
ARG preceding characters without any leading whitespace become the local
value for `2C-separator'.  This way lines that continue across both
columns remain untouched in the first buffer.

This function can be used with a prototype line, to set up things.  You
write the first line of each column and then split that line.  E.g.:

First column's text    sSs  Second column's text
		       \___/\
			/    \
   5 character Separator      You type  M-5 \[2C-split]  with the point here.

(See  \[describe-mode] .)

(fn ARG)Vtype-break-mode
Non-nil if Type-Break mode is enabled.
See the command `type-break-mode' for a description of this minor mode.
Setting this variable directly does not take effect;
either customize it (see the info node `Easy Customization')
or call the function `type-break-mode'.Ftype-break-mode
Enable or disable typing-break mode.
This is a minor mode, but it is global to all buffers by default.

When this mode is enabled, the user is encouraged to take typing breaks at
appropriate intervals; either after a specified amount of time or when the
user has exceeded a keystroke threshold.  When the time arrives, the user
is asked to take a break.  If the user refuses at that time, Emacs will ask
again in a short period of time.  The idea is to give the user enough time
to find a good breaking point in his or her work, but be sufficiently
annoying to discourage putting typing breaks off indefinitely.

A negative prefix argument disables this mode.
No argument or any non-negative argument enables it.

The user may enable or disable this mode by setting the variable of the
same name, though setting it in that way doesn't reschedule a break or
reset the keystroke counter.

If the mode was previously disabled and is enabled as a consequence of
calling this function, it schedules a break with `type-break-schedule' to
make sure one occurs (the user can call that command to reschedule the
break at any time).  It also initializes the keystroke counter.

The variable `type-break-interval' specifies the number of seconds to
schedule between regular typing breaks.  This variable doesn't directly
affect the time schedule; it simply provides a default for the
`type-break-schedule' command.

If set, the variable `type-break-good-rest-interval' specifies the minimum
amount of time which is considered a reasonable typing break.  Whenever
that time has elapsed, typing breaks are automatically rescheduled for
later even if Emacs didn't prompt you to take one first.  Also, if a break
is ended before this much time has elapsed, the user will be asked whether
or not to continue.  A nil value for this variable prevents automatic
break rescheduling, making `type-break-interval' an upper bound on the time
between breaks.  In this case breaks will be prompted for as usual before
the upper bound if the keystroke threshold is reached.

If `type-break-good-rest-interval' is nil and
`type-break-good-break-interval' is set, then confirmation is required to
interrupt a break before `type-break-good-break-interval' seconds
have passed.  This provides for an upper bound on the time between breaks
together with confirmation of interruptions to these breaks.

The variable `type-break-keystroke-threshold' is used to determine the
thresholds at which typing breaks should be considered.  You can use
the command `type-break-guesstimate-keystroke-threshold' to try to
approximate good values for this.

There are several variables that affect how or when warning messages about
imminent typing breaks are displayed.  They include:

        `type-break-mode-line-message-mode'
        `type-break-time-warning-intervals'
        `type-break-keystroke-warning-intervals'
        `type-break-warning-repeat'
        `type-break-warning-countdown-string'
        `type-break-warning-countdown-string-type'

There are several variables that affect if, how, and when queries to begin
a typing break occur.  They include:

        `type-break-query-mode'
        `type-break-query-function'
        `type-break-query-interval'

The command `type-break-statistics' prints interesting things.

Finally, a file (named `type-break-file-name') is used to store information
across Emacs sessions.  This provides recovery of the break status between
sessions and after a crash.  Manual changes to the file may result in
problems.

(fn &optional ARG)Ftype-break
Take a typing break.

During the break, a demo selected from the functions listed in
`type-break-demo-functions' is run.

After the typing break is finished, the next break is scheduled
as per the function `type-break-schedule'.

(fn)Ftype-break-statistics
Print statistics about typing breaks in a temporary buffer.
This includes the last time a typing break was taken, when the next one is
scheduled, the keystroke thresholds and the current keystroke count, etc.

(fn)Ftype-break-guesstimate-keystroke-threshold
Guess values for the minimum/maximum keystroke threshold for typing breaks.

If called interactively, the user is prompted for their guess as to how
many words per minute they usually type.  This value should not be your
maximum WPM, but your average.  Of course, this is harder to gauge since it
can vary considerably depending on what you are doing.  For example, one
tends to type less when debugging a program as opposed to writing
documentation.  (Perhaps a separate program should be written to estimate
average typing speed.)

From that, this command sets the values in `type-break-keystroke-threshold'
based on a fairly simple algorithm involving assumptions about the average
length of words (5).  For the minimum threshold, it uses about a fifth of
the computed maximum threshold.

When called from Lisp programs, the optional args WORDLEN and FRAC can be
used to override the default assumption about average word length and the
fraction of the maximum threshold to which to set the minimum threshold.
FRAC should be the inverse of the fractional value; for example, a value of
2 would mean to use one half, a value of 4 would mean to use one quarter, etc.

(fn WPM &optional WORDLEN FRAC)Fuce-reply-to-uce
Compose a reply to unsolicited commercial email (UCE).
Sets up a reply buffer addressed to: the sender, his postmaster,
his abuse@ address, and the postmaster of the mail relay used.
You might need to set `uce-mail-reader' before using this.

(fn &optional IGNORED)Fucs-normalize-NFD-region
Normalize the current region by the Unicode NFD.

(fn FROM TO)Fucs-normalize-NFD-string
Normalize the string STR by the Unicode NFD.

(fn STR)Fucs-normalize-NFC-region
Normalize the current region by the Unicode NFC.

(fn FROM TO)Fucs-normalize-NFC-string
Normalize the string STR by the Unicode NFC.

(fn STR)Fucs-normalize-NFKD-region
Normalize the current region by the Unicode NFKD.

(fn FROM TO)Fucs-normalize-NFKD-string
Normalize the string STR by the Unicode NFKD.

(fn STR)Fucs-normalize-NFKC-region
Normalize the current region by the Unicode NFKC.

(fn FROM TO)Fucs-normalize-NFKC-string
Normalize the string STR by the Unicode NFKC.

(fn STR)Fucs-normalize-HFS-NFD-region
Normalize the current region by the Unicode NFD and Mac OS's HFS Plus.

(fn FROM TO)Fucs-normalize-HFS-NFD-string
Normalize the string STR by the Unicode NFD and Mac OS's HFS Plus.

(fn STR)Fucs-normalize-HFS-NFC-region
Normalize the current region by the Unicode NFC and Mac OS's HFS Plus.

(fn FROM TO)Fucs-normalize-HFS-NFC-string
Normalize the string STR by the Unicode NFC and Mac OS's HFS Plus.

(fn STR)Funderline-region
Underline all nonblank characters in the region.
Works by overstriking underscores.
Called from program, takes two arguments START and END
which specify the range to operate on.

(fn START END)Fununderline-region
Remove all underlining (overstruck underscores) in the region.
Called from program, takes two arguments START and END
which specify the range to operate on.

(fn START END)Fbatch-unrmail
Convert old-style Rmail Babyl files to system inbox format.
Specify the input Rmail Babyl file names as command line arguments.
For each Rmail file, the corresponding output file name
is made by adding `.mail' at the end.
For example, invoke `emacs -batch -f batch-unrmail RMAIL'.

(fn)Funrmail
Convert old-style Rmail Babyl file FILE to system inbox format file TO-FILE.

(fn FILE TO-FILE)Funsafep
Return nil if evaluating FORM couldn't possibly do any harm.
Otherwise result is a reason why FORM is unsafe.
UNSAFEP-VARS is a list of symbols with local bindings.

(fn FORM &optional UNSAFEP-VARS)Furl-retrieve
Retrieve URL asynchronously and call CALLBACK with CBARGS when finished.
URL is either a string or a parsed URL.  If it is a string
containing characters that are not valid in a URI, those
characters are percent-encoded; see `url-encode-url'.

CALLBACK is called when the object has been completely retrieved, with
the current buffer containing the object, and any MIME headers associated
with it.  It is called as (apply CALLBACK STATUS CBARGS).
STATUS is a plist representing what happened during the request,
with most recent events first, or an empty list if no events have
occurred.  Each pair is one of:

(:redirect REDIRECTED-TO) - the request was redirected to this URL
(:error (ERROR-SYMBOL . DATA)) - an error occurred.  The error can be
signaled with (signal ERROR-SYMBOL DATA).

Return the buffer URL will load into, or nil if the process has
already completed (i.e. URL was a mailto URL or similar; in this case
the callback is not called).

The variables `url-request-data', `url-request-method' and
`url-request-extra-headers' can be dynamically bound around the
request; dynamic binding of other variables doesn't necessarily
take effect.

If SILENT, then don't message progress reports and the like.
If INHIBIT-COOKIES, cookies will neither be stored nor sent to
the server.
If URL is a multibyte string, it will be encoded as utf-8 and
URL-encoded before it's used.

(fn URL CALLBACK &optional CBARGS SILENT INHIBIT-COOKIES)Furl-retrieve-synchronously
Retrieve URL synchronously.
Return the buffer containing the data, or nil if there are no data
associated with it (the case for dired, info, or mailto URLs that need
no further processing).  URL is either a string or a parsed URL.

(fn URL)Furl-get-authentication
Return an authorization string suitable for use in the WWW-Authenticate
header in an HTTP/1.0 request.

URL    is the url you are requesting authorization to.  This can be either a
       string representing the URL, or the parsed representation returned by
       `url-generic-parse-url'
REALM  is the realm at a specific site we are looking for.  This should be a
       string specifying the exact realm, or nil or the symbol 'any' to
       specify that the filename portion of the URL should be used as the
       realm
TYPE   is the type of authentication to be returned.  This is either a string
       representing the type (basic, digest, etc), or nil or the symbol 'any'
       to specify that any authentication is acceptable.  If requesting 'any'
       the strongest matching authentication will be returned.  If this is
       wrong, it's no big deal, the error from the server will specify exactly
       what type of auth to use
PROMPT is boolean - specifies whether to ask the user for a username/password
       if one cannot be found in the cache

(fn URL REALM TYPE PROMPT &optional ARGS)Furl-register-auth-scheme
Register an HTTP authentication method.

TYPE     is a string or symbol specifying the name of the method.
         This should be the same thing you expect to get returned in
         an Authenticate header in HTTP/1.0 - it will be downcased.
FUNCTION is the function to call to get the authorization information.
         This defaults to `url-?-auth', where ? is TYPE.
RATING   a rating between 1 and 10 of the strength of the authentication.
         This is used when asking for the best authentication for a specific
         URL.  The item with the highest rating is returned.

(fn TYPE &optional FUNCTION RATING)Furl-store-in-cache
Store buffer BUFF in the cache.

(fn &optional BUFF)Furl-is-cached
Return non-nil if the URL is cached.
The actual return value is the last modification time of the cache file.

(fn URL)Furl-cache-extract
Extract FNAM from the local disk cache.

(fn FNAM)Furl-cid


(fn URL)Furl-dav-supported-p
Return WebDAV protocol version supported by URL.
Returns nil if WebDAV is not supported.

(fn URL)Furl-dav-request
Perform WebDAV operation METHOD on URL.  Return the parsed responses.
Automatically creates an XML request body if TAG is non-nil.
BODY is the XML document fragment to be enclosed by <TAG></TAG>.

DEPTH is how deep the request should propagate.  Default is 0, meaning
it should apply only to URL.  A negative number means to use
`Infinity' for the depth.  Not all WebDAV servers support this depth
though.

HEADERS is an assoc list of extra headers to send in the request.

NAMESPACES is an assoc list of (NAMESPACE . EXPANSION), and these are
added to the <TAG> element.  The DAV=DAV: namespace is automatically
added to this list, so most requests can just pass in nil.

(fn URL METHOD TAG BODY &optional DEPTH HEADERS NAMESPACES)Furl-dav-vc-registered


(fn URL)Furl-file
Handle file: and ftp: URLs.

(fn URL CALLBACK CBARGS)Furl-gateway-nslookup-host
Attempt to resolve the given HOST using nslookup if possible.

(fn HOST)Furl-open-stream
Open a stream to HOST, possibly via a gateway.
Args per `open-network-stream'.
Will not make a connection if `url-gateway-unplugged' is non-nil.
Might do a non-blocking connection; use `process-status' to check.

(fn NAME BUFFER HOST SERVICE)Vurl-handler-mode
Non-nil if Url-Handler mode is enabled.
See the command `url-handler-mode' for a description of this minor mode.
Setting this variable directly does not take effect;
either customize it (see the info node `Easy Customization')
or call the function `url-handler-mode'.Furl-handler-mode
Toggle using `url' library for URL filenames (URL Handler mode).
With a prefix argument ARG, enable URL Handler mode if ARG is
positive, and disable it otherwise.  If called from Lisp, enable
the mode if ARG is omitted or nil.

(fn &optional ARG)Furl-file-handler
Function called from the `file-name-handler-alist' routines.
OPERATION is what needs to be done (`file-exists-p', etc).  ARGS are
the arguments that would have been passed to OPERATION.

(fn OPERATION &rest ARGS)Furl-copy-file
Copy URL to NEWNAME.  Both args must be strings.
Signals a `file-already-exists' error if file NEWNAME already exists,
unless a third argument OK-IF-ALREADY-EXISTS is supplied and non-nil.
A number as third arg means request confirmation if NEWNAME already exists.
This is what happens in interactive use with M-x.
Fourth arg KEEP-TIME non-nil means give the new file the same
last-modified time as the old one.  (This works on only some systems.)
Fifth arg PRESERVE-UID-GID is ignored.
A prefix arg makes KEEP-TIME non-nil.

(fn URL NEWNAME &optional OK-IF-ALREADY-EXISTS KEEP-TIME PRESERVE-UID-GID)Furl-file-local-copy
Copy URL into a temporary file on this machine.
Returns the name of the local copy, or nil, if FILE is directly
accessible.

(fn URL &rest IGNORED)Furl-insert-file-contents


(fn URL &optional VISIT BEG END REPLACE)Furl-irc


(fn URL)Furl-ldap
Perform an LDAP search specified by URL.
The return value is a buffer displaying the search results in HTML.
URL can be a URL string, or a URL vector of the type returned by
`url-generic-parse-url'.

(fn URL)Furl-mail


(fn &rest ARGS)Furl-mailto
Handle the mailto: URL syntax.

(fn URL)Furl-man
Fetch a Unix manual page URL.

(fn URL)Furl-info
Fetch a GNU Info URL.

(fn URL)Furl-generic-emulator-loader


(fn URL)Furl-data
Fetch a data URL (RFC 2397).

(fn URL)Furl-news


(fn URL)Furl-snews


(fn URL)FisPlainHostName


(fn HOST)FdnsDomainIs


(fn HOST DOM)FdnsResolve


(fn HOST)FisResolvable


(fn HOST)FisInNet


(fn IP NET MASK)Furl-ns-prefs


(fn &optional FILE)Furl-ns-user-pref


(fn KEY &optional DEFAULT)Furl-recreate-url
Recreate a URL string from the parsed URLOBJ.

(fn URLOBJ)Furl-generic-parse-url
Return an URL-struct of the parts of URL.
The CL-style struct contains the following fields:

TYPE     is the URI scheme (string or nil).
USER     is the user name (string or nil).
PASSWORD is the password (string [deprecated] or nil).
HOST     is the host (a registered name, IP literal in square
         brackets, or IPv4 address in dotted-decimal form).
PORTSPEC is the specified port (a number), or nil.
FILENAME is the path AND the query component of the URI.
TARGET   is the fragment identifier component (used to refer to a
         subordinate resource, e.g. a part of a webpage).
ATTRIBUTES is nil; this slot originally stored the attribute and
         value alists for IMAP URIs, but this feature was removed
         since it conflicts with RFC 3986.
FULLNESS is non-nil iff the hierarchical sequence component of
         the URL starts with two slashes, "//".

The parser follows RFC 3986, except that it also tries to handle
URIs that are not fully specified (e.g. lacking TYPE), and it
does not check for or perform %-encoding.

Here is an example.  The URL

  foo://bob:pass@example.com:42/a/b/c.dtb?type=animal&name=narwhal#nose

parses to

  TYPE     = "foo"
  USER     = "bob"
  PASSWORD = "pass"
  HOST     = "example.com"
  PORTSPEC = 42
  FILENAME = "/a/b/c.dtb?type=animal&name=narwhal"
  TARGET   = "nose"
  ATTRIBUTES = nil
  FULLNESS = t

(fn URL)Furl-setup-privacy-info
Setup variables that expose info about you and your system.

(fn)Furl-queue-retrieve
Retrieve URL asynchronously and call CALLBACK with CBARGS when finished.
This is like `url-retrieve' (which see for details of the arguments),
but with limits on the degree of parallelism.  The variable
`url-queue-parallel-processes' sets the number of concurrent processes.
The variable `url-queue-timeout' sets a timeout.

(fn URL CALLBACK &optional CBARGS SILENT INHIBIT-COOKIES)Vurl-debug
What types of debug messages from the URL library to show.
Debug messages are logged to the *URL-DEBUG* buffer.

If t, all messages will be logged.
If a number, all messages will be logged, as well shown via `message'.
If a list, it is a list of the types of messages to be logged.Furl-debug


(fn TAG &rest ARGS)Furl-parse-args


(fn STR &optional NODOWNCASE)Furl-insert-entities-in-string
Convert HTML markup-start characters to entity references in STRING.
Also replaces the " character, so that the result may be safely used as
an attribute value in a tag.  Returns a new string with the result of the
conversion.  Replaces these characters as follows:
    &  ==>  &amp;
    <  ==>  &lt;
    >  ==>  &gt;
    "  ==>  &quot;

(fn STRING)Furl-normalize-url
Return a 'normalized' version of URL.
Strips out default port numbers, etc.

(fn URL)Furl-lazy-message
Just like `message', but is a no-op if called more than once a second.
Will not do anything if `url-show-status' is nil.

(fn &rest ARGS)Furl-get-normalized-date
Return a 'real' date string that most HTTP servers can understand.

(fn &optional SPECIFIED-TIME)Furl-eat-trailing-space
Remove spaces/tabs at the end of a string.

(fn X)Furl-strip-leading-spaces
Remove spaces at the front of a string.

(fn X)Furl-pretty-length


(fn N)Furl-display-percentage


(fn FMT PERC &rest ARGS)Furl-percentage


(fn X Y)Furl-file-directory
Return the directory part of FILE, for a URL.

(fn FILE)Furl-file-nondirectory
Return the nondirectory part of FILE, for a URL.

(fn FILE)Furl-parse-query-string


(fn QUERY &optional DOWNCASE ALLOW-NEWLINES)Furl-build-query-string
Build a query-string.

Given a QUERY in the form:
'((key1 val1)
  (key2 val2)
  (key3 val1 val2)
  (key4)
  (key5 ""))

(This is the same format as produced by `url-parse-query-string')

This will return a string
"key1=val1&key2=val2&key3=val1&key3=val2&key4&key5". Keys may
be strings or symbols; if they are symbols, the symbol name will
be used.

When SEMICOLONS is given, the separator will be ";".

When KEEP-EMPTY is given, empty values will show as "key="
instead of just "key" as in the example above.

(fn QUERY &optional SEMICOLONS KEEP-EMPTY)Furl-unhex-string
Remove %XX embedded spaces, etc in a URL.
If optional second argument ALLOW-NEWLINES is non-nil, then allow the
decoding of carriage returns and line feeds in the string, which is normally
forbidden in URL encoding.

(fn STR &optional ALLOW-NEWLINES)Furl-hexify-string
URI-encode STRING and return the result.
If STRING is multibyte, it is first converted to a utf-8 byte
string.  Each byte corresponding to an allowed character is left
as-is, while all other bytes are converted to a three-character
string: "%" followed by two upper-case hex digits.

The allowed characters are specified by ALLOWED-CHARS.  If this
argument is nil, the list `url-unreserved-chars' determines the
allowed characters.  Otherwise, ALLOWED-CHARS should be a vector
whose Nth element is non-nil if character N is allowed.

(fn STRING &optional ALLOWED-CHARS)Furl-encode-url
Return a properly URI-encoded version of URL.
This function also performs URI normalization, e.g. converting
the scheme to lowercase if it is uppercase.  Apart from
normalization, if URL is already URI-encoded, this function
should return it unchanged.

(fn URL)Furl-file-extension
Return the filename extension of FNAME.
If optional argument X is t, then return the basename
of the file with the extension stripped off.

(fn FNAME &optional X)Furl-truncate-url-for-viewing
Return a shortened version of URL that is WIDTH characters wide or less.
WIDTH defaults to the current frame width.

(fn URL &optional WIDTH)Furl-view-url
View the current document's URL.
Optional argument NO-SHOW means just return the URL, don't show it in
the minibuffer.

This uses `url-current-object', set locally to the buffer.

(fn &optional NO-SHOW)Fask-user-about-lock
Ask user what to do when he wants to edit FILE but it is locked by OPPONENT.
This function has a choice of three things to do:
  do (signal 'file-locked (list FILE OPPONENT))
    to refrain from editing the file
  return t (grab the lock on the file)
  return nil (edit the file even though it is locked).
You can redefine this function to choose among those three alternatives
in any way you like.

(fn FILE OPPONENT)Fask-user-about-supersession-threat
Ask a user who is about to modify an obsolete buffer what to do.
This function has two choices: it can return, in which case the modification
of the buffer will proceed, or it can (signal 'file-supersession (file)),
in which case the proposed buffer modification will not be made.

You can rewrite this to use any criterion you like to choose which one to do.
The buffer in question is current when this function is called.

(fn FN)Futf-7-post-read-conversion


(fn LEN)Futf-7-imap-post-read-conversion


(fn LEN)Futf-7-pre-write-conversion


(fn FROM TO)Futf-7-imap-pre-write-conversion


(fn FROM TO)Futf7-encode
Encode UTF-7 STRING.  Use IMAP modification if FOR-IMAP is non-nil.

(fn STRING &optional FOR-IMAP)Fuudecode-decode-region-external
Uudecode region between START and END using external program.
If FILE-NAME is non-nil, save the result to FILE-NAME.  The program
used is specified by `uudecode-decoder-program'.

(fn START END &optional FILE-NAME)Fuudecode-decode-region-internal
Uudecode region between START and END without using an external program.
If FILE-NAME is non-nil, save the result to FILE-NAME.

(fn START END &optional FILE-NAME)Fuudecode-decode-region
Uudecode region between START and END.
If FILE-NAME is non-nil, save the result to FILE-NAME.

(fn START END &optional FILE-NAME)Vvc-checkout-hook
Normal hook (list of functions) run after checking out a file.
See `run-hooks'.Vvc-checkin-hook
Normal hook (list of functions) run after commit or file checkin.
See also `log-edit-done-hook'.Vvc-before-checkin-hook
Normal hook (list of functions) run before a commit or a file checkin.
See `run-hooks'.Fvc-next-action
Do the next logical version control operation on the current fileset.
This requires that all files in the current VC fileset be in the
same state.  If not, signal an error.

For merging-based version control systems:
  If every file in the VC fileset is not registered for version
   control, register the fileset (but don't commit).
  If every work file in the VC fileset is added or changed, pop
   up a *vc-log* buffer to commit the fileset.
  For a centralized version control system, if any work file in
   the VC fileset is out of date, offer to update the fileset.

For old-style locking-based version control systems, like RCS:
  If every file is not registered, register the file(s).
  If every file is registered and unlocked, check out (lock)
   the file(s) for editing.
  If every file is locked by you and has changes, pop up a
   *vc-log* buffer to check in the changes.  If the variable
   `vc-keep-workfiles' is non-nil (the default), leave a
   read-only copy of each changed file after checking in.
  If every file is locked by you and unchanged, unlock them.
  If every file is locked by someone else, offer to steal the lock.

(fn VERBOSE)Fvc-register
Register into a version control system.
If VC-FILESET is given, register the files in that fileset.
Otherwise register the current file.
With prefix argument SET-REVISION, allow user to specify initial revision
level.  If COMMENT is present, use that as an initial comment.

The version control system to use is found by cycling through the list
`vc-handled-backends'.  The first backend in that list which declares
itself responsible for the file (usually because other files in that
directory are already registered under that backend) will be used to
register the file.  If no backend declares itself responsible, the
first backend that could register the file is used.

(fn &optional SET-REVISION VC-FILESET COMMENT)Fvc-version-diff
Report diffs between revisions of the fileset in the repository history.

(fn FILES REV1 REV2)Fvc-diff
Display diffs between file revisions.
Normally this compares the currently selected fileset with their
working revisions.  With a prefix argument HISTORIC, it reads two revision
designators specifying which revisions to compare.

The optional argument NOT-URGENT non-nil means it is ok to say no to
saving the buffer.

(fn &optional HISTORIC NOT-URGENT)Fvc-version-ediff
Show differences between revisions of the fileset in the
repository history using ediff.

(fn FILES REV1 REV2)Fvc-ediff
Display diffs between file revisions using ediff.
Normally this compares the currently selected fileset with their
working revisions.  With a prefix argument HISTORIC, it reads two revision
designators specifying which revisions to compare.

The optional argument NOT-URGENT non-nil means it is ok to say no to
saving the buffer.

(fn HISTORIC &optional NOT-URGENT)Fvc-root-diff
Display diffs between VC-controlled whole tree revisions.
Normally, this compares the tree corresponding to the current
fileset with the working revision.
With a prefix argument HISTORIC, prompt for two revision
designators specifying which revisions to compare.

The optional argument NOT-URGENT non-nil means it is ok to say no to
saving the buffer.

(fn HISTORIC &optional NOT-URGENT)Fvc-revision-other-window
Visit revision REV of the current file in another window.
If the current file is named `F', the revision is named `F.~REV~'.
If `F.~REV~' already exists, use it instead of checking it out again.

(fn REV)Fvc-insert-headers
Insert headers into a file for use with a version control system.
Headers desired are inserted at point, and are pulled from
the variable `vc-BACKEND-header'.

(fn)Fvc-merge
Perform a version control merge operation.
You must be visiting a version controlled file, or in a `vc-dir' buffer.
On a distributed version control system, this runs a "merge"
operation to incorporate changes from another branch onto the
current branch, prompting for an argument list.

On a non-distributed version control system, this merges changes
between two revisions into the current fileset.  This asks for
two revisions to merge from in the minibuffer.  If the first
revision is a branch number, then merge all changes from that
branch.  If the first revision is empty, merge the most recent
changes from the current branch.

(fn)Fvc-create-tag
Descending recursively from DIR, make a tag called NAME.
For each registered file, the working revision becomes part of
the named configuration.  If the prefix argument BRANCHP is
given, the tag is made as a new branch and the files are
checked out in that new branch.

(fn DIR NAME BRANCHP)Fvc-retrieve-tag
Descending recursively from DIR, retrieve the tag called NAME.
If NAME is empty, it refers to the latest revisions.
If locking is used for the files in DIR, then there must not be any
locked files at or below DIR (but if NAME is empty, locked files are
allowed and simply skipped).

(fn DIR NAME)Fvc-print-log
List the change log of the current fileset in a window.
If WORKING-REVISION is non-nil, leave point at that revision.
If LIMIT is non-nil, it should be a number specifying the maximum
number of revisions to show; the default is `vc-log-show-limit'.

When called interactively with a prefix argument, prompt for
WORKING-REVISION and LIMIT.

(fn &optional WORKING-REVISION LIMIT)Fvc-print-root-log
List the change log for the current VC controlled tree in a window.
If LIMIT is non-nil, it should be a number specifying the maximum
number of revisions to show; the default is `vc-log-show-limit'.
When called interactively with a prefix argument, prompt for LIMIT.

(fn &optional LIMIT)Fvc-log-incoming
Show a log of changes that will be received with a pull operation from REMOTE-LOCATION.
When called interactively with a prefix argument, prompt for REMOTE-LOCATION..

(fn &optional REMOTE-LOCATION)Fvc-log-outgoing
Show a log of changes that will be sent with a push operation to REMOTE-LOCATION.
When called interactively with a prefix argument, prompt for REMOTE-LOCATION.

(fn &optional REMOTE-LOCATION)Fvc-revert
Revert working copies of the selected fileset to their repository contents.
This asks for confirmation if the buffer contents are not identical
to the working revision (except for keyword expansion).

(fn)Fvc-rollback
Roll back (remove) the most recent changeset committed to the repository.
This may be either a file-level or a repository-level operation,
depending on the underlying version-control system.

(fn)Fvc-pull
Update the current fileset or branch.
You must be visiting a version controlled file, or in a `vc-dir' buffer.
On a distributed version control system, this runs a "pull"
operation to update the current branch, prompting for an argument
list if required.  Optional prefix ARG forces a prompt.

On a non-distributed version control system, update the current
fileset to the tip revisions.  For each unchanged and unlocked
file, this simply replaces the work file with the latest revision
on its branch.  If the file contains changes, any changes in the
tip revision are merged into the working file.

(fn &optional ARG)Fvc-switch-backend
Make BACKEND the current version control system for FILE.
FILE must already be registered in BACKEND.  The change is not
permanent, only for the current session.  This function only changes
VC's perspective on FILE, it does not register or unregister it.
By default, this command cycles through the registered backends.
To get a prompt, use a prefix argument.

(fn FILE BACKEND)Fvc-transfer-file
Transfer FILE to another version control system NEW-BACKEND.
If NEW-BACKEND has a higher precedence than FILE's current backend
(i.e.  it comes earlier in `vc-handled-backends'), then register FILE in
NEW-BACKEND, using the revision number from the current backend as the
base level.  If NEW-BACKEND has a lower precedence than the current
backend, then commit all changes that were made under the current
backend to NEW-BACKEND, and unregister FILE from the current backend.
(If FILE is not yet registered under NEW-BACKEND, register it.)

(fn FILE NEW-BACKEND)Fvc-delete-file
Delete file and mark it as such in the version control system.

(fn FILE)Fvc-rename-file
Rename file OLD to NEW in both work area and repository.

(fn OLD NEW)Fvc-update-change-log
Find change log file and add entries from recent version control logs.
Normally, find log entries for all registered files in the default
directory.

With prefix arg of \[universal-argument], only find log entries for the current buffer's file.

With any numeric prefix arg, find log entries for all currently visited
files that are under version control.  This puts all the entries in the
log for the default directory, which may not be appropriate.

From a program, any ARGS are assumed to be filenames for which
log entries should be gathered.

(fn &rest ARGS)Fvc-branch-part
Return the branch part of a revision number REV.

(fn REV)Fvc-annotate
Display the edit history of the current FILE using colors.

This command creates a buffer that shows, for each line of the current
file, when it was last edited and by whom.  Additionally, colors are
used to show the age of each line--blue means oldest, red means
youngest, and intermediate colors indicate intermediate ages.  By
default, the time scale stretches back one year into the past;
everything that is older than that is shown in blue.

With a prefix argument, this command asks two questions in the
minibuffer.  First, you may enter a revision number REV; then the buffer
displays and annotates that revision instead of the working revision
(type RET in the minibuffer to leave that default unchanged).  Then,
you are prompted for the time span in days which the color range
should cover.  For example, a time span of 20 days means that changes
over the past 20 days are shown in red to blue, according to their
age, and everything that is older than that is shown in blue.

If MOVE-POINT-TO is given, move the point to that line.

If VC-BK is given used that VC backend.

Customization variables:

`vc-annotate-menu-elements' customizes the menu elements of the
mode-specific menu.  `vc-annotate-color-map' and
`vc-annotate-very-old-color' define the mapping of time to colors.
`vc-annotate-background' specifies the background color.

(fn FILE REV &optional DISPLAY-MODE BUF MOVE-POINT-TO VC-BK)Vvc-bzr-admin-dirname
Name of the directory containing Bzr repository status files.Vvc-bzr-admin-checkout-format-file
Name of the format file in a .bzr directory.Fvc-dir
Show the VC status for "interesting" files in and below DIR.
This allows you to mark files and perform VC operations on them.
The list omits files which are up to date, with no changes in your copy
or the repository, if there is nothing in particular to say about them.

Preparing the list of file status takes time; when the buffer
first appears, it has only the first few lines of summary information.
The file lines appear later.

Optional second argument BACKEND specifies the VC backend to use.
Interactively, a prefix argument means to ask for the backend.

These are the commands available for use in the file status buffer:

\{vc-dir-mode-map}

(fn DIR &optional BACKEND)Fvc-do-command
Execute a slave command, notifying user and checking for errors.
Output from COMMAND goes to BUFFER, or the current buffer if
BUFFER is t.  If the destination buffer is not already current,
set it up properly and erase it.  The command is considered
successful if its exit status does not exceed OKSTATUS (if
OKSTATUS is nil, that means to ignore error status, if it is
`async', that means not to wait for termination of the
subprocess; if it is t it means to ignore all execution errors).
FILE-OR-LIST is the name of a working file; it may be a list of
files or be nil (to execute commands that don't expect a file
name or set of files).  If an optional list of FLAGS is present,
that is inserted into the command line before the filename.
Return the return value of the slave command in the synchronous
case, and the process object in the asynchronous case.

(fn BUFFER OKSTATUS COMMAND FILE-OR-LIST &rest FLAGS)Vvc-mtn-admin-dir
Name of the monotone directory.Vvc-mtn-admin-format
Name of the monotone directory's format file.Vvc-rcs-master-templates
Where to look for RCS master files.
For a description of possible values, see `vc-check-master-templates'.Vvc-sccs-master-templates
Where to look for SCCS master files.
For a description of possible values, see `vc-check-master-templates'.Fvc-sccs-search-project-dir
Return the name of a master file in the SCCS project directory.
Does not check whether the file exists but returns nil if it does not
find any project directory.Fvera-mode
Major mode for editing Vera code.

Usage:
------

  INDENTATION:  Typing `TAB' at the beginning of a line indents the line.
    The amount of indentation is specified by option `vera-basic-offset'.
    Indentation can be done for an entire region (`M-C-\') or buffer (menu).
    `TAB' always indents the line if option `vera-intelligent-tab' is nil.

  WORD/COMMAND COMPLETION:  Typing `TAB' after a (not completed) word looks
    for a word in the buffer or a Vera keyword that starts alike, inserts it
    and adjusts case.  Re-typing `TAB' toggles through alternative word
    completions.

    Typing `TAB' after a non-word character inserts a tabulator stop (if not
    at the beginning of a line).  `M-TAB' always inserts a tabulator stop.

  COMMENTS:  `C-c C-c' comments out a region if not commented out, and
    uncomments a region if already commented out.

  HIGHLIGHTING (fontification):  Vera keywords, predefined types and
    constants, function names, declaration names, directives, as well as
    comments and strings are highlighted using different colors.

  VERA VERSION:  OpenVera 1.4 and Vera version 6.2.8.


Maintenance:
------------

To submit a bug report, use the corresponding menu entry within Vera Mode.
Add a description of the problem and include a reproducible test case.

Feel free to send questions and enhancement requests to <reto@gnu.org>.

Official distribution is at
URL `http://www.iis.ee.ethz.ch/~zimmi/emacs/vera-mode.html'


                                                  The Vera Mode Maintainer
                                               Reto Zimmermann <reto@gnu.org>

Key bindings:
-------------

\{vera-mode-map}

(fn)Fverilog-mode
Major mode for editing Verilog code.
\<verilog-mode-map>
See \[describe-function] verilog-auto (\[verilog-auto]) for details on how
AUTOs can improve coding efficiency.

Use \[verilog-faq] for a pointer to frequently asked questions.

NEWLINE, TAB indents for Verilog code.
Delete converts tabs to spaces as it moves back.

Supports highlighting.

Turning on Verilog mode calls the value of the variable `verilog-mode-hook'
with no args, if that value is non-nil.

Variables controlling indentation/edit style:

 variable `verilog-indent-level'      (default 3)
   Indentation of Verilog statements with respect to containing block.
 `verilog-indent-level-module'        (default 3)
   Absolute indentation of Module level Verilog statements.
   Set to 0 to get initial and always statements lined up
   on the left side of your screen.
 `verilog-indent-level-declaration'   (default 3)
   Indentation of declarations with respect to containing block.
   Set to 0 to get them list right under containing block.
 `verilog-indent-level-behavioral'    (default 3)
   Indentation of first begin in a task or function block
   Set to 0 to get such code to lined up underneath the task or
   function keyword.
 `verilog-indent-level-directive'     (default 1)
   Indentation of `ifdef/`endif blocks.
 `verilog-cexp-indent'              (default 1)
   Indentation of Verilog statements broken across lines i.e.:
      if (a)
        begin
 `verilog-case-indent'              (default 2)
   Indentation for case statements.
 `verilog-auto-newline'             (default nil)
   Non-nil means automatically newline after semicolons and the punctuation
   mark after an end.
 `verilog-auto-indent-on-newline'   (default t)
   Non-nil means automatically indent line after newline.
 `verilog-tab-always-indent'        (default t)
   Non-nil means TAB in Verilog mode should always reindent the current line,
   regardless of where in the line point is when the TAB command is used.
 `verilog-indent-begin-after-if'    (default t)
   Non-nil means to indent begin statements following a preceding
   if, else, while, for and repeat statements, if any.  Otherwise,
   the begin is lined up with the preceding token.  If t, you get:
      if (a)
         begin // amount of indent based on `verilog-cexp-indent'
   otherwise you get:
      if (a)
      begin
 `verilog-auto-endcomments'         (default t)
   Non-nil means a comment /* ... */ is set after the ends which ends
   cases, tasks, functions and modules.
   The type and name of the object will be set between the braces.
 `verilog-minimum-comment-distance' (default 10)
   Minimum distance (in lines) between begin and end required before a comment
   will be inserted.  Setting this variable to zero results in every
   end acquiring a comment; the default avoids too many redundant
   comments in tight quarters.
 `verilog-auto-lineup'              (default 'declarations)
   List of contexts where auto lineup of code should be done.

Variables controlling other actions:

 `verilog-linter'                   (default surelint)
   Unix program to call to run the lint checker.  This is the default
   command for \[compile-command] and \[verilog-auto-save-compile].

See \[customize] for the complete list of variables.

AUTO expansion functions are, in part:

    \[verilog-auto]  Expand AUTO statements.
    \[verilog-delete-auto]  Remove the AUTOs.
    \[verilog-inject-auto]  Insert AUTOs for the first time.

Some other functions are:

    \[verilog-complete-word]    Complete word with appropriate possibilities.
    \[verilog-mark-defun]  Mark function.
    \[verilog-beg-of-defun]  Move to beginning of current function.
    \[verilog-end-of-defun]  Move to end of current function.
    \[verilog-label-be]  Label matching begin ... end, fork ... join, etc statements.

    \[verilog-comment-region]  Put marked area in a comment.
    \[verilog-uncomment-region]  Uncomment an area commented with \[verilog-comment-region].
    \[verilog-insert-block]  Insert begin ... end.
    \[verilog-star-comment]    Insert /* ... */.

    \[verilog-sk-always]  Insert an always @(AS) begin .. end block.
    \[verilog-sk-begin]  Insert a begin .. end block.
    \[verilog-sk-case]  Insert a case block, prompting for details.
    \[verilog-sk-for]  Insert a for (...) begin .. end block, prompting for details.
    \[verilog-sk-generate]  Insert a generate .. endgenerate block.
    \[verilog-sk-header]  Insert a header block at the top of file.
    \[verilog-sk-initial]  Insert an initial begin .. end block.
    \[verilog-sk-fork]  Insert a fork begin .. end .. join block.
    \[verilog-sk-module]  Insert a module .. (/*AUTOARG*/);.. endmodule block.
    \[verilog-sk-ovm-class]  Insert an OVM Class block.
    \[verilog-sk-uvm-class]  Insert an UVM Class block.
    \[verilog-sk-primitive]  Insert a primitive .. (.. );.. endprimitive block.
    \[verilog-sk-repeat]  Insert a repeat (..) begin .. end block.
    \[verilog-sk-specify]  Insert a specify .. endspecify block.
    \[verilog-sk-task]  Insert a task .. begin .. end endtask block.
    \[verilog-sk-while]  Insert a while (...) begin .. end block, prompting for details.
    \[verilog-sk-casex]  Insert a casex (...) item: begin.. end endcase block, prompting for details.
    \[verilog-sk-casez]  Insert a casez (...) item: begin.. end endcase block, prompting for details.
    \[verilog-sk-if]  Insert an if (..) begin .. end block.
    \[verilog-sk-else-if]  Insert an else if (..) begin .. end block.
    \[verilog-sk-comment]  Insert a comment block.
    \[verilog-sk-assign]  Insert an assign .. = ..; statement.
    \[verilog-sk-function]  Insert a function .. begin .. end endfunction block.
    \[verilog-sk-input]  Insert an input declaration, prompting for details.
    \[verilog-sk-output]  Insert an output declaration, prompting for details.
    \[verilog-sk-state-machine]  Insert a state machine definition, prompting for details.
    \[verilog-sk-inout]  Insert an inout declaration, prompting for details.
    \[verilog-sk-wire]  Insert a wire declaration, prompting for details.
    \[verilog-sk-reg]  Insert a register declaration, prompting for details.
    \[verilog-sk-define-signal]  Define signal under point as a register at the top of the module.

All key bindings can be seen in a Verilog-buffer with \[describe-bindings].
Key bindings specific to `verilog-mode-map' are:

\{verilog-mode-map}

(fn)Fvhdl-mode
Major mode for editing VHDL code.

Usage:
------

  TEMPLATE INSERTION (electrification):
    After typing a VHDL keyword and entering `SPC', you are prompted for
    arguments while a template is generated for that VHDL construct.  Typing
    `RET' or `C-g' at the first (mandatory) prompt aborts the current
    template generation.  Optional arguments are indicated by square
    brackets and removed if the queried string is left empty.  Prompts for
    mandatory arguments remain in the code if the queried string is left
    empty.  They can be queried again by `C-c C-t C-q'.  Enabled
    electrification is indicated by `/e' in the mode line.

      Typing `M-SPC' after a keyword inserts a space without calling the
    template generator.  Automatic template generation (i.e.
    electrification) can be disabled (enabled) by typing `C-c C-m C-e' or by
    setting option `vhdl-electric-mode' (see OPTIONS).

      Template generators can be invoked from the VHDL menu, by key
    bindings, by typing `C-c C-i C-c' and choosing a construct, or by typing
    the keyword (i.e. first word of menu entry not in parenthesis) and
    `SPC'.  The following abbreviations can also be used: arch, attr, cond,
    conf, comp, cons, func, inst, pack, sig, var.

      Template styles can be customized in customization group
    `vhdl-template' (see OPTIONS).


  HEADER INSERTION:
    A file header can be inserted by `C-c C-t C-h'.  A file footer
    (template at the end of the file) can be inserted by `C-c C-t C-f'.
    See customization group `vhdl-header'.


  STUTTERING:
    Double striking of some keys inserts cumbersome VHDL syntax elements.
    Stuttering can be disabled (enabled) by typing `C-c C-m C-s' or by
    option `vhdl-stutter-mode'.  Enabled stuttering is indicated by `/s' in
    the mode line.  The stuttering keys and their effects are:

      ;;   -->  " : "       [   -->  (        --    -->  comment
      ;;;  -->  " := "      [[  -->  [        --CR  -->  comment-out code
      ..   -->  " => "      ]   -->  )        ---   -->  horizontal line
      ,,   -->  " <= "      ]]  -->  ]        ----  -->  display comment
      ==   -->  " == "      ''  -->  \"


  WORD COMPLETION:
    Typing `TAB' after a (not completed) word looks for a VHDL keyword or a
    word in the buffer that starts alike, inserts it and adjusts case.
    Re-typing `TAB' toggles through alternative word completions.  This also
    works in the minibuffer (i.e. in template generator prompts).

      Typing `TAB' after `(' looks for and inserts complete parenthesized
    expressions (e.g. for array index ranges).  All keywords as well as
    standard types and subprograms of VHDL have predefined abbreviations
    (e.g. type "std" and `TAB' will toggle through all standard types
    beginning with "std").

      Typing `TAB' after a non-word character indents the line if at the
    beginning of a line (i.e. no preceding non-blank characters), and
    inserts a tabulator stop otherwise.  `M-TAB' always inserts a tabulator
    stop.


  COMMENTS:
        `--'       puts a single comment.
        `---'      draws a horizontal line for separating code segments.
        `----'     inserts a display comment, i.e. two horizontal lines
                   with a comment in between.
        `--CR'     comments out code on that line.  Re-hitting CR comments
                   out following lines.
        `C-c C-c'  comments out a region if not commented out,
                   uncomments a region if already commented out.  Option
                   `comment-style' defines where the comment characters
                   should be placed (beginning of line, indent, etc.).

      You are prompted for comments after object definitions (i.e. signals,
    variables, constants, ports) and after subprogram and process
    specifications if option `vhdl-prompt-for-comments' is non-nil.
    Comments are automatically inserted as additional labels (e.g. after
    begin statements) and as help comments if `vhdl-self-insert-comments' is
    non-nil.

      Inline comments (i.e. comments after a piece of code on the same line)
    are indented at least to `vhdl-inline-comment-column'.  Comments go at
    maximum to `vhdl-end-comment-column'.  `RET' after a space in a comment
    will open a new comment line.  Typing beyond `vhdl-end-comment-column'
    in a comment automatically opens a new comment line.  `M-q' re-fills
    multi-line comments.


  INDENTATION:
    `TAB' indents a line if at the beginning of the line.  The amount of
    indentation is specified by option `vhdl-basic-offset'.  `C-c C-i C-l'
    always indents the current line (is bound to `TAB' if option
    `vhdl-intelligent-tab' is nil).  If a region is active, `TAB' indents
    the entire region.

      Indentation can be done for a group of lines (`C-c C-i C-g'), a region
    (`M-C-\') or the entire buffer (menu).  Argument and port lists are
    indented normally (nil) or relative to the opening parenthesis (non-nil)
    according to option `vhdl-argument-list-indent'.

      If option `vhdl-indent-tabs-mode' is nil, spaces are used instead of
    tabs.  `M-x tabify' and `M-x untabify' allow to convert spaces to tabs
    and vice versa.

      Syntax-based indentation can be very slow in large files.  Option
    `vhdl-indent-syntax-based' allows to use faster but simpler indentation.

      Option `vhdl-indent-comment-like-next-code-line' controls whether
    comment lines are indented like the preceding or like the following code
    line.


  ALIGNMENT:
    The alignment functions align operators, keywords, and inline comments
    to beautify the code.  `C-c C-a C-a' aligns a group of consecutive lines
    separated by blank lines, `C-c C-a C-i' a block of lines with same
    indent.  `C-c C-a C-l' aligns all lines belonging to a list enclosed by
    a pair of parentheses (e.g. port clause/map, argument list), and `C-c
    C-a C-d' all lines within the declarative part of a design unit.  `C-c
    C-a M-a' aligns an entire region.  `C-c C-a C-c' aligns inline comments
    for a group of lines, and `C-c C-a M-c' for a region.

      If option `vhdl-align-groups' is non-nil, groups of code lines
    separated by special lines (see option `vhdl-align-group-separate') are
    aligned individually.  If option `vhdl-align-same-indent' is non-nil,
    blocks of lines with same indent are aligned separately.  Some templates
    are automatically aligned after generation if option `vhdl-auto-align'
    is non-nil.

      Alignment tries to align inline comments at
    `vhdl-inline-comment-column' and tries inline comment not to exceed
    `vhdl-end-comment-column'.

      `C-c C-x M-w' fixes up whitespace in a region.  That is, operator
    symbols are surrounded by one space, and multiple spaces are eliminated.


  CODE FILLING:
    Code filling allows to condense code (e.g. sensitivity lists or port
    maps) by removing comments and newlines and re-wrapping so that all
    lines are maximally filled (block filling).  `C-c C-f C-f' fills a list
    enclosed by parenthesis, `C-c C-f C-g' a group of lines separated by
    blank lines, `C-c C-f C-i' a block of lines with same indent, and
    `C-c C-f M-f' an entire region.


  CODE BEAUTIFICATION:
    `C-c M-b' and `C-c C-b' beautify the code of a region or of the entire
    buffer respectively.  This includes indentation, alignment, and case
    fixing.  Code beautification can also be run non-interactively using the
    command:

      emacs -batch -l ~/.emacs filename.vhd -f vhdl-beautify-buffer


  PORT TRANSLATION:
    Generic and port clauses from entity or component declarations can be
    copied (`C-c C-p C-w') and pasted as entity and component declarations,
    as component instantiations and corresponding internal constants and
    signals, as a generic map with constants as actual generics, and as
    internal signal initializations (menu).

      To include formals in component instantiations, see option
    `vhdl-association-list-with-formals'.  To include comments in pasting,
    see options `vhdl-include-...-comments'.

      A clause with several generic/port names on the same line can be
    flattened (`C-c C-p C-f') so that only one name per line exists.  The
    direction of ports can be reversed (`C-c C-p C-r'), i.e., inputs become
    outputs and vice versa, which can be useful in testbenches.  (This
    reversion is done on the internal data structure and is only reflected
    in subsequent paste operations.)

      Names for actual ports, instances, testbenches, and
    design-under-test instances can be derived from existing names according
    to options `vhdl-...-name'.  See customization group `vhdl-port'.


  SUBPROGRAM TRANSLATION:
    Similar functionality exists for copying/pasting the interface of
    subprograms (function/procedure).  A subprogram interface can be copied
    and then pasted as a subprogram declaration, body or call (uses
    association list with formals).


  TESTBENCH GENERATION:
    A copied port can also be pasted as a testbench.  The generated
    testbench includes an entity, an architecture, and an optional
    configuration.  The architecture contains the component declaration and
    instantiation of the DUT as well as internal constant and signal
    declarations.  Additional user-defined templates can be inserted.  The
    names used for entity/architecture/configuration/DUT as well as the file
    structure to be generated can be customized. See customization group
   `vhdl-testbench'.


  KEY BINDINGS:
    Key bindings (`C-c ...') exist for most commands (see in menu).


  VHDL MENU:
    All commands can be found in the VHDL menu including their key bindings.


  FILE BROWSER:
    The speedbar allows browsing of directories and file contents.  It can
    be accessed from the VHDL menu and is automatically opened if option
    `vhdl-speedbar-auto-open' is non-nil.

      In speedbar, open files and directories with `mouse-2' on the name and
    browse/rescan their contents with `mouse-2'/`S-mouse-2' on the `+'.


  DESIGN HIERARCHY BROWSER:
    The speedbar can also be used for browsing the hierarchy of design units
    contained in the source files of the current directory or the specified
    projects (see option `vhdl-project-alist').

      The speedbar can be switched between file, directory hierarchy and
    project hierarchy browsing mode in the speedbar menu or by typing `f',
    `h' or `H' in speedbar.

      In speedbar, open design units with `mouse-2' on the name and browse
    their hierarchy with `mouse-2' on the `+'.  Ports can directly be copied
    from entities and components (in packages).  Individual design units and
    complete designs can directly be compiled ("Make" menu entry).

      The hierarchy is automatically updated upon saving a modified source
    file when option `vhdl-speedbar-update-on-saving' is non-nil.  The
    hierarchy is only updated for projects that have been opened once in the
    speedbar.  The hierarchy is cached between Emacs sessions in a file (see
    options in group `vhdl-speedbar').

      Simple design consistency checks are done during scanning, such as
    multiple declarations of the same unit or missing primary units that are
    required by secondary units.


  STRUCTURAL COMPOSITION:
    Enables simple structural composition.  `C-c C-m C-n' creates a skeleton
    for a new component.  Subcomponents (i.e. component declaration and
    instantiation) can be automatically placed from a previously read port
    (`C-c C-m C-p') or directly from the hierarchy browser (`P').  Finally,
    all subcomponents can be automatically connected using internal signals
    and ports (`C-c C-m C-w') following these rules:
      - subcomponent actual ports with same name are considered to be
        connected by a signal (internal signal or port)
      - signals that are only inputs to subcomponents are considered as
        inputs to this component -> input port created
      - signals that are only outputs from subcomponents are considered as
        outputs from this component -> output port created
      - signals that are inputs to AND outputs from subcomponents are
        considered as internal connections -> internal signal created

      Purpose:  With appropriate naming conventions it is possible to
    create higher design levels with only a few mouse clicks or key
    strokes.  A new design level can be created by simply generating a new
    component, placing the required subcomponents from the hierarchy
    browser, and wiring everything automatically.

      Note: Automatic wiring only works reliably on templates of new
    components and component instantiations that were created by VHDL mode.

      Component declarations can be placed in a components package (option
    `vhdl-use-components-package') which can be automatically generated for
    an entire directory or project (`C-c C-m M-p').  The VHDL'93 direct
    component instantiation is also supported (option
    `vhdl-use-direct-instantiation').

      Configuration declarations can automatically be generated either from
    the menu (`C-c C-m C-f') (for the architecture the cursor is in) or from
    the speedbar menu (for the architecture under the cursor).  The
    configurations can optionally be hierarchical (i.e. include all
    component levels of a hierarchical design, option
    `vhdl-compose-configuration-hierarchical') or include subconfigurations
    (option `vhdl-compose-configuration-use-subconfiguration').  For
    subcomponents in hierarchical configurations, the most-recently-analyzed
    (mra) architecture is selected.  If another architecture is desired, it
    can be marked as most-recently-analyzed (speedbar menu) before
    generating the configuration.

      Note: Configurations of subcomponents (i.e. hierarchical configuration
    declarations) are currently not considered when displaying
    configurations in speedbar.

      See the options group `vhdl-compose' for all relevant user options.


  SOURCE FILE COMPILATION:
    The syntax of the current buffer can be analyzed by calling a VHDL
    compiler (menu, `C-c C-k').  The compiler to be used is specified by
    option `vhdl-compiler'.  The available compilers are listed in option
    `vhdl-compiler-alist' including all required compilation command,
    command options, compilation directory, and error message syntax
    information.  New compilers can be added.

      All the source files of an entire design can be compiled by the `make'
    command (menu, `C-c M-C-k') if an appropriate Makefile exists.


  MAKEFILE GENERATION:
    Makefiles can be generated automatically by an internal generation
    routine (`C-c M-k').  The library unit dependency information is
    obtained from the hierarchy browser.  Makefile generation can be
    customized for each compiler in option `vhdl-compiler-alist'.

      Makefile generation can also be run non-interactively using the
    command:

        emacs -batch -l ~/.emacs -l vhdl-mode
              [-compiler compilername] [-project projectname]
              -f vhdl-generate-makefile

      The Makefile's default target "all" compiles the entire design, the
    target "clean" removes it and the target "library" creates the
    library directory if not existent.  These target names can be customized
    by option `vhdl-makefile-default-targets'.  The Makefile also includes a
    target for each primary library unit which allows selective compilation
    of this unit, its secondary units and its subhierarchy (example:
    compilation of a design specified by a configuration).  User specific
    parts can be inserted into a Makefile with option
    `vhdl-makefile-generation-hook'.

    Limitations:
      - Only library units and dependencies within the current library are
        considered.  Makefiles for designs that span multiple libraries are
        not (yet) supported.
      - Only one-level configurations are supported (also hierarchical),
        but configurations that go down several levels are not.
      - The "others" keyword in configurations is not supported.


  PROJECTS:
    Projects can be defined in option `vhdl-project-alist' and a current
    project be selected using option `vhdl-project' (permanently) or from
    the menu or speedbar (temporarily).  For each project, title and
    description strings (for the file headers), source files/directories
    (for the hierarchy browser and Makefile generation), library name, and
    compiler-dependent options, exceptions and compilation directory can be
    specified.  Compilation settings overwrite the settings of option
    `vhdl-compiler-alist'.

      Project setups can be exported (i.e. written to a file) and imported.
    Imported setups are not automatically saved in `vhdl-project-alist' but
    can be saved afterwards in its customization buffer.  When starting
    Emacs with VHDL Mode (i.e. load a VHDL file or use "emacs -l
    vhdl-mode") in a directory with an existing project setup file, it is
    automatically loaded and its project activated if option
    `vhdl-project-auto-load' is non-nil.  Names/paths of the project setup
    files can be specified in option `vhdl-project-file-name'.  Multiple
    project setups can be automatically loaded from global directories.
    This is an alternative to specifying project setups with option
    `vhdl-project-alist'.


  SPECIAL MENUES:
    As an alternative to the speedbar, an index menu can be added (set
    option `vhdl-index-menu' to non-nil) or made accessible as a mouse menu
    (e.g. add "(global-set-key '[S-down-mouse-3] 'imenu)" to your start-up
    file) for browsing the file contents (is not populated if buffer is
    larger than `font-lock-maximum-size').  Also, a source file menu can be
    added (set option `vhdl-source-file-menu' to non-nil) for browsing the
    current directory for VHDL source files.


  VHDL STANDARDS:
    The VHDL standards to be used are specified in option `vhdl-standard'.
    Available standards are: VHDL'87/'93(02), VHDL-AMS, and Math Packages.


  KEYWORD CASE:
    Lower and upper case for keywords and standardized types, attributes,
    and enumeration values is supported.  If the option
    `vhdl-upper-case-keywords' is set to non-nil, keywords can be typed in
    lower case and are converted into upper case automatically (not for
    types, attributes, and enumeration values).  The case of keywords,
    types, attributes,and enumeration values can be fixed for an entire
    region (menu) or buffer (`C-c C-x C-c') according to the options
    `vhdl-upper-case-{keywords,types,attributes,enum-values}'.


  HIGHLIGHTING (fontification):
    Keywords and standardized types, attributes, enumeration values, and
    function names (controlled by option `vhdl-highlight-keywords'), as well
    as comments, strings, and template prompts are highlighted using
    different colors.  Unit, subprogram, signal, variable, constant,
    parameter and generic/port names in declarations as well as labels are
    highlighted if option `vhdl-highlight-names' is non-nil.

      Additional reserved words or words with a forbidden syntax (e.g. words
    that should be avoided) can be specified in option
    `vhdl-forbidden-words' or `vhdl-forbidden-syntax' and be highlighted in
    a warning color (option `vhdl-highlight-forbidden-words').  Verilog
    keywords are highlighted as forbidden words if option
    `vhdl-highlight-verilog-keywords' is non-nil.

      Words with special syntax can be highlighted by specifying their
    syntax and color in option `vhdl-special-syntax-alist' and by setting
    option `vhdl-highlight-special-words' to non-nil.  This allows to
    establish some naming conventions (e.g. to distinguish different kinds
    of signals or other objects by using name suffices) and to support them
    visually.

      Option `vhdl-highlight-case-sensitive' can be set to non-nil in order
    to support case-sensitive highlighting.  However, keywords are then only
    highlighted if written in lower case.

      Code between "translate_off" and "translate_on" pragmas is
    highlighted using a different background color if option
    `vhdl-highlight-translate-off' is non-nil.

      For documentation and customization of the used colors see
    customization group `vhdl-highlight-faces' (`M-x customize-group').  For
    highlighting of matching parenthesis, see customization group
    `paren-showing'.  Automatic buffer highlighting is turned on/off by
    option `global-font-lock-mode' (`font-lock-auto-fontify' in XEmacs).


  USER MODELS:
    VHDL models (templates) can be specified by the user and made accessible
    in the menu, through key bindings (`C-c C-m ...'), or by keyword
    electrification.  See option `vhdl-model-alist'.


  HIDE/SHOW:
    The code of blocks, processes, subprograms, component declarations and
    instantiations, generic/port clauses, and configuration declarations can
    be hidden using the `Hide/Show' menu or by pressing `S-mouse-2' within
    the code (see customization group `vhdl-menu').  XEmacs: limited
    functionality due to old `hideshow.el' package.


  CODE UPDATING:
    - Sensitivity List: `C-c C-u C-s' updates the sensitivity list of the
      current process, `C-c C-u M-s' of all processes in the current buffer.
      Limitations:
        - Only declared local signals (ports, signals declared in
          architecture and blocks) are automatically inserted.
        - Global signals declared in packages are not automatically inserted.
          Insert them once manually (will be kept afterwards).
        - Out parameters of procedures are considered to be read.
      Use option `vhdl-entity-file-name' to specify the entity file name
      (used to obtain the port names).
      Use option `vhdl-array-index-record-field-in-sensitivity-list' to
      specify whether to include array indices and record fields in
      sensitivity lists.


  CODE FIXING:
    `C-c C-x C-p' fixes the closing parenthesis of a generic/port clause
    (e.g. if the closing parenthesis is on the wrong line or is missing).


  PRINTING:
    PostScript printing with different faces (an optimized set of faces is
    used if `vhdl-print-customize-faces' is non-nil) or colors (if
    `ps-print-color-p' is non-nil) is possible using the standard Emacs
    PostScript printing commands.  Option `vhdl-print-two-column' defines
    appropriate default settings for nice landscape two-column printing.
    The paper format can be set by option `ps-paper-type'.  Do not forget to
    switch `ps-print-color-p' to nil for printing on black-and-white
    printers.


  OPTIONS:
    User options allow customization of VHDL Mode.  All options are
    accessible from the "Options" menu entry.  Simple options (switches
    and choices) can directly be changed, while for complex options a
    customization buffer is opened.  Changed options can be saved for future
    sessions using the "Save Options" menu entry.

      Options and their detailed descriptions can also be accessed by using
    the "Customize" menu entry or the command `M-x customize-option' (`M-x
    customize-group' for groups).  Some customizations only take effect
    after some action (read the NOTE in the option documentation).
    Customization can also be done globally (i.e. site-wide, read the
    INSTALL file).

      Not all options are described in this documentation, so go and see
    what other useful user options there are (`M-x vhdl-customize' or menu)!


  FILE EXTENSIONS:
    As default, files with extensions ".vhd" and ".vhdl" are
    automatically recognized as VHDL source files.  To add an extension
    ".xxx", add the following line to your Emacs start-up file (`.emacs'):

      (setq auto-mode-alist (cons '("\\.xxx\\'" . vhdl-mode) auto-mode-alist))


  HINTS:
    - To start Emacs with open VHDL hierarchy browser without having to load
      a VHDL file first, use the command:

        emacs -l vhdl-mode -f speedbar-frame-mode

    - Type `C-g C-g' to interrupt long operations or if Emacs hangs.

    - Some features only work on properly indented code.


  RELEASE NOTES:
    See also the release notes (menu) for added features in new releases.


Maintenance:
------------

To submit a bug report, enter `M-x vhdl-submit-bug-report' within VHDL Mode.
Add a description of the problem and include a reproducible test case.

Questions and enhancement requests can be sent to <reto@gnu.org>.

The `vhdl-mode-announce' mailing list informs about new VHDL Mode releases.
The `vhdl-mode-victims' mailing list informs about new VHDL Mode beta
releases.  You are kindly invited to participate in beta testing.  Subscribe
to above mailing lists by sending an email to <reto@gnu.org>.

VHDL Mode is officially distributed at
http://www.iis.ee.ethz.ch/~zimmi/emacs/vhdl-mode.html
where the latest version can be found.


Known problems:
---------------

- XEmacs: Incorrect start-up when automatically opening speedbar.
- XEmacs: Indentation in XEmacs 21.4 (and higher).
- Indentation incorrect for new 'postponed' VHDL keyword.
- Indentation incorrect for 'protected body' construct.


                                                The VHDL Mode Authors
                                            Reto Zimmermann and Rod Whitby

Key bindings:
-------------

\{vhdl-mode-map}

(fn)Fvi-mode
Major mode that acts like the `vi' editor.
The purpose of this mode is to provide you the combined power of vi (namely,
the "cross product" effect of commands and repeat last changes) and Emacs.

This command redefines nearly all keys to look like vi commands.
It records the previous major mode, and any vi command for input
(`i', `a', `s', etc.) switches back to that mode.
Thus, ordinary Emacs (in whatever major mode you had been using)
is "input" mode as far as vi is concerned.

To get back into vi from "input" mode, you must issue this command again.
Therefore, it is recommended that you assign it to a key.

Major differences between this mode and real vi :

* Limitations and unsupported features
  - Search patterns with line offset (e.g. /pat/+3 or /pat/z.) are
    not supported.
  - Ex commands are not implemented; try ':' to get some hints.
  - No line undo (i.e. the 'U' command), but multi-undo is a standard feature.

* Modifications
  - The stopping positions for some point motion commands (word boundary,
    pattern search) are slightly different from standard 'vi'.
    Also, no automatic wrap around at end of buffer for pattern searching.
  - Since changes are done in two steps (deletion then insertion), you need
    to undo twice to completely undo a change command.  But this is not needed
    for undoing a repeated change command.
  - No need to set/unset 'magic', to search for a string with regular expr
    in it just put a prefix arg for the search commands.  Replace cmds too.
  - ^R is bound to incremental backward search, so use ^L to redraw screen.

* Extensions
  - Some standard (or modified) Emacs commands were integrated, such as
    incremental search, query replace, transpose objects, and keyboard macros.
  - In command state, ^X links to the 'ctl-x-map', and ESC can be linked to
    esc-map or set undefined.  These can give you the full power of Emacs.
  - See vi-com-map for those keys that are extensions to standard vi, e.g.
    `vi-name-last-change-or-macro', `vi-verify-spelling', `vi-locate-def',
    `vi-mark-region', and 'vi-quote-words'.  Some of them are quite handy.
  - Use \[vi-switch-mode] to switch among different modes quickly.

Syntax table and abbrevs while in vi mode remain as they were in Emacs.

(fn)Fviet-encode-viscii-char
Return VISCII character code of CHAR if appropriate.

(fn CHAR)Fviet-decode-viqr-region
Convert `VIQR' mnemonics of the current region to Vietnamese characters.
When called from a program, expects two arguments,
positions (integers or markers) specifying the stretch of the region.

(fn FROM TO)Fviet-decode-viqr-buffer
Convert `VIQR' mnemonics of the current buffer to Vietnamese characters.

(fn)Fviet-encode-viqr-region
Convert Vietnamese characters of the current region to `VIQR' mnemonics.
When called from a program, expects two arguments,
positions (integers or markers) specifying the stretch of the region.

(fn FROM TO)Fviet-encode-viqr-buffer
Convert Vietnamese characters of the current buffer to `VIQR' mnemonics.

(fn)Fviqr-post-read-conversion


(fn LEN)Fviqr-pre-write-conversion


(fn FROM TO)Vview-remove-frame-by-deleting
Determine how View mode removes a frame no longer needed.
If nil, make an icon of the frame.  If non-nil, delete the frame.Vview-mode
Non-nil if View mode is enabled.
Don't change this variable directly, you must change it by one of the
functions that enable or disable view mode.Fkill-buffer-if-not-modified
Like `kill-buffer', but does nothing if the buffer is modified.

(fn BUF)Fview-file
View FILE in View mode, returning to previous buffer when done.
Emacs commands editing the buffer contents are not available; instead, a
special set of commands (mostly letters and punctuation) are defined for
moving around in the buffer.
Space scrolls forward, Delete scrolls backward.
For a list of all View commands, type H or h while viewing.

This command runs the normal hook `view-mode-hook'.

(fn FILE)Fview-file-other-window
View FILE in View mode in another window.
When done, return that window to its previous buffer, and kill the
buffer visiting FILE if unmodified and if it wasn't visited before.

Emacs commands editing the buffer contents are not available; instead,
a special set of commands (mostly letters and punctuation)
are defined for moving around in the buffer.
Space scrolls forward, Delete scrolls backward.
For a list of all View commands, type H or h while viewing.

This command runs the normal hook `view-mode-hook'.

(fn FILE)Fview-file-other-frame
View FILE in View mode in another frame.
When done, kill the buffer visiting FILE if unmodified and if it wasn't
visited before; also, maybe delete other frame and/or return to previous
buffer.

Emacs commands editing the buffer contents are not available; instead,
a special set of commands (mostly letters and punctuation)
are defined for moving around in the buffer.
Space scrolls forward, Delete scrolls backward.
For a list of all View commands, type H or h while viewing.

This command runs the normal hook `view-mode-hook'.

(fn FILE)Fview-buffer
View BUFFER in View mode, returning to previous buffer when done.
Emacs commands editing the buffer contents are not available; instead, a
special set of commands (mostly letters and punctuation) are defined for
moving around in the buffer.
Space scrolls forward, Delete scrolls backward.
For a list of all View commands, type H or h while viewing.

This command runs the normal hook `view-mode-hook'.

Optional argument EXIT-ACTION is either nil or a function with buffer as
argument.  This function is called when finished viewing buffer.  Use
this argument instead of explicitly setting `view-exit-action'.

Do not set EXIT-ACTION to `kill-buffer' when BUFFER visits a
file: Users may suspend viewing in order to modify the buffer.
Exiting View mode will then discard the user's edits.  Setting
EXIT-ACTION to `kill-buffer-if-not-modified' avoids this.

This function does not enable View mode if the buffer's major-mode
has a `special' mode-class, because such modes usually have their
own View-like bindings.

(fn BUFFER &optional EXIT-ACTION)Fview-buffer-other-window
View BUFFER in View mode in another window.
Emacs commands editing the buffer contents are not available;
instead, a special set of commands (mostly letters and
punctuation) are defined for moving around in the buffer.
Space scrolls forward, Delete scrolls backward.
For a list of all View commands, type H or h while viewing.

This command runs the normal hook `view-mode-hook'.

Optional argument NOT-RETURN is ignored.

Optional argument EXIT-ACTION is either nil or a function with buffer as
argument.  This function is called when finished viewing buffer.  Use
this argument instead of explicitly setting `view-exit-action'.

This function does not enable View mode if the buffer's major-mode
has a `special' mode-class, because such modes usually have their
own View-like bindings.

(fn BUFFER &optional NOT-RETURN EXIT-ACTION)Fview-buffer-other-frame
View BUFFER in View mode in another frame.
Emacs commands editing the buffer contents are not available;
instead, a special set of commands (mostly letters and
punctuation) are defined for moving around in the buffer.
Space scrolls forward, Delete scrolls backward.
For a list of all View commands, type H or h while viewing.

This command runs the normal hook `view-mode-hook'.

Optional argument NOT-RETURN is ignored.

Optional argument EXIT-ACTION is either nil or a function with buffer as
argument.  This function is called when finished viewing buffer.  Use
this argument instead of explicitly setting `view-exit-action'.

This function does not enable View mode if the buffer's major-mode
has a `special' mode-class, because such modes usually have their
own View-like bindings.

(fn BUFFER &optional NOT-RETURN EXIT-ACTION)Fview-mode
Toggle View mode, a minor mode for viewing text but not editing it.
With a prefix argument ARG, enable View mode if ARG is positive,
and disable it otherwise.  If called from Lisp, enable View mode
if ARG is omitted or nil.

When View mode is enabled, commands that do not change the buffer
contents are available as usual.  Kill commands insert text in
kill buffers but do not delete.  Most other commands beep and
tell the user that the buffer is read-only.

\<view-mode-map>

The following additional commands are provided.  Most commands
take prefix arguments.  Page commands default to "page size"
lines which is almost a whole window, or number of lines set by
\[View-scroll-page-forward-set-page-size] or \[View-scroll-page-backward-set-page-size].
Half page commands default to and set "half page size" lines
which initially is half a window full.  Search commands default
to a repeat count of one.

H, h, ?	 This message.
Digits	provide prefix arguments.
\[negative-argument]	negative prefix argument.
\[beginning-of-buffer]	move to the beginning of buffer.
>	move to the end of buffer.
\[View-scroll-to-buffer-end]	scroll so that buffer end is at last line of window.
SPC	scroll forward "page size" lines.
	  With prefix scroll forward prefix lines.
DEL	scroll backward "page size" lines.
	  With prefix scroll backward prefix lines.
\[View-scroll-page-forward-set-page-size]	like  \[View-scroll-page-forward]  but with prefix sets "page size" to prefix.
\[View-scroll-page-backward-set-page-size]	like  \[View-scroll-page-backward]  but with prefix sets "page size" to prefix.
\[View-scroll-half-page-forward]	scroll forward "half page size" lines.  With prefix, sets
	  "half page size" to prefix lines and scrolls forward that much.
\[View-scroll-half-page-backward]	scroll backward "half page size" lines.  With prefix, sets
	  "half page size" to prefix lines and scrolls backward that much.
RET, LFD  scroll forward one line.  With prefix scroll forward prefix line(s).
y	scroll backward one line.  With prefix scroll backward prefix line(s).
\[View-revert-buffer-scroll-page-forward]	revert-buffer if necessary and scroll forward.
	  Use this to view a changing file.
\[what-line]	prints the current line number.
\[View-goto-percent]	goes prefix argument (default 100) percent into buffer.
\[View-goto-line]	goes to line given by prefix argument (default first line).
.	set the mark.
x	exchanges point and mark.
\[View-back-to-mark]	return to mark and pops mark ring.
	  Mark ring is pushed at start of every successful search and when
	  jump to line occurs.  The mark is set on jump to buffer start or end.
\[point-to-register]	save current position in character register.
'	go to position saved in character register.
s	do forward incremental search.
r	do reverse incremental search.
\[View-search-regexp-forward]	searches forward for regular expression, starting after current page.
	  ! and @ have a special meaning at the beginning of the regexp.
	  ! means search for a line with no match for regexp.  @ means start
	  search at beginning (end for backward search) of buffer.
\	searches backward for regular expression, starting before current page.
\[View-search-last-regexp-forward]	searches forward for last regular expression.
p	searches backward for last regular expression.
\[View-quit]	quit View mode, restoring this window and buffer to previous state.
	  \[View-quit] is the normal way to leave view mode.
\[View-exit]	exit View mode but stay in current buffer.  Use this if you started
	  viewing a buffer (file) and find out you want to edit it.
	  This command restores the previous read-only status of the buffer.
\[View-exit-and-edit]	exit View mode, and make the current buffer editable
	  even if it was not editable before entry to View mode.
\[View-quit-all]	quit View mode, restoring all windows to previous state.
\[View-leave]	quit View mode and maybe switch buffers, but don't kill this buffer.
\[View-kill-and-leave]	quit View mode, kill current buffer and go back to other buffer.

The effect of \[View-leave], \[View-quit] and \[View-kill-and-leave] depends on how view-mode was entered.  If it was
entered by view-file, view-file-other-window, view-file-other-frame, or
\[dired-view-file] (\[view-file], \[view-file-other-window],
\[view-file-other-frame], or the Dired mode v command),
then \[View-quit] will try to kill the current buffer.
If view-mode was entered from another buffer, by \[view-buffer],
\[view-buffer-other-window], \[view-buffer-other frame], \[view-file],
\[view-file-other-window], or \[view-file-other-frame],
then \[View-leave], \[View-quit] and \[View-kill-and-leave] will return to that buffer.

Entry to view-mode runs the normal hook `view-mode-hook'.

(fn &optional ARG)Fview-return-to-alist-update
Update `view-return-to-alist' of buffer BUFFER.
Remove from `view-return-to-alist' all entries referencing dead
windows.  Optional argument ITEM non-nil means add ITEM to
`view-return-to-alist' after purging.  For a description of items
that can be added see the RETURN-TO-ALIST argument of the
function `view-mode-exit'.  If `view-return-to-alist' contains an
entry for the selected window, purge that entry from
`view-return-to-alist' before adding ITEM.

(fn BUFFER &optional ITEM)Fview-mode-enter
Enter View mode and set up exit from view mode depending on optional arguments.
Optional argument QUIT-RESTORE if non-nil must specify a valid
entry for quitting and restoring any window showing the current
buffer.  This entry replaces any parameter installed by
`display-buffer' and is used by `view-mode-exit'.

Optional argument EXIT-ACTION, if non-nil, must specify a
function that takes a buffer as argument.  This function will be
called by `view-mode-exit'.

For a list of all View commands, type H or h while viewing.

This function runs the normal hook `view-mode-hook'.

(fn &optional QUIT-RESTORE EXIT-ACTION)FView-exit-and-edit
Exit View mode and make the current buffer editable.

(fn)Fvip-setup
Set up bindings for C-x 7 and C-z that are useful for VIP users.

(fn)Fvip-mode
Turn on VIP emulation of VI.

(fn)Ftoggle-viper-mode
Toggle Viper on/off.
If Viper is enabled, turn it off.  Otherwise, turn it on.

(fn)Fviper-mode
Turn on Viper emulation of Vi in Emacs. See Info node `(viper)Top'.

(fn)Vwarning-prefix-function
Function to generate warning prefixes.
This function, if non-nil, is called with two arguments,
the severity level and its entry in `warning-levels',
and should return the entry that should actually be used.
The warnings buffer is current when this function is called
and the function can insert text in it.  This text becomes
the beginning of the warning.Vwarning-series
Non-nil means treat multiple `display-warning' calls as a series.
A marker indicates a position in the warnings buffer
which is the start of the current series; it means that
additional warnings in the same buffer should not move point.
If t, the next warning begins a series (and stores a marker here).
A symbol with a function definition is like t, except
also call that function before the next warning.Vwarning-fill-prefix
Non-nil means fill each warning text using this string as `fill-prefix'.Vwarning-type-format
Format for displaying the warning type in the warning message.
The result of formatting the type this way gets included in the
message under the control of the string in `warning-levels'.Fdisplay-warning
Display a warning message, MESSAGE.
TYPE is the warning type: either a custom group name (a symbol),
or a list of symbols whose first element is a custom group name.
(The rest of the symbols represent subcategories, for warning purposes
only, and you can use whatever symbols you like.)

LEVEL should be either :debug, :warning, :error, or :emergency
(but see `warning-minimum-level' and `warning-minimum-log-level').
Default is :warning.

:emergency -- a problem that will seriously impair Emacs operation soon
	      if you do not attend to it promptly.
:error     -- data or circumstances that are inherently wrong.
:warning   -- data or circumstances that are not inherently wrong,
	      but raise suspicion of a possible problem.
:debug     -- info for debugging only.

BUFFER-NAME, if specified, is the name of the buffer for logging
the warning.  By default, it is `*Warnings*'.  If this function
has to create the buffer, it disables undo in the buffer.

See the `warnings' custom group for user customization features.

See also `warning-series', `warning-prefix-function' and
`warning-fill-prefix' for additional programming features.

(fn TYPE MESSAGE &optional LEVEL BUFFER-NAME)Flwarn
Display a warning message made from (format MESSAGE ARGS...).
Aside from generating the message with `format',
this is equivalent to `display-warning'.

TYPE is the warning type: either a custom group name (a symbol),
or a list of symbols whose first element is a custom group name.
(The rest of the symbols represent subcategories and
can be whatever you like.)

LEVEL should be either :debug, :warning, :error, or :emergency
(but see `warning-minimum-level' and `warning-minimum-log-level').

:emergency -- a problem that will seriously impair Emacs operation soon
	      if you do not attend to it promptly.
:error     -- invalid data or circumstances.
:warning   -- suspicious data or circumstances.
:debug     -- info for debugging only.

(fn TYPE LEVEL MESSAGE &rest ARGS)Fwarn
Display a warning message made from (format MESSAGE ARGS...).
Aside from generating the message with `format',
this is equivalent to `display-warning', using
`emacs' as the type and `:warning' as the level.

(fn MESSAGE &rest ARGS)Fwdired-change-to-wdired-mode
Put a Dired buffer in Writable Dired (WDired) mode.
\<wdired-mode-map>
In WDired mode, you can edit the names of the files in the
buffer, the target of the links, and the permission bits of the
files.  After typing \[wdired-finish-edit], Emacs modifies the files and
directories to reflect your edits.

See `wdired-mode'.

(fn)Fwebjump
Jumps to a Web site from a programmable hotlist.

See the documentation for the `webjump-sites' variable for how to customize the
hotlist.

Please submit bug reports and other feedback to the author, Neil W. Van Dyke
<nwv@acm.org>.

(fn)Vwhich-function-mode
Non-nil if Which-Function mode is enabled.
See the command `which-function-mode' for a description of this minor mode.
Setting this variable directly does not take effect;
either customize it (see the info node `Easy Customization')
or call the function `which-function-mode'.Fwhich-function-mode
Toggle mode line display of current function (Which Function mode).
With a prefix argument ARG, enable Which Function mode if ARG is
positive, and disable it otherwise.  If called from Lisp, enable
the mode if ARG is omitted or nil.

Which Function mode is a global minor mode.  When enabled, the
current function name is continuously displayed in the mode line,
in certain major modes.

(fn &optional ARG)Fwhitespace-mode
Toggle whitespace visualization (Whitespace mode).
With a prefix argument ARG, enable Whitespace mode if ARG is
positive, and disable it otherwise.  If called from Lisp, enable
the mode if ARG is omitted or nil.

See also `whitespace-style', `whitespace-newline' and
`whitespace-display-mappings'.

(fn &optional ARG)Fwhitespace-newline-mode
Toggle newline visualization (Whitespace Newline mode).
With a prefix argument ARG, enable Whitespace Newline mode if ARG
is positive, and disable it otherwise.  If called from Lisp,
enable the mode if ARG is omitted or nil.

Use `whitespace-newline-mode' only for NEWLINE visualization
exclusively.  For other visualizations, including NEWLINE
visualization together with (HARD) SPACEs and/or TABs, please,
use `whitespace-mode'.

See also `whitespace-newline' and `whitespace-display-mappings'.

(fn &optional ARG)Vglobal-whitespace-mode
Non-nil if Global-Whitespace mode is enabled.
See the command `global-whitespace-mode' for a description of this minor mode.
Setting this variable directly does not take effect;
either customize it (see the info node `Easy Customization')
or call the function `global-whitespace-mode'.Fglobal-whitespace-mode
Toggle whitespace visualization globally (Global Whitespace mode).
With a prefix argument ARG, enable Global Whitespace mode if ARG
is positive, and disable it otherwise.  If called from Lisp,
enable it if ARG is omitted or nil.

See also `whitespace-style', `whitespace-newline' and
`whitespace-display-mappings'.

(fn &optional ARG)Vglobal-whitespace-newline-mode
Non-nil if Global-Whitespace-Newline mode is enabled.
See the command `global-whitespace-newline-mode' for a description of this minor mode.
Setting this variable directly does not take effect;
either customize it (see the info node `Easy Customization')
or call the function `global-whitespace-newline-mode'.Fglobal-whitespace-newline-mode
Toggle global newline visualization (Global Whitespace Newline mode).
With a prefix argument ARG, enable Global Whitespace Newline mode
if ARG is positive, and disable it otherwise.  If called from
Lisp, enable it if ARG is omitted or nil.

Use `global-whitespace-newline-mode' only for NEWLINE
visualization exclusively.  For other visualizations, including
NEWLINE visualization together with (HARD) SPACEs and/or TABs,
please use `global-whitespace-mode'.

See also `whitespace-newline' and `whitespace-display-mappings'.

(fn &optional ARG)Fwhitespace-toggle-options
Toggle local `whitespace-mode' options.

If local whitespace-mode is off, toggle the option given by ARG
and turn on local whitespace-mode.

If local whitespace-mode is on, toggle the option given by ARG
and restart local whitespace-mode.

Interactively, it reads one of the following chars:

  CHAR	MEANING
  (VIA FACES)
   f	toggle face visualization
   t	toggle TAB visualization
   s	toggle SPACE and HARD SPACE visualization
   r	toggle trailing blanks visualization
   l	toggle "long lines" visualization
   L	toggle "long lines" tail visualization
   n	toggle NEWLINE visualization
   e	toggle empty line at bob and/or eob visualization
   C-i	toggle indentation SPACEs visualization (via `indent-tabs-mode')
   I	toggle indentation SPACEs visualization
   i	toggle indentation TABs visualization
   C-a	toggle SPACEs after TAB visualization (via `indent-tabs-mode')
   A	toggle SPACEs after TAB: SPACEs visualization
   a	toggle SPACEs after TAB: TABs visualization
   C-b	toggle SPACEs before TAB visualization (via `indent-tabs-mode')
   B	toggle SPACEs before TAB: SPACEs visualization
   b	toggle SPACEs before TAB: TABs visualization

  (VIA DISPLAY TABLE)
   T	toggle TAB visualization
   S	toggle SPACEs before TAB visualization
   N	toggle NEWLINE visualization

   x	restore `whitespace-style' value
   ?	display brief help

Non-interactively, ARG should be a symbol or a list of symbols.
The valid symbols are:

   face			toggle face visualization
   tabs			toggle TAB visualization
   spaces		toggle SPACE and HARD SPACE visualization
   trailing		toggle trailing blanks visualization
   lines		toggle "long lines" visualization
   lines-tail		toggle "long lines" tail visualization
   newline		toggle NEWLINE visualization
   empty		toggle empty line at bob and/or eob visualization
   indentation		toggle indentation SPACEs visualization
   indentation::tab	toggle indentation SPACEs visualization
   indentation::space	toggle indentation TABs visualization
   space-after-tab		toggle SPACEs after TAB visualization
   space-after-tab::tab		toggle SPACEs after TAB: SPACEs visualization
   space-after-tab::space	toggle SPACEs after TAB: TABs visualization
   space-before-tab		toggle SPACEs before TAB visualization
   space-before-tab::tab	toggle SPACEs before TAB: SPACEs visualization
   space-before-tab::space	toggle SPACEs before TAB: TABs visualization

   tab-mark		toggle TAB visualization
   space-mark		toggle SPACEs before TAB visualization
   newline-mark		toggle NEWLINE visualization

   whitespace-style	restore `whitespace-style' value

See `whitespace-style' and `indent-tabs-mode' for documentation.

(fn ARG)Fglobal-whitespace-toggle-options
Toggle global `whitespace-mode' options.

If global whitespace-mode is off, toggle the option given by ARG
and turn on global whitespace-mode.

If global whitespace-mode is on, toggle the option given by ARG
and restart global whitespace-mode.

Interactively, it accepts one of the following chars:

  CHAR	MEANING
  (VIA FACES)
   f	toggle face visualization
   t	toggle TAB visualization
   s	toggle SPACE and HARD SPACE visualization
   r	toggle trailing blanks visualization
   l	toggle "long lines" visualization
   L	toggle "long lines" tail visualization
   n	toggle NEWLINE visualization
   e	toggle empty line at bob and/or eob visualization
   C-i	toggle indentation SPACEs visualization (via `indent-tabs-mode')
   I	toggle indentation SPACEs visualization
   i	toggle indentation TABs visualization
   C-a	toggle SPACEs after TAB visualization (via `indent-tabs-mode')
   A	toggle SPACEs after TAB: SPACEs visualization
   a	toggle SPACEs after TAB: TABs visualization
   C-b	toggle SPACEs before TAB visualization (via `indent-tabs-mode')
   B	toggle SPACEs before TAB: SPACEs visualization
   b	toggle SPACEs before TAB: TABs visualization

  (VIA DISPLAY TABLE)
   T	toggle TAB visualization
   S	toggle SPACEs before TAB visualization
   N	toggle NEWLINE visualization

   x	restore `whitespace-style' value
   ?	display brief help

Non-interactively, ARG should be a symbol or a list of symbols.
The valid symbols are:

   face			toggle face visualization
   tabs			toggle TAB visualization
   spaces		toggle SPACE and HARD SPACE visualization
   trailing		toggle trailing blanks visualization
   lines		toggle "long lines" visualization
   lines-tail		toggle "long lines" tail visualization
   newline		toggle NEWLINE visualization
   empty		toggle empty line at bob and/or eob visualization
   indentation		toggle indentation SPACEs visualization
   indentation::tab	toggle indentation SPACEs visualization
   indentation::space	toggle indentation TABs visualization
   space-after-tab		toggle SPACEs after TAB visualization
   space-after-tab::tab		toggle SPACEs after TAB: SPACEs visualization
   space-after-tab::space	toggle SPACEs after TAB: TABs visualization
   space-before-tab		toggle SPACEs before TAB visualization
   space-before-tab::tab	toggle SPACEs before TAB: SPACEs visualization
   space-before-tab::space	toggle SPACEs before TAB: TABs visualization

   tab-mark		toggle TAB visualization
   space-mark		toggle SPACEs before TAB visualization
   newline-mark		toggle NEWLINE visualization

   whitespace-style	restore `whitespace-style' value

See `whitespace-style' and `indent-tabs-mode' for documentation.

(fn ARG)Fwhitespace-cleanup
Cleanup some blank problems in all buffer or at region.

It usually applies to the whole buffer, but in transient mark
mode when the mark is active, it applies to the region.  It also
applies to the region when it is not in transient mark mode, the
mark is active and \[universal-argument] was pressed just before
calling `whitespace-cleanup' interactively.

See also `whitespace-cleanup-region'.

The problems cleaned up are:

1. empty lines at beginning of buffer.
2. empty lines at end of buffer.
   If `whitespace-style' includes the value `empty', remove all
   empty lines at beginning and/or end of buffer.

3. 8 or more SPACEs at beginning of line.
   If `whitespace-style' includes the value `indentation':
   replace 8 or more SPACEs at beginning of line by TABs, if
   `indent-tabs-mode' is non-nil; otherwise, replace TABs by
   SPACEs.
   If `whitespace-style' includes the value `indentation::tab',
   replace 8 or more SPACEs at beginning of line by TABs.
   If `whitespace-style' includes the value `indentation::space',
   replace TABs by SPACEs.

4. SPACEs before TAB.
   If `whitespace-style' includes the value `space-before-tab':
   replace SPACEs by TABs, if `indent-tabs-mode' is non-nil;
   otherwise, replace TABs by SPACEs.
   If `whitespace-style' includes the value
   `space-before-tab::tab', replace SPACEs by TABs.
   If `whitespace-style' includes the value
   `space-before-tab::space', replace TABs by SPACEs.

5. SPACEs or TABs at end of line.
   If `whitespace-style' includes the value `trailing', remove
   all SPACEs or TABs at end of line.

6. 8 or more SPACEs after TAB.
   If `whitespace-style' includes the value `space-after-tab':
   replace SPACEs by TABs, if `indent-tabs-mode' is non-nil;
   otherwise, replace TABs by SPACEs.
   If `whitespace-style' includes the value
   `space-after-tab::tab', replace SPACEs by TABs.
   If `whitespace-style' includes the value
   `space-after-tab::space', replace TABs by SPACEs.

See `whitespace-style', `indent-tabs-mode' and `tab-width' for
documentation.

(fn)Fwhitespace-cleanup-region
Cleanup some blank problems at region.

The problems cleaned up are:

1. 8 or more SPACEs at beginning of line.
   If `whitespace-style' includes the value `indentation':
   replace 8 or more SPACEs at beginning of line by TABs, if
   `indent-tabs-mode' is non-nil; otherwise, replace TABs by
   SPACEs.
   If `whitespace-style' includes the value `indentation::tab',
   replace 8 or more SPACEs at beginning of line by TABs.
   If `whitespace-style' includes the value `indentation::space',
   replace TABs by SPACEs.

2. SPACEs before TAB.
   If `whitespace-style' includes the value `space-before-tab':
   replace SPACEs by TABs, if `indent-tabs-mode' is non-nil;
   otherwise, replace TABs by SPACEs.
   If `whitespace-style' includes the value
   `space-before-tab::tab', replace SPACEs by TABs.
   If `whitespace-style' includes the value
   `space-before-tab::space', replace TABs by SPACEs.

3. SPACEs or TABs at end of line.
   If `whitespace-style' includes the value `trailing', remove
   all SPACEs or TABs at end of line.

4. 8 or more SPACEs after TAB.
   If `whitespace-style' includes the value `space-after-tab':
   replace SPACEs by TABs, if `indent-tabs-mode' is non-nil;
   otherwise, replace TABs by SPACEs.
   If `whitespace-style' includes the value
   `space-after-tab::tab', replace SPACEs by TABs.
   If `whitespace-style' includes the value
   `space-after-tab::space', replace TABs by SPACEs.

See `whitespace-style', `indent-tabs-mode' and `tab-width' for
documentation.

(fn START END)Fwhitespace-report
Report some whitespace problems in buffer.

Return nil if there is no whitespace problem; otherwise, return
non-nil.

If FORCE is non-nil or \[universal-argument] was pressed just
before calling `whitespace-report' interactively, it forces
`whitespace-style' to have:

   empty
   trailing
   indentation
   space-before-tab
   space-after-tab

If REPORT-IF-BOGUS is non-nil, it reports only when there are any
whitespace problems in buffer.

Report if some of the following whitespace problems exist:

* If `indent-tabs-mode' is non-nil:
   empty		1. empty lines at beginning of buffer.
   empty		2. empty lines at end of buffer.
   trailing		3. SPACEs or TABs at end of line.
   indentation		4. 8 or more SPACEs at beginning of line.
   space-before-tab	5. SPACEs before TAB.
   space-after-tab	6. 8 or more SPACEs after TAB.

* If `indent-tabs-mode' is nil:
   empty		1. empty lines at beginning of buffer.
   empty		2. empty lines at end of buffer.
   trailing		3. SPACEs or TABs at end of line.
   indentation		4. TABS at beginning of line.
   space-before-tab	5. SPACEs before TAB.
   space-after-tab	6. 8 or more SPACEs after TAB.

See `whitespace-style' for documentation.
See also `whitespace-cleanup' and `whitespace-cleanup-region' for
cleaning up these problems.

(fn &optional FORCE REPORT-IF-BOGUS)Fwhitespace-report-region
Report some whitespace problems in a region.

Return nil if there is no whitespace problem; otherwise, return
non-nil.

If FORCE is non-nil or \[universal-argument] was pressed just
before calling `whitespace-report-region' interactively, it
forces `whitespace-style' to have:

   empty
   indentation
   space-before-tab
   trailing
   space-after-tab

If REPORT-IF-BOGUS is non-nil, it reports only when there are any
whitespace problems in buffer.

Report if some of the following whitespace problems exist:

* If `indent-tabs-mode' is non-nil:
   empty		1. empty lines at beginning of buffer.
   empty		2. empty lines at end of buffer.
   trailing		3. SPACEs or TABs at end of line.
   indentation		4. 8 or more SPACEs at beginning of line.
   space-before-tab	5. SPACEs before TAB.
   space-after-tab	6. 8 or more SPACEs after TAB.

* If `indent-tabs-mode' is nil:
   empty		1. empty lines at beginning of buffer.
   empty		2. empty lines at end of buffer.
   trailing		3. SPACEs or TABs at end of line.
   indentation		4. TABS at beginning of line.
   space-before-tab	5. SPACEs before TAB.
   space-after-tab	6. 8 or more SPACEs after TAB.

See `whitespace-style' for documentation.
See also `whitespace-cleanup' and `whitespace-cleanup-region' for
cleaning up these problems.

(fn START END &optional FORCE REPORT-IF-BOGUS)Fwidget-browse-at
Browse the widget under point.

(fn POS)Fwidget-browse
Create a widget browser for WIDGET.

(fn WIDGET)Fwidget-browse-other-window
Show widget browser for WIDGET in other window.

(fn &optional WIDGET)Fwidget-minor-mode
Minor mode for traversing widgets.
With a prefix argument ARG, enable the mode if ARG is positive,
and disable it otherwise.  If called from Lisp, enable the mode
if ARG is omitted or nil.

(fn &optional ARG)Fwidgetp
Return non-nil if WIDGET is a widget.

(fn WIDGET)Fwidget-prompt-value
Prompt for a value matching WIDGET, using PROMPT.
The current value is assumed to be VALUE, unless UNBOUND is non-nil.

(fn WIDGET PROMPT &optional VALUE UNBOUND)Fwidget-create
Create widget of TYPE.
The optional ARGS are additional keyword arguments.

(fn TYPE &rest ARGS)Fwidget-delete
Delete WIDGET.

(fn WIDGET)Fwidget-insert
Call `insert' with ARGS even if surrounding text is read only.

(fn &rest ARGS)Vwidget-keymap
Keymap containing useful binding for buffers containing widgets.
Recommended as a parent keymap for modes using widgets.
Note that such modes will need to require wid-edit.Fwidget-setup
Setup current buffer so editing string widgets works.

(fn)Fwindmove-left
Select the window to the left of the current one.
With no prefix argument, or with prefix argument equal to zero,
"left" is relative to the position of point in the window; otherwise
it is relative to the top edge (for positive ARG) or the bottom edge
(for negative ARG) of the current window.
If no window is at the desired location, an error is signaled.

(fn &optional ARG)Fwindmove-up
Select the window above the current one.
With no prefix argument, or with prefix argument equal to zero, "up"
is relative to the position of point in the window; otherwise it is
relative to the left edge (for positive ARG) or the right edge (for
negative ARG) of the current window.
If no window is at the desired location, an error is signaled.

(fn &optional ARG)Fwindmove-right
Select the window to the right of the current one.
With no prefix argument, or with prefix argument equal to zero,
"right" is relative to the position of point in the window;
otherwise it is relative to the top edge (for positive ARG) or the
bottom edge (for negative ARG) of the current window.
If no window is at the desired location, an error is signaled.

(fn &optional ARG)Fwindmove-down
Select the window below the current one.
With no prefix argument, or with prefix argument equal to zero,
"down" is relative to the position of point in the window; otherwise
it is relative to the left edge (for positive ARG) or the right edge
(for negative ARG) of the current window.
If no window is at the desired location, an error is signaled.

(fn &optional ARG)Fwindmove-default-keybindings
Set up keybindings for `windmove'.
Keybindings are of the form MODIFIER-{left,right,up,down}.
Default MODIFIER is 'shift.

(fn &optional MODIFIER)Vwinner-mode
Non-nil if Winner mode is enabled.
See the command `winner-mode' for a description of this minor mode.
Setting this variable directly does not take effect;
either customize it (see the info node `Easy Customization')
or call the function `winner-mode'.Fwinner-mode
Toggle Winner mode on or off.
With a prefix argument ARG, enable Winner mode if ARG is
positive, and disable it otherwise.  If called from Lisp, enable
the mode if ARG is omitted or nil, and toggle it if ARG is `toggle'.
\{winner-mode-map}

(fn &optional ARG)Vwoman-locale
String specifying a manual page locale, or nil.
If a manual page is available in the specified locale
(e.g. "sv_SE.ISO8859-1"), it will be offered in preference to the
default version.  Normally, `set-locale-environment' sets this at startup.Fwoman
Browse UN*X man page for TOPIC (Without using external Man program).
The major browsing mode used is essentially the standard Man mode.
Choose the filename for the man page using completion, based on the
topic selected from the directories specified in `woman-manpath' and
`woman-path'.  The directory expansions and topics are cached for
speed, but a non-nil interactive argument forces the caches to be
updated (e.g. to re-interpret the current directory).

Used non-interactively, arguments are optional: if given then TOPIC
should be a topic string and non-nil RE-CACHE forces re-caching.

(fn &optional TOPIC RE-CACHE)Fwoman-dired-find-file
In dired, run the WoMan man-page browser on this file.

(fn)Fwoman-find-file
Find, decode and browse a specific UN*X man-page source file FILE-NAME.
Use existing buffer if possible; reformat only if prefix arg given.
When called interactively, optional argument REFORMAT forces reformatting
of an existing WoMan buffer formatted earlier.
No external programs are used, except that `gunzip' will be used to
decompress the file if appropriate.  See the documentation for the
`woman' command for further details.

(fn FILE-NAME &optional REFORMAT)Fwoman-bookmark-jump
Default bookmark handler for Woman buffers.

(fn BOOKMARK)Fwordstar-mode
Major mode with WordStar-like key bindings.

BUGS:
 - Help menus with WordStar commands (C-j just calls help-for-help)
   are not implemented
 - Options for search and replace
 - Show markers (C-k h) is somewhat strange
 - Search and replace (C-q a) is only available in forward direction

No key bindings beginning with ESC are installed, they will work
Emacs-like.

The key bindings are:

  C-a		backward-word
  C-b		fill-paragraph
  C-c		scroll-up-line
  C-d		forward-char
  C-e		previous-line
  C-f		forward-word
  C-g		delete-char
  C-h		backward-char
  C-i		indent-for-tab-command
  C-j		help-for-help
  C-k		ordstar-C-k-map
  C-l		ws-repeat-search
  C-n		open-line
  C-p		quoted-insert
  C-r		scroll-down-line
  C-s		backward-char
  C-t		kill-word
  C-u		keyboard-quit
  C-v		overwrite-mode
  C-w		scroll-down
  C-x		next-line
  C-y		kill-complete-line
  C-z		scroll-up

  C-k 0		ws-set-marker-0
  C-k 1		ws-set-marker-1
  C-k 2		ws-set-marker-2
  C-k 3		ws-set-marker-3
  C-k 4		ws-set-marker-4
  C-k 5		ws-set-marker-5
  C-k 6		ws-set-marker-6
  C-k 7		ws-set-marker-7
  C-k 8		ws-set-marker-8
  C-k 9		ws-set-marker-9
  C-k b		ws-begin-block
  C-k c		ws-copy-block
  C-k d		save-buffers-kill-emacs
  C-k f		find-file
  C-k h		ws-show-markers
  C-k i		ws-indent-block
  C-k k		ws-end-block
  C-k p		ws-print-block
  C-k q		kill-emacs
  C-k r		insert-file
  C-k s		save-some-buffers
  C-k t		ws-mark-word
  C-k u		ws-exdent-block
  C-k C-u	keyboard-quit
  C-k v		ws-move-block
  C-k w		ws-write-block
  C-k x		kill-emacs
  C-k y		ws-delete-block

  C-o c		wordstar-center-line
  C-o b		switch-to-buffer
  C-o j		justify-current-line
  C-o k		kill-buffer
  C-o l		list-buffers
  C-o m		auto-fill-mode
  C-o r		set-fill-column
  C-o C-u	keyboard-quit
  C-o wd	delete-other-windows
  C-o wh	split-window-right
  C-o wo	other-window
  C-o wv	split-window-below

  C-q 0		ws-find-marker-0
  C-q 1		ws-find-marker-1
  C-q 2		ws-find-marker-2
  C-q 3		ws-find-marker-3
  C-q 4		ws-find-marker-4
  C-q 5		ws-find-marker-5
  C-q 6		ws-find-marker-6
  C-q 7		ws-find-marker-7
  C-q 8		ws-find-marker-8
  C-q 9		ws-find-marker-9
  C-q a		ws-query-replace
  C-q b		ws-to-block-begin
  C-q c		end-of-buffer
  C-q d		end-of-line
  C-q f		ws-search
  C-q k		ws-to-block-end
  C-q l		ws-undo
  C-q p		ws-last-cursorp
  C-q r		beginning-of-buffer
  C-q C-u	keyboard-quit
  C-q w		ws-last-error
  C-q y		ws-kill-eol
  C-q DEL	ws-kill-bol

(fn)Fxesam-search
Perform an interactive search.
ENGINE is the Xesam search engine to be applied, it must be one of the
entries of `xesam-search-engines'.  QUERY is the search string in the
Xesam user query language.  If the search engine does not support
the Xesam user query language, a Xesam fulltext search is applied.

The default search engine is the first entry in `xesam-search-engines'.
Example:

  (xesam-search (car (xesam-search-engines)) "emacs")

(fn ENGINE QUERY)Fxml-parse-file
Parse the well-formed XML file FILE.
Return the top node with all its children.
If PARSE-DTD is non-nil, the DTD is parsed rather than skipped.

If PARSE-NS is non-nil, then QNAMES are expanded.  By default,
the variable `xml-default-ns' is the mapping from namespaces to
URIs, and expanded names will be returned as a cons

  ("namespace:" . "foo").

If PARSE-NS is an alist, it will be used as the mapping from
namespace to URIs instead.

If it is the symbol 'symbol-qnames, expanded names will be
returned as a plain symbol 'namespace:foo instead of a cons.

Both features can be combined by providing a cons cell

  (symbol-qnames . ALIST).

(fn FILE &optional PARSE-DTD PARSE-NS)Fxml-parse-region
Parse the region from BEG to END in BUFFER.
Return the XML parse tree, or raise an error if the region does
not contain well-formed XML.

If BEG is nil, it defaults to `point-min'.
If END is nil, it defaults to `point-max'.
If BUFFER is nil, it defaults to the current buffer.
If PARSE-DTD is non-nil, parse the DTD and return it as the first
element of the list.
If PARSE-NS is non-nil, then QNAMES are expanded.  By default,
the variable `xml-default-ns' is the mapping from namespaces to
URIs, and expanded names will be returned as a cons

  ("namespace:" . "foo").

If PARSE-NS is an alist, it will be used as the mapping from
namespace to URIs instead.

If it is the symbol 'symbol-qnames, expanded names will be
returned as a plain symbol 'namespace:foo instead of a cons.

Both features can be combined by providing a cons cell

  (symbol-qnames . ALIST).

(fn &optional BEG END BUFFER PARSE-DTD PARSE-NS)Fxmltok-get-declared-encoding-position
Return the position of the encoding in the XML declaration at point.
If there is a well-formed XML declaration starting at point and it
contains an encoding declaration, then return (START . END)
where START and END are the positions of the start and the end
of the encoding name; if there is no encoding declaration return
the position where and encoding declaration could be inserted.
If there is XML that is not well-formed that looks like an XML
declaration, return nil.  Otherwise, return t.
If LIMIT is non-nil, then do not consider characters beyond LIMIT.

(fn &optional LIMIT)Vxterm-mouse-mode
Non-nil if Xterm-Mouse mode is enabled.
See the command `xterm-mouse-mode' for a description of this minor mode.
Setting this variable directly does not take effect;
either customize it (see the info node `Easy Customization')
or call the function `xterm-mouse-mode'.Fxterm-mouse-mode
Toggle XTerm mouse mode.
With a prefix argument ARG, enable XTerm mouse mode if ARG is
positive, and disable it otherwise.  If called from Lisp, enable
the mode if ARG is omitted or nil.

Turn it on to use Emacs mouse commands, and off to use xterm mouse commands.
This works in terminal emulators compatible with xterm.  It only
works for simple uses of the mouse.  Basically, only non-modified
single clicks are supported.  When turned on, the normal xterm
mouse functionality for such clicks is still available by holding
down the SHIFT key while pressing the mouse button.

(fn &optional ARG)Fyenc-decode-region
Yenc decode region between START and END using an internal decoder.

(fn START END)Fyenc-extract-filename
Extract file name from an yenc header.

(fn)Fyow
Return or display a random Zippy quotation.  With prefix arg, insert it.

(fn &optional INSERT DISPLAY)Finsert-zippyism
Prompt with completion for a known Zippy quotation, and insert it at point.

(fn &optional ZIPPYISM)Fapropos-zippy
Return a list of all Zippy quotes matching REGEXP.
If called interactively, display a list of matches.

(fn REGEXP)Fpsychoanalyze-pinhead
Zippy goes to the analyst.

(fn)Fzone
Zone out, completely.

(fn)Sloadup.el
Sbyte-run.elc
Vmacro-declaration-function
Function to process declarations in a macro definition.
The function will be called with two args MACRO and DECL.
MACRO is the name of the macro being defined.
DECL is a list `(declare ...)' containing the declarations.
The value the function returns is not used.Fmacro-declaration-function
Process a declaration found in a macro definition.
This is set as the value of the variable `macro-declaration-function'.
MACRO is the name of the macro being defined.
DECL is a list `(declare ...)' containing the declarations.
The return value of this function is not used.

(fn MACRO DECL)Vdefun-declarations-alist
List associating function properties to their macro expansion.
Each element of the list takes the form (PROP FUN) where FUN is
a function.  For each (PROP . VALUES) in a function's declaration,
the FUN corresponding to PROP is called with the function name,
the function's arglist, and the VALUES and should return the code to use
to set this property.Vmacro-declarations-alist
List associating properties of macros to their macro expansion.
Each element of the list takes the form (PROP FUN) where FUN is
a function.  For each (PROP . VALUES) in a macro's declaration,
the FUN corresponding to PROP is called with the function name
and the VALUES and should return the code to use to set this property.Fdefmacro
Define NAME as a macro.
When the macro is called, as in (NAME ARGS...),
the function (lambda ARGLIST BODY...) is applied to
the list ARGS... as it appears in the expression,
and the result should be a form to be evaluated instead of the original.
DECL is a declaration, optional, of the form (declare DECLS...) where
DECLS is a list of elements of the form (PROP . VALUES).  These are
interpreted according to `macro-declarations-alist'.
The return value is undefined.

(fn NAME ARGLIST &optional DOCSTRING DECL &rest BODY)Fdefun
Define NAME as a function.
The definition is (lambda ARGLIST [DOCSTRING] BODY...).
See also the function `interactive'.
DECL is a declaration, optional, of the form (declare DECLS...) where
DECLS is a list of elements of the form (PROP . VALUES).  These are
interpreted according to `defun-declarations-alist'.
The return value is undefined.

(fn NAME ARGLIST &optional DOCSTRING DECL &rest BODY)Fdefsubst
Define an inline function.  The syntax is just like that of `defun'.
(fn NAME ARGLIST &optional DOCSTRING DECL &rest BODY)

(fn NAME ARGLIST &rest BODY)Fset-advertised-calling-convention
Set the advertised SIGNATURE of FUNCTION.
This will allow the byte-compiler to warn the programmer when she uses
an obsolete calling convention.  WHEN specifies since when the calling
convention was modified.

(fn FUNCTION SIGNATURE WHEN)Fmake-obsolete
Make the byte-compiler warn that function OBSOLETE-NAME is obsolete.
OBSOLETE-NAME should be a function name or macro name (a symbol).

The warning will say that CURRENT-NAME should be used instead.
If CURRENT-NAME is a string, that is the `use instead' message
(it should end with a period, and not start with a capital).
WHEN should be a string indicating when the function
was first made obsolete, for example a date or a release number.

(fn OBSOLETE-NAME CURRENT-NAME &optional WHEN)Fdefine-obsolete-function-alias
Set OBSOLETE-NAME's function definition to CURRENT-NAME and mark it obsolete.

(define-obsolete-function-alias 'old-fun 'new-fun "22.1" "old-fun's doc.")

is equivalent to the following two lines of code:

(defalias 'old-fun 'new-fun "old-fun's doc.")
(make-obsolete 'old-fun 'new-fun "22.1")

See the docstrings of `defalias' and `make-obsolete' for more details.

(fn OBSOLETE-NAME CURRENT-NAME &optional WHEN DOCSTRING)Fmake-obsolete-variable
Make the byte-compiler warn that OBSOLETE-NAME is obsolete.
The warning will say that CURRENT-NAME should be used instead.
If CURRENT-NAME is a string, that is the `use instead' message.
WHEN should be a string indicating when the variable
was first made obsolete, for example a date or a release number.
ACCESS-TYPE if non-nil should specify the kind of access that will trigger
  obsolescence warnings; it can be either `get' or `set'.

(fn OBSOLETE-NAME CURRENT-NAME &optional WHEN ACCESS-TYPE)Fdefine-obsolete-variable-alias
Make OBSOLETE-NAME a variable alias for CURRENT-NAME and mark it obsolete.
This uses `defvaralias' and `make-obsolete-variable' (which see).
See the Info node `(elisp)Variable Aliases' for more details.

If CURRENT-NAME is a defcustom (more generally, any variable
where OBSOLETE-NAME may be set, e.g. in an init file, before the
alias is defined), then the define-obsolete-variable-alias
statement should be evaluated before the defcustom, if user
customizations are to be respected.  The simplest way to achieve
this is to place the alias statement before the defcustom (this
is not necessary for aliases that are autoloaded, or in files
dumped with Emacs).  This is so that any user customizations are
applied before the defcustom tries to initialize the
variable (this is due to the way `defvaralias' works).

For the benefit of `custom-set-variables', if OBSOLETE-NAME has
any of the following properties, they are copied to
CURRENT-NAME, if it does not already have them:
'saved-value, 'saved-variable-comment.

(fn OBSOLETE-NAME CURRENT-NAME &optional WHEN DOCSTRING)Fdefine-obsolete-face-alias
Make OBSOLETE-FACE a face alias for CURRENT-FACE and mark it obsolete.
The string WHEN gives the Emacs version where OBSOLETE-FACE became
obsolete.

(fn OBSOLETE-FACE CURRENT-FACE WHEN)Fdont-compile
Like `progn', but the body always runs interpreted (not compiled).
If you think you need this, you're probably making a mistake somewhere.

(fn &rest BODY)Feval-when-compile
Like `progn', but evaluates the body at compile time if you're compiling.
Thus, the result of the body appears to the compiler as a quoted constant.
In interpreted code, this is entirely equivalent to `progn'.

(fn &rest BODY)Feval-and-compile
Like `progn', but evaluates the body at compile time and at load time.

(fn &rest BODY)Fwith-no-warnings
Like `progn', but prevents compiler warnings in the body.

(fn &rest BODY)Sbackquote.elc
Fbackquote-list*-function
Like `list' but the last argument is the tail of the new list.

For example (backquote-list* 'a 'b 'c) => (a b . c)Fbackquote-list*-macro
Like `list' but the last argument is the tail of the new list.

For example (backquote-list* 'a 'b 'c) => (a b . c)Vbackquote-backquote-symbol
Symbol used to represent a backquote or nested backquote.Vbackquote-unquote-symbol
Symbol used to represent an unquote inside a backquote.Vbackquote-splice-symbol
Symbol used to represent a splice inside a backquote.Fbackquote
Argument STRUCTURE describes a template to build.

The whole structure acts as if it were quoted except for certain
places where expressions are evaluated and inserted or spliced in.

For example:

b              => (ba bb bc)		; assume b has this value
`(a b c)       => (a b c)		; backquote acts like quote
`(a ,b c)      => (a (ba bb bc) c)	; insert the value of b
`(a ,@b c)     => (a ba bb bc c)	; splice in the value of b

Vectors work just like lists.  Nested backquotes are permitted.Fbackquote-delay-process
Process a (un|back|splice)quote inside a backquote.
This simply recurses through the body.Fbackquote-process
Process the body of a backquote.
S is the body.  Returns a cons cell whose cdr is piece of code which
is the macro-expansion of S, and whose car is a small integer whose value
can either indicate that the code is constant (0), or not (1), or returns
a list which should be spliced into its environment (2).
LEVEL is only used internally and indicates the nesting level:
0 (the default) is for the toplevel nested inside a single backquote.Ssubr.elc
Vcustom-declare-variable-list
Record `defcustom' calls made before `custom.el' is loaded to handle them.
Each element of this list holds the arguments to one call to `defcustom'.Fdeclare-function
Tell the byte-compiler that function FN is defined, in FILE.
Optional ARGLIST is the argument list used by the function.  The
FILE argument is not used by the byte-compiler, but by the
`check-declare' package, which checks that FILE contains a
definition for FN.  ARGLIST is used by both the byte-compiler and
`check-declare' to check for consistency.

FILE can be either a Lisp file (in which case the ".el"
extension is optional), or a C file.  C files are expanded
relative to the Emacs "src/" directory.  Lisp files are
searched for using `locate-library', and if that fails they are
expanded relative to the location of the file containing the
declaration.  A FILE with an "ext:" prefix is an external file.
`check-declare' will check such files if they are found, and skip
them without error if they are not.

FILEONLY non-nil means that `check-declare' will only check that
FILE exists, not that it defines FN.  This is intended for
function-definitions that `check-declare' does not recognize, e.g.
`defstruct'.

To specify a value for FILEONLY without passing an argument list,
set ARGLIST to t.  This is necessary because nil means an
empty argument list, rather than an unspecified one.

Note that for the purposes of `check-declare', this statement
must be the first non-whitespace on a line.

For more information, see Info node `(elisp)Declaring Functions'.Fnoreturn
Evaluate FORM, expecting it not to return.
If FORM does return, signal an error.F1value
Evaluate FORM, expecting a constant return value.
This is the global do-nothing version.  There is also `testcover-1value'
that complains if FORM ever does return differing values.Fdef-edebug-spec
Set the `edebug-form-spec' property of SYMBOL according to SPEC.
Both SYMBOL and SPEC are unevaluated.  The SPEC can be:
0 (instrument no arguments); t (instrument all arguments);
a symbol (naming a function with an Edebug specification); or a list.
The elements of the list describe the argument types; see
Info node `(elisp)Specification List' for details.Flambda
Return a lambda expression.
A call of the form (lambda ARGS DOCSTRING INTERACTIVE BODY) is
self-quoting; the result of evaluating the lambda expression is the
expression itself.  The lambda expression may then be treated as a
function, i.e., stored as the function value of a symbol, passed to
`funcall' or `mapcar', etc.

ARGS should take the same form as an argument list for a `defun'.
DOCSTRING is an optional documentation string.
 If present, it should describe how to call the function.
 But documentation strings are usually not useful in nameless functions.
INTERACTIVE should be a call to the function `interactive', which see.
It may also be omitted.
BODY should be a list of Lisp expressions.

(fn ARGS [DOCSTRING] [INTERACTIVE] BODY)Fsetq-local
Set variable VAR to value VAL in current buffer.Fdefvar-local
Define VAR as a buffer-local variable with default value VAL.
Like `defvar' but additionally marks the variable as being automatically
buffer-local wherever it is set.Fapply-partially
Return a function that is a partial application of FUN to ARGS.
ARGS is a list of the first N arguments to pass to FUN.
The result is a new function which does the same as FUN, except that
the first N arguments are fixed at the values with which this function
was called.Fpush
Add NEWELT to the list stored in the generalized variable PLACE.
This is morally equivalent to (setf PLACE (cons NEWELT PLACE)),
except that PLACE is only evaluated once (after NEWELT).Fpop
Return the first element of PLACE's value, and remove it from the list.
PLACE must be a generalized variable whose value is a list.
If the value is nil, `pop' returns nil but does not actually
change the list.Fwhen
If COND yields non-nil, do BODY, else return nil.
When COND yields non-nil, eval BODY forms sequentially and return
value of last one, or nil if there are none.

(fn COND BODY...)Funless
If COND yields nil, do BODY, else return nil.
When COND yields nil, eval BODY forms sequentially and return
value of last one, or nil if there are none.

(fn COND BODY...)Fignore-errors
Execute BODY; if an error occurs, return nil.
Otherwise, return result of last form in BODY.
See also `with-demoted-errors' that does something similar
without silencing all errors.Fignore
Do nothing and return nil.
This function accepts any number of arguments, but ignores them.Ferror
Signal an error, making error message by passing all args to `format'.
In Emacs, the convention is that error messages start with a capital
letter but *do not* end with a period.  Please follow this convention
for the sake of consistency.Fuser-error
Signal a pilot error, making error message by passing all args to `format'.
In Emacs, the convention is that error messages start with a capital
letter but *do not* end with a period.  Please follow this convention
for the sake of consistency.
This is just like `error' except that `user-error's are expected to be the
result of an incorrect manipulation on the part of the user, rather than the
result of an actual problem.Fframe-configuration-p
Return non-nil if OBJECT seems to be a frame configuration.
Any list whose car is `frame-configuration' is assumed to be a frame
configuration.Fcaar
Return the car of the car of X.Fcadr
Return the car of the cdr of X.Fcdar
Return the cdr of the car of X.Fcddr
Return the cdr of the cdr of X.Flast
Return the last link of LIST.  Its car is the last element.
If LIST is nil, return nil.
If N is non-nil, return the Nth-to-last link of LIST.
If N is bigger than the length of LIST, return LIST.Fbutlast
Return a copy of LIST with the last N elements removed.Fnbutlast
Modifies LIST to remove the last N elements.Fdelete-dups
Destructively remove `equal' duplicates from LIST.
Store the result in LIST and return it.  LIST must be a proper list.
Of several `equal' occurrences of an element in LIST, the first
one is kept.Fnumber-sequence
Return a sequence of numbers from FROM to TO (both inclusive) as a list.
INC is the increment used between numbers in the sequence and defaults to 1.
So, the Nth element of the list is (+ FROM (* N INC)) where N counts from
zero.  TO is only included if there is an N for which TO = FROM + N * INC.
If TO is nil or numerically equal to FROM, return (FROM).
If INC is positive and TO is less than FROM, or INC is negative
and TO is larger than FROM, return nil.
If INC is zero and TO is neither nil nor numerically equal to
FROM, signal an error.

This function is primarily designed for integer arguments.
Nevertheless, FROM, TO and INC can be integer or float.  However,
floating point arithmetic is inexact.  For instance, depending on
the machine, it may quite well happen that
(number-sequence 0.4 0.6 0.2) returns the one element list (0.4),
whereas (number-sequence 0.4 0.8 0.2) returns a list with three
elements.  Thus, if some of the arguments are floats and one wants
to make sure that TO is included, one may have to explicitly write
TO as (+ FROM (* N INC)) or use a variable whose value was
computed with this exact expression.  Alternatively, you can,
of course, also replace TO with a slightly larger value
(or a slightly more negative value if INC is negative).Fcopy-tree
Make a copy of TREE.
If TREE is a cons cell, this recursively copies both its car and its cdr.
Contrast to `copy-sequence', which copies only along the cdrs.  With second
argument VECP, this copies vectors as well as conses.Fassoc-default
Find object KEY in a pseudo-alist ALIST.
ALIST is a list of conses or objects.  Each element
 (or the element's car, if it is a cons) is compared with KEY by
 calling TEST, with two arguments: (i) the element or its car,
 and (ii) KEY.
If that is non-nil, the element matches; then `assoc-default'
 returns the element's cdr, if it is a cons, or DEFAULT if the
 element is not a cons.

If no element matches, the value is nil.
If TEST is omitted or nil, `equal' is used.Fassoc-ignore-case
Like `assoc', but ignores differences in case and text representation.
KEY must be a string.  Upper-case and lower-case letters are treated as equal.
Unibyte strings are converted to multibyte for comparison.Fassoc-ignore-representation
Like `assoc', but ignores differences in text representation.
KEY must be a string.
Unibyte strings are converted to multibyte for comparison.Fmember-ignore-case
Like `member', but ignore differences in case and text representation.
ELT must be a string.  Upper-case and lower-case letters are treated as equal.
Unibyte strings are converted to multibyte for comparison.
Non-strings in LIST are ignored.Fassq-delete-all
Delete from ALIST all elements whose car is `eq' to KEY.
Return the modified alist.
Elements of ALIST that are not conses are ignored.Frassq-delete-all
Delete from ALIST all elements whose cdr is `eq' to VALUE.
Return the modified alist.
Elements of ALIST that are not conses are ignored.Fremove
Return a copy of SEQ with all occurrences of ELT removed.
SEQ must be a list, vector, or string.  The comparison is done with `equal'.Fremq
Return LIST with all occurrences of ELT removed.
The comparison is done with `eq'.  Contrary to `delq', this does not use
side-effects, and the argument LIST is not modified.Fkbd
Convert KEYS to the internal Emacs key representation.
KEYS should be a string constant in the format used for
saving keyboard macros (see `edmacro-mode').Fundefined
Beep to tell the user this binding is undefined.Fsuppress-keymap
Make MAP override all normally self-inserting keys to be undefined.
Normally, as an exception, digits and minus-sign are set to make prefix args,
but optional second arg NODIGITS non-nil treats them like other chars.Fmake-composed-keymap
Construct a new keymap composed of MAPS and inheriting from PARENT.
When looking up a key in the returned map, the key is looked in each
keymap of MAPS in turn until a binding is found.
If no binding is found in MAPS, the lookup continues in PARENT, if non-nil.
As always with keymap inheritance, a nil binding in MAPS overrides
any corresponding binding in PARENT, but it does not override corresponding
bindings in other keymaps of MAPS.
MAPS can be a list of keymaps or a single keymap.
PARENT if non-nil should be a keymap.Fdefine-key-after
Add binding in KEYMAP for KEY => DEFINITION, right after AFTER's binding.
This is like `define-key' except that the binding for KEY is placed
just after the binding for the event AFTER, instead of at the beginning
of the map.  Note that AFTER must be an event type (like KEY), NOT a command
(like DEFINITION).

If AFTER is t or omitted, the new binding goes at the end of the keymap.
AFTER should be a single event type--a symbol or a character, not a sequence.

Bindings are always added before any inherited map.

The order of bindings in a keymap only matters when it is used as
a menu, so this function is not useful for non-menu keymaps.Fmap-keymap-sorted
Implement `map-keymap' with sorting.
Don't call this function; it is for internal use only.Fkeymap--menu-item-binding
Return the binding part of a menu-item.Fkeymap--menu-item-with-binding
Build a menu-item like ITEM but with its binding changed to BINDING.Fkeymap--merge-bindings
Merge bindings VAL1 and VAL2.Fkeymap-canonicalize
Return a simpler equivalent keymap.
This resolves inheritance and redefinitions.  The returned keymap
should behave identically to a copy of KEYMAP w.r.t `lookup-key'
and use in active keymaps and menus.
Subkeymaps may be modified but are not canonicalized.Fkeyboard-translate
Translate character FROM to TO on the current terminal.
This function creates a `keyboard-translate-table' if necessary
and then modifies one entry in it.Fglobal-set-key
Give KEY a global binding as COMMAND.
COMMAND is the command definition to use; usually it is
a symbol naming an interactively-callable function.
KEY is a key sequence; noninteractively, it is a string or vector
of characters or event types, and non-ASCII characters with codes
above 127 (such as ISO Latin-1) can be included if you use a vector.

Note that if KEY has a local binding in the current buffer,
that local binding will continue to shadow any global binding
that you make with this function.Flocal-set-key
Give KEY a local binding as COMMAND.
COMMAND is the command definition to use; usually it is
a symbol naming an interactively-callable function.
KEY is a key sequence; noninteractively, it is a string or vector
of characters or event types, and non-ASCII characters with codes
above 127 (such as ISO Latin-1) can be included if you use a vector.

The binding goes in the current buffer's local map,
which in most cases is shared with all other buffers in the same major mode.Fglobal-unset-key
Remove global binding of KEY.
KEY is a string or vector representing a sequence of keystrokes.Flocal-unset-key
Remove local binding of KEY.
KEY is a string or vector representing a sequence of keystrokes.Vkey-substitution-in-progress
Used internally by `substitute-key-definition'.Fsubstitute-key-definition
Replace OLDDEF with NEWDEF for any keys in KEYMAP now defined as OLDDEF.
In other words, OLDDEF is replaced with NEWDEF where ever it appears.
Alternatively, if optional fourth argument OLDMAP is specified, we redefine
in KEYMAP as NEWDEF those keys which are defined as OLDDEF in OLDMAP.

If you don't specify OLDMAP, you can usually get the same results
in a cleaner way with command remapping, like this:
  (define-key KEYMAP [remap OLDDEF] NEWDEF)

(fn OLDDEF NEWDEF KEYMAP &optional OLDMAP)Vglobal-map
Default global keymap mapping Emacs keyboard input into commands.
The value is a keymap which is usually (but not necessarily) Emacs's
global map.Vesc-map
Default keymap for ESC (meta) commands.
The normal global definition of the character ESC indirects to this keymap.Vctl-x-map
Default keymap for C-x commands.
The normal global definition of the character C-x indirects to this keymap.Vctl-x-4-map
Keymap for subcommands of C-x 4.Vctl-x-5-map
Keymap for frame commands.Flistify-key-sequence
Convert a key sequence to a list of events.Feventp
True if the argument is an event object.Fevent-modifiers
Return a list of symbols representing the modifier keys in event EVENT.
The elements of the list may include `meta', `control',
`shift', `hyper', `super', `alt', `click', `double', `triple', `drag',
and `down'.
EVENT may be an event or an event type.  If EVENT is a symbol
that has never been used in an event that has been read as input
in the current Emacs session, then this function may fail to include
the `click' modifier.Fevent-basic-type
Return the basic type of the given event (all modifiers removed).
The value is a printing character (not upper case) or a symbol.
EVENT may be an event or an event type.  If EVENT is a symbol
that has never been used in an event that has been read as input
in the current Emacs session, then this function may return nil.Fmouse-movement-p
Return non-nil if OBJECT is a mouse movement event.Fmouse-event-p
Return non-nil if OBJECT is a mouse click event.Fevent-start
Return the starting position of EVENT.
EVENT should be a click, drag, or key press event.
If it is a key press event, the return value has the form
    (WINDOW POS (0 . 0) 0)
If it is a click or drag event, it has the form
   (WINDOW AREA-OR-POS (X . Y) TIMESTAMP OBJECT POS (COL . ROW)
    IMAGE (DX . DY) (WIDTH . HEIGHT))
The `posn-' functions access elements of such lists.
For more information, see Info node `(elisp)Click Events'.

If EVENT is a mouse or key press or a mouse click, this is the
position of the event.  If EVENT is a drag, this is the starting
position of the drag.Fevent-end
Return the ending location of EVENT.
EVENT should be a click, drag, or key press event.
If EVENT is a key press event, the return value has the form
    (WINDOW POS (0 . 0) 0)
If EVENT is a click event, this function is the same as
`event-start'.  For click and drag events, the return value has
the form
   (WINDOW AREA-OR-POS (X . Y) TIMESTAMP OBJECT POS (COL . ROW)
    IMAGE (DX . DY) (WIDTH . HEIGHT))
The `posn-' functions access elements of such lists.
For more information, see Info node `(elisp)Click Events'.

If EVENT is a mouse or key press or a mouse click, this is the
position of the event.  If EVENT is a drag, this is the starting
position of the drag.Fevent-click-count
Return the multi-click count of EVENT, a click or drag event.
The return value is a positive integer.Fposnp
Return non-nil if OBJ appears to be a valid `posn' object.Fposn-window
Return the window in POSITION.
POSITION should be a list of the form returned by the `event-start'
and `event-end' functions.Fposn-area
Return the window area recorded in POSITION, or nil for the text area.
POSITION should be a list of the form returned by the `event-start'
and `event-end' functions.Fposn-point
Return the buffer location in POSITION.
POSITION should be a list of the form returned by the `event-start'
and `event-end' functions.Fposn-set-point
Move point to POSITION.
Select the corresponding window as well.Fposn-x-y
Return the x and y coordinates in POSITION.
The return value has the form (X . Y), where X and Y are given in
pixels.  POSITION should be a list of the form returned by
`event-start' and `event-end'.Fposn-col-row
Return the nominal column and row in POSITION, measured in characters.
The column and row values are approximations calculated from the x
and y coordinates in POSITION and the frame's default character width
and height.
For a scroll-bar event, the result column is 0, and the row
corresponds to the vertical position of the click in the scroll bar.
POSITION should be a list of the form returned by the `event-start'
and `event-end' functions.Fposn-actual-col-row
Return the actual column and row in POSITION, measured in characters.
These are the actual row number in the window and character number in that row.
Return nil if POSITION does not contain the actual position; in that case
`posn-col-row' can be used to get approximate values.
POSITION should be a list of the form returned by the `event-start'
and `event-end' functions.Fposn-timestamp
Return the timestamp of POSITION.
POSITION should be a list of the form returned by the `event-start'
and `event-end' functions.Fposn-string
Return the string object of POSITION.
Value is a cons (STRING . STRING-POS), or nil if not a string.
POSITION should be a list of the form returned by the `event-start'
and `event-end' functions.Fposn-image
Return the image object of POSITION.
Value is a list (image ...), or nil if not an image.
POSITION should be a list of the form returned by the `event-start'
and `event-end' functions.Fposn-object
Return the object (image or string) of POSITION.
Value is a list (image ...) for an image object, a cons cell
(STRING . STRING-POS) for a string object, and nil for a buffer position.
POSITION should be a list of the form returned by the `event-start'
and `event-end' functions.Fposn-object-x-y
Return the x and y coordinates relative to the object of POSITION.
The return value has the form (DX . DY), where DX and DY are
given in pixels.  POSITION should be a list of the form returned
by `event-start' and `event-end'.Fposn-object-width-height
Return the pixel width and height of the object of POSITION.
The return value has the form (WIDTH . HEIGHT).  POSITION should
be a list of the form returned by `event-start' and `event-end'.Finsert-string
Mocklisp-compatibility insert function.
Like the function `insert' except that any argument that is a number
is converted into a string by expressing it in decimal.Fadd-hook
Add to the value of HOOK the function FUNCTION.
FUNCTION is not added if already present.
FUNCTION is added (if necessary) at the beginning of the hook list
unless the optional argument APPEND is non-nil, in which case
FUNCTION is added at the end.

The optional fourth argument, LOCAL, if non-nil, says to modify
the hook's buffer-local value rather than its global value.
This makes the hook buffer-local, and it makes t a member of the
buffer-local value.  That acts as a flag to run the hook
functions of the global value as well as in the local value.

HOOK should be a symbol, and FUNCTION may be any valid function.  If
HOOK is void, it is first set to nil.  If HOOK's value is a single
function, it is changed to a list of functions.Fremove-hook
Remove from the value of HOOK the function FUNCTION.
HOOK should be a symbol, and FUNCTION may be any valid function.  If
FUNCTION isn't the value of HOOK, or, if FUNCTION doesn't appear in the
list of hooks to run in HOOK, then nothing is done.  See `add-hook'.

The optional third argument, LOCAL, if non-nil, says to modify
the hook's buffer-local value rather than its default value.Fletrec
Bind variables according to BINDERS then eval BODY.
The value of the last form in BODY is returned.
Each element of BINDERS is a list (SYMBOL VALUEFORM) which binds
SYMBOL to the value of VALUEFORM.
All symbols are bound before the VALUEFORMs are evalled.Fwith-wrapper-hook
Run BODY, using wrapper functions from HOOK with additional ARGS.
HOOK is an abnormal hook.  Each hook function in HOOK "wraps"
around the preceding ones, like a set of nested `around' advices.

Each hook function should accept an argument list consisting of a
function FUN, followed by the additional arguments in ARGS.

The first hook function in HOOK is passed a FUN that, if it is called
with arguments ARGS, performs BODY (i.e., the default operation).
The FUN passed to each successive hook function is defined based
on the preceding hook functions; if called with arguments ARGS,
it does what the `with-wrapper-hook' call would do if the
preceding hook functions were the only ones present in HOOK.

Each hook function may call its FUN argument as many times as it wishes,
including never.  In that case, such a hook function acts to replace
the default definition altogether, and any preceding hook functions.
Of course, a subsequent hook function may do the same thing.

Each hook function definition is used to construct the FUN passed
to the next hook function, if any.  The last (or "outermost")
FUN is then called once.Fadd-to-list
Add ELEMENT to the value of LIST-VAR if it isn't there yet.
The test for presence of ELEMENT is done with `equal',
or with COMPARE-FN if that's non-nil.
If ELEMENT is added, it is added at the beginning of the list,
unless the optional argument APPEND is non-nil, in which case
ELEMENT is added at the end.

The return value is the new value of LIST-VAR.

If you want to use `add-to-list' on a variable that is not defined
until a certain package is loaded, you should put the call to `add-to-list'
into a hook function that will be run only after loading the package.
`eval-after-load' provides one way to do this.  In some cases
other hooks, such as major mode hooks, can do the job.Fadd-to-ordered-list
Add ELEMENT to the value of LIST-VAR if it isn't there yet.
The test for presence of ELEMENT is done with `eq'.

The resulting list is reordered so that the elements are in the
order given by each element's numeric list order.  Elements
without a numeric list order are placed at the end of the list.

If the third optional argument ORDER is a number (integer or
float), set the element's list order to the given value.  If
ORDER is nil or omitted, do not change the numeric order of
ELEMENT.  If ORDER has any other value, remove the numeric order
of ELEMENT if it has one.

The list order for each element is stored in LIST-VAR's
`list-order' property.

The return value is the new value of LIST-VAR.Fadd-to-history
Add NEWELT to the history list stored in the variable HISTORY-VAR.
Return the new history list.
If MAXELT is non-nil, it specifies the maximum length of the history.
Otherwise, the maximum history length is the value of the `history-length'
property on symbol HISTORY-VAR, if set, or the value of the `history-length'
variable.
Remove duplicates of NEWELT if `history-delete-duplicates' is non-nil.
If optional fourth arg KEEP-ALL is non-nil, add NEWELT to history even
if it is empty or a duplicate.Vdelay-mode-hooks
If non-nil, `run-mode-hooks' should delay running the hooks.Vdelayed-mode-hooks
List of delayed mode hooks waiting to be run.Vchange-major-mode-after-body-hook
Normal hook run in major mode functions, before the mode hooks.Vafter-change-major-mode-hook
Normal hook run at the very end of major mode functions.Frun-mode-hooks
Run mode hooks `delayed-mode-hooks' and HOOKS, or delay HOOKS.
If the variable `delay-mode-hooks' is non-nil, does not run any hooks,
just adds the HOOKS to the list `delayed-mode-hooks'.
Otherwise, runs hooks in the sequence: `change-major-mode-after-body-hook',
`delayed-mode-hooks' (in reverse order), HOOKS, and finally
`after-change-major-mode-hook'.  Major mode functions should use
this instead of `run-hooks' when running their FOO-mode-hook.Fdelay-mode-hooks
Execute BODY, but delay any `run-mode-hooks'.
These hooks will be executed by the first following call to
`run-mode-hooks' that occurs outside any `delayed-mode-hooks' form.
Only affects hooks run in the current buffer.Fderived-mode-p
Non-nil if the current major mode is derived from one of MODES.
Uses the `derived-mode-parent' property of the symbol to trace backwards.Vminor-mode-list
List of all minor mode functions.Fadd-minor-mode
Register a new minor mode.

This is an XEmacs-compatibility function.  Use `define-minor-mode' instead.

TOGGLE is a symbol which is the name of a buffer-local variable that
is toggled on or off to say whether the minor mode is active or not.

NAME specifies what will appear in the mode line when the minor mode
is active.  NAME should be either a string starting with a space, or a
symbol whose value is such a string.

Optional KEYMAP is the keymap for the minor mode that will be added
to `minor-mode-map-alist'.

Optional AFTER specifies that TOGGLE should be added after AFTER
in `minor-mode-alist'.

Optional TOGGLE-FUN is an interactive function to toggle the mode.
It defaults to (and should by convention be) TOGGLE.

If TOGGLE has a non-nil `:included' property, an entry for the mode is
included in the mode-line minor mode menu.
If TOGGLE has a `:menu-tag', that is used for the menu item's label.Fautoloadp
Non-nil if OBJECT is an autoload.Fsymbol-file
Return the name of the file that defined SYMBOL.
The value is normally an absolute file name.  It can also be nil,
if the definition is not associated with any file.  If SYMBOL
specifies an autoloaded function, the value can be a relative
file name without extension.

If TYPE is nil, then any kind of definition is acceptable.  If
TYPE is `defun', `defvar', or `defface', that specifies function
definition, variable definition, or face definition only.Flocate-library
Show the precise file name of Emacs library LIBRARY.
LIBRARY should be a relative file name of the library, a string.
It can omit the suffix (a.k.a. file-name extension) if NOSUFFIX is
nil (which is the default, see below).
This command searches the directories in `load-path' like `\[load-library]'
to find the file that `\[load-library] RET LIBRARY RET' would load.
Optional second arg NOSUFFIX non-nil means don't add suffixes `load-suffixes'
to the specified name LIBRARY.

If the optional third arg PATH is specified, that list of directories
is used instead of `load-path'.

When called from a program, the file name is normally returned as a
string.  When run interactively, the argument INTERACTIVE-CALL is t,
and the file name is displayed in the echo area.Fload-history-regexp
Form a regexp to find FILE in `load-history'.
FILE, a string, is described in the function `eval-after-load'.Fload-history-filename-element
Get the first elt of `load-history' whose car matches FILE-REGEXP.
Return nil if there isn't one.Feval-after-load
Arrange that if FILE is loaded, FORM will be run immediately afterwards.
If FILE is already loaded, evaluate FORM right now.

If a matching file is loaded again, FORM will be evaluated again.

If FILE is a string, it may be either an absolute or a relative file
name, and may have an extension (e.g. ".el") or may lack one, and
additionally may or may not have an extension denoting a compressed
format (e.g. ".gz").

When FILE is absolute, this first converts it to a true name by chasing
symbolic links.  Only a file of this name (see next paragraph regarding
extensions) will trigger the evaluation of FORM.  When FILE is relative,
a file whose absolute true name ends in FILE will trigger evaluation.

When FILE lacks an extension, a file name with any extension will trigger
evaluation.  Otherwise, its extension must match FILE's.  A further
extension for a compressed format (e.g. ".gz") on FILE will not affect
this name matching.

Alternatively, FILE can be a feature (i.e. a symbol), in which case FORM
is evaluated at the end of any file that `provide's this feature.
If the feature is provided when evaluating code not associated with a
file, FORM is evaluated immediately after the provide statement.

Usually FILE is just a library name like "font-lock" or a feature name
like 'font-lock.

This function makes or adds to an entry on `after-load-alist'.Vafter-load-functions
Special hook run after loading a file.
Each function there is called with a single argument, the absolute
name of the file just loaded.Fdo-after-load-evaluation
Evaluate all `eval-after-load' forms, if any, for ABS-FILE.
ABS-FILE, a string, should be the absolute true name of a file just loaded.
This function is called directly from the C code.Feval-next-after-load
Read the following input sexp, and run it whenever FILE is loaded.
This makes or adds to an entry on `after-load-alist'.
FILE should be the name of a library, with no directory name.Fdisplay-delayed-warnings
Display delayed warnings from `delayed-warnings-list'.
Used from `delayed-warnings-hook' (which see).Fcollapse-delayed-warnings
Remove duplicates from `delayed-warnings-list'.
Collapse identical adjacent warnings into one (plus count).
Used from `delayed-warnings-hook' (which see).Vdelayed-warnings-hook
Normal hook run to process and display delayed warnings.
By default, this hook contains functions to consolidate the
warnings listed in `delayed-warnings-list', display them, and set
`delayed-warnings-list' back to nil.Fprocess-lines
Execute PROGRAM with ARGS, returning its output as a list of lines.
Signal an error if the program returns with a non-zero exit status.Fprocess-live-p
Returns non-nil if PROCESS is alive.
A process is considered alive if its status is `run', `open',
`listen', `connect' or `stop'.Fprocess-kill-without-query
Say no query needed if PROCESS is running when Emacs is exited.
Optional second argument if non-nil says to require a query.
Value is t if a query was formerly required.Fprocess-kill-buffer-query-function
Ask before killing a buffer that has a running process.Fprocess-get
Return the value of PROCESS' PROPNAME property.
This is the last value stored with `(process-put PROCESS PROPNAME VALUE)'.Fprocess-put
Change PROCESS' PROPNAME property to VALUE.
It can be retrieved with `(process-get PROCESS PROPNAME)'.Vread-quoted-char-radix
Radix for \[quoted-insert] and other uses of `read-quoted-char'.
Legitimate radix values are 8, 10 and 16.Fread-key
Read a key from the keyboard.
Contrary to `read-event' this will not return a raw event but instead will
obey the input decoding and translations usually done by `read-key-sequence'.
So escape sequences and keyboard encoding are taken into account.
When there's an ambiguity because the key looks like the prefix of
some sort of escape sequence, the ambiguity is resolved via `read-key-delay'.Fread-quoted-char
Like `read-char', but do not allow quitting.
Also, if the first character read is an octal digit,
we read any number of octal digits and return the
specified character code.  Any nondigit terminates the sequence.
If the terminator is RET, it is discarded;
any other terminator is used itself as input.

The optional argument PROMPT specifies a string to use to prompt the user.
The variable `read-quoted-char-radix' controls which radix to use
for numeric input.Vread-passwd-map
Keymap used while reading passwords.Fread-passwd
Read a password, prompting with PROMPT, and return it.
If optional CONFIRM is non-nil, read the password twice to make sure.
Optional DEFAULT is a default password to use instead of empty input.

This function echoes `.' for each character that the user types.

Once the caller uses the password, it can erase the password
by doing (clear-string STRING).Fread-number
Read a numeric value in the minibuffer, prompting with PROMPT.
DEFAULT specifies a default value to return if the user just types RET.
The value of DEFAULT is inserted into PROMPT.Fread-char-choice
Read and return one of CHARS, prompting for PROMPT.
Any input that is not one of CHARS is ignored.

If optional argument INHIBIT-KEYBOARD-QUIT is non-nil, ignore
keyboard-quit events while waiting for a valid input.Fsit-for
Perform redisplay, then wait for SECONDS seconds or until input is available.
SECONDS may be a floating-point value.
(On operating systems that do not support waiting for fractions of a
second, floating-point values are rounded down to the nearest integer.)

If optional arg NODISP is t, don't redisplay, just wait for input.
Redisplay does not happen if input is available before it starts.

Value is t if waited the full time with no input arriving, and nil otherwise.

An obsolete, but still supported form is
(sit-for SECONDS &optional MILLISECONDS NODISP)
where the optional arg MILLISECONDS specifies an additional wait period,
in milliseconds; this was useful when Emacs was built without
floating point support.Fy-or-n-p
Ask user a "y or n" question.  Return t if answer is "y".
PROMPT is the string to display to ask the question.  It should
end in a space; `y-or-n-p' adds "(y or n) " to it.

No confirmation of the answer is requested; a single character is
enough.  SPC also means yes, and DEL means no.

To be precise, this function translates user input into responses
by consulting the bindings in `query-replace-map'; see the
documentation of that variable for more information.  In this
case, the useful bindings are `act', `skip', `recenter',
`scroll-up', `scroll-down', and `quit'.
An `act' response means yes, and a `skip' response means no.
A `quit' response means to invoke `keyboard-quit'.
If the user enters `recenter', `scroll-up', or `scroll-down'
responses, perform the requested window recentering or scrolling
and ask again.

Under a windowing system a dialog box will be used if `last-nonmenu-event'
is nil and `use-dialog-box' is non-nil.Fatomic-change-group
Perform BODY as an atomic change group.
This means that if BODY exits abnormally,
all of its changes to the current buffer are undone.
This works regardless of whether undo is enabled in the buffer.

This mechanism is transparent to ordinary use of undo;
if undo is enabled in the buffer and BODY succeeds, the
user can undo the change normally.Fprepare-change-group
Return a handle for the current buffer's state, for a change group.
If you specify BUFFER, make a handle for BUFFER's state instead.

Pass the handle to `activate-change-group' afterward to initiate
the actual changes of the change group.

To finish the change group, call either `accept-change-group' or
`cancel-change-group' passing the same handle as argument.  Call
`accept-change-group' to accept the changes in the group as final;
call `cancel-change-group' to undo them all.  You should use
`unwind-protect' to make sure the group is always finished.  The call
to `activate-change-group' should be inside the `unwind-protect'.
Once you finish the group, don't use the handle again--don't try to
finish the same group twice.  For a simple example of correct use, see
the source code of `atomic-change-group'.

The handle records only the specified buffer.  To make a multibuffer
change group, call this function once for each buffer you want to
cover, then use `nconc' to combine the returned values, like this:

  (nconc (prepare-change-group buffer-1)
         (prepare-change-group buffer-2))

You can then activate that multibuffer change group with a single
call to `activate-change-group' and finish it with a single call
to `accept-change-group' or `cancel-change-group'.Factivate-change-group
Activate a change group made with `prepare-change-group' (which see).Faccept-change-group
Finish a change group made with `prepare-change-group' (which see).
This finishes the change group by accepting its changes as final.Fcancel-change-group
Finish a change group made with `prepare-change-group' (which see).
This finishes the change group by reverting all of its changes.Fforce-mode-line-update
Force redisplay of the current buffer's mode line and header line.
With optional non-nil ALL, force redisplay of all mode lines and
header lines.  This function also forces recomputation of the
menu bar menus and the frame title.Fmomentary-string-display
Momentarily display STRING in the buffer at POS.
Display remains until next event is input.
If POS is a marker, only its position is used; its buffer is ignored.
Optional third arg EXIT-CHAR can be a character, event or event
description list.  EXIT-CHAR defaults to SPC.  If the input is
EXIT-CHAR it is swallowed; otherwise it is then available as
input (as a command if nothing else).
Display MESSAGE (optional fourth arg) in the echo area.
If MESSAGE is nil, instructions to type EXIT-CHAR are displayed there.Fcopy-overlay
Return a copy of overlay O.Fremove-overlays
Clear BEG and END of overlays whose property NAME has value VAL.
Overlays might be moved and/or split.
BEG and END default respectively to the beginning and end of buffer.Vsuspend-hook
Normal hook run by `suspend-emacs', before suspending.Vsuspend-resume-hook
Normal hook run by `suspend-emacs', after Emacs is continued.Vtemp-buffer-show-hook
Normal hook run by `with-output-to-temp-buffer' after displaying the buffer.
When the hook runs, the temporary buffer is current, and the window it
was displayed in is selected.Vtemp-buffer-setup-hook
Normal hook run by `with-output-to-temp-buffer' at the start.
When the hook runs, the temporary buffer is current.
This hook is normally set up with a function to put the buffer in Help
mode.Vbuffer-file-type
Non-nil if the visited file is a binary file.
This variable is meaningful on MS-DOG and MS-Windows.
On those systems, it is automatically local in every buffer.
On other systems, this variable is normally always nil.

WARNING: This variable is obsolete and will disapper Real Soon Now.
Don't use it!Vuser-emacs-directory
Directory beneath which additional per-user Emacs-specific files are placed.
Various programs in Emacs store information in this directory.
Note that this should end with a directory separator.
See also `locate-user-emacs-file'.Flocate-user-emacs-file
Return an absolute per-user Emacs-specific file name.
If OLD-NAME is non-nil and ~/OLD-NAME exists, return ~/OLD-NAME.
Else return NEW-NAME in `user-emacs-directory', creating the
directory if it does not exist.Fbuffer-narrowed-p
Return non-nil if the current buffer is narrowed.Ffind-tag-default
Determine default tag to search for, based on text at point.
If there is no plausible default, return nil.Fplay-sound
SOUND is a list of the form `(sound KEYWORD VALUE...)'.
The following keywords are recognized:

  :file FILE - read sound data from FILE.  If FILE isn't an
absolute file name, it is searched in `data-directory'.

  :data DATA - read sound data from string DATA.

Exactly one of :file or :data must be present.

  :volume VOL - set volume to VOL.  VOL must an integer in the
range 0..100 or a float in the range 0..1.0.  If not specified,
don't change the volume setting of the sound device.

  :device DEVICE - play sound on DEVICE.  If not specified,
a system-dependent default device name is used.

Note: :data and :device are currently not supported on Windows.Fshell-quote-argument
Quote ARGUMENT for passing as argument to an inferior shell.Fstring-or-null-p
Return t if OBJECT is a string or nil.
Otherwise, return nil.Fbooleanp
Return t if OBJECT is one of the two canonical boolean values: t or nil.
Otherwise, return nil.Ffield-at-pos
Return the field at position POS, taking stickiness etc into account.Fsha1
Return the SHA1 (Secure Hash Algorithm) of an OBJECT.
OBJECT is either a string or a buffer.  Optional arguments START and
END are character positions specifying which portion of OBJECT for
computing the hash.  If BINARY is non-nil, return a string in binary
form.Ffunction-get
Return the value of property PROP of function F.
If AUTOLOAD is non-nil and F is autoloaded, try to autoload it
in the hope that it will set PROP.  If AUTOLOAD is `macro', only do it
if it's an autoloaded macro.Fremove-yank-excluded-properties
Process text properties between START and END, inserted for a `yank'.
Perform the handling specified by `yank-handled-properties', then
remove properties specified by `yank-excluded-properties'.Finsert-for-yank
Call `insert-for-yank-1' repetitively for each `yank-handler' segment.

See `insert-for-yank-1' for more details.Finsert-for-yank-1
Insert STRING at point for the `yank' command.
This function is like `insert', except it honors the variables
`yank-handled-properties' and `yank-excluded-properties', and the
`yank-handler' text property.

Properties listed in `yank-handled-properties' are processed,
then those listed in `yank-excluded-properties' are discarded.

If STRING has a non-nil `yank-handler' property on its first
character, the normal insert behavior is altered.  The value of
the `yank-handler' property must be a list of one to four
elements, of the form (FUNCTION PARAM NOEXCLUDE UNDO).
FUNCTION, if non-nil, should be a function of one argument, an
 object to insert; it is called instead of `insert'.
PARAM, if present and non-nil, replaces STRING as the argument to
 FUNCTION or `insert'; e.g. if FUNCTION is `yank-rectangle', PARAM
 may be a list of strings to insert as a rectangle.
If NOEXCLUDE is present and non-nil, the normal removal of
 `yank-excluded-properties' is not performed; instead FUNCTION is
 responsible for the removal.  This may be necessary if FUNCTION
 adjusts point before or after inserting the object.
UNDO, if present and non-nil, should be a function to be called
 by `yank-pop' to undo the insertion of the current object.  It is
 given two arguments, the start and end of the region.  FUNCTION
 may set `yank-undo-function' to override UNDO.Finsert-buffer-substring-no-properties
Insert before point a substring of BUFFER, without text properties.
BUFFER may be a buffer or a buffer name.
Arguments START and END are character positions specifying the substring.
They default to the values of (point-min) and (point-max) in BUFFER.Finsert-buffer-substring-as-yank
Insert before point a part of BUFFER, stripping some text properties.
BUFFER may be a buffer or a buffer name.
Arguments START and END are character positions specifying the substring.
They default to the values of (point-min) and (point-max) in BUFFER.
Before insertion, process text properties according to
`yank-handled-properties' and `yank-excluded-properties'.Fyank-handle-font-lock-face-property
If `font-lock-defaults' is nil, apply FACE as a `face' property.
START and END denote the start and end of the text to act on.
Do nothing if FACE is nil.Fyank-handle-category-property
Apply property category CATEGORY's properties between START and END.Fstart-process-shell-command
Start a program in a subprocess.  Return the process object for it.
NAME is name for process.  It is modified if necessary to make it unique.
BUFFER is the buffer (or buffer name) to associate with the process.
 Process output goes at end of that buffer, unless you specify
 an output stream or filter function to handle the output.
 BUFFER may be also nil, meaning that this process is not associated
 with any buffer
COMMAND is the shell command to run.

An old calling convention accepted any number of arguments after COMMAND,
which were just concatenated to COMMAND.  This is still supported but strongly
discouraged.Fstart-file-process-shell-command
Start a program in a subprocess.  Return the process object for it.
Similar to `start-process-shell-command', but calls `start-file-process'.Fcall-process-shell-command
Execute the shell command COMMAND synchronously in separate process.
The remaining arguments are optional.
The program's input comes from file INFILE (nil means `/dev/null').
Insert output in BUFFER before point; t means current buffer;
 nil for BUFFER means discard it; 0 means discard and don't wait.
BUFFER can also have the form (REAL-BUFFER STDERR-FILE); in that case,
REAL-BUFFER says what to do with standard output, as above,
while STDERR-FILE says what to do with standard error in the child.
STDERR-FILE may be nil (discard standard error output),
t (mix it with ordinary output), or a file name string.

Fourth arg DISPLAY non-nil means redisplay buffer as output is inserted.
Remaining arguments are strings passed as additional arguments for COMMAND.
Wildcards and redirection are handled as usual in the shell.

If BUFFER is 0, `call-process-shell-command' returns immediately with value nil.
Otherwise it waits for COMMAND to terminate and returns a numeric exit
status or a signal description string.
If you quit, the process is killed with SIGINT, or SIGKILL if you quit again.Fprocess-file-shell-command
Process files synchronously in a separate process.
Similar to `call-process-shell-command', but calls `process-file'.Fwith-current-buffer
Execute the forms in BODY with BUFFER-OR-NAME temporarily current.
BUFFER-OR-NAME must be a buffer or the name of an existing buffer.
The value returned is the value of the last form in BODY.  See
also `with-temp-buffer'.Fwith-selected-window
Execute the forms in BODY with WINDOW as the selected window.
The value returned is the value of the last form in BODY.

This macro saves and restores the selected window, as well as the
selected window of each frame.  It does not change the order of
recently selected windows.  If the previously selected window of
some frame is no longer live at the end of BODY, that frame's
selected window is left alone.  If the selected window is no
longer live, then whatever window is selected at the end of BODY
remains selected.

This macro uses `save-current-buffer' to save and restore the
current buffer, since otherwise its normal operation could
potentially make a different buffer current.  It does not alter
the buffer list ordering.Fwith-selected-frame
Execute the forms in BODY with FRAME as the selected frame.
The value returned is the value of the last form in BODY.

This macro saves and restores the selected frame, and changes the
order of neither the recently selected windows nor the buffers in
the buffer list.Fsave-window-excursion
Execute BODY, then restore previous window configuration.
This macro saves the window configuration on the selected frame,
executes BODY, then calls `set-window-configuration' to restore
the saved window configuration.  The return value is the last
form in BODY.  The window configuration is also restored if BODY
exits nonlocally.

BEWARE: Most uses of this macro introduce bugs.
E.g. it should not be used to try and prevent some code from opening
a new window, since that window may sometimes appear in another frame,
in which case `save-window-excursion' cannot help.Finternal-temp-output-buffer-show
Internal function for `with-output-to-temp-buffer'.Fwith-output-to-temp-buffer
Bind `standard-output' to buffer BUFNAME, eval BODY, then show that buffer.

This construct makes buffer BUFNAME empty before running BODY.
It does not make the buffer current for BODY.
Instead it binds `standard-output' to that buffer, so that output
generated with `prin1' and similar functions in BODY goes into
the buffer.

At the end of BODY, this marks buffer BUFNAME unmodified and displays
it in a window, but does not select it.  The normal way to do this is
by calling `display-buffer', then running `temp-buffer-show-hook'.
However, if `temp-buffer-show-function' is non-nil, it calls that
function instead (and does not run `temp-buffer-show-hook').  The
function gets one argument, the buffer to display.

The return value of `with-output-to-temp-buffer' is the value of the
last form in BODY.  If BODY does not finish normally, the buffer
BUFNAME is not displayed.

This runs the hook `temp-buffer-setup-hook' before BODY,
with the buffer BUFNAME temporarily current.  It runs the hook
`temp-buffer-show-hook' after displaying buffer BUFNAME, with that
buffer temporarily current, and the window that was used to display it
temporarily selected.  But it doesn't run `temp-buffer-show-hook'
if it uses `temp-buffer-show-function'.

See the related form `with-temp-buffer-window'.Fwith-temp-file
Create a new buffer, evaluate BODY there, and write the buffer to FILE.
The value returned is the value of the last form in BODY.
See also `with-temp-buffer'.Fwith-temp-message
Display MESSAGE temporarily if non-nil while BODY is evaluated.
The original message is restored to the echo area after BODY has finished.
The value returned is the value of the last form in BODY.
MESSAGE is written to the message log buffer if `message-log-max' is non-nil.
If MESSAGE is nil, the echo area and message log buffer are unchanged.
Use a MESSAGE of "" to temporarily clear the echo area.Fwith-temp-buffer
Create a temporary buffer, and evaluate BODY there like `progn'.
See also `with-temp-file' and `with-output-to-string'.Fwith-silent-modifications
Execute BODY, pretending it does not modify the buffer.
If BODY performs real modifications to the buffer's text, other
than cosmetic ones, undo data may become corrupted.

This macro will run BODY normally, but doesn't count its buffer
modifications as being buffer modifications.  This affects things
like buffer-modified-p, checking whether the file is locked by
someone else, running buffer modification hooks, and other things
of that nature.

Typically used around modifications of text-properties which do
not really affect the buffer's content.Fwith-output-to-string
Execute BODY, return the text it sent to `standard-output', as a string.Fwith-local-quit
Execute BODY, allowing quits to terminate BODY but not escape further.
When a quit terminates BODY, `with-local-quit' returns nil but
requests another quit.  That quit will be processed as soon as quitting
is allowed once again.  (Immediately, if `inhibit-quit' is nil.)Fwhile-no-input
Execute BODY only as long as there's no pending input.
If input arrives, that ends the execution of BODY,
and `while-no-input' returns t.  Quitting makes it return nil.
If BODY finishes, `while-no-input' returns whatever value BODY produced.Fcondition-case-unless-debug
Like `condition-case' except that it does not catch anything when debugging.
More specifically if `debug-on-error' is set, then it does not catch any signal.Fwith-demoted-errors
Run BODY and demote any errors to simple messages.
If `debug-on-error' is non-nil, run BODY without catching its errors.
This is to be used around code which is not expected to signal an error
but which should be robust in the unexpected case that an error is signaled.Fcombine-after-change-calls
Execute BODY, but don't call the after-change functions till the end.
If BODY makes changes in the buffer, they are recorded
and the functions on `after-change-functions' are called several times
when BODY is finished.
The return value is the value of the last form in BODY.

If `before-change-functions' is non-nil, then calls to the after-change
functions can't be deferred, so in that case this macro has no effect.

Do not alter `after-change-functions' or `before-change-functions'
in BODY.Fwith-case-table
Execute the forms in BODY with TABLE as the current case table.
The value returned is the value of the last form in BODY.Fsave-match-data
Execute the BODY forms, restoring the global value of the match data.
The value returned is the value of the last form in BODY.Fmatch-string
Return string of text matched by last search.
NUM specifies which parenthesized expression in the last regexp.
 Value is nil if NUMth pair didn't match, or there were less than NUM pairs.
Zero means the entire text matched by the whole regexp or whole string.
STRING should be given if the last search was by `string-match' on STRING.
If STRING is nil, the current buffer should be the same buffer
the search/match was performed in.Fmatch-string-no-properties
Return string of text matched by last search, without text properties.
NUM specifies which parenthesized expression in the last regexp.
 Value is nil if NUMth pair didn't match, or there were less than NUM pairs.
Zero means the entire text matched by the whole regexp or whole string.
STRING should be given if the last search was by `string-match' on STRING.
If STRING is nil, the current buffer should be the same buffer
the search/match was performed in.Fmatch-substitute-replacement
Return REPLACEMENT as it will be inserted by `replace-match'.
In other words, all back-references in the form `\&' and `\N'
are substituted with actual strings matched by the last search.
Optional FIXEDCASE, LITERAL, STRING and SUBEXP have the same
meaning as for `replace-match'.Flooking-back
Return non-nil if text before point matches regular expression REGEXP.
Like `looking-at' except matches before point, and is slower.
LIMIT if non-nil speeds up the search by specifying a minimum
starting position, to avoid checking matches that would start
before LIMIT.

If GREEDY is non-nil, extend the match backwards as far as
possible, stopping when a single additional previous character
cannot be part of a match for REGEXP.  When the match is
extended, its starting position is allowed to occur before
LIMIT.Flooking-at-p
Same as `looking-at' except this function does not change the match data.Fstring-match-p
Same as `string-match' except this function does not change the match data.Fsubregexp-context-p
Return non-nil if POS is in a normal subregexp context in REGEXP.
A subregexp context is one where a sub-regexp can appear.
A non-subregexp context is for example within brackets, or within a
repetition bounds operator `\=\{...\}', or right after a `\'.
If START is non-nil, it should be a position in REGEXP, smaller
than POS, and known to be in a subregexp context.Vsplit-string-default-separators
The default value of separators for `split-string'.

A regexp matching strings of whitespace.  May be locale-dependent
(as yet unimplemented).  Should not match non-breaking spaces.

Warning: binding this to a different value and using it as default is
likely to have undesired semantics.Fsplit-string
Split STRING into substrings bounded by matches for SEPARATORS.

The beginning and end of STRING, and each match for SEPARATORS, are
splitting points.  The substrings matching SEPARATORS are removed, and
the substrings between the splitting points are collected as a list,
which is returned.

If SEPARATORS is non-nil, it should be a regular expression matching text
which separates, but is not part of, the substrings.  If nil it defaults to
`split-string-default-separators', normally "[ \f\t\n\r\v]+", and
OMIT-NULLS is forced to t.

If OMIT-NULLS is t, zero-length substrings are omitted from the list (so
that for the default value of SEPARATORS leading and trailing whitespace
are effectively trimmed).  If nil, all zero-length substrings are retained,
which correctly parses CSV format, for example.

Note that the effect of `(split-string STRING)' is the same as
`(split-string STRING split-string-default-separators t)'.  In the rare
case that you wish to retain zero-length substrings when splitting on
whitespace, use `(split-string STRING split-string-default-separators)'.

Modifies the match data; use `save-match-data' if necessary.Fcombine-and-quote-strings
Concatenate the STRINGS, adding the SEPARATOR (default " ").
This tries to quote the strings to avoid ambiguity such that
  (split-string-and-unquote (combine-and-quote-strings strs)) == strs
Only some SEPARATORs will work properly.Fsplit-string-and-unquote
Split the STRING into a list of strings.
It understands Emacs Lisp quoting within STRING, such that
  (split-string-and-unquote (combine-and-quote-strings strs)) == strs
The SEPARATOR regexp defaults to "\s-+".Fsubst-char-in-string
Replace FROMCHAR with TOCHAR in STRING each time it occurs.
Unless optional argument INPLACE is non-nil, return a new string.Freplace-regexp-in-string
Replace all matches for REGEXP with REP in STRING.

Return a new string containing the replacements.

Optional arguments FIXEDCASE, LITERAL and SUBEXP are like the
arguments with the same names of function `replace-match'.  If START
is non-nil, start replacements at that index in STRING.

REP is either a string used as the NEWTEXT arg of `replace-match' or a
function.  If it is a function, it is called with the actual text of each
match, and its value is used as the replacement text.  When REP is called,
the match data are the result of matching REGEXP against a substring
of STRING.

To replace only the first match (if any), make REGEXP match up to \'
and replace a sub-expression, e.g.
  (replace-regexp-in-string "\\(foo\\).*\\'" "bar" " foo foo" nil nil 1)
    => " bar foo"Fstring-prefix-p
Return non-nil if STR1 is a prefix of STR2.
If IGNORE-CASE is non-nil, the comparison is done without paying attention
to case differences.Fbidi-string-mark-left-to-right
Return a string that can be safely inserted in left-to-right text.

Normally, inserting a string with right-to-left (RTL) script into
a buffer may cause some subsequent text to be displayed as part
of the RTL segment (usually this affects punctuation characters).
This function returns a string which displays as STR but forces
subsequent text to be displayed as left-to-right.

If STR contains any RTL character, this function returns a string
consisting of STR followed by an invisible left-to-right mark
(LRM) character.  Otherwise, it returns STR.Fadd-to-invisibility-spec
Add ELEMENT to `buffer-invisibility-spec'.
See documentation for `buffer-invisibility-spec' for the kind of elements
that can be added.Fremove-from-invisibility-spec
Remove ELEMENT from `buffer-invisibility-spec'.Fwith-syntax-table
Evaluate BODY with syntax table of current buffer set to TABLE.
The syntax table of the current buffer is saved, BODY is evaluated, and the
saved table is restored, even in case of an abnormal exit.
Value is what BODY returns.Fmake-syntax-table
Return a new syntax table.
Create a syntax table which inherits from OLDTABLE (if non-nil) or
from `standard-syntax-table' otherwise.Fsyntax-after
Return the raw syntax descriptor for the char after POS.
If POS is outside the buffer's accessible portion, return nil.Fsyntax-class
Return the code for the syntax class described by SYNTAX.

SYNTAX should be a raw syntax descriptor; the return value is a
integer which encodes the corresponding syntax class.  See Info
node `(elisp)Syntax Table Internals' for a list of codes.

If SYNTAX is nil, return nil.Ftext-clone-maintain
Propagate the changes made under the overlay OL1 to the other clones.
This is used on the `modification-hooks' property of text clones.Ftext-clone-create
Create a text clone of START...END at point.
Text clones are chunks of text that are automatically kept identical:
changes done to one of the clones will be immediately propagated to the other.

The buffer's content at point is assumed to be already identical to
the one between START and END.
If SYNTAX is provided it's a regexp that describes the possible text of
the clones; the clone will be shrunk or killed if necessary to ensure that
its text matches the regexp.
If SPREADP is non-nil it indicates that text inserted before/after the
clone should be incorporated in the clone.Fdefine-mail-user-agent
Define a symbol to identify a mail-sending package for `mail-user-agent'.

SYMBOL can be any Lisp symbol.  Its function definition and/or
value as a variable do not matter for this usage; we use only certain
properties on its property list, to encode the rest of the arguments.

COMPOSEFUNC is program callable function that composes an outgoing
mail message buffer.  This function should set up the basics of the
buffer without requiring user interaction.  It should populate the
standard mail headers, leaving the `to:' and `subject:' headers blank
by default.

COMPOSEFUNC should accept several optional arguments--the same
arguments that `compose-mail' takes.  See that function's documentation.

SENDFUNC is the command a user would run to send the message.

Optional ABORTFUNC is the command a user would run to abort the
message.  For mail packages that don't have a separate abort function,
this can be `kill-buffer' (the equivalent of omitting this argument).

Optional HOOKVAR is a hook variable that gets run before the message
is actually sent.  Callers that use the `mail-user-agent' may
install a hook function temporarily on this hook variable.
If HOOKVAR is nil, `mail-send-hook' is used.

The properties used on SYMBOL are `composefunc', `sendfunc',
`abortfunc', and `hookvar'.Fset-temporary-overlay-map
Set MAP as a temporary keymap taking precedence over most other keymaps.
Note that this does NOT take precedence over the "overriding" maps
`overriding-terminal-local-map' and `overriding-local-map' (or the
`keymap' text property).  Unlike those maps, if no match for a key is
found in MAP, the normal key lookup sequence then continues.

Normally, MAP is used only once.  If the optional argument
KEEP-PRED is t, MAP stays active if a key from MAP is used.
KEEP-PRED can also be a function of no arguments: if it returns
non-nil then MAP stays active.Fprogress-reporter-update
Report progress of an operation in the echo area.
REPORTER should be the result of a call to `make-progress-reporter'.

If REPORTER is a numerical progress reporter---i.e. if it was
 made using non-nil MIN-VALUE and MAX-VALUE arguments to
 `make-progress-reporter'---then VALUE should be a number between
 MIN-VALUE and MAX-VALUE.

If REPORTER is a non-numerical reporter, VALUE should be nil.

This function is relatively inexpensive.  If the change since
last update is too small or insufficient time has passed, it does
nothing.Fmake-progress-reporter
Return progress reporter object for use with `progress-reporter-update'.

MESSAGE is shown in the echo area, with a status indicator
appended to the end.  When you call `progress-reporter-done', the
word "done" is printed after the MESSAGE.  You can change the
MESSAGE of an existing progress reporter by calling
`progress-reporter-force-update'.

MIN-VALUE and MAX-VALUE, if non-nil, are starting (0% complete)
and final (100% complete) states of operation; the latter should
be larger.  In this case, the status message shows the percentage
progress.

If MIN-VALUE and/or MAX-VALUE is omitted or nil, the status
message shows a "spinning", non-numeric indicator.

Optional CURRENT-VALUE is the initial progress; the default is
MIN-VALUE.
Optional MIN-CHANGE is the minimal change in percents to report;
the default is 1%.
CURRENT-VALUE and MIN-CHANGE do not have any effect if MIN-VALUE
and/or MAX-VALUE are nil.

Optional MIN-TIME specifies the minimum interval time between
echo area updates (default is 0.2 seconds.)  If the function
`float-time' is not present, time is not tracked at all.  If the
OS is not capable of measuring fractions of seconds, this
parameter is effectively rounded up.Fprogress-reporter-force-update
Report progress of an operation in the echo area unconditionally.

The first two arguments are the same as in `progress-reporter-update'.
NEW-MESSAGE, if non-nil, sets a new message for the reporter.Vprogress-reporter--pulse-characters
Characters to use for pulsing progress reporters.Fprogress-reporter-done
Print reporter's message followed by word "done" in echo area.Fdotimes-with-progress-reporter
Loop a certain number of times and report progress in the echo area.
Evaluate BODY with VAR bound to successive integers running from
0, inclusive, to COUNT, exclusive.  Then evaluate RESULT to get
the return value (nil if RESULT is omitted).

At each iteration MESSAGE followed by progress percentage is
printed in the echo area.  After the loop is finished, MESSAGE
followed by word "done" is printed.  This macro is a
convenience wrapper around `make-progress-reporter' and friends.

(fn (VAR COUNT [RESULT]) MESSAGE BODY...)Vversion-separator
Specify the string used to separate the version elements.

Usually the separator is ".", but it can be any other string.Vversion-regexp-alist
Specify association between non-numeric version and its priority.

This association is used to handle version string like "1.0pre2",
"0.9alpha1", etc.  It's used by `version-to-list' (which see) to convert the
non-numeric part of a version string to an integer.  For example:

   String Version    Integer List Version
   "1.0pre2"         (1  0 -1 2)
   "1.0PRE2"         (1  0 -1 2)
   "22.8beta3"       (22 8 -2 3)
   "22.8 Beta3"      (22 8 -2 3)
   "0.9alpha1"       (0  9 -3 1)
   "0.9AlphA1"       (0  9 -3 1)
   "0.9 alpha"       (0  9 -3)

Each element has the following form:

   (REGEXP . PRIORITY)

Where:

REGEXP		regexp used to match non-numeric part of a version string.
		It should begin with the `^' anchor and end with a `$' to
		prevent false hits.  Letter-case is ignored while matching
		REGEXP.

PRIORITY	a negative integer specifying non-numeric priority of REGEXP.Fversion-to-list
Convert version string VER into a list of integers.

The version syntax is given by the following EBNF:

   VERSION ::= NUMBER ( SEPARATOR NUMBER )*.

   NUMBER ::= (0|1|2|3|4|5|6|7|8|9)+.

   SEPARATOR ::= `version-separator' (which see)
	       | `version-regexp-alist' (which see).

The NUMBER part is optional if SEPARATOR is a match for an element
in `version-regexp-alist'.

Examples of valid version syntax:

   1.0pre2   1.0.7.5   22.8beta3   0.9alpha1   6.9.30Beta

Examples of invalid version syntax:

   1.0prepre2   1.0..7.5   22.8X3   alpha3.2   .5

Examples of version conversion:

   Version String    Version as a List of Integers
   "1.0.7.5"         (1  0  7 5)
   "1.0pre2"         (1  0 -1 2)
   "1.0PRE2"         (1  0 -1 2)
   "22.8beta3"       (22 8 -2 3)
   "22.8Beta3"       (22 8 -2 3)
   "0.9alpha1"       (0  9 -3 1)
   "0.9AlphA1"       (0  9 -3 1)
   "0.9alpha"        (0  9 -3)

See documentation for `version-separator' and `version-regexp-alist'.Fversion-list-<
Return t if L1, a list specification of a version, is lower than L2.

Note that a version specified by the list (1) is equal to (1 0),
(1 0 0), (1 0 0 0), etc.  That is, the trailing zeros are insignificant.
Also, a version given by the list (1) is higher than (1 -1), which in
turn is higher than (1 -2), which is higher than (1 -3).Fversion-list-=
Return t if L1, a list specification of a version, is equal to L2.

Note that a version specified by the list (1) is equal to (1 0),
(1 0 0), (1 0 0 0), etc.  That is, the trailing zeros are insignificant.
Also, a version given by the list (1) is higher than (1 -1), which in
turn is higher than (1 -2), which is higher than (1 -3).Fversion-list-<=
Return t if L1, a list specification of a version, is lower or equal to L2.

Note that integer list (1) is equal to (1 0), (1 0 0), (1 0 0 0),
etc.  That is, the trailing zeroes are insignificant.  Also, integer
list (1) is greater than (1 -1) which is greater than (1 -2)
which is greater than (1 -3).Fversion-list-not-zero
Return the first non-zero element of LST, which is a list of integers.

If all LST elements are zeros or LST is nil, return zero.Fversion<
Return t if version V1 is lower (older) than V2.

Note that version string "1" is equal to "1.0", "1.0.0", "1.0.0.0",
etc.  That is, the trailing ".0"s are insignificant.  Also, version
string "1" is higher (newer) than "1pre", which is higher than "1beta",
which is higher than "1alpha".  Also, "-CVS" and "-NNN" are treated
as alpha versions.Fversion<=
Return t if version V1 is lower (older) than or equal to V2.

Note that version string "1" is equal to "1.0", "1.0.0", "1.0.0.0",
etc.  That is, the trailing ".0"s are insignificant.  Also, version
string "1" is higher (newer) than "1pre", which is higher than "1beta",
which is higher than "1alpha".  Also, "-CVS" and "-NNN" are treated
as alpha versions.Fversion=
Return t if version V1 is equal to V2.

Note that version string "1" is equal to "1.0", "1.0.0", "1.0.0.0",
etc.  That is, the trailing ".0"s are insignificant.  Also, version
string "1" is higher (newer) than "1pre", which is higher than "1beta",
which is higher than "1alpha".  Also, "-CVS" and "-NNN" are treated
as alpha versions.Vmenu-bar-separator
Separator for menus.Sversion.elc
Vemacs-major-version
Major version number of this version of Emacs.
This variable first existed in version 19.23.Vemacs-minor-version
Minor version number of this version of Emacs.
This variable first existed in version 19.23.Vemacs-build-time
Time at which Emacs was dumped out.Vemacs-build-system
Name of the system on which Emacs was built.Femacs-version
Return string describing the version of Emacs that is running.
If optional argument HERE is non-nil, insert string at point.
Don't use this function in programs to choose actions according
to the system configuration; look at `system-configuration' instead.Vemacs-bzr-version
String giving the bzr revision from which this Emacs was built.
The format is: [revno] revision_id, where revno may be absent.
Value is nil if Emacs was not built from a bzr checkout, or if we could
not determine the revision.Femacs-bzr-version-dirstate
Try to return as a string the bzr revision ID of directory DIR.
This uses the dirstate file's parent revision entry.
Returns nil if unable to find this information.Femacs-bzr-version-bzr
Ask bzr itself for the version information for directory DIR.Femacs-bzr-get-version
Try to return as a string the bzr revision of the Emacs sources.
The format is: [revno] revision_id, where revno may be absent.
Value is nil if the sources do not seem to be under bzr, or if we could
not determine the revision.  Note that this reports on the current state
of the sources, which may not correspond to the running Emacs.

Optional argument DIR is a directory to use instead of `source-directory'.
Optional argument EXTERNAL non-nil means to maybe ask `bzr' itself,
if the sources appear to be under bzr.  If `force', always ask bzr.
Otherwise only ask bzr if we cannot find any information ourselves.Swidget.elc
Fdefine-widget
Define a new widget type named NAME from CLASS.

NAME and CLASS should both be symbols, CLASS should be one of the
existing widget types, or nil to create the widget from scratch.

After the new widget has been defined, the following two calls will
create identical widgets:

* (widget-create NAME)

* (apply 'widget-create CLASS ARGS)

The third argument DOC is a documentation string for the widget.Scustom.elc
Vcustom-define-hook
Hook called after defining each customize option.Vcustom-dont-initialize
Non-nil means `defcustom' should not initialize the variable.
That is used for the sake of `custom-make-dependencies'.
Users should not set it.Vcustom-current-group-alist
Alist of (FILE . GROUP) indicating the current group to use for FILE.Fcustom-initialize-default
Initialize SYMBOL with VALUE.
This will do nothing if symbol already has a default binding.
Otherwise, if symbol has a `saved-value' property, it will evaluate
the car of that and use it as the default binding for symbol.
Otherwise, VALUE will be evaluated and used as the default binding for
symbol.Fcustom-initialize-set
Initialize SYMBOL based on VALUE.
If the symbol doesn't have a default binding already,
then set it using its `:set' function (or `set-default' if it has none).
The value is either the value in the symbol's `saved-value' property,
if any, or VALUE.Fcustom-initialize-reset
Initialize SYMBOL based on VALUE.
Set the symbol, using its `:set' function (or `set-default' if it has none).
The value is either the symbol's current value
 (as obtained using the `:get' function), if any,
or the value in the symbol's `saved-value' property if any,
or (last of all) VALUE.Fcustom-initialize-changed
Initialize SYMBOL with VALUE.
Like `custom-initialize-reset', but only use the `:set' function if
not using the standard setting.
For the standard setting, use `set-default'.Vcustom-delayed-init-variables
List of variables whose initialization is pending.Fcustom-initialize-delay
Delay initialization of SYMBOL to the next Emacs start.
This is used in files that are preloaded (or for autoloaded
variables), so that the initialization is done in the run-time
context rather than the build-time context.  This also has the
side-effect that the (delayed) initialization is performed with
the :set function.

For variables in preloaded files, you can simply use this
function for the :initialize property.  For autoloaded variables,
you will also need to add an autoload stanza calling this
function, and another one setting the standard-value property.
Or you can wrap the defcustom in a progn, to force the autoloader
to include all of it.Fcustom-declare-variable
Like `defcustom', but SYMBOL and DEFAULT are evaluated as normal arguments.
DEFAULT should be an expression to evaluate to compute the default value,
not the default value itself.

DEFAULT is stored as SYMBOL's standard value, in SYMBOL's property
`standard-value'.  At the same time, SYMBOL's property `force-value' is
set to nil, as the value is no longer rogue.Fdefcustom
Declare SYMBOL as a customizable variable.
SYMBOL is the variable name; it should not be quoted.
STANDARD is an expression specifying the variable's standard
value.  It should not be quoted.  It is evaluated once by
`defcustom', and the value is assigned to SYMBOL if the variable
is unbound.  The expression itself is also stored, so that
Customize can re-evaluate it later to get the standard value.
DOC is the variable documentation.

This macro uses `defvar' as a subroutine, which also marks the
variable as "special", so that it is always dynamically bound
even when `lexical-binding' is t.

The remaining arguments to `defcustom' should have the form

   [KEYWORD VALUE]...

The following keywords are meaningful:

:type	VALUE should be a widget type for editing the symbol's value.
:options VALUE should be a list of valid members of the widget type.
:initialize
	VALUE should be a function used to initialize the
	variable.  It takes two arguments, the symbol and value
	given in the `defcustom' call.  The default is
	`custom-initialize-reset'.
:set	VALUE should be a function to set the value of the symbol
        when using the Customize user interface.
	It takes two arguments, the symbol to set and the value to
	give it.  The default choice of function is `set-default'.
:get	VALUE should be a function to extract the value of symbol.
	The function takes one argument, a symbol, and should return
	the current value for that symbol.  The default choice of function
	is `default-value'.
:require
	VALUE should be a feature symbol.  If you save a value
	for this option, then when your init file loads the value,
	it does (require VALUE) first.
:set-after VARIABLES
	Specifies that SYMBOL should be set after the list of variables
        VARIABLES when both have been customized.
:risky	Set SYMBOL's `risky-local-variable' property to VALUE.
:safe	Set SYMBOL's `safe-local-variable' property to VALUE.
        See Info node `(elisp) File Local Variables'.

The following common keywords are also meaningful.

:group  VALUE should be a customization group.
        Add SYMBOL (or FACE with `defface') to that group.
:link LINK-DATA
        Include an external link after the documentation string for this
        item.  This is a sentence containing an active field which
        references some other documentation.

        There are several alternatives you can use for LINK-DATA:

        (custom-manual INFO-NODE)
             Link to an Info node; INFO-NODE is a string which specifies
             the node name, as in "(emacs)Top".

        (info-link INFO-NODE)
             Like `custom-manual' except that the link appears in the
             customization buffer with the Info node name.

        (url-link URL)
             Link to a web page; URL is a string which specifies the URL.

        (emacs-commentary-link LIBRARY)
             Link to the commentary section of LIBRARY.

        (emacs-library-link LIBRARY)
             Link to an Emacs Lisp LIBRARY file.

        (file-link FILE)
             Link to FILE.

        (function-link FUNCTION)
             Link to the documentation of FUNCTION.

        (variable-link VARIABLE)
             Link to the documentation of VARIABLE.

        (custom-group-link GROUP)
             Link to another customization GROUP.

        You can specify the text to use in the customization buffer by
        adding `:tag NAME' after the first element of the LINK-DATA; for
        example, (info-link :tag "foo" "(emacs)Top") makes a link to the
        Emacs manual which appears in the buffer as `foo'.

        An item can have more than one external link; however, most items
        have none at all.
:version
        VALUE should be a string specifying that the variable was
        first introduced, or its default value was changed, in Emacs
        version VERSION.
:package-version
        VALUE should be a list with the form (PACKAGE . VERSION)
        specifying that the variable was first introduced, or its
        default value was changed, in PACKAGE version VERSION.  This
        keyword takes priority over :version.  The PACKAGE and VERSION
        must appear in the alist `customize-package-emacs-version-alist'.
        Since PACKAGE must be unique and the user might see it in an
        error message, a good choice is the official name of the
        package, such as MH-E or Gnus.
:tag LABEL
        Use LABEL, a string, instead of the item's name, to label the item
        in customization menus and buffers.
:load FILE
        Load file FILE (a string) before displaying this customization
        item.  Loading is done with `load', and only if the file is
        not already loaded.

If SYMBOL has a local binding, then this form affects the local
binding.  This is normally not what you want.  Thus, if you need
to load a file defining variables with this form, or with
`defvar' or `defconst', you should always load that file
_outside_ any bindings for these variables.  (`defvar' and
`defconst' behave similarly in this respect.)

See Info node `(elisp) Customization' in the Emacs Lisp manual
for more information.Fdefface
Declare FACE as a customizable face that defaults to SPEC.
FACE does not need to be quoted.

Third argument DOC is the face documentation.

If FACE has been set with `custom-set-faces', set the face
attributes as specified by that function, otherwise set the face
attributes according to SPEC.

The remaining arguments should have the form [KEYWORD VALUE]...
For a list of valid keywords, see the common keywords listed in
`defcustom'.

SPEC should be an alist of the form

   ((DISPLAY . ATTS)...)

where DISPLAY is a form specifying conditions to match certain
terminals and ATTS is a property list (ATTR VALUE ATTR VALUE...)
specifying face attributes and values for frames on those
terminals.  On each terminal, the first element with a matching
DISPLAY specification takes effect, and the remaining elements in
SPEC are disregarded.

As a special exception, in the first element of SPEC, DISPLAY can
be the special value `default'.  Then the ATTS in that element
act as defaults for all the following elements.

For backward compatibility, elements of SPEC can be written
as (DISPLAY ATTS) instead of (DISPLAY . ATTS).

Each DISPLAY can have the following values:
 - `default' (only in the first element).
 - The symbol t, which matches all terminals.
 - An alist of conditions.  Each alist element must have the form
   (REQ ITEM...).  A matching terminal must satisfy each
   specified condition by matching one of its ITEMs.  Each REQ
   must be one of the following:
   - `type' (the terminal type).
     Each ITEM must be one of the values returned by
     `window-system'.  Under X, additional allowed values are
     `motif', `lucid', `gtk' and `x-toolkit'.
   - `class' (the terminal's color support).
     Each ITEM should be one of `color', `grayscale', or `mono'.
   - `background' (what color is used for the background text)
     Each ITEM should be one of `light' or `dark'.
   - `min-colors' (the minimum number of supported colors)
     Each ITEM should be an integer, which is compared with the
     result of `display-color-cells'.
   - `supports' (match terminals supporting certain attributes).
     Each ITEM should be a list of face attributes.  See
     `display-supports-face-attributes-p' for more information on
     exactly how testing is done.

In the ATTS property list, possible attributes are `:family',
`:width', `:height', `:weight', `:slant', `:underline',
`:overline', `:strike-through', `:box', `:foreground',
`:background', `:stipple', `:inverse-video', and `:inherit'.

See Info node `(elisp) Faces' in the Emacs Lisp manual for more
information.Fcustom-declare-group
Like `defgroup', but SYMBOL is evaluated as a normal argument.Fdefgroup
Declare SYMBOL as a customization group containing MEMBERS.
SYMBOL does not need to be quoted.

Third argument DOC is the group documentation.  This should be a short
description of the group, beginning with a capital and ending with
a period.  Words other than the first should not be capitalized, if they
are not usually written so.

MEMBERS should be an alist of the form ((NAME WIDGET)...) where
NAME is a symbol and WIDGET is a widget for editing that symbol.
Useful widgets are `custom-variable' for editing variables,
`custom-face' for edit faces, and `custom-group' for editing groups.

The remaining arguments should have the form

   [KEYWORD VALUE]...

For a list of valid keywords, see the common keywords listed in
`defcustom'.

See Info node `(elisp) Customization' in the Emacs Lisp manual
for more information.Fcustom-add-to-group
To existing GROUP add a new OPTION of type WIDGET.
If there already is an entry for OPTION and WIDGET, nothing is done.Fcustom-group-of-mode
Return the custom group corresponding to the major or minor MODE.
If no such group is found, return nil.Fcustom-handle-all-keywords
For customization option SYMBOL, handle keyword arguments ARGS.
Third argument TYPE is the custom option type.Fcustom-handle-keyword
For customization option SYMBOL, handle KEYWORD with VALUE.
Fourth argument TYPE is the custom option type.Fcustom-add-dependencies
To the custom option SYMBOL, add dependencies specified by VALUE.
VALUE should be a list of symbols.  For each symbol in that list,
this specifies that SYMBOL should be set after the specified symbol, if
both appear in constructs like `custom-set-variables'.Fcustom-add-option
To the variable SYMBOL add OPTION.

If SYMBOL's custom type is a hook, OPTION should be a hook member.
If SYMBOL's custom type is an alist, OPTION specifies a symbol
to offer to the user as a possible key in the alist.
For other custom types, this has no effect.Fcustom-add-link
To the custom option SYMBOL add the link WIDGET.Fcustom-add-version
To the custom option SYMBOL add the version VERSION.Fcustom-add-package-version
To the custom option SYMBOL add the package version VERSION.Fcustom-add-load
To the custom option SYMBOL add the dependency LOAD.
LOAD should be either a library file name, or a feature name.Fcustom-autoload
Mark SYMBOL as autoloaded custom variable and add dependency LOAD.
If NOSET is non-nil, don't bother autoloading LOAD when setting the variable.Fcustom-variable-p
Return non-nil if VARIABLE is a customizable variable.
A customizable variable is either (i) a variable whose property
list contains a non-nil `standard-value' or `custom-autoload'
property, or (ii) an alias for another customizable variable.Fcustom-note-var-changed
Inform Custom that VARIABLE has been set (changed).
VARIABLE is a symbol that names a user option.
The result is that the change is treated as having been made through Custom.Vcustom-load-recursion
Hack to avoid recursive dependencies.Fcustom-load-symbol
Load all dependencies for SYMBOL.Vcustom-local-buffer
Non-nil, in a Customization buffer, means customize a specific buffer.
If this variable is non-nil, it should be a buffer,
and it means customize the local bindings of that buffer.
This variable is a permanent local, and it normally has a local binding
in every Customization buffer.Fcustom-set-default
Default :set function for a customizable variable.
Normally, this sets the default value of VARIABLE to VALUE,
but if `custom-local-buffer' is non-nil,
this sets the local binding in that buffer instead.Fcustom-set-minor-mode
:set function for minor mode variables.
Normally, this sets the default value of VARIABLE to nil if VALUE
is nil and to t otherwise,
but if `custom-local-buffer' is non-nil,
this sets the local binding in that buffer instead.Fcustom-quote
Quote SEXP if it is not self quoting.Fcustomize-mark-to-save
Mark SYMBOL for later saving.

If the default value of SYMBOL is different from the standard value,
set the `saved-value' property to a list whose car evaluates to the
default value.  Otherwise, set it to nil.

To actually save the value, call `custom-save-all'.

Return non-nil if the `saved-value' property actually changed.Fcustomize-mark-as-set
Mark current value of SYMBOL as being set from customize.

If the default value of SYMBOL is different from the saved value if any,
or else if it is different from the standard value, set the
`customized-value' property to a list whose car evaluates to the
default value.  Otherwise, set it to nil.

Return non-nil if the `customized-value' property actually changed.Fcustom-reevaluate-setting
Reset the value of SYMBOL by re-evaluating its saved or standard value.
Use the :set function to do so.  This is useful for customizable options
that are defined before their standard value can really be computed.
E.g. dumped variables whose default depends on run-time information.Vcustom-known-themes
Themes that have been defined with `deftheme'.
The default value is the list (user changed).  The theme `changed'
contains the settings before custom themes are applied.  The theme
`user' contains all the settings the user customized and saved.
Additional themes declared with the `deftheme' macro will be added
to the front of this list.Fcustom-theme-p
Non-nil when THEME has been defined.Fcustom-check-theme
Check whether THEME is valid, and signal an error if it is not.Fcustom-push-theme
Record VALUE for face or variable SYMBOL in custom theme THEME.
PROP is `theme-face' for a face, `theme-value' for a variable.

MODE can be either the symbol `set' or the symbol `reset'.  If it is the
symbol `set', then VALUE is the value to use.  If it is the symbol
`reset', then SYMBOL will be removed from THEME (VALUE is ignored).

See `custom-known-themes' for a list of known themes.Fcustom-fix-face-spec
Convert face SPEC, replacing obsolete :bold and :italic attributes.
Also change :reverse-video to :inverse-video.Fcustom-set-variables
Install user customizations of variable values specified in ARGS.
These settings are registered as theme `user'.
The arguments should each be a list of the form:

  (SYMBOL EXP [NOW [REQUEST [COMMENT]]])

This stores EXP (without evaluating it) as the saved value for SYMBOL.
If NOW is present and non-nil, then also evaluate EXP and set
the default value for the SYMBOL to the value of EXP.

REQUEST is a list of features we must require in order to
handle SYMBOL properly.
COMMENT is a comment string about SYMBOL.Fcustom-theme-set-variables
Initialize variables for theme THEME according to settings in ARGS.
Each of the arguments in ARGS should be a list of this form:

  (SYMBOL EXP [NOW [REQUEST [COMMENT]]])

SYMBOL is the variable name, and EXP is an expression which
evaluates to the customized value.  EXP will also be stored,
without evaluating it, in SYMBOL's `saved-value' property, so
that it can be restored via the Customize interface.  It is also
added to the alist in SYMBOL's `theme-value' property (by
calling `custom-push-theme').

NOW, if present and non-nil, means to install the variable's
value directly now, even if its `defcustom' declaration has not
been executed.  This is for internal use only.

REQUEST is a list of features to `require' (which are loaded
prior to evaluating EXP).

COMMENT is a comment string about SYMBOL.Fdeftheme
Declare THEME to be a Custom theme.
The optional argument DOC is a doc string describing the theme.

Any theme `foo' should be defined in a file called `foo-theme.el';
see `custom-make-theme-feature' for more information.Fcustom-declare-theme
Like `deftheme', but THEME is evaluated as a normal argument.
FEATURE is the feature this theme provides.  Normally, this is a symbol
created from THEME by `custom-make-theme-feature'.Fcustom-make-theme-feature
Given a symbol THEME, create a new symbol by appending "-theme".
Store this symbol in the `theme-feature' property of THEME.
Calling `provide-theme' to provide THEME actually puts `THEME-theme'
into `features'.

This allows for a file-name convention for autoloading themes:
Every theme X has a property `provide-theme' whose value is "X-theme".
(load-theme X) then attempts to load the file `X-theme.el'.Vcustom--inhibit-theme-enable
Whether the custom-theme-set-* functions act immediately.
If nil, `custom-theme-set-variables' and `custom-theme-set-faces'
change the current values of the given variable or face.  If
non-nil, they just make a record of the theme settings.Fprovide-theme
Indicate that this file provides THEME.
This calls `provide' to provide the feature name stored in THEME's
property `theme-feature' (which is usually a symbol created by
`custom-make-theme-feature').Vcustom-safe-themes
Themes that are considered safe to load.
If the value is a list, each element should be either the SHA-256
hash of a safe theme file, or the symbol `default', which stands
for any theme in the built-in Emacs theme directory (a directory
named "themes" in `data-directory').

If the value is t, Emacs treats all themes as safe.

This variable cannot be set in a Custom theme.Fload-theme
Load Custom theme named THEME from its file.
The theme file is named THEME-theme.el, in one of the directories
specified by `custom-theme-load-path'.

If the theme is not considered safe by `custom-safe-themes',
prompt the user for confirmation before loading it.  But if
optional arg NO-CONFIRM is non-nil, load the theme without
prompting.

Normally, this function also enables THEME.  If optional arg
NO-ENABLE is non-nil, load the theme but don't enable it, unless
the theme was already enabled.

This function is normally called through Customize when setting
`custom-enabled-themes'.  If used directly in your init file, it
should be called with a non-nil NO-CONFIRM argument, or after
`custom-safe-themes' has been loaded.

Return t if THEME was successfully loaded, nil otherwise.Fcustom-theme-load-confirm
Query the user about loading a Custom theme that may not be safe.
The theme should be in the current buffer.  If the user agrees,
query also about adding HASH to `custom-safe-themes'.Fcustom-theme-name-valid-p
Return t if NAME is a valid name for a Custom theme, nil otherwise.
NAME should be a symbol.Fcustom-available-themes
Return a list of available Custom themes (symbols).Fenable-theme
Reenable all variable and face settings defined by THEME.
THEME should be either `user', or a theme loaded via `load-theme'.
After this function completes, THEME will have the highest
precedence (after `user').Vcustom-enabled-themes
List of enabled Custom Themes, highest precedence first.
This list does not include the `user' theme, which is set by
Customize and always takes precedence over other Custom Themes.

This variable cannot be defined inside a Custom theme; there, it
is simply ignored.

Setting this variable through Customize calls `enable-theme' or
`load-theme' for each theme in the list.Fcustom-theme-enabled-p
Return non-nil if THEME is enabled.Fdisable-theme
Disable all variable and face settings defined by THEME.
See `custom-enabled-themes' for a list of enabled themes.Fcustom-variable-theme-value
Return (list VALUE) indicating the custom theme value of VARIABLE.
That is to say, it specifies what the value should be according to
currently enabled custom themes.

This function returns nil if no custom theme specifies a value for VARIABLE.Fcustom-theme-recalc-variable
Set VARIABLE according to currently enabled custom themes.Fcustom-theme-recalc-face
Set FACE according to currently enabled custom themes.Fcustom-theme-reset-variables
Reset some variable settings in THEME to their values in other themes.
Each of the arguments ARGS has this form:

    (VARIABLE IGNORED)

This means reset VARIABLE.  (The argument IGNORED is ignored).Fcustom-reset-variables
Reset the specs of some variables to their values in other themes.
This creates settings in the `user' theme.

Each of the arguments ARGS has this form:

    (VARIABLE IGNORED)

This means reset VARIABLE.  (The argument IGNORED is ignored).Smap-ynp.elc
Fmap-y-or-n-p
Ask a series of boolean questions.
Takes args PROMPTER ACTOR LIST, and optional args HELP and ACTION-ALIST.

LIST is a list of objects, or a function of no arguments to return the next
object or nil.

If PROMPTER is a string, the prompt is (format PROMPTER OBJECT).  If not
a string, PROMPTER is a function of one arg (an object from LIST), which
returns a string to be used as the prompt for that object.  If the return
value is not a string, it may be nil to ignore the object or non-nil to act
on the object without asking the user.

ACTOR is a function of one arg (an object from LIST),
which gets called with each object that the user answers `yes' for.

If HELP is given, it is a list (OBJECT OBJECTS ACTION),
where OBJECT is a string giving the singular noun for an elt of LIST;
OBJECTS is the plural noun for elts of LIST, and ACTION is a transitive
verb describing ACTOR.  The default is ("object" "objects" "act on").

At the prompts, the user may enter y, Y, or SPC to act on that object;
n, N, or DEL to skip that object; ! to act on all following objects;
ESC or q to exit (skip all following objects); . (period) to act on the
current object and then exit; or \[help-command] to get help.

If ACTION-ALIST is given, it is an alist (KEY FUNCTION HELP) of extra keys
that will be accepted.  KEY is a character; FUNCTION is a function of one
arg (an object from LIST); HELP is a string.  When the user hits KEY,
FUNCTION is called.  If it returns non-nil, the object is considered
"acted upon", and the next object from LIST is processed.  If it returns
nil, the prompt is repeated for the same object.

Final optional argument NO-CURSOR-IN-ECHO-AREA non-nil says not to set
`cursor-in-echo-area' while prompting.

This function uses `query-replace-map' to define the standard responses,
but not all of the responses which `query-replace' understands
are meaningful here.

Returns the number of actions taken.Scus-start.elc
Smule.elc
Vmule-version
Version number and name of this version of MULE (multilingual environment).Vmule-version-date
Distribution date of this version of MULE (multilingual environment).Fdefine-charset
Define NAME (symbol) as a charset with DOCSTRING.
The remaining arguments must come in pairs ATTRIBUTE VALUE.  ATTRIBUTE
may be any symbol.  The following have special meanings, and one of
`:code-offset', `:map', `:subset', `:superset' must be specified.

`:short-name'

VALUE must be a short string to identify the charset.  If omitted,
NAME is used.

`:long-name'

VALUE must be a string longer than `:short-name' to identify the
charset.  If omitted, the value of the `:short-name' attribute is used.

`:dimension'

VALUE must be an integer 0, 1, 2, or 3, specifying the dimension of
code-points of the charsets.  If omitted, it is calculated from the
value of the `:code-space' attribute.

`:code-space'

VALUE must be a vector of length at most 8 specifying the byte code
range of each dimension in this format:
	[ MIN-1 MAX-1 MIN-2 MAX-2 ... ]
where MIN-N is the minimum byte value of Nth dimension of code-point,
MAX-N is the maximum byte value of that.

`:min-code'

VALUE must be an integer specifying the minimum code point of the
charset.  If omitted, it is calculated from `:code-space'.  VALUE may
be a cons (HIGH . LOW), where HIGH is the most significant 16 bits of
the code point and LOW is the least significant 16 bits.

`:max-code'

VALUE must be an integer specifying the maximum code point of the
charset.  If omitted, it is calculated from `:code-space'.  VALUE may
be a cons (HIGH . LOW), where HIGH is the most significant 16 bits of
the code point and LOW is the least significant 16 bits.

`:iso-final-char'

VALUE must be a character in the range 32 to 127 (inclusive)
specifying the final char of the charset for ISO-2022 encoding.  If
omitted, the charset can't be encoded by ISO-2022 based
coding-systems.

`:iso-revision-number'

VALUE must be an integer in the range 0..63, specifying the revision
number of the charset for ISO-2022 encoding.

`:emacs-mule-id'

VALUE must be an integer of 0, 129..255.  If omitted, the charset
can't be encoded by coding-systems of type `emacs-mule'.

`:ascii-compatible-p'

VALUE must be nil or t (default nil).  If VALUE is t, the charset is
compatible with ASCII, i.e. the first 128 code points map to ASCII.

`:supplementary-p'

VALUE must be nil or t.  If the VALUE is t, the charset is
supplementary, which means it is used only as a parent or a
subset of some other charset, or it is provided just for backward
compatibility.

`:invalid-code'

VALUE must be a nonnegative integer that can be used as an invalid
code point of the charset.  If the minimum code is 0 and the maximum
code is greater than Emacs's maximum integer value, `:invalid-code'
should not be omitted.

`:code-offset'

VALUE must be an integer added to the index number of a character to
get the corresponding character code.

`:map'

VALUE must be vector or string.

If it is a vector, the format is [ CODE-1 CHAR-1 CODE-2 CHAR-2 ... ],
where CODE-n is a code-point of the charset, and CHAR-n is the
corresponding character code.

If it is a string, it is a name of file that contains the above
information.   Each line of the file must be this format:
	0xXXX 0xYYY
where XXX is a hexadecimal representation of CODE-n and YYY is a
hexadecimal representation of CHAR-n.  A line starting with `#' is a
comment line.

`:subset'

VALUE must be a list:
	( PARENT MIN-CODE MAX-CODE OFFSET )
PARENT is a parent charset.  MIN-CODE and MAX-CODE specify the range
of characters inherited from the parent.  OFFSET is an integer value
to add to a code point of the parent charset to get the corresponding
code point of this charset.

`:superset'

VALUE must be a list of parent charsets.  The charset inherits
characters from them.  Each element of the list may be a cons (PARENT
. OFFSET), where PARENT is a parent charset, and OFFSET is an offset
value to add to a code point of PARENT to get the corresponding code
point of this charset.

`:unify-map'

VALUE must be vector or string.

If it is a vector, the format is [ CODE-1 CHAR-1 CODE-2 CHAR-2 ... ],
where CODE-n is a code-point of the charset, and CHAR-n is the
corresponding Unicode character code.

If it is a string, it is a name of file that contains the above
information.  The file format is the same as what described for `:map'
attribute.Fload-with-code-conversion
Execute a file of Lisp code named FILE whose absolute name is FULLNAME.
The file contents are decoded before evaluation if necessary.
If optional third arg NOERROR is non-nil,
 report no error if FILE doesn't exist.
Print messages at start and end of loading unless
 optional fourth arg NOMESSAGE is non-nil.
Return t if file exists.Fcharset-info
Return a vector of information of CHARSET.
This function is provided for backward compatibility.

The elements of the vector are:
	CHARSET-ID, BYTES, DIMENSION, CHARS, WIDTH, DIRECTION,
	LEADING-CODE-BASE, LEADING-CODE-EXT,
	ISO-FINAL-CHAR, ISO-GRAPHIC-PLANE,
	REVERSE-CHARSET, SHORT-NAME, LONG-NAME,	DESCRIPTION,
	PLIST.
where
CHARSET-ID is always 0.
BYTES is always 0.
DIMENSION is the number of bytes of a code-point of the charset:
  1, 2, 3, or 4.
CHARS is the number of characters in a dimension:
  94, 96, 128, or 256.
WIDTH is always 0.
DIRECTION is always 0.
LEADING-CODE-BASE is always 0.
LEADING-CODE-EXT is always 0.
ISO-FINAL-CHAR (character) is the final character of the
  corresponding ISO 2022 charset.  If the charset is not assigned
  any final character, the value is -1.
ISO-GRAPHIC-PLANE is always 0.
REVERSE-CHARSET is always -1.
SHORT-NAME (string) is the short name to refer to the charset.
LONG-NAME (string) is the long name to refer to the charset
DESCRIPTION (string) is the description string of the charset.
PLIST (property list) may contain any type of information a user
  want to put and get by functions `put-charset-property' and
  `get-charset-property' respectively.Fcharset-id
Always return 0.  This is provided for backward compatibility.Fcharset-bytes
Always return 0.  This is provided for backward compatibility.Fget-charset-property
Return the value of CHARSET's PROPNAME property.
This is the last value stored with
 (put-charset-property CHARSET PROPNAME VALUE).Fput-charset-property
Set CHARSETS's PROPNAME property to value VALUE.
It can be retrieved with `(get-charset-property CHARSET PROPNAME)'.Fcharset-description
Return description string of CHARSET.Fcharset-dimension
Return dimension of CHARSET.Fcharset-chars
Return number of characters contained in DIMENSION of CHARSET.
DIMENSION defaults to the first dimension.Fcharset-iso-final-char
Return ISO-2022 final character of CHARSET.
Return -1 if charset isn't an ISO 2022 one.Fcharset-short-name
Return short name of CHARSET.Fcharset-long-name
Return long name of CHARSET.Fcharset-list
Return list of all charsets ever defined.Fgeneric-char-p
Always return nil.  This is provided for backward compatibility.Vascii-case-table
Case table for the ASCII character set.Vcoding-system-iso-2022-flags
List of symbols that control ISO-2022 encoder/decoder.

The value of the `:flags' attribute in the argument of the function
`define-coding-system' must be one of them.

If `long-form' is specified, use a long designation sequence on
encoding for the charsets `japanese-jisx0208-1978', `chinese-gb2312',
and `japanese-jisx0208'.  The long designation sequence doesn't
conform to ISO 2022, but is used by such coding systems as
`compound-text'.

If `ascii-at-eol' is specified, designate ASCII to g0 at end of line
on encoding.

If `ascii-at-cntl' is specified, designate ASCII to g0 before control
codes and SPC on encoding.

If `7-bit' is specified, use 7-bit code only on encoding.

If `locking-shift' is specified, decode locking-shift code correctly
on decoding, and use locking-shift to invoke a graphic element on
encoding.

If `single-shift' is specified, decode single-shift code correctly on
decoding, and use single-shift to invoke a graphic element on encoding.

If `designation' is specified, decode designation code correctly on
decoding, and use designation to designate a charset to a graphic
element on encoding.

If `revision' is specified, produce an escape sequence to specify
revision number of a charset on encoding.  Such an escape sequence is
always correctly decoded on decoding.

If `direction' is specified, decode ISO6429's code for specifying
direction correctly, and produce the code on encoding.

If `init-at-bol' is specified, on encoding, it is assumed that
invocation and designation statuses are reset at each beginning of
line even if `ascii-at-eol' is not specified; thus no codes for
resetting them are produced.

If `safe' is specified, on encoding, characters not supported by a
coding are replaced with `?'.

If `latin-extra' is specified, the code-detection routine assumes that a
code specified in `latin-extra-code-table' (which see) is valid.

If `composition' is specified, an escape sequence to specify
composition sequence is correctly decoded on decoding, and is produced
on encoding.

If `euc-tw-shift' is specified, the EUC-TW specific shifting code is
correctly decoded on decoding, and is produced on encoding.

If `use-roman' is specified, JIS0201-1976-Roman is designated instead
of ASCII.

If `use-oldjis' is specified, JIS0208-1976 is designated instead of
JIS0208-1983.Fdefine-coding-system
Define NAME (a symbol) as a coding system with DOCSTRING and attributes.
The remaining arguments must come in pairs ATTRIBUTE VALUE.  ATTRIBUTE
may be any symbol.

The following attributes have special meanings.  Those labeled as
"(required)" should not be omitted.

`:mnemonic' (required)

VALUE is a character to display on mode line for the coding system.

`:coding-type' (required)

VALUE must be one of `charset', `utf-8', `utf-16', `iso-2022',
`emacs-mule', `shift-jis', `ccl', `raw-text', `undecided'.

`:eol-type'

VALUE is the EOL (end-of-line) format of the coding system.  It must be
one of `unix', `dos', `mac'.  The symbol `unix' means Unix-like EOL
(i.e. single LF), `dos' means DOS-like EOL (i.e. sequence of CR LF),
and `mac' means Mac-like EOL (i.e. single CR).  If omitted, Emacs
detects the EOL format automatically when decoding.

`:charset-list'

VALUE must be a list of charsets supported by the coding system.  On
encoding by the coding system, if a character belongs to multiple
charsets in the list, a charset that comes earlier in the list is
selected.  If `:coding-type' is `iso-2022', VALUE may be `iso-2022',
which indicates that the coding system supports all ISO-2022 based
charsets.  If `:coding-type' is `emacs-mule', VALUE may be
`emacs-mule', which indicates that the coding system supports all
charsets that have the `:emacs-mule-id' property.

`:ascii-compatible-p'

If VALUE is non-nil, the coding system decodes all 7-bit bytes into
the corresponding ASCII characters, and encodes all ASCII characters
back to the corresponding 7-bit bytes.  VALUE defaults to nil.

`:decode-translation-table'

VALUE must be a translation table to use on decoding.

`:encode-translation-table'

VALUE must be a translation table to use on encoding.

`:post-read-conversion'

VALUE must be a function to call after some text is inserted and
decoded by the coding system itself and before any functions in
`after-insert-functions' are called.  This function is passed one
argument; the number of characters in the text to convert, with
point at the start of the text.  The function should leave point
the same, and return the new character count.

`:pre-write-conversion'

VALUE must be a function to call after all functions in
`write-region-annotate-functions' and `buffer-file-format' are
called, and before the text is encoded by the coding system
itself.  This function should convert the whole text in the
current buffer.  For backward compatibility, this function is
passed two arguments which can be ignored.

`:default-char'

VALUE must be a character.  On encoding, a character not supported by
the coding system is replaced with VALUE.

`:for-unibyte'

VALUE non-nil means that visiting a file with the coding system
results in a unibyte buffer.

`:mime-charset'

VALUE must be a symbol whose name is that of a MIME charset converted
to lower case.

`:mime-text-unsuitable'

VALUE non-nil means the `:mime-charset' property names a charset which
is unsuitable for the top-level media type "text".

`:flags'

VALUE must be a list of symbols that control the ISO-2022 converter.
Each must be a member of the list `coding-system-iso-2022-flags'
(which see).  This attribute has a meaning only when `:coding-type'
is `iso-2022'.

`:designation'

VALUE must be a vector [G0-USAGE G1-USAGE G2-USAGE G3-USAGE].
GN-USAGE specifies the usage of graphic register GN as follows.

If it is nil, no charset can be designated to GN.

If it is a charset, the charset is initially designated to GN, and
never used by the other charsets.

If it is a list, the elements must be charsets, nil, 94, or 96.  GN
can be used by all the listed charsets.  If the list contains 94, any
iso-2022 charset whose code-space ranges are 94 long can be designated
to GN.  If the list contains 96, any charsets whose whose ranges are
96 long can be designated to GN.  If the first element is a charset,
that charset is initially designated to GN.

This attribute has a meaning only when `:coding-type' is `iso-2022'.

`:bom'

This attributes specifies whether the coding system uses a `byte order
mark'.  VALUE must be nil, t, or cons of coding systems whose
`:coding-type' is `utf-16' or `utf-8'.

If the value is nil, on decoding, don't treat the first two-byte as
BOM, and on encoding, don't produce BOM bytes.

If the value is t, on decoding, skip the first two-byte as BOM, and on
encoding, produce BOM bytes according to the value of `:endian'.

If the value is cons, on decoding, check the first two-byte.  If they
are 0xFE 0xFF, use the car part coding system of the value.  If they
are 0xFF 0xFE, use the cdr part coding system of the value.
Otherwise, treat them as bytes for a normal character.  On encoding,
produce BOM bytes according to the value of `:endian'.

This attribute has a meaning only when `:coding-type' is `utf-16' or
`utf-8'.

`:endian'

VALUE must be `big' or `little' specifying big-endian and
little-endian respectively.  The default value is `big'.

This attribute has a meaning only when `:coding-type' is `utf-16'.

`:ccl-decoder'

VALUE is a symbol representing the registered CCL program used for
decoding.  This attribute has a meaning only when `:coding-type' is
`ccl'.

`:ccl-encoder'

VALUE is a symbol representing the registered CCL program used for
encoding.  This attribute has a meaning only when `:coding-type' is
`ccl'.Fcoding-system-doc-string
Return the documentation string for CODING-SYSTEM.Fcoding-system-mnemonic
Return the mnemonic character of CODING-SYSTEM.
The mnemonic character of a coding system is used in mode line to
indicate the coding system.  If CODING-SYSTEM is nil, return ?=.Fcoding-system-type
Return the coding type of CODING-SYSTEM.
A coding type is a symbol indicating the encoding method of CODING-SYSTEM.
See the function `define-coding-system' for more detail.Fcoding-system-charset-list
Return list of charsets supported by CODING-SYSTEM.
If CODING-SYSTEM supports all ISO-2022 charsets, return `iso-2022'.
If CODING-SYSTEM supports all emacs-mule charsets, return `emacs-mule'.Fcoding-system-category
Return a category symbol of CODING-SYSTEM.Fcoding-system-get
Extract a value from CODING-SYSTEM's property list for property PROP.
For compatibility with Emacs 20/21, this accepts old-style symbols
like `mime-charset' as well as the current style like `:mime-charset'.Fcoding-system-eol-type-mnemonic
Return the string indicating end-of-line format of CODING-SYSTEM.Fcoding-system-equal
Return t if and only if CODING-SYSTEM-1 and CODING-SYSTEM-2 are identical.
Two coding systems are identical if both symbols are equal
or one is an alias of the other.Fadd-to-coding-system-list
Add CODING-SYSTEM to `coding-system-list' while keeping it sorted.Fcoding-system-list
Return a list of all existing non-subsidiary coding systems.
If optional arg BASE-ONLY is non-nil, only base coding systems are
listed.  The value doesn't include subsidiary coding systems which are
made from bases and aliases automatically for various end-of-line
formats (e.g. iso-latin-1-unix, koi8-r-dos).Vchar-coding-system-table
It exists just for backward compatibility, and the value is always nil.Ftransform-make-coding-system-args
For internal use only.
Transform XEmacs style args for `make-coding-system' to Emacs style.
Value is a list of transformed arguments.Fmake-coding-system
Define a new coding system CODING-SYSTEM (symbol).
This function is provided for backward compatibility.Fmerge-coding-systems
Fill in any unspecified aspects of coding system FIRST from SECOND.
Return the resulting coding system.Fautoload-coding-system
Define SYMBOL as a coding-system that is defined on demand.

FORM is a form to evaluate to define the coding-system.Vbuffer-file-coding-system-explicit
The file coding system explicitly specified for the current buffer.
The value is a cons of coding systems for reading (decoding) and
writing (encoding).
Internal use only.Fset-buffer-file-coding-system
Set the file coding-system of the current buffer to CODING-SYSTEM.
This means that when you save the buffer, it will be converted
according to CODING-SYSTEM.  For a list of possible values of
CODING-SYSTEM, use \[list-coding-systems].

If CODING-SYSTEM leaves the text conversion unspecified, or if it leaves
the end-of-line conversion unspecified, FORCE controls what to do.
If FORCE is nil, get the unspecified aspect (or aspects) from the buffer's
previous `buffer-file-coding-system' value (if it is specified there).
Otherwise, leave it unspecified.

This marks the buffer modified so that the succeeding \[save-buffer]
surely saves the buffer with CODING-SYSTEM.  From a program, if you
don't want to mark the buffer modified, specify t for NOMODIFY.
If you know exactly what coding system you want to use,
just set the variable `buffer-file-coding-system' directly.Frevert-buffer-with-coding-system
Visit the current buffer's file again using coding system CODING-SYSTEM.
For a list of possible values of CODING-SYSTEM, use \[list-coding-systems].

If CODING-SYSTEM leaves the text conversion unspecified, or if it leaves
the end-of-line conversion unspecified, FORCE controls what to do.
If FORCE is nil, get the unspecified aspect (or aspects) from the buffer's
previous `buffer-file-coding-system' value (if it is specified there).
Otherwise, determine it from the file contents as usual for visiting a file.Fset-file-name-coding-system
Set coding system for decoding and encoding file names to CODING-SYSTEM.
It actually just set the variable `file-name-coding-system' (which see)
to CODING-SYSTEM.Vdefault-terminal-coding-system
Default value for the terminal coding system.
This is normally set according to the selected language environment.
See also the command `set-terminal-coding-system'.Fset-terminal-coding-system
Set coding system of terminal output to CODING-SYSTEM.
All text output to TERMINAL will be encoded
with the specified coding system.

For a list of possible values of CODING-SYSTEM, use \[list-coding-systems].
The default is determined by the selected language environment
or by the previous use of this command.

TERMINAL may be a terminal object, a frame, or nil for the
selected frame's terminal.  The setting has no effect on
graphical terminals.Vdefault-keyboard-coding-system
Default value of the keyboard coding system.
This is normally set according to the selected language environment.
See also the command `set-keyboard-coding-system'.Fset-keyboard-coding-system
Set coding system for keyboard input on TERMINAL to CODING-SYSTEM.

For a list of possible values of CODING-SYSTEM, use \[list-coding-systems].
The default is determined by the selected language environment
or by the previous use of this command.

If CODING-SYSTEM is nil or the coding-type of CODING-SYSTEM is
`raw-text', the decoding of keyboard input is disabled.

TERMINAL may be a terminal object, a frame, or nil for the
selected frame's terminal.  The setting has no effect on
graphical terminals.Vkeyboard-coding-system
Specify coding system for keyboard input.
If you set this on a terminal which can't distinguish Meta keys from
8-bit characters, you will have to use ESC to type Meta characters.
See Info node `Terminal Coding' and Info node `Unibyte Mode'.

On non-windowing terminals, this is set from the locale by default.

Setting this variable directly does not take effect;
use either \[customize] or \[set-keyboard-coding-system].Fset-buffer-process-coding-system
Set coding systems for the process associated with the current buffer.
DECODING is the coding system to be used to decode input from the process,
ENCODING is the coding system to be used to encode output to the process.

For a list of possible coding systems, use \[list-coding-systems].Fset-selection-coding-system
Make CODING-SYSTEM used for communicating with other X clients.
When sending or receiving text via cut_buffer, selection, and clipboard,
the text is encoded or decoded by CODING-SYSTEM.Fset-next-selection-coding-system
Use CODING-SYSTEM for next communication with other window system clients.
This setting is effective for the next communication only.Fset-coding-priority
Set priority of coding categories according to ARG.
ARG is a list of coding categories ordered by priority.

This function is provided for backward compatibility.Vctext-non-standard-encodings-alist
Alist of non-standard encoding names vs the corresponding usages in CTEXT.

It controls how extended segments of a compound text are handled
by the coding system `compound-text-with-extensions'.

Each element has the form (ENCODING-NAME CODING-SYSTEM N-OCTET CHARSET).

ENCODING-NAME is an encoding name of an "extended segment".

CODING-SYSTEM is the coding-system to encode (or decode) the
characters into (or from) the extended segment.

N-OCTET is the number of octets (bytes) that encodes a character
in the segment.  It can be 0 (meaning the number of octets per
character is variable), 1, 2, 3, or 4.

CHARSET is a character set containing characters that are encoded
in the segment.  It can be a list of character sets.

On decoding CTEXT, all encoding names listed here are recognized.

On encoding CTEXT, encoding names in the variable
`ctext-non-standard-encodings' (which see) and in the information
listed for the current language environment under the key
`ctext-non-standard-encodings' are used.Vctext-non-standard-encodings
List of non-standard encoding names used in extended segments of CTEXT.
Each element must be one of the names listed in the variable
`ctext-non-standard-encodings-alist' (which see).Fctext-post-read-conversion
Decode LEN characters encoded as Compound Text with Extended Segments.Vctext-standard-encodings
List of approved standard encodings (i.e. charsets) of X's Compound Text.
Coding-system `compound-text-with-extensions' encodes a character
belonging to any of those charsets using the normal ISO2022
designation sequence unless the current language environment or
the variable `ctext-non-standard-encodings' decide to use an extended
segment of CTEXT for that character.  See also the documentation
of `ctext-non-standard-encodings-alist'.Fctext-pre-write-conversion
Encode characters between FROM and TO as Compound Text w/Extended Segments.

If FROM is a string, generate a new temp buffer, insert the text,
and convert it in the temporary buffer.  Otherwise, convert
in-place.Fauto-coding-regexp-alist-lookup
Lookup `auto-coding-regexp-alist' for the contents of the current buffer.
The value is a coding system is specified for the region FROM and TO,
or nil.Vauto-coding-functions
A list of functions which attempt to determine a coding system.

Each function in this list should be written to operate on the
current buffer, but should not modify it in any way.  The buffer
will contain undecoded text of parts of the file.  Each function
should take one argument, SIZE, which says how many characters
(starting from point) it should look at.

If one of these functions succeeds in determining a coding
system, it should return that coding system.  Otherwise, it
should return nil.

If a file has a `coding:' tag, that takes precedence over these
functions, so they won't be called at all.Vset-auto-coding-for-load
Non-nil means respect a "unibyte: t" entry in file local variables.
Emacs binds this variable to t when loading or byte-compiling Emacs Lisp
files.Fauto-coding-alist-lookup
Return the coding system specified by `auto-coding-alist' for FILENAME.Ffind-auto-coding
Find a coding system for a file FILENAME of which SIZE bytes follow point.
These bytes should include at least the first 1k of the file
and the last 3k of the file, but the middle may be omitted.

The function checks FILENAME against the variable `auto-coding-alist'.
If FILENAME doesn't match any entries in the variable, it checks the
contents of the current buffer following point against
`auto-coding-regexp-alist'.  If no match is found, it checks for a
`coding:' tag in the first one or two lines following point.  If no
`coding:' tag is found, it checks any local variables list in the last
3K bytes out of the SIZE bytes.  Finally, if none of these methods
succeed, it checks to see if any function in `auto-coding-functions'
gives a match.

If a coding system is specified, the return value is a cons
(CODING . SOURCE), where CODING is the specified coding system and
SOURCE is a symbol `auto-coding-alist', `auto-coding-regexp-alist',
`:coding', or `auto-coding-functions' indicating by what CODING is
specified.  Note that the validity of CODING is not checked;
it's the caller's responsibility to check it.

If nothing is specified, the return value is nil.Fset-auto-coding
Return coding system for a file FILENAME of which SIZE bytes follow point.
See `find-auto-coding' for how the coding system is found.
Return nil if an invalid coding system is found.

The variable `set-auto-coding-function' (which see) is set to this
function by default.Fafter-insert-file-set-coding
Set `buffer-file-coding-system' of current buffer after text is inserted.
INSERTED is the number of characters that were inserted, as figured
in the situation before this function.  Return the number of characters
inserted, as figured in the situation after.  The two numbers can be
different if the buffer has become unibyte.
The optional second arg VISIT non-nil means that we are visiting a file.Ffind-new-buffer-file-coding-system
Return a coding system for a buffer when a file of CODING is inserted.
The local variable `buffer-file-coding-system' of the current buffer
is set to the returned value.
Return nil if there's no need to set `buffer-file-coding-system'.Fmodify-coding-system-alist
Modify one of look up tables for finding a coding system on I/O operation.
There are three of such tables, `file-coding-system-alist',
`process-coding-system-alist', and `network-coding-system-alist'.

TARGET-TYPE specifies which of them to modify.
If it is `file', it affects `file-coding-system-alist' (which see).
If it is `process', it affects `process-coding-system-alist' (which see).
If it is `network', it affects `network-coding-system-alist' (which see).

REGEXP is a regular expression matching a target of I/O operation.
The target is a file name if TARGET-TYPE is `file', a program name if
TARGET-TYPE is `process', or a network service name or a port number
to connect to if TARGET-TYPE is `network'.

CODING-SYSTEM is a coding system to perform code conversion on the I/O
operation, or a cons cell (DECODING . ENCODING) specifying the coding
systems for decoding and encoding respectively, or a function symbol
which, when called, returns such a cons cell.Fdecode-coding-inserted-region
Decode the region between FROM and TO as if it is read from file FILENAME.
The idea is that the text between FROM and TO was just inserted somehow.
Optional arguments VISIT, BEG, END, and REPLACE are the same as those
of the function `insert-file-contents'.
Part of the job of this function is setting `buffer-undo-list' appropriately.Frecode-region
Re-decode the region (previously decoded by CODING) by NEW-CODING.Fmake-translation-table
Make a translation table from arguments.
A translation table is a char table intended for character
translation in CCL programs.

Each argument is a list of elements of the form (FROM . TO), where FROM
is a character to be translated to TO.

The arguments and forms in each argument are processed in the given
order, and if a previous form already translates TO to some other
character, say TO-ALT, FROM is also translated to TO-ALT.Fmake-translation-table-from-vector
Make translation table from decoding vector VEC.
VEC is an array of 256 elements to map unibyte codes to multibyte
characters.  Elements may be nil for undefined code points.Fmake-translation-table-from-alist
Make translation table from N<->M mapping in ALIST.
ALIST is an alist, each element has the form (FROM . TO).
FROM and TO are a character or a vector of characters.
If FROM is a character, that character is translated to TO.
If FROM is a vector of characters, that sequence is translated to TO.
The first extra-slot of the value is a translation table for reverse mapping.Fdefine-translation-table
Define SYMBOL as the name of translation table made by ARGS.
This sets up information so that the table can be used for
translations in a CCL program.

If the first element of ARGS is a char-table whose purpose is
`translation-table', just define SYMBOL to name it.  (Note that this
function does not bind SYMBOL.)

Any other ARGS should be suitable as arguments of the function
`make-translation-table' (which see).

This function sets properties `translation-table' and
`translation-table-id' of SYMBOL to the created table itself and the
identification number of the table respectively.  It also registers
the table in `translation-table-vector'.Ftranslate-region
From START to END, translate characters according to TABLE.
TABLE is a string or a char-table.
If TABLE is a string, the Nth character in it is the mapping
for the character with code N.
If TABLE is a char-table, the element for character N is the mapping
for the character with code N.
It returns the number of characters changed.Fwith-category-table
Execute BODY like `progn' with TABLE the current category table.
The category table of the current buffer is saved, BODY is evaluated,
then the saved table is restored, even in case of an abnormal exit.
Value is what BODY returns.Fdefine-translation-hash-table
Define SYMBOL as the name of the hash translation TABLE for use in CCL.

Analogous to `define-translation-table', but updates
`translation-hash-table-vector' and the table is for use in the CCL
`lookup-integer' and `lookup-character' functions.Fsgml-xml-auto-coding-function
Determine whether the buffer is XML, and if so, its encoding.
This function is intended to be added to `auto-coding-functions'.Fsgml-html-meta-auto-coding-function
If the buffer has an HTML meta tag, use it to determine encoding.
This function is intended to be added to `auto-coding-functions'.Fxml-find-file-coding-system
Determine the coding system of an XML file without a declaration.
Strictly speaking, the file should be utf-8, but mistakes are
made, and there are genuine cases where XML fragments are saved,
with the encoding properly specified in a master document, or
added by processing software.Smule-conf.elc
Senv.elc
Fread-envvar-name
Read environment variable name, prompting with PROMPT.
Optional second arg MUSTMATCH, if non-nil, means require existing envvar name.
If it is also not t, RET does not exit if it does non-null completion.Fsubstitute-env-vars
Substitute environment variables referred to in STRING.
`$FOO' where FOO is an environment variable name means to substitute
the value of that variable.  The variable name should be terminated
with a character not a letter, digit or underscore; otherwise, enclose
the entire variable name in braces.  For instance, in `ab$cd-x',
`$cd' is treated as an environment variable.

Use `$$' to insert a single dollar sign.Fsetenv-internal
Set VARIABLE to VALUE in ENV, adding empty entries if KEEP-EMPTY.
Changes ENV by side-effect, and returns its new value.Fsetenv
Set the value of the environment variable named VARIABLE to VALUE.
VARIABLE should be a string.  VALUE is optional; if not provided or
nil, the environment variable VARIABLE will be removed.

Interactively, a prefix argument means to unset the variable, and
otherwise the current value (if any) of the variable appears at
the front of the history list when you type in the new value.
This function always replaces environment variables in the new
value when called interactively.

SUBSTITUTE-ENV-VARS, if non-nil, means to substitute environment
variables in VALUE with `substitute-env-vars', which see.
This is normally used only for interactive calls.

The return value is the new value of VARIABLE, or nil if
it was removed from the environment.

This function works by modifying `process-environment'.

As a special case, setting variable `TZ' calls `set-time-zone-rule' as
a side-effect.Fgetenv
Get the value of environment variable VARIABLE.
VARIABLE should be a string.  Value is nil if VARIABLE is undefined in
the environment.  Otherwise, value is a string.

If optional parameter FRAME is non-nil, then it should be a
frame.  This function will look up VARIABLE in its 'environment
parameter.

Otherwise, this function searches `process-environment' for
VARIABLE.  If it is not found there, then it continues the search
in the environment list of the selected frame.Sformat.elc
Vformat-alist
List of information about understood file formats.
Elements are of the form
(NAME DOC-STR REGEXP FROM-FN TO-FN MODIFY MODE-FN PRESERVE).

NAME    is a symbol, which is stored in `buffer-file-format'.

DOC-STR should be a single line providing more information about the
        format.  It is currently unused, but in the future will be shown to
        the user if they ask for more information.

REGEXP  is a regular expression to match against the beginning of the file;
        it should match only files in that format.  REGEXP may be nil, in
        which case the format will never be applied automatically to a file.
        Use this for formats that you only ever want to apply manually.

FROM-FN is called to decode files in that format; it takes two args, BEGIN
        and END, and can make any modifications it likes, returning the new
        end.  It must make sure that the beginning of the file no longer
        matches REGEXP, or else it will get called again.
	Alternatively, FROM-FN can be a string, which specifies a shell command
	(including options) to be used as a filter to perform the conversion.

TO-FN   is called to encode a region into that format; it takes three
        arguments: BEGIN, END, and BUFFER.  BUFFER is the original buffer that
        the data being written came from, which the function could use, for
        example, to find the values of local variables.  TO-FN should either
        return a list of annotations like `write-region-annotate-functions',
        or modify the region and return the new end.
	Alternatively, TO-FN can be a string, which specifies a shell command
	(including options) to be used as a filter to perform the conversion.

MODIFY, if non-nil, means the TO-FN wants to modify the region.  If nil,
        TO-FN will not make any changes but will instead return a list of
        annotations.

MODE-FN, if specified, is called when visiting a file with that format.
         It is called with a single positive argument, on the assumption
         that this would turn on some minor mode.

PRESERVE, if non-nil, means that `format-write-file' should not remove
          this format from `buffer-file-format'.Fformat-encode-run-method
Translate using METHOD the text from FROM to TO.
If METHOD is a string, it is a shell command (including options);
otherwise, it should be a Lisp function.
BUFFER should be the buffer that the output originally came from.Fformat-decode-run-method
Decode using METHOD the text from FROM to TO.
If METHOD is a string, it is a shell command (including options); otherwise,
it should be a Lisp function.  BUFFER is currently ignored.Fformat-annotate-function
Return annotations for writing region as FORMAT.
FORMAT is a symbol naming one of the formats defined in `format-alist'.
It must be a single symbol, not a list like `buffer-file-format'.
FROM and TO delimit the region to be operated on in the current buffer.
ORIG-BUF is the original buffer that the data came from.

FORMAT-COUNT is an integer specifying how many times this function has
been called in the process of decoding ORIG-BUF.

This function works like a function in `write-region-annotate-functions':
it either returns a list of annotations, or returns with a different buffer
current, which contains the modified text to write.  In the latter case,
this function's value is nil.

For most purposes, consider using `format-encode-region' instead.Fformat-decode
Decode text from any known FORMAT.
FORMAT is a symbol appearing in `format-alist' or a list of such symbols,
or nil, in which case this function tries to guess the format of the data by
matching against the regular expressions in `format-alist'.  After a match is
found and the region decoded, the alist is searched again from the beginning
for another match.

Second arg LENGTH is the number of characters following point to operate on.
If optional third arg VISIT-FLAG is true, set `buffer-file-format'
to the reverted list of formats used, and call any mode functions defined
for those formats.

Return the new length of the decoded region.

For most purposes, consider using `format-decode-region' instead.Fformat-decode-buffer
Translate the buffer from some FORMAT.
If the format is not specified, attempt a regexp-based guess.
Set `buffer-file-format' to the format used, and call any
format-specific mode functions.Fformat-decode-region
Decode the region from some format.
Arg FORMAT is optional; if omitted the format will be determined by looking
for identifying regular expressions at the beginning of the region.Fformat-encode-buffer
Translate the buffer into FORMAT.
FORMAT defaults to `buffer-file-format'.  It is a symbol naming one of the
formats defined in `format-alist', or a list of such symbols.Fformat-encode-region
Translate the region into some FORMAT.
FORMAT defaults to `buffer-file-format'.  It is a symbol naming
one of the formats defined in `format-alist', or a list of such symbols.Fformat-write-file
Write current buffer into FILENAME, using a format based on FORMAT.
Constructs the actual format starting from FORMAT, then appending
any elements from the value of `buffer-file-format' with a non-nil
`preserve' flag (see the documentation of `format-alist'), if they
are not already present in FORMAT.  It then updates `buffer-file-format'
with this format, making it the default for future saves.

If the buffer is already visiting a file, you can specify a
directory name as FILENAME, to write a file of the same old name
in that directory.

If optional third arg CONFIRM is non-nil, asks for confirmation before
overwriting an existing file.  Interactively, requires confirmation
unless you supply a prefix argument.Fformat-find-file
Find the file FILENAME using data format FORMAT.
If FORMAT is nil then do not do any format conversion.Fformat-insert-file
Insert the contents of file FILENAME using data format FORMAT.
If FORMAT is nil then do not do any format conversion.
The optional third and fourth arguments BEG and END specify
the part (in bytes) of the file to read.

The return value is like the value of `insert-file-contents':
a list (ABSOLUTE-FILE-NAME SIZE).Fformat-read
Read and return the name of a format.
Return value is a list, like `buffer-file-format'; it may be nil.
Formats are defined in `format-alist'.  Optional arg is the PROMPT to use.Fformat-replace-strings
Do multiple replacements on the buffer.
ALIST is a list of (FROM . TO) pairs, which should be proper arguments to
`search-forward' and `replace-match', respectively.
Optional second arg REVERSE, if non-nil, means the pairs are (TO . FROM),
so that you can use the same list in both directions if it contains only
literal strings.
Optional args BEG and END specify a region of the buffer on which to operate.Fformat-delq-cons
Remove the given CONS from LIST by side effect and return the new LIST.
Since CONS could be the first element of LIST, write
`(setq foo (format-delq-cons element foo))' to be sure of changing
the value of `foo'.Fformat-make-relatively-unique
Delete common elements of lists A and B, return as pair.
Compare using `equal'.Fformat-proper-list-p
Return t if LIST is a proper list.
A proper list is a list ending with a nil cdr, not with an atom Fformat-reorder
Arrange ITEMS to follow partial ORDER.
Elements of ITEMS equal to elements of ORDER will be rearranged
to follow the ORDER.  Unmatched items will go last.Fformat-deannotate-region
Translate annotations in the region into text properties.
This sets text properties between FROM to TO as directed by the
TRANSLATIONS and NEXT-FN arguments.

NEXT-FN is a function that searches forward from point for an annotation.
It should return a list of 4 elements: (BEGIN END NAME POSITIVE).  BEGIN and
END are buffer positions bounding the annotation, NAME is the name searched
for in TRANSLATIONS, and POSITIVE should be non-nil if this annotation marks
the beginning of a region with some property, or nil if it ends the region.
NEXT-FN should return nil if there are no annotations after point.

The basic format of the TRANSLATIONS argument is described in the
documentation for the `format-annotate-region' function.  There are some
additional things to keep in mind for decoding, though:

When an annotation is found, the TRANSLATIONS list is searched for a
text-property name and value that corresponds to that annotation.  If the
text-property has several annotations associated with it, it will be used only
if the other annotations are also in effect at that point.  The first match
found whose annotations are all present is used.

The text property thus determined is set to the value over the region between
the opening and closing annotations.  However, if the text-property name has a
non-nil `format-list-valued' property, then the value will be consed onto the
surrounding value of the property, rather than replacing that value.

There are some special symbols that can be used in the "property" slot of
the TRANSLATIONS list: PARAMETER and FUNCTION (spelled in uppercase).
Annotations listed under the pseudo-property PARAMETER are considered to be
arguments of the immediately surrounding annotation; the text between the
opening and closing parameter annotations is deleted from the buffer but saved
as a string.

The surrounding annotation should be listed under the pseudo-property
FUNCTION.  Instead of inserting a text-property for this annotation,
the function listed in the VALUE slot is called to make whatever
changes are appropriate.  It can also return a list of the form
(START LOC PROP VALUE) which specifies a property to put on.  The
function's first two arguments are the START and END locations, and
the rest of the arguments are any PARAMETERs found in that region.

Any annotations that are found by NEXT-FN but not defined by TRANSLATIONS
are saved as values of the `unknown' text-property (which is list-valued).
The TRANSLATIONS list should usually contain an entry of the form
    (unknown (nil format-annotate-value))
to write these unknown annotations back into the file.Fformat-subtract-regions
Remove from the regions in MINUEND the regions in SUBTRAHEND.
A region is a dotted pair (FROM . TO).  Both parameters are lists of
regions.  Each list must contain nonoverlapping, noncontiguous
regions, in descending order.  The result is also nonoverlapping,
noncontiguous, and in descending order.  The first element of MINUEND
can have a cdr of nil, indicating that the end of that region is not
yet known.

(fn MINUEND SUBTRAHEND)Fformat-property-increment-region
In the region from FROM to TO increment property PROP by amount DELTA.
DELTA may be negative.  If property PROP is nil anywhere
in the region, it is treated as though it were DEFAULT.Fformat-insert-annotations
Apply list of annotations to buffer as `write-region' would.
Insert each element of the given LIST of buffer annotations at its
appropriate place.  Use second arg OFFSET if the annotations' locations are
not relative to the beginning of the buffer: annotations will be inserted
at their location-OFFSET+1 (ie, the offset is treated as the position of
the first character in the buffer).Fformat-annotate-value
Return OLD and NEW as a (CLOSE . OPEN) annotation pair.
Useful as a default function for TRANSLATIONS alist when the value of the text
property is the name of the annotation that you want to use, as it is for the
`unknown' text property.Fformat-annotate-region
Generate annotations for text properties in the region.
Search for changes between FROM and TO, and describe them with a list of
annotations as defined by alist TRANSLATIONS and FORMAT-FN.  IGNORE lists text
properties not to consider; any text properties that are neither ignored nor
listed in TRANSLATIONS are warned about.
If you actually want to modify the region, give the return value of this
function to `format-insert-annotations'.

Format of the TRANSLATIONS argument:

Each element is a list whose car is a PROPERTY, and the following
elements have the form (VALUE ANNOTATIONS...).
Whenever the property takes on the value VALUE, the annotations
(as formatted by FORMAT-FN) are inserted into the file.
When the property stops having that value, the matching negated annotation
will be inserted (it may actually be closed earlier and reopened, if
necessary, to keep proper nesting).

If VALUE is a list, then each element of the list is dealt with
separately.

If a VALUE is numeric, then it is assumed that there is a single annotation
and each occurrence of it increments the value of the property by that number.
Thus, given the entry (left-margin (4 "indent")), if the left margin
changes from 4 to 12, two <indent> annotations will be generated.

If the VALUE is nil, then instead of annotations, a function should be
specified.  This function is used as a default: it is called for all
transitions not explicitly listed in the table.  The function is called with
two arguments, the OLD and NEW values of the property.  It should return
a cons cell (CLOSE . OPEN) as `format-annotate-single-property-change' does.

The same TRANSLATIONS structure can be used in reverse for reading files.Fformat-annotate-location
Return annotation(s) needed at location LOC.
This includes any properties that change between LOC - 1 and LOC.
If ALL is true, don't look at previous location, but generate annotations for
all non-nil properties.
Third argument IGNORE is a list of text-properties not to consider.
Use the TRANSLATIONS alist (see `format-annotate-region' for doc).

Return value is a vector of 3 elements:
1. List of annotations to close
2. List of annotations to open.
3. List of properties that were ignored or couldn't be annotated.

The annotations in lists 1 and 2 need not be strings.
They can be whatever the FORMAT-FN in `format-annotate-region'
can handle.  If that is `enriched-make-annotation', they can be
either strings, or lists of the form (PARAMETER VALUE).Fformat-annotate-single-property-change
Return annotations for property PROP changing from OLD to NEW.
These are searched for in the translations alist TRANSLATIONS
 (see `format-annotate-region' for the format).
If NEW does not appear in the list, but there is a default function,
then call that function.
Return a cons of the form (CLOSE . OPEN)
where CLOSE is a list of annotations to close
and OPEN is a list of annotations to open.

The annotations in CLOSE and OPEN need not be strings.
They can be whatever the FORMAT-FN in `format-annotate-region'
can handle.  If that is `enriched-make-annotation', they can be
either strings, or lists of the form (PARAMETER VALUE).Fformat-annotate-atomic-property-change
Internal function to annotate a single property change.
PROP-ALIST is the relevant element of a TRANSLATIONS list.
OLD and NEW are the values.Sbindings.elc
Fmake-mode-line-mouse-map
Return a keymap with single entry for mouse key MOUSE on the mode line.
MOUSE is defined to run function FUNCTION with no args in the buffer
corresponding to the mode line clicked.Fmode-line-toggle-read-only
Like `toggle-read-only', for the mode-line.Fmode-line-toggle-modified
Toggle the buffer-modified flag from the mode-line.Fmode-line-widen
Widen a buffer from the mode-line.Vmode-line-coding-system-map
Local keymap for the coding-system part of the mode line.Fmode-line-change-eol
Cycle through the various possible kinds of end-of-line styles.Vmode-line-default-help-echo
Default help text for the mode line.
If the value is a string, it specifies the tooltip or echo area
message to display when the mouse is moved over the mode line.
If the text at the mouse position has a `help-echo' text
property, that overrides this variable.Vmode-line-front-space
Mode line construct to put at the front of the mode line.
By default, this construct is displayed right at the beginning of
the mode line, except that if there is a memory-full message, it
is displayed first.Fmode-line-mule-info-help-echo
Return help text specifying WINDOW's buffer coding system.Vmode-line-mule-info
Mode line construct to report the multilingual environment.
Normally it displays current input method (if any activated) and
mnemonics of the following coding systems:
  coding system for saving or writing the current buffer
  coding system for keyboard input (on a text terminal)
  coding system for terminal output (on a text terminal)Vmode-line-client
Mode line construct for identifying emacsclient frames.Fmode-line-read-only-help-echo
Return help text specifying WINDOW's buffer read-only status.Fmode-line-modified-help-echo
Return help text specifying WINDOW's buffer modification status.Vmode-line-modified
Mode line construct for displaying whether current buffer is modified.Vmode-line-remote
Mode line construct to indicate a remote buffer.Fmode-line-frame-control
Compute mode line construct for frame identification.
Value is used for `mode-line-frame-identification', which see.Vmode-line-frame-identification
Mode line construct to describe the current frame.Vmode-line-process
Mode line construct for displaying info on process status.
Normally nil in most modes, since there is no process to display.Fbindings--define-key
Make as much as possible of the menus pure.Vmode-line-mode-menu
Menu of mode operations in the mode line.Vmode-line-major-mode-keymap
Keymap to display on major mode.Vmode-line-minor-mode-keymap
Keymap to display on minor modes.Vmode-line-modes
Mode line construct for displaying major and minor modes.Vmode-line-column-line-number-mode-map
Keymap to display on column and line numbers.Vmode-line-position
Mode line construct for displaying the position in the buffer.
Normally displays the buffer percentage and, optionally, the
buffer size, the line number and the column number.Vmode-line-buffer-identification-keymap
Keymap for what is displayed by `mode-line-buffer-identification'.Fpropertized-buffer-identification
Return a list suitable for `mode-line-buffer-identification'.
FMT is a format specifier such as "%12b".  This function adds
text properties for face, help-echo, and local-map to it.Vmode-line-buffer-identification
Mode line construct for identifying the buffer being displayed.
Its default value is ("%12b") with some text properties added.
Major modes that edit things other than ordinary files may change this
(e.g. Info, Dired,...)Vmode-line-misc-info
Mode line construct for miscellaneous information.
By default, this shows the information specified by
`which-func-mode' and `global-mode-string'.Vmode-line-end-spaces
Mode line construct to put at the end of the mode line.Fmode-line-unbury-buffer
Call `unbury-buffer' in this window.Fmode-line-bury-buffer
Like `bury-buffer', but temporarily select EVENT's window.Fmode-line-other-buffer
Switch to the most recently selected buffer other than the current one.Fmode-line-next-buffer
Like `next-buffer', but temporarily select EVENT's window.Fmode-line-previous-buffer
Like `previous-buffer', but temporarily select EVENT's window.Fbound-and-true-p
Return the value of symbol VAR if it is bound, else nil.Fmode-line-minor-mode-help
Describe minor mode for EVENT on minor modes area of the mode line.Vminor-mode-alist
Alist saying how to show minor modes in the mode line.
Each element looks like (VARIABLE STRING);
STRING is included in the mode line if VARIABLE's value is non-nil.

Actually, STRING need not be a string; any mode-line construct is
okay.  See `mode-line-format'.Fcomplete-symbol
Perform completion on the text around point.
The completion method is determined by `completion-at-point-functions'.

With a prefix argument, this command does completion within
the collection of symbols listed in the index of the manual for the
language you are using.Fright-char
Move point N characters to the right (to the left if N is negative).
On reaching beginning or end of buffer, stop and signal error.

Depending on the bidirectional context, this may move either forward
or backward in the buffer.  This is in contrast with \[forward-char]
and \[backward-char], which see.Fleft-char
Move point N characters to the left (to the right if N is negative).
On reaching beginning or end of buffer, stop and signal error.

Depending on the bidirectional context, this may move either backward
or forward in the buffer.  This is in contrast with \[backward-char]
and \[forward-char], which see.Fright-word
Move point N words to the right (to the left if N is negative).

Depending on the bidirectional context, this may move either forward
or backward in the buffer.  This is in contrast with \[forward-word]
and \[backward-word], which see.

Value is normally t.
If an edge of the buffer or a field boundary is reached, point is left there
there and the function returns nil.  Field boundaries are not noticed
if `inhibit-field-text-motion' is non-nil.Fleft-word
Move point N words to the left (to the right if N is negative).

Depending on the bidirectional context, this may move either backward
or forward in the buffer.  This is in contrast with \[backward-word]
and \[forward-word], which see.

Value is normally t.
If an edge of the buffer or a field boundary is reached, point is left there
there and the function returns nil.  Field boundaries are not noticed
if `inhibit-field-text-motion' is non-nil.Vnarrow-map
Keymap for narrowing commands.Vgoto-map
Keymap for navigation commands.Vsearch-map
Keymap for search related commands.Vmode-specific-map
Keymap for characters following C-c.Vctl-x-r-map
Keymap for subcommands of C-x r.Vabbrev-map
Keymap for abbrev commands.Sfiles.elc
Vbackup-inhibited
Non-nil means don't make a backup, regardless of the other parameters.
This variable is intended for use by making it local to a buffer.
But it is local only if you make it local.Vbackup-enable-predicate
Predicate that looks at a file name and decides whether to make backups.
Called with an absolute file name as argument, it returns t to enable backup.Vbuffer-file-number
The device number and file number of the file visited in the current buffer.
The value is a list of the form (FILENUM DEVNUM).
This pair of numbers uniquely identifies the file.
If the buffer is visiting a new file, the value is nil.Vbuffer-file-numbers-unique
Non-nil means that `buffer-file-number' uniquely identifies files.Vbuffer-file-read-only
Non-nil if visited file was read-only when visited.Vnull-device
The system null device.Vfile-name-invalid-regexp
Regexp recognizing file names which aren't allowed by the filesystem.Vfind-file-not-found-functions
List of functions to be called for `find-file' on nonexistent file.
These functions are called as soon as the error is detected.
Variable `buffer-file-name' is already set up.
The functions are called in the order given until one of them returns non-nil.Vwrite-file-functions
List of functions to be called before writing out a buffer to a file.
If one of them returns non-nil, the file is considered already written
and the rest are not called.
These hooks are considered to pertain to the visited file.
So any buffer-local binding of this variable is discarded if you change
the visited file name with \[set-visited-file-name], but not when you
change the major mode.

This hook is not run if any of the functions in
`write-contents-functions' returns non-nil.  Both hooks pertain
to how to save a buffer to file, for instance, choosing a suitable
coding system and setting mode bits.  (See Info
node `(elisp)Saving Buffers'.)  To perform various checks or
updates before the buffer is saved, use `before-save-hook'.Vwrite-contents-functions
List of functions to be called before writing out a buffer to a file.
If one of them returns non-nil, the file is considered already written
and the rest are not called and neither are the functions in
`write-file-functions'.

This variable is meant to be used for hooks that pertain to the
buffer's contents, not to the particular visited file; thus,
`set-visited-file-name' does not clear this variable; but changing the
major mode does clear it.

For hooks that _do_ pertain to the particular visited file, use
`write-file-functions'.  Both this variable and
`write-file-functions' relate to how a buffer is saved to file.
To perform various checks or updates before the buffer is saved,
use `before-save-hook'.Vlocal-enable-local-variables
Like `enable-local-variables' but meant for buffer-local bindings.
The meaningful values are nil and non-nil.  The default is non-nil.
If a major mode sets this to nil, buffer-locally, then any local
variables list in a file visited in that mode will be ignored.

This variable does not affect the use of major modes specified
in a -*- line.Vfile-name-history
History list of file names entered in the minibuffer.

Maximum length of the history list is determined by the value
of `history-length', which see.Fange-ftp-completion-hook-function
Provides support for ange-ftp host name completion.
Runs the usual ange-ftp hook, but only for completion operations.Fconvert-standard-filename
Convert a standard file's name to something suitable for the OS.
This means to guarantee valid names and perhaps to canonicalize
certain patterns.

FILENAME should be an absolute file name since the conversion rules
sometimes vary depending on the position in the file name.  E.g. c:/foo
is a valid DOS file name, but c:/bar/c:/foo is not.

This function's standard definition is trivial; it just returns
the argument.  However, on Windows and DOS, replace invalid
characters.  On DOS, make sure to obey the 8.3 limitations.
In the native Windows build, turn Cygwin names into native names,
and also turn slashes into backslashes if the shell requires it (see
`w32-shell-dos-semantics').

See Info node `(elisp)Standard File Names' for more details.Fread-directory-name
Read directory name, prompting with PROMPT and completing in directory DIR.
Value is not expanded---you must call `expand-file-name' yourself.
Default name to DEFAULT-DIRNAME if user exits with the same
non-empty string that was inserted by this function.
 (If DEFAULT-DIRNAME is omitted, DIR combined with INITIAL is used,
  or just DIR if INITIAL is nil.)
If the user exits with an empty minibuffer, this function returns
an empty string.  (This can only happen if the user erased the
pre-inserted contents or if `insert-default-directory' is nil.)
Fourth arg MUSTMATCH non-nil means require existing directory's name.
 Non-nil and non-t means also require confirmation after completion.
Fifth arg INITIAL specifies text to start with.
DIR should be an absolute directory name.  It defaults to
the value of `default-directory'.Fpwd
Show the current default directory.Vcd-path
Value of the CDPATH environment variable, as a list.
Not actually set up until the first time you use it.Fparse-colon-path
Explode a search path into a list of directory names.
Directories are separated by `path-separator' (which is colon in
GNU and Unix systems).  Substitute environment variables into the
resulting list of directory names.  For an empty path element (i.e.,
a leading or trailing separator, or two adjacent separators), return
nil (meaning `default-directory') as the associated list element.Fcd-absolute
Change current directory to given absolute file name DIR.Fcd
Make DIR become the current buffer's default directory.
If your environment includes a `CDPATH' variable, try each one of
that list of directories (separated by occurrences of
`path-separator') when resolving a relative directory name.
The path separator is colon in GNU and GNU-like systems.Fload-file
Load the Lisp file named FILE.Flocate-file
Search for FILENAME through PATH.
If found, return the absolute file name of FILENAME, with its suffixes;
otherwise return nil.
PATH should be a list of directories to look in, like the lists in
`exec-path' or `load-path'.
If SUFFIXES is non-nil, it should be a list of suffixes to append to
file name when searching.  If SUFFIXES is nil, it is equivalent to '("").
Use '("/") to disable PATH search, but still try the suffixes in SUFFIXES.
If non-nil, PREDICATE is used instead of `file-readable-p'.

This function will normally skip directories, so if you want it to find
directories, make sure the PREDICATE function returns `dir-ok' for them.

PREDICATE can also be an integer to pass to the `access' system call,
in which case file-name handlers are ignored.  This usage is deprecated.
For compatibility, PREDICATE can also be one of the symbols
`executable', `readable', `writable', or `exists', or a list of
one or more of those symbols.Flocate-file-completion-table
Do completion for file names passed to `locate-file'.Flocate-file-completion
Do completion for file names passed to `locate-file'.
PATH-AND-SUFFIXES is a pair of lists, (DIRECTORIES . SUFFIXES).Vlocate-dominating-stop-dir-regexp
Regexp of directory names which stop the search in `locate-dominating-file'.
Any directory whose name matches this regexp will be treated like
a kind of root directory by `locate-dominating-file' which will stop its search
when it bumps into it.
The default regexp prevents fruitless and time-consuming attempts to find
special files in directories in which filenames are interpreted as hostnames,
or mount points potentially requiring authentication as a different user.Flocate-dominating-file
Look up the directory hierarchy from FILE for a directory containing NAME.
Stop at the first parent directory containing a file NAME,
and return the directory.  Return nil if not found.
Instead of a string, NAME can also be a predicate taking one argument
(a directory) and returning a non-nil value if that directory is the one for
which we're looking.Fexecutable-find
Search for COMMAND in `exec-path' and return the absolute file name.
Return nil if COMMAND is not found anywhere in `exec-path'.Fload-library
Load the Emacs Lisp library named LIBRARY.
This is an interface to the function `load'.  LIBRARY is searched
for in `load-path', both with and without `load-suffixes' (as
well as `load-file-rep-suffixes').

See Info node `(emacs)Lisp Libraries' for more details.
See `load-file' for a different interface to `load'.Ffile-remote-p
Test whether FILE specifies a location on a remote system.
A file is considered remote if accessing it is likely to
be slower or less reliable than accessing local files.

`file-remote-p' never opens a new remote connection.  It can
only reuse a connection that is already open.

Return nil or a string identifying the remote connection
(ideally a prefix of FILE).  Return nil if FILE is a relative
file name.

When IDENTIFICATION is nil, the returned string is a complete
remote identifier: with components method, user, and host.  The
components are those present in FILE, with defaults filled in for
any that are missing.

IDENTIFICATION can specify which part of the identification to
return.  IDENTIFICATION can be the symbol `method', `user',
`host', or `localname'.  Any other value is handled like nil and
means to return the complete identification.  The string returned
for IDENTIFICATION `localname' can differ depending on whether
there is an existing connection.

If CONNECTED is non-nil, return an identification only if FILE is
located on a remote system and a connection is established to
that remote system.

Tip: You can use this expansion of remote identifier components
     to derive a new remote file name from an existing one.  For
     example, if FILE is "/sudo::/path/to/file" then

       (concat (file-remote-p FILE) "/bin/sh")

     returns a remote file name for file "/bin/sh" that has the
     same remote identifier as FILE but expanded; a name such as
     "/sudo:root@myhost:/bin/sh".Ffile-local-copy
Copy the file FILE into a temporary file on this machine.
Returns the name of the local copy, or nil, if FILE is directly
accessible.Ffile-truename
Return the truename of FILENAME.
If FILENAME is not absolute, first expands it against `default-directory'.
The truename of a file name is found by chasing symbolic links
both at the level of the file and at the level of the directories
containing it, until no links are left at any level.

(fn FILENAME)Ffile-chase-links
Chase links in FILENAME until a name that is not a link.
Unlike `file-truename', this does not check whether a parent
directory name is a symbolic link.
If the optional argument LIMIT is a number,
it means chase no more than that many links and then stop.Ffile-size-human-readable
Produce a string showing FILE-SIZE in human-readable form.

Optional second argument FLAVOR controls the units and the display format:

 If FLAVOR is nil or omitted, each kilobyte is 1024 bytes and the produced
    suffixes are "k", "M", "G", "T", etc.
 If FLAVOR is `si', each kilobyte is 1000 bytes and the produced suffixes
    are "k", "M", "G", "T", etc.
 If FLAVOR is `iec', each kilobyte is 1024 bytes and the produced suffixes
    are "KiB", "MiB", "GiB", "TiB", etc.Fmake-temp-file
Create a temporary file.
The returned file name (created by appending some random characters at the end
of PREFIX, and expanding against `temporary-file-directory' if necessary),
is guaranteed to point to a newly created empty file.
You can then use `write-region' to write new data into the file.

If DIR-FLAG is non-nil, create a new empty directory instead of a file.

If SUFFIX is non-nil, add that at the end of the file name.Frecode-file-name
Change the encoding of FILE's name from CODING to NEW-CODING.
The value is a new name of FILE.
Signals a `file-already-exists' error if a file of the new name
already exists unless optional fourth argument OK-IF-ALREADY-EXISTS
is non-nil.  A number as fourth arg means request confirmation if
the new name already exists.  This is what happens in interactive
use with M-x.Vconfirm-nonexistent-file-or-buffer
Whether confirmation is requested before visiting a new file or buffer.
If nil, confirmation is not requested.
If the value is `after-completion', confirmation is only
 requested if the user called `minibuffer-complete' right before
 `minibuffer-complete-and-exit'.
Any other non-nil value means to request confirmation.

This affects commands like `switch-to-buffer' and `find-file'.Fconfirm-nonexistent-file-or-buffer
Whether to request confirmation before visiting a new file or buffer.
The variable `confirm-nonexistent-file-or-buffer' determines the
return value, which may be passed as the REQUIRE-MATCH arg to
`read-buffer' or `find-file-read-args'.Fminibuffer-with-setup-hook
Temporarily add FUN to `minibuffer-setup-hook' while executing BODY.
BODY should use the minibuffer at most once.
Recursive uses of the minibuffer are unaffected (FUN is not
called additional times).

This macro actually adds an auxiliary function that calls FUN,
rather than FUN itself, to `minibuffer-setup-hook'.Ffind-file
Edit file FILENAME.
Switch to a buffer visiting file FILENAME,
creating one if none already exists.
Interactively, the default if you just type RET is the current directory,
but the visited file name is available through the minibuffer history:
type M-n to pull it into the minibuffer.

You can visit files on remote machines by specifying something
like /ssh:SOME_REMOTE_MACHINE:FILE for the file name.  You can
also visit local files as a different user by specifying
/sudo::FILE for the file name.
See the Info node `(tramp)Filename Syntax' in the Tramp Info
manual, for more about this.

Interactively, or if WILDCARDS is non-nil in a call from Lisp,
expand wildcards (if any) and visit multiple files.  You can
suppress wildcard expansion by setting `find-file-wildcards' to nil.

To visit a file without any kind of conversion and without
automatically choosing a major mode, use \[find-file-literally].Ffind-file-other-window
Edit file FILENAME, in another window.

Like \[find-file] (which see), but creates a new window or reuses
an existing one.  See the function `display-buffer'.

Interactively, the default if you just type RET is the current directory,
but the visited file name is available through the minibuffer history:
type M-n to pull it into the minibuffer.

Interactively, or if WILDCARDS is non-nil in a call from Lisp,
expand wildcards (if any) and visit multiple files.Ffind-file-other-frame
Edit file FILENAME, in another frame.

Like \[find-file] (which see), but creates a new frame or reuses
an existing one.  See the function `display-buffer'.

Interactively, the default if you just type RET is the current directory,
but the visited file name is available through the minibuffer history:
type M-n to pull it into the minibuffer.

Interactively, or if WILDCARDS is non-nil in a call from Lisp,
expand wildcards (if any) and visit multiple files.Ffind-file-existing
Edit the existing file FILENAME.
Like \[find-file], but only allow a file that exists, and do not allow
file names with wildcards.Ffind-file-read-only
Edit file FILENAME but don't allow changes.
Like \[find-file], but marks buffer as read-only.
Use \[toggle-read-only] to permit editing.Ffind-file-read-only-other-window
Edit file FILENAME in another window but don't allow changes.
Like \[find-file-other-window], but marks buffer as read-only.
Use \[toggle-read-only] to permit editing.Ffind-file-read-only-other-frame
Edit file FILENAME in another frame but don't allow changes.
Like \[find-file-other-frame], but marks buffer as read-only.
Use \[toggle-read-only] to permit editing.Ffind-alternate-file-other-window
Find file FILENAME as a replacement for the file in the next window.
This command does not select that window.

See \[find-file] for the possible forms of the FILENAME argument.

Interactively, or if WILDCARDS is non-nil in a call from Lisp,
expand wildcards (if any) and replace the file with multiple files.Vkill-buffer-hook
Hook run when a buffer is killed.
The buffer being killed is current while the hook is running.
See `kill-buffer'.Ffind-alternate-file
Find file FILENAME, select its buffer, kill previous buffer.
If the current buffer now contains an empty file that you just visited
(presumably by mistake), use this command to visit the file you really want.

See \[find-file] for the possible forms of the FILENAME argument.

Interactively, or if WILDCARDS is non-nil in a call from Lisp,
expand wildcards (if any) and replace the file with multiple files.

If the current buffer is an indirect buffer, or the base buffer
for one or more indirect buffers, the other buffer(s) are not
killed.Fcreate-file-buffer
Create a suitably named buffer for visiting FILENAME, and return it.
FILENAME (sans directory) is used unchanged if that name is free;
otherwise a string <2> or <3> or ... is appended to get an unused name.
Spaces at the start of FILENAME (sans directory) are removed.Fgenerate-new-buffer
Create and return a buffer with a name based on NAME.
Choose the buffer's name using `generate-new-buffer-name'.Vabbreviated-home-dir
The user's homedir abbreviated according to `directory-abbrev-alist'.Fabbreviate-file-name
Return a version of FILENAME shortened using `directory-abbrev-alist'.
This also substitutes "~" for the user's home directory (unless the
home directory is a root directory) and removes automounter prefixes
(see the variable `automount-dir-prefix').Ffind-buffer-visiting
Return the buffer visiting file FILENAME (a string).
This is like `get-file-buffer', except that it checks for any buffer
visiting the same file, possibly under a different name.
If PREDICATE is non-nil, only buffers satisfying it are eligible,
and others are ignored.
If there is no such live buffer, return nil.Fabort-if-file-too-large
If file SIZE larger than `large-file-warning-threshold', allow user to abort.
OP-TYPE specifies the file operation being performed (for message to user).Ffind-file-noselect
Read file FILENAME into a buffer and return the buffer.
If a buffer exists visiting FILENAME, return that one, but
verify that the file has not changed since visited or saved.
The buffer is not selected, just returned to the caller.
Optional second arg NOWARN non-nil means suppress any warning messages.
Optional third arg RAWFILE non-nil means the file is read literally.
Optional fourth arg WILDCARDS non-nil means do wildcard processing
and visit all the matching files.  When wildcards are actually
used and expanded, return a list of buffers that are visiting
the various files.Finsert-file-contents-literally
Like `insert-file-contents', but only reads in the file literally.
A buffer may be modified in several ways after reading into the buffer,
to Emacs features such as format decoding, character code
conversion, `find-file-hook', automatic uncompression, etc.

This function ensures that none of these modifications will take place.Finsert-file-literally
Insert contents of file FILENAME into buffer after point with no conversion.

This function is meant for the user to run interactively.
Don't call it from programs!  Use `insert-file-contents-literally' instead.
(Its calling sequence is different; see its documentation).Vfind-file-literally
Non-nil if this buffer was made by `find-file-literally' or equivalent.
This has the `permanent-local' property, which takes effect if you
make the variable buffer-local.Ffind-file-literally
Visit file FILENAME with no conversion of any kind.
Format conversion and character code conversion are both disabled,
and multibyte characters are disabled in the resulting buffer.
The major mode used is Fundamental mode regardless of the file name,
and local variable specifications in the file are ignored.
Automatic uncompression and adding a newline at the end of the
file due to `require-final-newline' is also disabled.

You cannot absolutely rely on this function to result in
visiting the file literally.  If Emacs already has a buffer
which is visiting the file, you get the existing buffer,
regardless of whether it was created literally or not.

In a Lisp program, if you want to be sure of accessing a file's
contents literally, you should create a temporary buffer and then read
the file contents into it using `insert-file-contents-literally'.Fafter-find-file
Called after finding a file and by the default revert function.
Sets buffer mode, parses local variables.
Optional args ERROR, WARN, and NOAUTO: ERROR non-nil means there was an
error in reading the file.  WARN non-nil means warn if there
exists an auto-save file more recent than the visited file.
NOAUTO means don't mess with auto-save mode.
Fourth arg AFTER-FIND-FILE-FROM-REVERT-BUFFER is ignored
(see `revert-buffer-in-progress-p' for similar functionality).
Fifth arg NOMODES non-nil means don't alter the file's modes.
Finishes by calling the functions in `find-file-hook'
unless NOMODES is non-nil.Freport-errors
Eval BODY and turn any error into a FORMAT message.
FORMAT can have a %s escape which will be replaced with the actual error.
If `debug-on-error' is set, errors are not caught, so that you can
debug them.
Avoid using a large BODY since it is duplicated.Fnormal-mode
Choose the major mode for this buffer automatically.
Also sets up any specified local variables of the file.
Uses the visited file name, the -*- line, and the local variables spec.

This function is called automatically from `find-file'.  In that case,
we may set up the file-specified mode and local variables,
depending on the value of `enable-local-variables'.
In addition, if `local-enable-local-variables' is nil, we do
not set local variables (though we do notice a mode specified with -*-.)

`enable-local-variables' is ignored if you run `normal-mode' interactively,
or from Lisp without specifying the optional argument FIND-FILE;
in that case, this function acts as if `enable-local-variables' were t.Vauto-mode-case-fold
Non-nil means to try second pass through `auto-mode-alist'.
This means that if the first case-sensitive search through the alist fails
to find a matching major mode, a second case-insensitive search is made.
On systems with case-insensitive file names, this variable is ignored,
since only a single case-insensitive search through the alist is made.Vauto-mode-alist
Alist of filename patterns vs corresponding major mode functions.
Each element looks like (REGEXP . FUNCTION) or (REGEXP FUNCTION NON-NIL).
(NON-NIL stands for anything that is not nil; the value does not matter.)
Visiting a file whose name matches REGEXP specifies FUNCTION as the
mode function to use.  FUNCTION will be called, unless it is nil.

If the element has the form (REGEXP FUNCTION NON-NIL), then after
calling FUNCTION (if it's not nil), we delete the suffix that matched
REGEXP and search the list again for another match.

The extensions whose FUNCTION is `archive-mode' should also
appear in `auto-coding-alist' with `no-conversion' coding system.

See also `interpreter-mode-alist', which detects executable script modes
based on the interpreters they specify to run,
and `magic-mode-alist', which determines modes based on file contents.Fconf-mode-maybe
Select Conf mode or XML mode according to start of file.Vinterpreter-mode-alist
Alist mapping interpreter names to major modes.
This is used for files whose first lines match `auto-mode-interpreter-regexp'.
Each element looks like (INTERPRETER . MODE).
If INTERPRETER matches the name of the interpreter specified in the first line
of a script, mode MODE is enabled.

See also `auto-mode-alist'.Vinhibit-local-variables-regexps
List of regexps matching file names in which to ignore local variables.
This includes `-*-' lines as well as trailing "Local Variables" sections.
Files matching this list are typically binary file formats.
They may happen to contain sequences that look like local variable
specifications, but are not really, or they may be containers for
member files with their own local variable sections, which are
not appropriate for the containing file.
See also `inhibit-local-variables-suffixes'.Vinhibit-local-variables-suffixes
List of regexps matching suffixes to remove from file names.
When checking `inhibit-local-variables-regexps', we first discard
from the end of the file name anything that matches one of these regexps.Finhibit-local-variables-p
Return non-nil if file local variables should be ignored.
This checks the file (or buffer) name against `inhibit-local-variables-regexps'
and `inhibit-local-variables-suffixes'.Vauto-mode-interpreter-regexp
Regexp matching interpreters, for file mode determination.
This regular expression is matched against the first line of a file
to determine the file's mode in `set-auto-mode'.  If it matches, the file
is assumed to be interpreted by the interpreter matched by the second group
of the regular expression.  The mode is then determined as the mode
associated with that interpreter in `interpreter-mode-alist'.Vmagic-mode-alist
Alist of buffer beginnings vs. corresponding major mode functions.
Each element looks like (REGEXP . FUNCTION) or (MATCH-FUNCTION . FUNCTION).
After visiting a file, if REGEXP matches the text at the beginning of the
buffer, or calling MATCH-FUNCTION returns non-nil, `normal-mode' will
call FUNCTION rather than allowing `auto-mode-alist' to decide the buffer's
major mode.

If FUNCTION is nil, then it is not called.  (That is a way of saying
"allow `auto-mode-alist' to decide for these files.")Vmagic-fallback-mode-alist
Like `magic-mode-alist' but has lower priority than `auto-mode-alist'.
Each element looks like (REGEXP . FUNCTION) or (MATCH-FUNCTION . FUNCTION).
After visiting a file, if REGEXP matches the text at the beginning of the
buffer, or calling MATCH-FUNCTION returns non-nil, `normal-mode' will
call FUNCTION, provided that `magic-mode-alist' and `auto-mode-alist'
have not specified a mode for this file.

If FUNCTION is nil, then it is not called.Vmagic-mode-regexp-match-limit
Upper limit on `magic-mode-alist' regexp matches.
Also applies to `magic-fallback-mode-alist'.Fset-auto-mode
Select major mode appropriate for current buffer.

To find the right major mode, this function checks for a -*- mode tag
checks for a `mode:' entry in the Local Variables section of the file,
checks if it uses an interpreter listed in `interpreter-mode-alist',
matches the buffer beginning against `magic-mode-alist',
compares the filename against the entries in `auto-mode-alist',
then matches the buffer beginning against `magic-fallback-mode-alist'.

If `enable-local-variables' is nil, or if the file name matches
`inhibit-local-variables-regexps', this function does not check
for any mode: tag anywhere in the file.  If `local-enable-local-variables'
is nil, then the only mode: tag that can be relevant is a -*- one.

If the optional argument KEEP-MODE-IF-SAME is non-nil, then we
set the major mode only if that would change it.  In other words
we don't actually set it to the same mode the buffer already has.Fset-auto-mode-0
Apply MODE and return it.
If optional arg KEEP-MODE-IF-SAME is non-nil, MODE is chased of
any aliases and compared to current major mode.  If they are the
same, do nothing and return nil.Vfile-auto-mode-skip
Regexp of lines to skip when looking for file-local settings.
If the first line matches this regular expression, then the -*-...-*- file-
local settings will be consulted on the second line instead of the first.Fset-auto-mode-1
Find the -*- spec in the buffer.
Call with point at the place to start searching from.
If one is found, set point to the beginning and return the position
of the end.  Otherwise, return nil; may change point.
The variable `inhibit-local-variables-regexps' can cause a -*- spec to
be ignored; but `enable-local-variables' and `local-enable-local-variables'
have no effect.Vignored-local-variables
Variables to be ignored in a file's local variable spec.Vhack-local-variables-hook
Normal hook run after processing a file's local variables specs.
Major modes can use this to examine user-specified local variables
in order to initialize other data structure based on them.Vfile-local-variables-alist
Alist of file-local variable settings in the current buffer.
Each element in this list has the form (VAR . VALUE), where VAR
is a file-local variable (a symbol) and VALUE is the value
specified.  The actual value in the buffer may differ from VALUE,
if it is changed by the major or minor modes, or by the user.Vdir-local-variables-alist
Alist of directory-local variable settings in the current buffer.
Each element in this list has the form (VAR . VALUE), where VAR
is a directory-local variable (a symbol) and VALUE is the value
specified in .dir-locals.el.  The actual value in the buffer
may differ from VALUE, if it is changed by the major or minor modes,
or by the user.Vbefore-hack-local-variables-hook
Normal hook run before setting file-local variables.
It is called after checking for unsafe/risky variables and
setting `file-local-variables-alist', and before applying the
variables stored in `file-local-variables-alist'.  A hook
function is allowed to change the contents of this alist.

This hook is called only if there is at least one file-local
variable to set.Fhack-local-variables-confirm
Get confirmation before setting up local variable values.
ALL-VARS is the list of all variables to be set up.
UNSAFE-VARS is the list of those that aren't marked as safe or risky.
RISKY-VARS is the list of those that are marked as risky.
If these settings come from directory-local variables, then
DIR-NAME is the name of the associated directory.  Otherwise it is nil.Fhack-local-variables-prop-line
Return local variables specified in the -*- line.
Returns an alist of elements (VAR . VAL), where VAR is a variable
and VAL is the specified value.  Ignores any specification for
`mode:' and `coding:' (which should have already been handled
by `set-auto-mode' and `set-auto-coding', respectively).
Return nil if the -*- line is malformed.

If MODE-ONLY is non-nil, just returns the symbol specifying the
mode, if there is one, otherwise nil.Fhack-local-variables-filter
Filter local variable settings, querying the user if necessary.
VARIABLES is the alist of variable-value settings.  This alist is
 filtered based on the values of `ignored-local-variables',
 `enable-local-eval', `enable-local-variables', and (if necessary)
 user interaction.  The results are added to
 `file-local-variables-alist', without applying them.
If these settings come from directory-local variables, then
DIR-NAME is the name of the associated directory.  Otherwise it is nil.Fhack-local-variables
Parse and put into effect this buffer's local variables spec.
Uses `hack-local-variables-apply' to apply the variables.

If MODE-ONLY is non-nil, all we do is check whether a "mode:"
is specified, and return the corresponding mode symbol, or nil.
In this case, we try to ignore minor-modes, and only return a
major-mode.

If `enable-local-variables' or `local-enable-local-variables' is nil,
this function does nothing.  If `inhibit-local-variables-regexps'
applies to the file in question, the file is not scanned for
local variables, but directory-local variables may still be applied.Fhack-local-variables-apply
Apply the elements of `file-local-variables-alist'.
If there are any elements, runs `before-hack-local-variables-hook',
then calls `hack-one-local-variable' to apply the alist elements one by one.
Finishes by running `hack-local-variables-hook', regardless of whether
the alist is empty or not.

Note that this function ignores a `mode' entry if it specifies the same
major mode as the buffer already has.Fsafe-local-variable-p
Non-nil if SYM is safe as a file-local variable with value VAL.
It is safe if any of these conditions are met:

 * There is a matching entry (SYM . VAL) in the
   `safe-local-variable-values' user option.

 * The `safe-local-variable' property of SYM is a function that
   evaluates to a non-nil value with VAL as an argument.Frisky-local-variable-p
Non-nil if SYM could be dangerous as a file-local variable.
It is dangerous if either of these conditions are met:

 * Its `risky-local-variable' property is non-nil.

 * Its name ends with "hook(s)", "function(s)", "form(s)", "map",
   "program", "command(s)", "predicate(s)", "frame-alist",
   "mode-alist", "font-lock-(syntactic-)keyword*",
   "map-alist", or "bindat-spec".Fhack-one-local-variable-eval-safep
Return t if it is safe to eval EXP when it is found in a file.Fhack-one-local-variable
Set local variable VAR with value VAL.
If VAR is `mode', call `VAL-mode' as a function unless it's
already the major mode.Vdir-locals-class-alist
Alist mapping directory-local variable classes (symbols) to variable lists.Vdir-locals-directory-cache
List of cached directory roots for directory-local variable classes.
Each element in this list has the form (DIR CLASS MTIME).
DIR is the name of the directory.
CLASS is the name of a variable class (a symbol).
MTIME is the recorded modification time of the directory-local
variables file associated with this entry.  This time is a list
of integers (the same format as `file-attributes'), and is
used to test whether the cache entry is still valid.
Alternatively, MTIME can be nil, which means the entry is always
considered valid.Fdir-locals-get-class-variables
Return the variable list for CLASS.Fdir-locals-collect-mode-variables
Collect directory-local variables from MODE-VARIABLES.
VARIABLES is the initial list of variables.
Returns the new list.Fdir-locals-collect-variables
Collect entries from CLASS-VARIABLES into VARIABLES.
ROOT is the root directory of the project.
Return the new variables list.Fdir-locals-set-directory-class
Declare that the DIRECTORY root is an instance of CLASS.
DIRECTORY is the name of a directory, a string.
CLASS is the name of a project class, a symbol.
MTIME is either the modification time of the directory-local
variables file that defined this class, or nil.

When a file beneath DIRECTORY is visited, the mode-specific
variables from CLASS are applied to the buffer.  The variables
for a class are defined using `dir-locals-set-class-variables'.Fdir-locals-set-class-variables
Map the type CLASS to a list of variable settings.
CLASS is the project class, a symbol.  VARIABLES is a list
that declares directory-local variables for the class.
An element in VARIABLES is either of the form:
    (MAJOR-MODE . ALIST)
or
    (DIRECTORY . LIST)

In the first form, MAJOR-MODE is a symbol, and ALIST is an alist
whose elements are of the form (VARIABLE . VALUE).

In the second form, DIRECTORY is a directory name (a string), and
LIST is a list of the form accepted by the function.

When a file is visited, the file's class is found.  A directory
may be assigned a class using `dir-locals-set-directory-class'.
Then variables are set in the file's buffer according to the
VARIABLES list of the class.  The list is processed in order.

* If the element is of the form (MAJOR-MODE . ALIST), and the
  buffer's major mode is derived from MAJOR-MODE (as determined
  by `derived-mode-p'), then all the variables in ALIST are
  applied.  A MAJOR-MODE of nil may be used to match any buffer.
  `make-local-variable' is called for each variable before it is
  set.

* If the element is of the form (DIRECTORY . LIST), and DIRECTORY
  is an initial substring of the file's directory, then LIST is
  applied by recursively following these rules.Vdir-locals-file
File that contains directory-local variables.
It has to be constant to enforce uniform values
across different environments and users.Fdir-locals-find-file
Find the directory-local variables for FILE.
This searches upward in the directory tree from FILE.
It stops at the first directory that has been registered in
`dir-locals-directory-cache' or contains a `dir-locals-file'.
If it finds an entry in the cache, it checks that it is valid.
A cache entry with no modification time element (normally, one that
has been assigned directly using `dir-locals-set-directory-class', not
set from a file) is always valid.
A cache entry based on a `dir-locals-file' is valid if the modification
time stored in the cache matches the current file modification time.
If not, the cache entry is cleared so that the file will be re-read.

This function returns either nil (no directory local variables found),
or the matching entry from `dir-locals-directory-cache' (a list),
or the full path to the `dir-locals-file' (a string) in the case
of no valid cache entry.Fdir-locals-read-from-file
Load a variables FILE and register a new class and instance.
FILE is the name of the file holding the variables to apply.
The new class name is the same as the directory in which FILE
is found.  Returns the new class name.Venable-remote-dir-locals
Non-nil means dir-local variables will be applied to remote files.Fhack-dir-local-variables
Read per-directory local variables for the current buffer.
Store the directory-local variables in `dir-local-variables-alist'
and `file-local-variables-alist', without applying them.Fhack-dir-local-variables-non-file-buffer
Apply directory-local variables to a non-file buffer.
For non-file buffers, such as Dired buffers, directory-local
variables are looked for in `default-directory' and its parent
directories.Vchange-major-mode-with-file-name
Non-nil means \[write-file] should set the major mode from the file name.
However, the mode will not be changed if
(1) a local variables list or the `-*-' line specifies a major mode, or
(2) the current major mode is a "special" mode,
    not suitable for ordinary files, or
(3) the new file name does not particularly specify any mode.Fset-visited-file-name
Change name of file visited in current buffer to FILENAME.
This also renames the buffer to correspond to the new file.
The next time the buffer is saved it will go in the newly specified file.
FILENAME nil or an empty string means mark buffer as not visiting any file.
Remember to delete the initial contents of the minibuffer
if you wish to pass an empty string as the argument.

The optional second argument NO-QUERY, if non-nil, inhibits asking for
confirmation in the case where another buffer is already visiting FILENAME.

The optional third argument ALONG-WITH-FILE, if non-nil, means that
the old visited file has been renamed to the new name FILENAME.Fwrite-file
Write current buffer into file FILENAME.
This makes the buffer visit that file, and marks it as not modified.

If you specify just a directory name as FILENAME, that means to use
the default file name but in that directory.  You can also yank
the default file name into the minibuffer to edit it, using \<minibuffer-local-map>\[next-history-element].

If the buffer is not already visiting a file, the default file name
for the output file is the buffer name.

If optional second arg CONFIRM is non-nil, this function
asks for confirmation before overwriting an existing file.
Interactively, confirmation is required unless you supply a prefix argument.Fbackup-buffer
Make a backup of the disk file visited by the current buffer, if appropriate.
This is normally done before saving the buffer the first time.

A backup may be done by renaming or by copying; see documentation of
variable `make-backup-files'.  If it's done by renaming, then the file is
no longer accessible under its old name.

The value is non-nil after a backup was made by renaming.
It has the form (MODES SELINUXCONTEXT BACKUPNAME).
MODES is the result of `file-modes' on the original
file; this means that the caller, after saving the buffer, should change
the modes of the new file to agree with the old modes.
SELINUXCONTEXT is the result of `file-selinux-context' on the original
file; this means that the caller, after saving the buffer, should change
the SELinux context of the new file to agree with the old context.
BACKUPNAME is the backup file name, which is the old file renamed.Vfile-name-version-regexp
Regular expression matching the backup/version part of a file name.
Used by `file-name-sans-versions'.Ffile-name-sans-versions
Return file NAME sans backup versions or strings.
This is a separate procedure so your site-init or startup file can
redefine it.
If the optional argument KEEP-BACKUP-VERSION is non-nil,
we do not remove backup version numbers, only true file version numbers.
See also `file-name-version-regexp'.Ffile-ownership-preserved-p
Return t if deleting FILE and rewriting it would preserve the owner.Ffile-name-sans-extension
Return FILENAME sans final "extension".
The extension, in a file name, is the part that follows the last `.',
except that a leading `.', if any, doesn't count.Ffile-name-extension
Return FILENAME's final "extension".
The extension, in a file name, is the part that follows the last `.',
excluding version numbers and backup suffixes,
except that a leading `.', if any, doesn't count.
Return nil for extensionless file names such as `foo'.
Return the empty string for file names such as `foo.'.

If PERIOD is non-nil, then the returned value includes the period
that delimits the extension, and if FILENAME has no extension,
the value is "".Ffile-name-base
Return the base name of the FILENAME: no directory, no extension.
FILENAME defaults to `buffer-file-name'.Fnormal-backup-enable-predicate
Default `backup-enable-predicate' function.
Checks for files in `temporary-file-directory',
`small-temporary-file-directory', and /tmp.Fmake-backup-file-name
Create the non-numeric backup file name for FILE.
Normally this will just be the file's name with `~' appended.
Customization hooks are provided as follows.

If the variable `make-backup-file-name-function' is non-nil, its value
should be a function which will be called with FILE as its argument;
the resulting name is used.

Otherwise a match for FILE is sought in `backup-directory-alist'; see
the documentation of that variable.  If the directory for the backup
doesn't exist, it is created.Fmake-backup-file-name-1
Subroutine of `make-backup-file-name' and `find-backup-file-name'.Fbackup-file-name-p
Return non-nil if FILE is a backup file name (numeric or not).
This is a separate function so you can redefine it for customization.
You may need to redefine `file-name-sans-versions' as well.Fbackup-extract-version
Given the name of a numeric backup file, FN, return the backup number.
Uses the free variable `backup-extract-version-start', whose value should be
the index in the name where the version number begins.Ffind-backup-file-name
Find a file name for a backup file FN, and suggestions for deletions.
Value is a list whose car is the name for the backup file
and whose cdr is a list of old versions to consider deleting now.
If the value is nil, don't make a backup.
Uses `backup-directory-alist' in the same way as does
`make-backup-file-name'.Ffile-nlinks
Return number of names file FILENAME has.Ffile-relative-name
Convert FILENAME to be relative to DIRECTORY (default: `default-directory').
This function returns a relative file name which is equivalent to FILENAME
when used with that default directory as the default.
If FILENAME and DIRECTORY lie on different machines or on different drives
on a DOS/Windows machine, it returns FILENAME in expanded form.Fsave-buffer
Save current buffer in visited file if modified.
Variations are described below.

By default, makes the previous version into a backup file
 if previously requested or if this is the first save.
Prefixed with one \[universal-argument], marks this version
 to become a backup when the next save is done.
Prefixed with two \[universal-argument]'s,
 unconditionally makes the previous version into a backup file.
Prefixed with three \[universal-argument]'s, marks this version
 to become a backup when the next save is done,
 and unconditionally makes the previous version into a backup file.

With a numeric argument of 0, never make the previous version
into a backup file.

If a file's name is FOO, the names of its numbered backup versions are
 FOO.~i~ for various integers i.  A non-numbered backup file is called FOO~.
Numeric backups (rather than FOO~) will be made if value of
 `version-control' is not the atom `never' and either there are already
 numeric versions of the file being backed up, or `version-control' is
 non-nil.
We don't want excessive versions piling up, so there are variables
 `kept-old-versions', which tells Emacs how many oldest versions to keep,
 and `kept-new-versions', which tells how many newest versions to keep.
 Defaults are 2 old versions and 2 new.
`dired-kept-versions' controls dired's clean-directory (.) command.
If `delete-old-versions' is nil, system will query user
 before trimming versions.  Otherwise it does it silently.

If `vc-make-backup-files' is nil, which is the default,
 no backup files are made for files managed by version control.
 (This is because the version control system itself records previous versions.)

See the subroutine `basic-save-buffer' for more information.Fdelete-auto-save-file-if-necessary
Delete auto-save file for current buffer if `delete-auto-save-files' is t.
Normally delete only if the file was written by this Emacs since
the last real save, but optional arg FORCE non-nil means delete anyway.Vauto-save-hook
Normal hook run just before auto-saving.Vsave-buffer-coding-system
If non-nil, use this coding system for saving the buffer.
More precisely, use this coding system in place of the
value of `buffer-file-coding-system', when saving the buffer.
Calling `write-region' for any purpose other than saving the buffer
will still use `buffer-file-coding-system'; this variable has no effect
in such cases.Fbasic-save-buffer
Save the current buffer in its visited file, if it has been modified.
The hooks `write-contents-functions' and `write-file-functions' get a chance
to do the job of saving; if they do not, then the buffer is saved in
the visited file in the usual way.
Before and after saving the buffer, this function runs
`before-save-hook' and `after-save-hook', respectively.Vsave-some-buffers-action-alist
ACTION-ALIST argument used in call to `map-y-or-n-p'.Vbuffer-save-without-query
Non-nil means `save-some-buffers' should save this buffer without asking.Fsave-some-buffers
Save some modified file-visiting buffers.  Asks user about each one.
You can answer `y' to save, `n' not to save, `C-r' to look at the
buffer in question with `view-buffer' before deciding or `d' to
view the differences using `diff-buffer-with-file'.

This command first saves any buffers where `buffer-save-without-query' is
non-nil, without asking.

Optional argument (the prefix) non-nil means save all with no questions.
Optional second argument PRED determines which buffers are considered:
If PRED is nil, all the file-visiting buffers are considered.
If PRED is t, then certain non-file buffers will also be considered.
If PRED is a zero-argument function, it indicates for each buffer whether
to consider it or not when called with that buffer current.

See `save-some-buffers-action-alist' if you want to
change the additional actions you can take on files.Fnot-modified
Mark current buffer as unmodified, not needing to be saved.
With prefix ARG, mark buffer as modified, so \[save-buffer] will save.

It is not a good idea to use this function in Lisp programs, because it
prints a message in the minibuffer.  Instead, use `set-buffer-modified-p'.Finsert-file
Insert contents of file FILENAME into buffer after point.
Set mark after the inserted text.

This function is meant for the user to run interactively.
Don't call it from programs!  Use `insert-file-contents' instead.
(Its calling sequence is different; see its documentation).Fappend-to-file
Append the contents of the region to the end of file FILENAME.
When called from a function, expects three arguments,
START, END and FILENAME.  START and END are normally buffer positions
specifying the part of the buffer to write.
If START is nil, that means to use the entire buffer contents.
If START is a string, then output that string to the file
instead of any buffer contents; END is ignored.

This does character code conversion and applies annotations
like `write-region' does.Ffile-newest-backup
Return most recent backup file for FILENAME or nil if no backups exist.Frename-uniquely
Rename current buffer to a similar name not already taken.
This function is useful for creating multiple shell process buffers
or multiple mail buffers, etc.

Note that some commands, in particular those based on `compilation-mode'
(`compile', `grep', etc.) will reuse the current buffer if it has the
appropriate mode even if it has been renamed.  So as well as renaming
the buffer, you also need to switch buffers before running another
instance of such commands.Fmake-directory
Create the directory DIR and optionally any nonexistent parent dirs.
If DIR already exists as a directory, signal an error, unless
PARENTS is non-nil.

Interactively, the default choice of directory to create is the
current buffer's default directory.  That is useful when you have
visited a file in a nonexistent directory.

Noninteractively, the second (optional) argument PARENTS, if
non-nil, says whether to create parent directories that don't
exist.  Interactively, this happens by default.

If creating the directory or directories fail, an error will be
raised.Vdirectory-files-no-dot-files-regexp
Regexp matching any file name except "." and "..".Fdelete-directory
Delete the directory named DIRECTORY.  Does not follow symlinks.
If RECURSIVE is non-nil, all files in DIRECTORY are deleted as well.
TRASH non-nil means to trash the directory instead, provided
`delete-by-moving-to-trash' is non-nil.

When called interactively, TRASH is t if no prefix argument is
given.  With a prefix argument, TRASH is nil.Ffile-equal-p
Return non-nil if files FILE1 and FILE2 name the same file.
If FILE1 or FILE2 does not exist, the return value is unspecified.Ffile-in-directory-p
Return non-nil if FILE is in DIR or a subdirectory of DIR.
A directory is considered to be "in" itself.
Return nil if DIR is not an existing directory.Fcopy-directory
Copy DIRECTORY to NEWNAME.  Both args must be strings.
This function always sets the file modes of the output files to match
the corresponding input file.

The third arg KEEP-TIME non-nil means give the output files the same
last-modified time as the old ones.  (This works on only some systems.)

A prefix arg makes KEEP-TIME non-nil.

Noninteractively, the last argument PARENTS says whether to
create parent directories if they don't exist.  Interactively,
this happens by default.

If NEWNAME names an existing directory, copy DIRECTORY as a
subdirectory there.  However, if called from Lisp with a non-nil
optional argument COPY-CONTENTS, copy the contents of DIRECTORY
directly into NEWNAME instead.Fprune-directory-list
Return a copy of DIRS with all non-existent directories removed.
The optional argument KEEP is a list of directories to retain even if
they don't exist, and REJECT is a list of directories to remove from
DIRS, even if they exist; REJECT takes precedence over KEEP.

Note that membership in REJECT and KEEP is checked using simple string
comparison.Vrevert-buffer-function
Function to use to revert this buffer, or nil to do the default.
The function receives two arguments IGNORE-AUTO and NOCONFIRM,
which are the arguments that `revert-buffer' received.Vrevert-buffer-insert-file-contents-function
Function to use to insert contents when reverting this buffer.
Gets two args, first the nominal file name to use,
and second, t if reading the auto-save file.

The function you specify is responsible for updating (or preserving) point.Vbuffer-stale-function
Function to check whether a non-file buffer needs reverting.
This should be a function with one optional argument NOCONFIRM.
Auto Revert Mode passes t for NOCONFIRM.  The function should return
non-nil if the buffer should be reverted.  A return value of
`fast' means that the need for reverting was not checked, but
that reverting the buffer is fast.  The buffer is current when
this function is called.

The idea behind the NOCONFIRM argument is that it should be
non-nil if the buffer is going to be reverted without asking the
user.  In such situations, one has to be careful with potentially
time consuming operations.

For more information on how this variable is used by Auto Revert mode,
see Info node `(emacs)Supporting additional buffers'.Vbefore-revert-hook
Normal hook for `revert-buffer' to run before reverting.
If `revert-buffer-function' is used to override the normal revert
mechanism, this hook is not used.Vafter-revert-hook
Normal hook for `revert-buffer' to run after reverting.
Note that the hook value that it runs is the value that was in effect
before reverting; that makes a difference if you have buffer-local
hook functions.

If `revert-buffer-function' is used to override the normal revert
mechanism, this hook is not used.Vrevert-buffer-in-progress-p
Non-nil if a `revert-buffer' operation is in progress, nil otherwise.
This is true even if a `revert-buffer-function' is being used.Frevert-buffer
Replace current buffer text with the text of the visited file on disk.
This undoes all changes since the file was visited or saved.
With a prefix argument, offer to revert from latest auto-save file, if
that is more recent than the visited file.

This command also implements an interface for special buffers
that contain text which doesn't come from a file, but reflects
some other data instead (e.g. Dired buffers, `buffer-list'
buffers).  This is done via the variable `revert-buffer-function'.
In these cases, it should reconstruct the buffer contents from the
appropriate data.

When called from Lisp, the first argument is IGNORE-AUTO; only offer
to revert from the auto-save file when this is nil.  Note that the
sense of this argument is the reverse of the prefix argument, for the
sake of backward compatibility.  IGNORE-AUTO is optional, defaulting
to nil.

Optional second argument NOCONFIRM means don't ask for confirmation
at all.  (The variable `revert-without-query' offers another way to
revert buffers without querying for confirmation.)

Optional third argument PRESERVE-MODES non-nil means don't alter
the files modes.  Normally we reinitialize them using `normal-mode'.

This function binds `revert-buffer-in-progress-p' non-nil while it operates.

If the value of `revert-buffer-function' is non-nil, it is called to
do all the work for this command.  Otherwise, the hooks
`before-revert-hook' and `after-revert-hook' are run at the beginning
and the end, and if `revert-buffer-insert-file-contents-function' is
non-nil, it is called instead of rereading visited file contents.Frecover-this-file
Recover the visited file--get contents from its last auto-save file.Frecover-file
Visit file FILE, but get contents from its last auto-save file.Frecover-session
Recover auto save files from a previous Emacs session.
This command first displays a Dired buffer showing you the
previous sessions that you could recover from.
To choose one, move point to the proper line and then type C-c C-c.
Then you'll be asked about a number of files to recover.Frecover-session-finish
Choose one saved session to recover auto-save files from.
This command is used in the special Dired buffer created by
\[recover-session].Fkill-buffer-ask
Kill BUFFER if confirmed.Fkill-some-buffers
Kill some buffers.  Asks the user whether to kill each one of them.
Non-interactively, if optional argument LIST is non-nil, it
specifies the list of buffers to kill, asking for approval for each one.Fkill-matching-buffers
Kill buffers whose name matches the specified REGEXP.
The optional second argument indicates whether to kill internal buffers too.Frename-auto-save-file
Adjust current buffer's auto save file name for current conditions.
Also rename any existing auto save file, if it was made in this session.Fmake-auto-save-file-name
Return file name to use for auto-saves of current buffer.
Does not consider `auto-save-visited-file-name' as that variable is checked
before calling this function.  You can redefine this for customization.
See also `auto-save-file-name-p'.Fauto-save-file-name-p
Return non-nil if FILENAME can be yielded by `make-auto-save-file-name'.
FILENAME should lack slashes.  You can redefine this for customization.Fwildcard-to-regexp
Given a shell file name pattern WILDCARD, return an equivalent regexp.
The generated regexp will match a filename only if the filename
matches that wildcard according to shell rules.  Only wildcards known
by `sh' are supported.Ffile-expand-wildcards
Expand wildcard pattern PATTERN.
This returns a list of file names which match the pattern.

If PATTERN is written as an absolute file name,
the values are absolute also.

If PATTERN is written as a relative file name, it is interpreted
relative to the current default directory, `default-directory'.
The file names returned are normally also relative to the current
default directory.  However, if FULL is non-nil, they are absolute.Flist-directory
Display a list of files in or matching DIRNAME, a la `ls'.
DIRNAME is globbed by the shell if necessary.
Prefix arg (second arg if noninteractive) means supply -l switch to `ls'.
Actions controlled by variables `list-directory-brief-switches'
and `list-directory-verbose-switches'.Fshell-quote-wildcard-pattern
Quote characters special to the shell in PATTERN, leave wildcards alone.

PATTERN is assumed to represent a file-name wildcard suitable for the
underlying filesystem.  For Unix and GNU/Linux, each character from the
set [ \t\n;<>&|()'"#$] is quoted with a backslash; for DOS/Windows, all
the parts of the pattern which don't include wildcard characters are
quoted with double quotes.

This function leaves alone existing quote characters (\ on Unix and "
on Windows), so PATTERN can use them to quote wildcard characters that
need to be passed verbatim to shell commands.Vinsert-directory-program
Absolute or relative name of the `ls' program used by `insert-directory'.Fget-free-disk-space
Return the amount of free space on directory DIR's file system.
The return value is a string describing the amount of free
space (normally, the number of free 1KB blocks).

This function calls `file-system-info' if it is available, or
invokes the program specified by `directory-free-space-program'
and `directory-free-space-args'.  If the system call or program
is unsuccessful, or if DIR is a remote directory, this function
returns nil.Vdirectory-listing-before-filename-regexp
Regular expression to match up to the file name in a directory listing.
The default value is designed to recognize dates and times
regardless of the language.Finsert-directory
Insert directory listing for FILE, formatted according to SWITCHES.
Leaves point after the inserted text.
SWITCHES may be a string of options, or a list of strings
representing individual options.
Optional third arg WILDCARD means treat FILE as shell wildcard.
Optional fourth arg FULL-DIRECTORY-P means file is a directory and
switches do not contain `d', so that a full listing is expected.

This works by running a directory listing program
whose name is in the variable `insert-directory-program'.
If WILDCARD, it also runs the shell specified by `shell-file-name'.

When SWITCHES contains the long `--dired' option, this function
treats it specially, for the sake of dired.  However, the
normally equivalent short `-D' option is just passed on to
`insert-directory-program', as any other option.Finsert-directory-adj-pos
Convert `ls --dired' file name position value POS to a buffer position.
File name position values returned in ls --dired output
count only stdout; they don't count the error messages sent to stderr.
So this function converts to them to real buffer positions.
ERROR-LINES is a list of buffer positions of error message lines,
of the form (START END).Finsert-directory-safely
Insert directory listing for FILE, formatted according to SWITCHES.

Like `insert-directory', but if FILE does not exist, it inserts a
message to that effect instead of signaling an error.Vkill-emacs-query-functions
Functions to call with no arguments to query about killing Emacs.
If any of these functions returns nil, killing Emacs is canceled.
`save-buffers-kill-emacs' calls these functions, but `kill-emacs',
the low level primitive, does not.  See also `kill-emacs-hook'.Vconfirm-kill-emacs
How to ask for confirmation when leaving Emacs.
If nil, the default, don't ask at all.  If the value is non-nil, it should
be a predicate function such as `yes-or-no-p'.Fsave-buffers-kill-emacs
Offer to save each buffer, then kill this Emacs process.
With prefix ARG, silently save all file-visiting buffers without asking.
If there are active processes where `process-query-on-exit-flag'
returns non-nil, asks whether processes should be killed.
Runs the members of `kill-emacs-query-functions' in turn and stops
if any returns nil.  If `confirm-kill-emacs' is non-nil, calls it.Fsave-buffers-kill-terminal
Offer to save each buffer, then kill the current connection.
If the current frame has no client, kill Emacs itself.

With prefix ARG, silently save all file-visiting buffers, then kill.

If emacsclient was started with a list of filenames to edit, then
only these files will be asked to be saved.Ffile-modes-char-to-who
Convert CHAR to a numeric bit-mask for extracting mode bits.
CHAR is in [ugoa] and represents the category of users (Owner, Group,
Others, or All) for whom to produce the mask.
The bit-mask that is returned extracts from mode bits the access rights
for the specified category of users.Ffile-modes-char-to-right
Convert CHAR to a numeric value of mode bits.
CHAR is in [rwxXstugo] and represents symbolic access permissions.
If CHAR is in [Xugo], the value is taken from FROM (or 0 if omitted).Ffile-modes-rights-to-number
Convert a symbolic mode string specification to an equivalent number.
RIGHTS is the symbolic mode spec, it should match "([+=-][rwxXstugo]*)+".
WHO-MASK is the bit-mask specifying the category of users to which to
apply the access permissions.  See `file-modes-char-to-who'.
FROM (or 0 if nil) gives the mode bits on which to base permissions if
RIGHTS request to add, remove, or set permissions based on existing ones,
as in "og+rX-w".Ffile-modes-symbolic-to-number
Convert symbolic file modes to numeric file modes.
MODES is the string to convert, it should match
"[ugoa]*([+-=][rwxXstugo]*)+,...".
See Info node `(coreutils)File permissions' for more information on this
notation.
FROM (or 0 if nil) gives the mode bits on which to base permissions if
MODES request to add, remove, or set permissions based on existing ones,
as in "og+rX-w".Fread-file-modes
Read file modes in octal or symbolic notation and return its numeric value.
PROMPT is used as the prompt, default to `File modes (octal or symbolic): '.
ORIG-FILE is the name of a file on whose mode bits to base returned
permissions if what user types requests to add, remove, or set permissions
based on existing mode bits, as in "og+rX-w".Vtrash-directory
Directory for `move-file-to-trash' to move files and directories to.
This directory is only used when the function `system-move-file-to-trash'
is not defined.
Relative paths are interpreted relative to `default-directory'.
If the value is nil, Emacs uses a freedesktop.org-style trashcan.Fmove-file-to-trash
Move the file (or directory) named FILENAME to the trash.
When `delete-by-moving-to-trash' is non-nil, this function is
called by `delete-file' and `delete-directory' instead of
deleting files outright.

If the function `system-move-file-to-trash' is defined, call it
 with FILENAME as an argument.
Otherwise, if `trash-directory' is non-nil, move FILENAME to that
 directory.
Otherwise, trash FILENAME using the freedesktop.org conventions,
 like the GNOME, KDE and XFCE desktop environments.  Emacs only
 moves files to "home trash", ignoring per-volume trashcans.Smacroexp.elc
Fmacroexp--cons
Return (CAR . CDR), using ORIGINAL-CONS if possible.

(fn CAR CDR ORIGINAL-CONS)Fmacroexp--accumulate
Return a list of the results of evaluating BODY for each element of LIST.
Evaluate BODY with VAR bound to each `car' from LIST, in turn.
Return a list of the values of the final form in BODY.
The list structure of the result will share as much with LIST as
possible (for instance, when BODY just returns VAR unchanged, the
result will be eq to LIST).

(fn (VAR LIST) BODY...)Fmacroexp--all-forms
Return FORMS with macros expanded.  FORMS is a list of forms.
If SKIP is non-nil, then don't expand that many elements at the start of
FORMS.

(fn FORMS &optional SKIP)Fmacroexp--all-clauses
Return CLAUSES with macros expanded.
CLAUSES is a list of lists of forms; any clause that's not a list is ignored.
If SKIP is non-nil, then don't expand that many elements at the start of
each clause.

(fn CLAUSES &optional SKIP)Fmacroexp--funcall-if-compiled
Pseudo function used internally by macroexp to delay warnings.
The purpose is to delay warnings to bytecomp.el, so they can use things
like `byte-compile-log-warning' to get better file-and-line-number data
and also to avoid outputting the warning during normal execution.

(fn FORM)Fmacroexp--expand-all
Expand all macros in FORM.
This is an internal version of `macroexpand-all'.
Assumes the caller has bound `macroexpand-all-environment'.

(fn FORM)Fmacroexpand-all
Return result of expanding macros at all levels in FORM.
If no macros are expanded, FORM is returned unchanged.
The second optional arg ENVIRONMENT specifies an environment of macro
definitions to shadow the loaded ones for use in file byte-compilation.

(fn FORM &optional ENVIRONMENT)Fmacroexp-progn
Return an expression equivalent to `(progn ,@EXPS).

(fn EXPS)Fmacroexp-unprogn
Turn EXP into a list of expressions to execute in sequence.

(fn EXP)Fmacroexp-let*
Return an expression equivalent to `(let* ,bindings ,exp).

(fn BINDINGS EXP)Fmacroexp-if
Return an expression equivalent to `(if ,test ,then ,else).

(fn TEST THEN ELSE)Fmacroexp-let2
Bind VAR to a copyable expression that returns the value of EXP.
This is like `(let ((v ,EXP)) ,EXPS) except that `v' is a new generated
symbol which EXPS can find in VAR.
TEST should be the name of a predicate on EXP checking whether the `let' can
be skipped; if nil, as is usual, `macroexp-const-p' is used.

(fn TEST VAR EXP &rest EXPS)Fmacroexp-small-p
Return non-nil if EXP can be considered small.

(fn EXP)Fmacroexp--const-symbol-p
Non-nil if SYMBOL is constant.
If ANY-VALUE is nil, only return non-nil if the value of the symbol is the
symbol itself.

(fn SYMBOL &optional ANY-VALUE)Fmacroexp-const-p
Return non-nil if EXP will always evaluate to the same value.

(fn EXP)Fmacroexp-copyable-p
Return non-nil if EXP can be copied without extra cost.

(fn EXP)Fmacroexp--backtrace
Return the Elisp backtrace, more recent frames first.

(fn)Vmacroexp--pending-eager-loads
Stack of files currently undergoing eager macro-expansion.Scus-face.elc
Fcustom-declare-face
Like `defface', but FACE is evaluated as a normal argument.Vcustom-face-attributes
Alist of face attributes.

The elements are of the form (KEY TYPE PRE-FILTER POST-FILTER),
where KEY is the name of the attribute, TYPE is a widget type for
editing the attribute, PRE-FILTER is a function to make the attribute's
value suitable for the customization widget, and POST-FILTER is a
function to make the customized value suitable for storing.  PRE-FILTER
and POST-FILTER are optional.

The PRE-FILTER should take a single argument, the attribute value as
stored, and should return a value for customization (using the
customization type TYPE).

The POST-FILTER should also take a single argument, the value after
being customized, and should return a value suitable for setting the
given face attribute.Fcustom-face-attributes-get
For FACE on FRAME, return an alternating list describing its attributes.
The list has the form (KEYWORD VALUE KEYWORD VALUE...).
Each keyword should be listed in `custom-face-attributes'.

If FRAME is nil, use the global defaults for FACE.Fcustom-set-faces
Initialize faces according to user preferences.
This associates the settings with the `user' theme.
The arguments should be a list where each entry has the form:

  (FACE SPEC [NOW [COMMENT]])

SPEC is stored as the saved value for FACE, as well as the value for the
`user' theme.  The `user' theme is one of the default themes known to Emacs.
See `custom-known-themes' for more information on the known themes.
See `custom-theme-set-faces' for more information on the interplay
between themes and faces.
See `defface' for the format of SPEC.

If NOW is present and non-nil, FACE is created now, according to SPEC.
COMMENT is a string comment about FACE.Fcustom-theme-set-faces
Initialize faces for theme THEME.
The arguments should be a list where each entry has the form:

  (FACE SPEC [NOW [COMMENT]])

SPEC is stored as the saved value for FACE, as well as the value for the
`user' theme.  The `user' theme is one of the default themes known to Emacs.
See `custom-known-themes' for more information on the known themes.
See `custom-theme-set-faces' for more information on the interplay
between themes and faces.
See `defface' for the format of SPEC.

If NOW is present and non-nil, FACE is created now, according to SPEC.
COMMENT is a string comment about FACE.

Several properties of THEME and FACE are used in the process:

If THEME property `theme-immediate' is non-nil, this is equivalent of
providing the NOW argument to all faces in the argument list: FACE is
created now.  The only difference is FACE property `force-face': if NOW
is non-nil, FACE property `force-face' is set to the symbol `rogue', else
if THEME property `theme-immediate' is non-nil, FACE property `force-face'
is set to the symbol `immediate'.

SPEC itself is saved in FACE property `saved-face' and it is stored in
FACE's list property `theme-face' (using `custom-push-theme').Fcustom-theme-reset-faces
Reset the specs in THEME of some faces to their specs in other themes.
Each of the arguments ARGS has this form:

    (FACE IGNORED)

This means reset FACE.  The argument IGNORED is ignored.Fcustom-reset-faces
Reset the specs of some faces to their specs in specified themes.
This creates settings in the `user' theme.

Each of the arguments ARGS has this form:

    (FACE FROM-THEME)

This means reset FACE to its value in FROM-THEME.Sfaces.elc
Vterm-file-prefix
If non-nil, Emacs startup performs terminal-specific initialization.
It does this by: (load (concat term-file-prefix (getenv "TERM")))

You may set this variable to nil in your init file if you do not wish
the terminal-initialization file to be loaded.Vface-name-history
History list for some commands that read face names.
Maximum length of the history list is determined by the value
of `history-length', which see.Fface-list
Return a list of all defined faces.Fmake-face
Define a new face with name FACE, a symbol.
Do not call this directly from Lisp code; use `defface' instead.

If NO-INIT-FROM-RESOURCES is non-nil, don't initialize face
attributes from X resources.  If FACE is already known as a face,
leave it unmodified.  Return FACE.Fmake-empty-face
Define a new, empty face with name FACE.
Do not call this directly from Lisp code; use `defface' instead.Fcopy-face
Define a face named NEW-FACE, which is a copy of OLD-FACE.
This function does not copy face customization data, so NEW-FACE
will not be made customizable.  Most Lisp code should not call
this function; use `defface' with :inherit instead.

If NEW-FACE already exists as a face, modify it to be like
OLD-FACE.  If NEW-FACE doesn't already exist, create it.

If the optional argument FRAME is a frame, change NEW-FACE on
FRAME only.  If FRAME is t, copy the frame-independent default
specification for OLD-FACE to NEW-FACE.  If FRAME is nil, copy
the defaults as well as the faces on each existing frame.

If the optional fourth argument NEW-FRAME is given, copy the
information from face OLD-FACE on frame FRAME to NEW-FACE on
frame NEW-FRAME.  In this case, FRAME must not be nil.Ffacep
Return non-nil if FACE is a face name; nil otherwise.
A face name can be a string or a symbol.Fcheck-face
Signal an error if FACE doesn't name a face.
Value is FACE.Fface-id
Return the internal ID of face with name FACE.
If FACE is a face-alias, return the ID of the target face.
The optional argument FRAME is ignored, since the internal face ID
of a face name is the same for all frames.Fface-equal
Non-nil if faces FACE1 and FACE2 are equal.
Faces are considered equal if all their attributes are equal.
If the optional argument FRAME is given, report on FACE1 and FACE2 in that frame.
If FRAME is t, report on the defaults for FACE1 and FACE2 (for new frames).
If FRAME is omitted or nil, use the selected frame.Fface-differs-from-default-p
Return non-nil if FACE displays differently from the default face.
If the optional argument FRAME is given, report on face FACE in that frame.
If FRAME is t, report on the defaults for face FACE (for new frames).
If FRAME is omitted or nil, use the selected frame.Fface-nontrivial-p
True if face FACE has some non-nil attribute.
If the optional argument FRAME is given, report on face FACE in that frame.
If FRAME is t, report on the defaults for face FACE (for new frames).
If FRAME is omitted or nil, use the selected frame.Vface-x-resources
List of X resources and classes for face attributes.
Each element has the form (ATTRIBUTE ENTRY1 ENTRY2...) where ATTRIBUTE is
the name of a face attribute, and each ENTRY is a cons of the form
(RESOURCE . CLASS) with RESOURCE being the resource and CLASS being the
X resource class for the attribute.Fset-face-attribute-from-resource
Set FACE's ATTRIBUTE from X resource RESOURCE, class CLASS on FRAME.
Value is the attribute value specified by the resource, or nil
if not present.  This function displays a message if the resource
specifies an invalid attribute.Fset-face-attributes-from-resources
Set attributes of FACE from X resources for FRAME.Fmake-face-x-resource-internal
Fill frame-local FACE on FRAME from X resources.
FRAME nil or not specified means do it for all frames.Fface-name
Return the name of face FACE.Fface-all-attributes
Return an alist stating the attributes of FACE.
Each element of the result has the form (ATTR-NAME . ATTR-VALUE).
If FRAME is omitted or nil the value describes the default attributes,
but if you specify FRAME, the value describes the attributes
of FACE on FRAME.Fface-attribute
Return the value of FACE's ATTRIBUTE on FRAME.
If the optional argument FRAME is given, report on face FACE in that frame.
If FRAME is t, report on the defaults for face FACE (for new frames).
If FRAME is omitted or nil, use the selected frame.

If INHERIT is nil, only attributes directly defined by FACE are considered,
  so the return value may be `unspecified', or a relative value.
If INHERIT is non-nil, FACE's definition of ATTRIBUTE is merged with the
  faces specified by its `:inherit' attribute; however the return value
  may still be `unspecified' or relative.
If INHERIT is a face or a list of faces, then the result is further merged
  with that face (or faces), until it becomes specified and absolute.

To ensure that the return value is always specified and absolute, use a
value of `default' for INHERIT; this will resolve any unspecified or
relative values by merging with the `default' face (which is always
completely specified).Fface-attribute-merged-with
Merges ATTRIBUTE, initially VALUE, with faces from FACES until absolute.
FACES may be either a single face or a list of faces.
[This is an internal function.]Fface-attribute-specified-or
Return VALUE, unless it's `unspecified', in which case evaluate BODY and return the result.Fface-foreground
Return the foreground color name of FACE, or nil if unspecified.
If the optional argument FRAME is given, report on face FACE in that frame.
If FRAME is t, report on the defaults for face FACE (for new frames).
If FRAME is omitted or nil, use the selected frame.

If INHERIT is nil, only a foreground color directly defined by FACE is
  considered, so the return value may be nil.
If INHERIT is t, and FACE doesn't define a foreground color, then any
  foreground color that FACE inherits through its `:inherit' attribute
  is considered as well; however the return value may still be nil.
If INHERIT is a face or a list of faces, then it is used to try to
  resolve an unspecified foreground color.

To ensure that a valid color is always returned, use a value of
`default' for INHERIT; this will resolve any unspecified values by
merging with the `default' face (which is always completely specified).Fface-background
Return the background color name of FACE, or nil if unspecified.
If the optional argument FRAME is given, report on face FACE in that frame.
If FRAME is t, report on the defaults for face FACE (for new frames).
If FRAME is omitted or nil, use the selected frame.

If INHERIT is nil, only a background color directly defined by FACE is
  considered, so the return value may be nil.
If INHERIT is t, and FACE doesn't define a background color, then any
  background color that FACE inherits through its `:inherit' attribute
  is considered as well; however the return value may still be nil.
If INHERIT is a face or a list of faces, then it is used to try to
  resolve an unspecified background color.

To ensure that a valid color is always returned, use a value of
`default' for INHERIT; this will resolve any unspecified values by
merging with the `default' face (which is always completely specified).Fface-stipple
Return the stipple pixmap name of FACE, or nil if unspecified.
If the optional argument FRAME is given, report on face FACE in that frame.
If FRAME is t, report on the defaults for face FACE (for new frames).
If FRAME is omitted or nil, use the selected frame.

If INHERIT is nil, only a stipple directly defined by FACE is
  considered, so the return value may be nil.
If INHERIT is t, and FACE doesn't define a stipple, then any stipple
  that FACE inherits through its `:inherit' attribute is considered as
  well; however the return value may still be nil.
If INHERIT is a face or a list of faces, then it is used to try to
  resolve an unspecified stipple.

To ensure that a valid stipple or nil is always returned, use a value of
`default' for INHERIT; this will resolve any unspecified values by merging
with the `default' face (which is always completely specified).Fface-underline-p
Return non-nil if FACE specifies a non-nil underlining.
If the optional argument FRAME is given, report on face FACE in that frame.
If FRAME is t, report on the defaults for face FACE (for new frames).
If FRAME is omitted or nil, use the selected frame.Fface-inverse-video-p
Return non-nil if FACE specifies a non-nil inverse-video.
If the optional argument FRAME is given, report on face FACE in that frame.
If FRAME is t, report on the defaults for face FACE (for new frames).
If FRAME is omitted or nil, use the selected frame.Fface-bold-p
Return non-nil if the font of FACE is bold on FRAME.
If the optional argument FRAME is given, report on face FACE in that frame.
If FRAME is t, report on the defaults for face FACE (for new frames).
If FRAME is omitted or nil, use the selected frame.
Use `face-attribute' for finer control.Fface-italic-p
Return non-nil if the font of FACE is italic on FRAME.
If the optional argument FRAME is given, report on face FACE in that frame.
If FRAME is t, report on the defaults for face FACE (for new frames).
If FRAME is omitted or nil, use the selected frame.
Use `face-attribute' for finer control.Fface-documentation
Get the documentation string for FACE.
If FACE is a face-alias, get the documentation for the target face.Fset-face-documentation
Set the documentation string for FACE to STRING.Fset-face-attribute
Set attributes of FACE on FRAME from ARGS.
This function overrides the face attributes specified by FACE's
face spec.  It is mostly intended for internal use only.

If FRAME is nil, set the attributes for all existing frames, as
well as the default for new frames.  If FRAME is t, change the
default for new frames only.

ARGS must come in pairs ATTRIBUTE VALUE.  ATTRIBUTE must be a
valid face attribute name.  All attributes can be set to
`unspecified'; this fact is not further mentioned below.

The following attributes are recognized:

`:family'

VALUE must be a string specifying the font family
(e.g. "Monospace") or a fontset.

`:foundry'

VALUE must be a string specifying the font foundry,
e.g. ``adobe''.  If a font foundry is specified, wild-cards `*'
and `?' are allowed.

`:width'

VALUE specifies the relative proportionate width of the font to use.
It must be one of the symbols `ultra-condensed', `extra-condensed',
`condensed', `semi-condensed', `normal', `semi-expanded', `expanded',
`extra-expanded', or `ultra-expanded'.

`:height'

VALUE specifies the relative or absolute height of the font.  An
absolute height is an integer, and specifies font height in units
of 1/10 pt.  A relative height is either a floating point number,
which specifies a scaling factor for the underlying face height;
or a function that takes a single argument (the underlying face
height) and returns the new height.  Note that for the `default'
face, you must specify an absolute height (since there is nothing
for it to be relative to).

`:weight'

VALUE specifies the weight of the font to use.  It must be one of the
symbols `ultra-bold', `extra-bold', `bold', `semi-bold', `normal',
`semi-light', `light', `extra-light', `ultra-light'.

`:slant'

VALUE specifies the slant of the font to use.  It must be one of the
symbols `italic', `oblique', `normal', `reverse-italic', or
`reverse-oblique'.

`:foreground', `:background'

VALUE must be a color name, a string.

`:underline'

VALUE specifies whether characters in FACE should be underlined.
If VALUE is t, underline with foreground color of the face.
If VALUE is a string, underline with that color.
If VALUE is nil, explicitly don't underline.

Otherwise, VALUE must be a property list of the form:

`(:color COLOR :style STYLE)'.

COLOR can be a either a color name string or `foreground-color'.
STYLE can be either `line' or `wave'.
If a keyword/value pair is missing from the property list, a
default value will be used for the value.
The default value of COLOR is the foreground color of the face.
The default value of STYLE is `line'.

`:overline'

VALUE specifies whether characters in FACE should be overlined.  If
VALUE is t, overline with foreground color of the face.  If VALUE is a
string, overline with that color.  If VALUE is nil, explicitly don't
overline.

`:strike-through'

VALUE specifies whether characters in FACE should be drawn with a line
striking through them.  If VALUE is t, use the foreground color of the
face.  If VALUE is a string, strike-through with that color.  If VALUE
is nil, explicitly don't strike through.

`:box'

VALUE specifies whether characters in FACE should have a box drawn
around them.  If VALUE is nil, explicitly don't draw boxes.  If
VALUE is t, draw a box with lines of width 1 in the foreground color
of the face.  If VALUE is a string, the string must be a color name,
and the box is drawn in that color with a line width of 1.  Otherwise,
VALUE must be a property list of the form `(:line-width WIDTH
:color COLOR :style STYLE)'.  If a keyword/value pair is missing from
the property list, a default value will be used for the value, as
specified below.  WIDTH specifies the width of the lines to draw; it
defaults to 1.  If WIDTH is negative, the absolute value is the width
of the lines, and draw top/bottom lines inside the characters area,
not around it.  COLOR is the name of the color to draw in, default is
the foreground color of the face for simple boxes, and the background
color of the face for 3D boxes.  STYLE specifies whether a 3D box
should be draw.  If STYLE is `released-button', draw a box looking
like a released 3D button.  If STYLE is `pressed-button' draw a box
that appears like a pressed button.  If STYLE is nil, the default if
the property list doesn't contain a style specification, draw a 2D
box.

`:inverse-video'

VALUE specifies whether characters in FACE should be displayed in
inverse video.  VALUE must be one of t or nil.

`:stipple'

If VALUE is a string, it must be the name of a file of pixmap data.
The directories listed in the `x-bitmap-file-path' variable are
searched.  Alternatively, VALUE may 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.  VALUE nil means
explicitly don't use a stipple pattern.

For convenience, attributes `:family', `:foundry', `:width',
`:height', `:weight', and `:slant' may also be set in one step
from an X font name:

`:font'

Set font-related face attributes from VALUE.  VALUE must be a
valid font name or font object.  Setting this attribute will also
set the `:family', `:foundry', `:width', `:height', `:weight',
and `:slant' attributes.

`:inherit'

VALUE is the name of a face from which to inherit attributes, or
a list of face names.  Attributes from inherited faces are merged
into the face like an underlying face would be, with higher
priority than underlying faces.

For backward compatibility, the keywords `:bold' and `:italic'
can be used to specify weight and slant respectively.  This usage
is considered obsolete.  For these two keywords, the VALUE must
be either t or nil.  A value of t for `:bold' is equivalent to
setting `:weight' to `bold', and a value of t for `:italic' is
equivalent to setting `:slant' to `italic'.  But if `:weight' is
specified in the face spec, `:bold' is ignored, and if `:slant'
is specified, `:italic' is ignored.Fmake-face-bold
Make the font of FACE be bold, if possible.
FRAME nil or not specified means change face on all frames.
Argument NOERROR is ignored and retained for compatibility.
Use `set-face-attribute' for finer control of the font weight.Fmake-face-unbold
Make the font of FACE be non-bold, if possible.
FRAME nil or not specified means change face on all frames.
Argument NOERROR is ignored and retained for compatibility.Fmake-face-italic
Make the font of FACE be italic, if possible.
FRAME nil or not specified means change face on all frames.
Argument NOERROR is ignored and retained for compatibility.
Use `set-face-attribute' for finer control of the font slant.Fmake-face-unitalic
Make the font of FACE be non-italic, if possible.
FRAME nil or not specified means change face on all frames.
Argument NOERROR is ignored and retained for compatibility.Fmake-face-bold-italic
Make the font of FACE be bold and italic, if possible.
FRAME nil or not specified means change face on all frames.
Argument NOERROR is ignored and retained for compatibility.
Use `set-face-attribute' for finer control of font weight and slant.Fset-face-font
Change font-related attributes of FACE to those of FONT (a string).
FRAME nil or not specified means change face on all frames.
This sets the attributes `:family', `:foundry', `:width',
`:height', `:weight', and `:slant'.  When called interactively,
prompt for the face and font.Fset-face-background
Change the background color of face FACE to COLOR (a string).
FRAME nil or not specified means change face on all frames.
COLOR can be a system-defined color name (see `list-colors-display')
or a hex spec of the form #RRGGBB.
When called interactively, prompts for the face and color.Fset-face-foreground
Change the foreground color of face FACE to COLOR (a string).
FRAME nil or not specified means change face on all frames.
COLOR can be a system-defined color name (see `list-colors-display')
or a hex spec of the form #RRGGBB.
When called interactively, prompts for the face and color.Fset-face-stipple
Change the stipple pixmap of face FACE to STIPPLE.
FRAME nil or not specified means change face on all frames.
STIPPLE should be a string, the name of a file of pixmap data.
The directories listed in the `x-bitmap-file-path' variable are searched.

Alternatively, STIPPLE may 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.Fset-face-underline
Specify whether face FACE is underlined.
UNDERLINE nil means FACE explicitly doesn't underline.
UNDERLINE t means FACE underlines with its foreground color.
If UNDERLINE is a string, underline with that color.

UNDERLINE may also be a list of the form (:color COLOR :style STYLE),
where COLOR is a string or `foreground-color', and STYLE is either
`line' or `wave'.  :color may be omitted, which means to use the
foreground color.  :style may be omitted, which means to use a line.

FRAME nil or not specified means change face on all frames.
Use `set-face-attribute' to ``unspecify'' underlining.Fset-face-inverse-video-p
Specify whether face FACE is in inverse video.
INVERSE-VIDEO-P non-nil means FACE displays explicitly in inverse video.
INVERSE-VIDEO-P nil means FACE explicitly is not in inverse video.
FRAME nil or not specified means change face on all frames.
Use `set-face-attribute' to ``unspecify'' the inverse video attribute.Fset-face-bold-p
Specify whether face FACE is bold.
BOLD-P non-nil means FACE should explicitly display bold.
BOLD-P nil means FACE should explicitly display non-bold.
FRAME nil or not specified means change face on all frames.
Use `set-face-attribute' or `modify-face' for finer control.Fset-face-italic-p
Specify whether face FACE is italic.
ITALIC-P non-nil means FACE should explicitly display italic.
ITALIC-P nil means FACE should explicitly display non-italic.
FRAME nil or not specified means change face on all frames.
Use `set-face-attribute' or `modify-face' for finer control.Finvert-face
Swap the foreground and background colors of FACE.
If FRAME is omitted or nil, it means change face on all frames.
If FACE specifies neither foreground nor background color,
set its foreground and background to the background and foreground
of the default face.  Value is FACE.Fread-face-name
Read one or more face names, defaulting to the face(s) at point.
PROMPT should be a prompt string; it should not end in a space or
a colon.

The optional argument DEFAULT specifies the default face name(s)
to return if the user just types RET.  If its value is non-nil,
it should be a list of face names (symbols); in that case, the
default return value is the `car' of DEFAULT (if the argument
MULTIPLE is non-nil), or DEFAULT (if MULTIPLE is nil).  See below
for the meaning of MULTIPLE.

If DEFAULT is nil, the list of default face names is taken from
the `read-face-name' property of the text at point, or, if that
is nil, from the `face' property of the text at point.

This function uses `completing-read-multiple' with "," as the
separator character.  Thus, the user may enter multiple face
names, separated by commas.  The optional argument MULTIPLE
specifies the form of the return value.  If MULTIPLE is non-nil,
return a list of face names; if the user entered just one face
name, the return value would be a list of one face name.
Otherwise, return a single face name; if the user entered more
than one face name, return only the first one.Fface-valid-attribute-values
Return valid values for face attribute ATTRIBUTE.
The optional argument FRAME is used to determine available fonts
and colors.  If it is nil or not specified, the selected frame is used.
Value is an alist of (NAME . VALUE) if ATTRIBUTE expects a value out
of a set of discrete values.  Value is `integerp' if ATTRIBUTE expects
an integer value.Vface-attribute-name-alist
An alist of descriptive names for face attributes.
Each element has the form (ATTRIBUTE-NAME . DESCRIPTION) where
ATTRIBUTE-NAME is a face attribute name (a keyword symbol), and
DESCRIPTION is a descriptive name for ATTRIBUTE-NAME.Fface-descriptive-attribute-name
Return a descriptive name for ATTRIBUTE.Fface-read-string
Interactively read a face attribute string value.
FACE is the face whose attribute is read.  If non-nil, DEFAULT is the
default string to return if no new value is entered.  NAME is a
descriptive name of the attribute for prompting.  COMPLETION-ALIST is an
alist of valid values, if non-nil.

Entering nothing accepts the default string DEFAULT.
Value is the new attribute value.Fface-read-integer
Interactively read an integer face attribute value.
FACE is the face whose attribute is read.  DEFAULT is the default
value to return if no new value is entered.  NAME is a descriptive
name of the attribute for prompting.  Value is the new attribute value.Fread-face-attribute
Interactively read a new value for FACE's ATTRIBUTE.
Optional argument FRAME nil or unspecified means read an attribute value
of a global face.  Value is the new attribute value.Fread-face-font
Read the name of a font for FACE on FRAME.
If optional argument FRAME is nil or omitted, use the selected frame.Fread-all-face-attributes
Interactively read all attributes for FACE.
If optional argument FRAME is nil or omitted, use the selected frame.
Value is a property list of attribute names and new values.Fmodify-face
Modify attributes of faces interactively.
If optional argument FRAME is nil or omitted, modify the face used
for newly created frame, i.e. the global face.
For non-interactive use, `set-face-attribute' is preferred.
When called from Lisp, if FACE is nil, all arguments but FRAME are ignored
and the face and its settings are obtained by querying the user.Fread-face-and-attribute
Read face name and face attribute value.
ATTRIBUTE is the attribute whose new value is read.
FRAME nil or unspecified means read attribute value of global face.
Value is a list (FACE NEW-VALUE) where FACE is the face read
(a symbol), and NEW-VALUE is value read.Vlist-faces-sample-text
Text string to display as the sample text for `list-faces-display'.Flist-faces-display
List all faces, using the same sample text in each.
The sample text is a string that comes from the variable
`list-faces-sample-text'.

If REGEXP is non-nil, list only those faces with names matching
this regular expression.  When called interactively with a prefix
arg, prompt for a regular expression.Fdescribe-face
Display the properties of face FACE on FRAME.
Interactively, FACE defaults to the faces of the character after point
and FRAME defaults to the selected frame.

If the optional argument FRAME is given, report on face FACE in that frame.
If FRAME is t, report on the defaults for face FACE (for new frames).
If FRAME is omitted or nil, use the selected frame.Fface-attr-construct
Return a `defface'-style attribute list for FACE.
Value is a property list of pairs ATTRIBUTE VALUE for all specified
face attributes of FACE where ATTRIBUTE is the attribute name and
VALUE is the specified value of that attribute.
Argument FRAME is ignored and retained for compatibility.Fface-spec-set-match-display
Non-nil if DISPLAY matches FRAME.
DISPLAY is part of a spec such as can be used in `defface'.
If FRAME is nil, the current FRAME is used.Fface-spec-choose
Choose the proper attributes for FRAME, out of SPEC.
If SPEC is nil, return nil.Fface-spec-reset-face
Reset all attributes of FACE on FRAME to unspecified.Fface-spec-set
Set and apply the face spec for FACE.
If the optional argument FOR-DEFFACE is omitted or nil, set the
overriding spec to SPEC, recording it in the `face-override-spec'
property of FACE.  See `defface' for the format of SPEC.

If FOR-DEFFACE is non-nil, set the base spec (the one set by
`defface' and Custom).  In this case, SPEC is ignored; the caller
is responsible for putting the face spec in the `saved-face',
`customized-face', or `face-defface-spec', as appropriate.

The appearance of FACE is controlled by the base spec, by any
custom theme specs on top of that, and by the overriding spec on
top of all the rest.Fface-spec-recalc
Reset the face attributes of FACE on FRAME according to its specs.
This applies the defface/custom spec first, then the custom theme specs,
then the override spec.Fface-spec-set-2
Set the face attributes of FACE on FRAME according to SPEC.Fface-attr-match-p
Return t if attributes of FACE match values in plist ATTRS.
Optional parameter FRAME is the frame whose definition of FACE
is used.  If nil or omitted, use the selected frame.Fface-spec-match-p
Return t if FACE, on FRAME, matches what SPEC says it should look like.Fface-default-spec
Return the default face-spec for FACE, ignoring any user customization.
If there is no default for FACE, return nil.Fface-user-default-spec
Return the user's customized face-spec for FACE, or the default if none.
If there is neither a user setting nor a default for FACE, return nil.Fdefined-colors
Return a list of colors supported for a particular frame.
The argument FRAME specifies which frame to try.
The value may be different for frames on different display types.
If FRAME doesn't support colors, the value is nil.
If FRAME is nil, that stands for the selected frame.Fcolor-defined-p
Return non-nil if COLOR is supported on frame FRAME.
COLOR should be a string naming a color (e.g. "white"), or a
string specifying a color's RGB components (e.g. "#ff12ec"), or
the symbol `unspecified'.

This function returns nil if COLOR is the symbol `unspecified',
or one of the strings "unspecified-fg" or "unspecified-bg".

If FRAME is omitted or nil, use the selected frame.Fcolor-values
Return a description of the color named COLOR on frame FRAME.
COLOR should be a string naming a color (e.g. "white"), or a
string specifying a color's RGB components (e.g. "#ff12ec").

Return a list of three integers, (RED GREEN BLUE), each between 0
and either 65280 or 65535 (the maximum depends on the system).
Use `color-name-to-rgb' if you want RGB floating-point values
normalized to 1.0.

If FRAME is omitted or nil, use the selected frame.
If FRAME cannot display COLOR, the value is nil.

COLOR can also be the symbol `unspecified' or one of the strings
"unspecified-fg" or "unspecified-bg", in which case the
return value is nil.Fdisplay-color-p
Return t if DISPLAY supports color.
The optional argument DISPLAY specifies which display to ask about.
DISPLAY should be either a frame or a display name (a string).
If omitted or nil, that stands for the selected frame's display.Fdisplay-grayscale-p
Return non-nil if frames on DISPLAY can display shades of gray.Fread-color
Read a color name or RGB triplet.
Completion is available for color names, but not for RGB triplets.

RGB triplets have the form "#RRGGBB".  Each of the R, G, and B
components can have one to four digits, but all three components
must have the same number of digits.  Each digit is a hex value
between 0 and F; either upper case or lower case for A through F
are acceptable.

In addition to standard color names and RGB hex values, the
following are available as color candidates.  In each case, the
corresponding color is used.

 * `foreground at point'   - foreground under the cursor
 * `background at point'   - background under the cursor

Optional arg PROMPT is the prompt; if nil, use a default prompt.

Interactively, or with optional arg CONVERT-TO-RGB-P non-nil,
convert an input color name to an RGB hex string.  Return the RGB
hex string.

If optional arg ALLOW-EMPTY-NAME is non-nil, the user is allowed
to enter an empty color name (the empty string).

Interactively, or with optional arg MSG non-nil, print the
resulting color name in the echo area.Fface-at-point
Return the face of the character after point.
If it has more than one face, return the first one.
Return nil if it has no specified face.Fforeground-color-at-point
Return the foreground color of the character after point.Fbackground-color-at-point
Return the background color of the character after point.Fx-handle-named-frame-geometry
Add geometry parameters for a named frame to parameter list PARAMETERS.
Value is the new parameter list.Fx-handle-reverse-video
Handle the reverse-video frame parameter and X resource.
`x-create-frame' does not handle this one.Fx-create-frame-with-faces
Create and return a frame with frame parameters PARAMETERS.
If PARAMETERS specify a frame name, handle X geometry resources
for that name.  If PARAMETERS includes a `reverse' parameter, or
the X resource ``reverseVideo'' is present, handle that.Fface-set-after-frame-default
Initialize the frame-local faces of FRAME.
Calculate the face definitions using the face specs, custom theme
settings, X resources, and `face-new-frame-defaults'.
Finally, apply any relevant face attributes found amongst the
frame parameters in PARAMETERS.Ftty-handle-reverse-video
Handle the reverse-video frame parameter for terminal frames.Ftty-create-frame-with-faces
Create and return a frame from optional frame parameters PARAMETERS.
If PARAMETERS contains a `reverse' parameter, handle that.Ftty-find-type
Return the longest prefix of TYPE to which PRED returns non-nil.
TYPE should be a tty type name such as "xterm-16color".

The function tries only those prefixes that are followed by a
dash or underscore in the original type name, like "xterm" in
the above example.Ftty-run-terminal-initialization
Run the special initialization code for the terminal type of FRAME.
The optional TYPE parameter may be used to override the autodetected
terminal type to a different value.Fx-resolve-font-name
Return a font name matching PATTERN.
All wildcards in PATTERN are instantiated.
If PATTERN is nil, return the name of the frame's base font, which never
contains wildcards.
Given optional arguments FACE and FRAME, return a font which is
also the same size as FACE on FRAME, or fail.Sbutton.elc
Vbutton-map
Keymap used by buttons.Vbutton-buffer-map
Keymap useful for buffers containing buttons.
Mode-specific keymaps may want to use this as their parent keymap.Fbutton-category-symbol
Return the symbol used by button-type TYPE to store properties.
Buttons inherit them by setting their `category' property to that symbol.Fdefine-button-type
Define a `button type' called NAME (a symbol).
The remaining arguments form a sequence of PROPERTY VALUE pairs,
specifying properties to use as defaults for buttons with this type
(a button's type may be set by giving it a `type' property when
creating the button, using the :type keyword argument).

In addition, the keyword argument :supertype may be used to specify a
button-type from which NAME inherits its default property values
(however, the inheritance happens only when NAME is defined; subsequent
changes to a supertype are not reflected in its subtypes).Fbutton-type-put
Set the button-type TYPE's PROP property to VAL.Fbutton-type-get
Get the property of button-type TYPE named PROP.Fbutton-type-subtype-p
Return t if button-type TYPE is a subtype of SUPERTYPE.Fbutton-start
Return the position at which BUTTON starts.Fbutton-end
Return the position at which BUTTON ends.Fbutton-get
Get the property of button BUTTON named PROP.Fbutton-put
Set BUTTON's PROP property to VAL.Fbutton-activate
Call BUTTON's action property.
If USE-MOUSE-ACTION is non-nil, invoke the button's mouse-action
instead of its normal action; if the button has no mouse-action,
the normal action is used instead.Fbutton-label
Return BUTTON's text label.Fbutton-type
Return BUTTON's button-type.Fbutton-has-type-p
Return t if BUTTON has button-type TYPE, or one of TYPE's subtypes.Fmake-button
Make a button from BEG to END in the current buffer.
The remaining arguments form a sequence of PROPERTY VALUE pairs,
specifying properties to add to the button.
In addition, the keyword argument :type may be used to specify a
button-type from which to inherit other properties; see
`define-button-type'.

Also see `make-text-button', `insert-button'.Finsert-button
Insert a button with the label LABEL.
The remaining arguments form a sequence of PROPERTY VALUE pairs,
specifying properties to add to the button.
In addition, the keyword argument :type may be used to specify a
button-type from which to inherit other properties; see
`define-button-type'.

Also see `insert-text-button', `make-button'.Fmake-text-button
Make a button from BEG to END in the current buffer.
The remaining arguments form a sequence of PROPERTY VALUE pairs,
specifying properties to add to the button.
In addition, the keyword argument :type may be used to specify a
button-type from which to inherit other properties; see
`define-button-type'.

This function is like `make-button', except that the button is actually
part of the text instead of being a property of the buffer.  That is,
this function uses text properties, the other uses overlays.
Creating large numbers of buttons can also be somewhat faster
using `make-text-button'.  Note, however, that if there is an existing
face property at the site of the button, the button face may not be visible.
You may want to use `make-button' in that case.

BEG can also be a string, in which case it is made into a button.

Also see `insert-text-button'.Finsert-text-button
Insert a button with the label LABEL.
The remaining arguments form a sequence of PROPERTY VALUE pairs,
specifying properties to add to the button.
In addition, the keyword argument :type may be used to specify a
button-type from which to inherit other properties; see
`define-button-type'.

This function is like `insert-button', except that the button is
actually part of the text instead of being a property of the buffer.
Creating large numbers of buttons can also be somewhat faster using
`insert-text-button'.

Also see `make-text-button'.Fbutton-at
Return the button at position POS in the current buffer, or nil.
If the button at POS is a text property button, the return value
is a marker pointing to POS.Fnext-button
Return the next button after position POS in the current buffer.
If COUNT-CURRENT is non-nil, count any button at POS in the search,
instead of starting at the next button.Fprevious-button
Return the previous button before position POS in the current buffer.
If COUNT-CURRENT is non-nil, count any button at POS in the search,
instead of starting at the next button.Fpush-button
Perform the action specified by a button at location POS.
POS may be either a buffer position or a mouse-event.  If
USE-MOUSE-ACTION is non-nil, invoke the button's mouse-action
instead of its normal action; if the button has no mouse-action,
the normal action is used instead.  The action may be either a
function to call or a marker to display.
POS defaults to point, except when `push-button' is invoked
interactively as the result of a mouse-event, in which case, the
mouse event is used.
If there's no button at POS, do nothing and return nil, otherwise
return t.Fforward-button
Move to the Nth next button, or Nth previous button if N is negative.
If N is 0, move to the start of any button at point.
If WRAP is non-nil, moving past either end of the buffer continues from the
other end.
If DISPLAY-MESSAGE is non-nil, the button's help-echo string is displayed.
Any button with a non-nil `skip' property is skipped over.
Returns the button found.Fbackward-button
Move to the Nth previous button, or Nth next button if N is negative.
If N is 0, move to the start of any button at point.
If WRAP is non-nil, moving past either end of the buffer continues from the
other end.
If DISPLAY-MESSAGE is non-nil, the button's help-echo string is displayed.
Any button with a non-nil `skip' property is skipped over.
Returns the button found.Sstartup.elc
Vcommand-line-processed
Non-nil once command line has been processed.Vcommand-switch-alist
Alist of command-line switches.
Elements look like (SWITCH-STRING . HANDLER-FUNCTION).
HANDLER-FUNCTION receives the switch string as its sole argument;
the remaining command-line args are in the variable `command-line-args-left'.Vcommand-line-args-left
List of command-line args not yet processed.Vargi
Current command-line argument.Vcommand-line-functions
List of functions to process unrecognized command-line arguments.
Each function should access the dynamically bound variables
`argi' (the current argument) and `command-line-args-left' (the remaining
arguments).  The function should return non-nil only if it recognizes and
processes `argi'.  If it does so, it may consume successive arguments by
altering `command-line-args-left' to remove them.Vcommand-line-default-directory
Default directory to use for command line arguments.
This is normally copied from `default-directory' when Emacs starts.Vcommand-line-x-option-alist
Alist of X Windows options.
Each element has the form
  (NAME NUMARGS HANDLER FRAME-PARAM VALUE)
where NAME is the option name string, NUMARGS is the number of arguments
that the option accepts, HANDLER is a function to call to handle the option.
FRAME-PARAM (optional) is the frame parameter this option specifies,
and VALUE is the value which is given to that frame parameter
(most options use the argument for this, so VALUE is not present).Vcommand-line-ns-option-alist
Alist of NS options.
Each element has the form
  (NAME NUMARGS HANDLER FRAME-PARAM VALUE)
where NAME is the option name string, NUMARGS is the number of arguments
that the option accepts, HANDLER is a function to call to handle the option.
FRAME-PARAM (optional) is the frame parameter this option specifies,
and VALUE is the value which is given to that frame parameter
(most options use the argument for this, so VALUE is not present).Vbefore-init-hook
Normal hook run after handling urgent options but before loading init files.Vafter-init-hook
Normal hook run after initializing the Emacs session.
It is run after Emacs loads the init file, `default' library, the
abbrevs file, and additional Lisp packages (if any), and setting
the value of `after-init-time'.

There is no `condition-case' around the running of this hook;
therefore, if `debug-on-error' is non-nil, an error in one of
these functions will invoke the debugger.Vemacs-startup-hook
Normal hook run after loading init files and handling the command line.Vterm-setup-hook
Normal hook run after loading terminal-specific Lisp code.
It also follows `emacs-startup-hook'.  This hook exists for users to set,
so as to override the definitions made by the terminal-specific file.
Emacs never sets this variable itself.Vinhibit-startup-hooks
Non-nil means don't run `term-setup-hook' and `emacs-startup-hook'.
This is because we already did so.Vkeyboard-type
The brand of keyboard you are using.
This variable is used to define the proper function and keypad
keys for use under X.  It is used in a fashion analogous to the
environment variable TERM.Vwindow-setup-hook
Normal hook run to initialize window system display.
Emacs runs this hook after processing the command line arguments and loading
the user's init file.Vinit-file-user
Identity of user whose init file is or was read.
The value is nil if `-q' or `--no-init-file' was specified,
meaning do not load any init file.

Otherwise, the value may be an empty string, meaning
use the init file for the user who originally logged in,
or it may be a string containing a user's name meaning
use that person's init file.

In either of the latter cases, `(concat "~" init-file-user "/")'
evaluates to the name of the directory where the init file was
looked for.

Setting `init-file-user' does not prevent Emacs from loading
`site-start.el'.  The only way to do that is to use `--no-site-file'.Vinit-file-had-error
Non-nil if there was an error loading the user's init file.Vpure-space-overflow
Non-nil if building Emacs overflowed pure space.Vpackage-subdirectory-regexp
Regular expression matching the name of a package subdirectory.
The first subexpression is the package name.
The second subexpression is the version string.

The regexp should not contain a starting "\`" or a trailing
 "\'"; those are added automatically by callers.Fnormal-top-level-add-subdirs-to-load-path
Add all subdirectories of `default-directory' to `load-path'.
More precisely, this uses only the subdirectories whose names
start with letters or digits; it excludes any subdirectory named `RCS'
or `CVS', and any subdirectory that contains a file named `.nosearch'.

(fn)Fnormal-top-level-add-to-load-path
This function is called from a subdirs.el file.
It assumes that `default-directory' is the directory in which the
subdirs.el file exists, and it adds to `load-path' the subdirs of
that directory as specified in DIRS.  Normally the elements of
DIRS are relative.

(fn DIRS)Fnormal-top-level
Emacs calls this function when it first starts up.
It sets `command-line-processed', processes the command-line,
reads the initialization files, etc.
It is the default value of the variable `top-level'.

(fn)Vtool-bar-images-pixel-height
Height in pixels of images in the tool-bar.Vtool-bar-originally-present
Non-nil if tool-bars are present before user and site init files are read.Vhandle-args-function-alist
Functions for processing window-system dependent command-line arguments.
Window system startup files should add their own function to this
alist, which should parse the command line arguments.  Those
pertaining to the window system should be processed and removed
from the returned command line.Vwindow-system-initialization-alist
Alist of window-system initialization functions.
Window-system startup files should add their own initialization
function to this list.  The function should take no arguments,
and initialize the window system environment to prepare for
opening the first frame (e.g. open a connection to an X server).Ftty-handle-args
Handle the X-like command-line arguments "-fg", "-bg", "-name", etc.

(fn ARGS)Fcommand-line
A subroutine of `normal-top-level'.
Amongst another things, it parses the command-line arguments.

(fn)Fx-apply-session-resources
Apply X resources which specify initial values for Emacs variables.
This is called from a window-system initialization function, such
as `x-initialize-window-system' for X, either at startup (prior
to reading the init file), or afterwards when the user first
opens a graphical frame.

This can set the values of `menu-bar-mode', `tool-bar-mode', and
`no-blinking-cursor', as well as the `cursor' face.  Changed
settings will be marked as "CHANGED outside of Customize".

(fn)Vfancy-startup-text
A list of texts to show in the middle part of splash screens.
Each element in the list should be a list of strings or pairs
`:face FACE', like `fancy-splash-insert' accepts them.Vfancy-about-text
A list of texts to show in the middle part of the About screen.
Each element in the list should be a list of strings or pairs
`:face FACE', like `fancy-splash-insert' accepts them.Vsplash-screen-keymap
Keymap for splash screen buffer.Ffancy-splash-insert
Insert text into the current buffer, with faces.
Arguments from ARGS should be either strings; functions called
with no args that return a string; pairs `:face FACE', where FACE
is a face specification usable with `put-text-property'; or pairs
`:link LINK' where LINK is a list of arguments to pass to
`insert-button', of the form (LABEL ACTION [HELP-ECHO]), which
specifies the button's label, `action' property and help-echo string.
FACE and LINK can also be functions, which are evaluated to obtain
a face or button specification.

(fn &rest ARGS)Ffancy-splash-head
Insert the head part of the splash screen into the current buffer.

(fn)Ffancy-startup-tail
Insert the tail part of the splash screen into the current buffer.

(fn &optional CONCISE)Fexit-splash-screen
Stop displaying the splash screen buffer.

(fn)Ffancy-startup-screen
Display fancy startup screen.
If CONCISE is non-nil, display a concise version of the
splash screen in another window.

(fn &optional CONCISE)Ffancy-about-screen
Display fancy About screen.

(fn)Ffancy-splash-frame
Return the frame to use for the fancy splash screen.
Returning non-nil does not mean we should necessarily
use the fancy splash screen, but if we do use it,
we put it on this frame.

(fn)Fuse-fancy-splash-screens-p
Return t if fancy splash screens should be used.

(fn)Fnormal-splash-screen
Display non-graphic splash screen.
If optional argument STARTUP is non-nil, display the startup screen
after Emacs starts.  If STARTUP is nil, display the About screen.
If CONCISE is non-nil, display a concise version of the
splash screen in another window.

(fn &optional STARTUP CONCISE)Fdisplay-startup-screen
Display startup screen according to display.
A fancy display is used on graphic displays, normal otherwise.

If CONCISE is non-nil, display a concise version of the startup
screen.

(fn &optional CONCISE)Fdisplay-about-screen
Display the *About GNU Emacs* buffer.
A fancy display is used on graphic displays, normal otherwise.

(fn)Fcommand-line-1
A subroutine of `command-line'.

(fn ARGS-LEFT)Fcommand-line-normalize-file-name
Collapse multiple slashes to one, to handle non-Emacs file names.

(fn FILE)Sminibuffer.elc
Fcompletion-boundaries
Return the boundaries of the completions returned by TABLE for STRING.
STRING is the string on which completion will be performed.
SUFFIX is the string after point.
The result is of the form (START . END) where START is the position
in STRING of the beginning of the completion field and END is the position
in SUFFIX of the end of the completion field.
E.g. for simple completion tables, the result is always (0 . (length SUFFIX))
and for file names the result is the positions delimited by
the closest directory separators.

(fn STRING TABLE PRED SUFFIX)Fcompletion-metadata
Return the metadata of elements to complete at the end of STRING.
This metadata is an alist.  Currently understood keys are:
- `category': the kind of objects returned by `all-completions'.
   Used by `completion-category-overrides'.
- `annotation-function': function to add annotations in *Completions*.
   Takes one argument (STRING), which is a possible completion and
   returns a string to append to STRING.
- `display-sort-function': function to sort entries in *Completions*.
   Takes one argument (COMPLETIONS) and should return a new list
   of completions.  Can operate destructively.
- `cycle-sort-function': function to sort entries when cycling.
   Works like `display-sort-function'.
The metadata of a completion table should be constant between two boundaries.

(fn STRING TABLE PRED)Fcompletion--some
Apply FUN to each element of XS in turn.
Return the first non-nil returned value.
Like CL's `some'.

(fn FUN XS)Fcomplete-with-action
Perform completion ACTION.
STRING is the string to complete.
TABLE is the completion table.
PRED is a completion predicate.
ACTION can be one of nil, t or `lambda'.

(fn ACTION TABLE STRING PRED)Fcompletion-table-dynamic
Use function FUN as a dynamic completion table.
FUN is called with one argument, the string for which completion is required,
and it should return an alist containing all the intended possible completions.
This alist may be a full list of possible completions so that FUN can ignore
the value of its argument.  If completion is performed in the minibuffer,
FUN will be called in the buffer from which the minibuffer was entered.

The result of the `completion-table-dynamic' form is a function
that can be used as the COLLECTION argument to `try-completion' and
`all-completions'.  See Info node `(elisp)Programmed Completion'.

(fn FUN)Flazy-completion-table
Initialize variable VAR as a lazy completion table.
If the completion table VAR is used for the first time (e.g., by passing VAR
as an argument to `try-completion'), the function FUN is called with no
arguments.  FUN must return the completion table that will be stored in VAR.
If completion is requested in the minibuffer, FUN will be called in the buffer
from which the minibuffer was entered.  The return value of
`lazy-completion-table' must be used to initialize the value of VAR.

You should give VAR a non-nil `risky-local-variable' property.

(fn VAR FUN)Fcompletion-table-case-fold
Return new completion TABLE that is case insensitive.
If DONT-FOLD is non-nil, return a completion table that is
case sensitive instead.

(fn TABLE &optional DONT-FOLD)Fcompletion-table-subvert
Return a completion table from TABLE with S1 replaced by S2.
The result is a completion table which completes strings of the
form (concat S1 S) in the same way as TABLE completes strings of
the form (concat S2 S).

(fn TABLE S1 S2)Fcompletion-table-with-terminator
Construct a completion table like TABLE but with an extra TERMINATOR.
This is meant to be called in a curried way by first passing TERMINATOR
and TABLE only (via `apply-partially').
TABLE is a completion table, and TERMINATOR is a string appended to TABLE's
completion if it is complete.  TERMINATOR is also used to determine the
completion suffix's boundary.
TERMINATOR can also be a cons cell (TERMINATOR . TERMINATOR-REGEXP)
in which case TERMINATOR-REGEXP is a regular expression whose submatch
number 1 should match TERMINATOR.  This is used when there is a need to
distinguish occurrences of the TERMINATOR strings which are really terminators
from others (e.g. escaped).  In this form, the car of TERMINATOR can also be,
instead of a string, a function that takes the completion and returns the
"terminated" string.

(fn TERMINATOR TABLE STRING PRED ACTION)Fcompletion-table-with-predicate
Make a completion table equivalent to TABLE but filtered through PRED1.
PRED1 is a function of one argument which returns non-nil if and only if the
argument is an element of TABLE which should be considered for completion.
STRING, PRED2, and ACTION are the usual arguments to completion tables,
as described in `try-completion', `all-completions', and `test-completion'.
If STRICT is t, the predicate always applies; if nil it only applies if
it does not reduce the set of possible completions to nothing.
Note: TABLE needs to be a proper completion table which obeys predicates.

(fn TABLE PRED1 STRICT STRING PRED2 ACTION)Fcompletion-table-in-turn
Create a completion table that tries each table in TABLES in turn.

(fn &rest TABLES)Fcompletion-table-with-quoting
Return a new completion table operating on quoted text.
TABLE operates on the unquoted text.
UNQUOTE is a function that takes a string and returns a new unquoted string.
REQUOTE is a function of 2 args (UPOS QSTR) where
  QSTR is a string entered by the user (and hence indicating
  the user's preferred form of quoting); and
  UPOS is a position within the unquoted form of QSTR.
REQUOTE should return a pair (QPOS . QFUN) such that QPOS is the
position corresponding to UPOS but in QSTR, and QFUN is a function
of one argument (a string) which returns that argument appropriately quoted
for use at QPOS.

(fn TABLE UNQUOTE REQUOTE)Fminibuffer-message
Temporarily display MESSAGE at the end of the minibuffer.
The text is displayed for `minibuffer-message-timeout' seconds,
or until the next input event arrives, whichever comes first.
Enclose MESSAGE in [...] if this is not yet the case.
If ARGS are provided, then pass MESSAGE through `format'.

(fn MESSAGE &rest ARGS)Fminibuffer-completion-contents
Return the user input in a minibuffer before point as a string.
That is what completion commands operate on.

(fn)Fdelete-minibuffer-contents
Delete all user input in a minibuffer.
If the current buffer is not a minibuffer, erase its entire contents.

(fn)Vcompletion-show-inline-help
If non-nil, print helpful inline messages during completion.Vcompletion-styles-alist
List of available completion styles.
Each element has the form (NAME TRY-COMPLETION ALL-COMPLETIONS DOC):
where NAME is the name that should be used in `completion-styles',
TRY-COMPLETION is the function that does the completion (it should
follow the same calling convention as `completion-try-completion'),
ALL-COMPLETIONS is the function that lists the completions (it should
follow the calling convention of `completion-all-completions'),
and DOC describes the way this style of completion works.Fcompletion--nth-completion
Call the Nth method of completion styles.

(fn N STRING TABLE PRED POINT METADATA)Fcompletion-try-completion
Try to complete STRING using completion table TABLE.
Only the elements of table that satisfy predicate PRED are considered.
POINT is the position of point within STRING.
The return value can be either nil to indicate that there is no completion,
t to indicate that STRING is the only possible completion,
or a pair (NEWSTRING . NEWPOINT) of the completed result string together with
a new position for point.

(fn STRING TABLE PRED POINT &optional METADATA)Fcompletion-all-completions
List the possible completions of STRING in completion table TABLE.
Only the elements of table that satisfy predicate PRED are considered.
POINT is the position of point within STRING.
The return value is a list of completions and may contain the base-size
in the last `cdr'.

(fn STRING TABLE PRED POINT &optional METADATA)Fcompletion--replace
Replace the buffer text between BEG and END with NEWTEXT.
Moves point to the end of the new text.

(fn BEG END NEWTEXT)Vcompletion-fail-discreetly
If non-nil, stay quiet when there  is no match.Fcompletion--do-completion
Do the completion and return a summary of what happened.
M = completion was performed, the text was Modified.
C = there were available Completions.
E = after completion we now have an Exact match.

 MCE
 000  0 no possible completion
 001  1 was already an exact and unique completion
 010  2 no completion happened
 011  3 was already an exact completion
 100  4 ??? impossible
 101  5 ??? impossible
 110  6 some completion happened
 111  7 completed to an exact completion

TRY-COMPLETION-FUNCTION is a function to use in place of `try-completion'.
EXPECT-EXACT, if non-nil, means that there is no need to tell the user
when the buffer's text is already an exact match.

(fn &optional TRY-COMPLETION-FUNCTION EXPECT-EXACT)Fminibuffer-complete
Complete the minibuffer contents as far as possible.
Return nil if there is no valid completion, else t.
If no characters can be completed, display a list of possible completions.
If you repeat this command after it displayed such a list,
scroll the window of possible completions.

(fn)Fminibuffer-force-complete
Complete the minibuffer to an exact match.
Repeated uses step through the possible completions.

(fn)Vminibuffer-confirm-exit-commands
A list of commands which cause an immediately following
`minibuffer-complete-and-exit' to ask for extra confirmation.Fminibuffer-complete-and-exit
Exit if the minibuffer contains a valid completion.
Otherwise, try to complete the minibuffer contents.  If
completion leads to a valid completion, a repetition of this
command will exit.

If `minibuffer-completion-confirm' is `confirm', do not try to
 complete; instead, ask for confirmation and accept any input if
 confirmed.
If `minibuffer-completion-confirm' is `confirm-after-completion',
 do not try to complete; instead, ask for confirmation if the
 preceding minibuffer command was a member of
 `minibuffer-confirm-exit-commands', and accept the input
 otherwise.

(fn)Fminibuffer-complete-word
Complete the minibuffer contents at most a single word.
After one word is completed as much as possible, a space or hyphen
is added, provided that matches some possible completion.
Return nil if there is no valid completion, else t.

(fn)Fcompletion--insert-strings
Insert a list of STRINGS into the current buffer.
Uses columns to keep the listing readable but compact.
It also eliminates runs of equal strings.

(fn STRINGS)Vcompletion-setup-hook
Normal hook run at the end of setting up a completion list buffer.
When this hook is run, the current buffer is the one in which the
command to display the completion list buffer was run.
The completion list buffer is available as the value of `standard-output'.
See also `display-completion-list'.Fdisplay-completion-list
Display the list of completions, COMPLETIONS, using `standard-output'.
Each element may be just a symbol or string
or may be a list of two strings to be printed as if concatenated.
If it is a list of two strings, the first is the actual completion
alternative, the second serves as annotation.
`standard-output' must be a buffer.
The actual completion alternatives, as inserted, are given `mouse-face'
properties of `highlight'.
At the end, this runs the normal hook `completion-setup-hook'.
It can find the completion buffer in `standard-output'.

The obsolete optional arg COMMON-SUBSTRING, if non-nil, should be a string
specifying a common substring for adding the faces
`completions-first-difference' and `completions-common-part' to
the completions buffer.

(fn COMPLETIONS &optional COMMON-SUBSTRING)Vcompletion-extra-properties
Property list of extra properties of the current completion job.
These include:

`:annotation-function': Function to annotate the completions buffer.
   The function must accept one argument, a completion string,
   and return either nil or a string which is to be displayed
   next to the completion (but which is not part of the
   completion).  The function can access the completion data via
   `minibuffer-completion-table' and related variables.

`:exit-function': Function to run after completion is performed.

   The function must accept two arguments, STRING and STATUS.
   STRING is the text to which the field was completed, and
   STATUS indicates what kind of operation happened:
     `finished' - text is now complete
     `sole'     - text cannot be further completed but
                  completion is not finished
     `exact'    - text is a valid completion but may be further
                  completed.Vcompletion-annotate-function
Function to add annotations in the *Completions* buffer.
The function takes a completion and should either return nil, or a string that
will be displayed next to the completion.  The function can access the
completion table and predicates via `minibuffer-completion-table' and related
variables.Fminibuffer-completion-help
Display a list of possible completions of the current minibuffer contents.

(fn)Fminibuffer-hide-completions
Get rid of an out-of-date *Completions* buffer.

(fn)Fexit-minibuffer
Terminate this minibuffer argument.

(fn)Fself-insert-and-exit
Terminate minibuffer input.

(fn)Vcompletion-in-region-functions
Wrapper hook around `completion-in-region'.
The functions on this special hook are called with 5 arguments:
  NEXT-FUN START END COLLECTION PREDICATE.
NEXT-FUN is a function of four arguments (START END COLLECTION PREDICATE)
that performs the default operation.  The other four arguments are like
the ones passed to `completion-in-region'.  The functions on this hook
are expected to perform completion on START..END using COLLECTION
and PREDICATE, either by calling NEXT-FUN or by doing it themselves.Vcompletion-in-region-mode-predicate
Predicate to tell `completion-in-region-mode' when to exit.
It is called with no argument and should return nil when
`completion-in-region-mode' should exit (and hence pop down
the *Completions* buffer).Vcompletion-in-region-mode--predicate
Copy of the value of `completion-in-region-mode-predicate'.
This holds the value `completion-in-region-mode-predicate' had when
we entered `completion-in-region-mode'.Fcompletion-in-region
Complete the text between START and END using COLLECTION.
Return nil if there is no valid completion, else t.
Point needs to be somewhere between START and END.
PREDICATE (a function called with no arguments) says when to
exit.

(fn START END COLLECTION &optional PREDICATE)Vcompletion-in-region-mode-map
Keymap activated during `completion-in-region'.Fcompletion-in-region-mode
Transient minor mode used during `completion-in-region'.
With a prefix argument ARG, enable the modemode if ARG is
positive, and disable it otherwise.  If called from Lisp, enable
the mode if ARG is omitted or nil.

(fn &optional ARG)Vcompletion-at-point-functions
Special hook to find the completion table for the thing at point.
Each function on this hook is called in turns without any argument and should
return either nil to mean that it is not applicable at point,
or a function of no argument to perform completion (discouraged),
or a list of the form (START END COLLECTION . PROPS) where
 START and END delimit the entity to complete and should include point,
 COLLECTION is the completion table to use to complete it, and
 PROPS is a property list for additional information.
Currently supported properties are all the properties that can appear in
`completion-extra-properties' plus:
 `:predicate'	a predicate that completion candidates need to satisfy.
 `:exclusive'	If `no', means that if the completion table fails to
   match the text at point, then instead of reporting a completion
   failure, the completion should try the next completion function.
As is the case with most hooks, the functions are responsible to preserve
things like point and current buffer.Vcompletion--capf-misbehave-funs
List of functions found on `completion-at-point-functions' that misbehave.
These are functions that neither return completion data nor a completion
function but instead perform completion right away.Vcompletion--capf-safe-funs
List of well-behaved functions found on `completion-at-point-functions'.
These are functions which return proper completion data rather than
a completion function or god knows what else.Fcompletion-at-point
Perform completion on the text around point.
The completion method is determined by `completion-at-point-functions'.

(fn)Fcompletion-help-at-point
Display the completions on the text around point.
The completion method is determined by `completion-at-point-functions'.

(fn)Vminibuffer-local-completion-map
Local keymap for minibuffer input with completion.Vminibuffer-local-must-match-map
Local keymap for minibuffer input with completion, for exact match.Vminibuffer-local-filename-completion-map
Local keymap for minibuffer input with completion for filenames.
Gets combined either with `minibuffer-local-completion-map' or
with `minibuffer-local-must-match-map'.Vminibuffer-inactive-mode-map
Keymap for use in the minibuffer when it is not active.
The non-mouse bindings in this keymap can only be used in minibuffer-only
frames, since the minibuffer can normally not be selected when it is
not active.Fminibuffer-inactive-mode
Major-mode.
Uses keymap `minibuffer-inactive-mode-map', abbrev table `nil' and syntax-table `minibuffer-inactive-mode-syntax-table'.

This mode runs the hook `minibuffer-inactive-mode-hook', as the final step
during initialization.

\{minibuffer-inactive-mode-map}

(fn)Fcompletion--embedded-envvar-table
Completion table for envvars embedded in a string.
The envvar syntax (and escaping) rules followed by this table are the
same as `substitute-in-file-name'.

(fn STRING PRED ACTION)Fcompletion-file-name-table
Completion table for file names.

(fn STRING PRED ACTION)Vread-file-name-predicate
Current predicate used by `read-file-name-internal'.Vread-file-name-function
The function called by `read-file-name' to do its work.
It should accept the same arguments as `read-file-name'.Fread-file-name
Read file name, prompting with PROMPT and completing in directory DIR.
Value is not expanded---you must call `expand-file-name' yourself.

DIR is the directory to use for completing relative file names.
It should be an absolute directory name, or nil (which means the
current buffer's value of `default-directory').

DEFAULT-FILENAME specifies the default file name to return if the
user exits the minibuffer with the same non-empty string inserted
by this function.  If DEFAULT-FILENAME is a string, that serves
as the default.  If DEFAULT-FILENAME is a list of strings, the
first string is the default.  If DEFAULT-FILENAME is omitted or
nil, then if INITIAL is non-nil, the default is DIR combined with
INITIAL; otherwise, if the current buffer is visiting a file,
that file serves as the default; otherwise, the default is simply
the string inserted into the minibuffer.

If the user exits with an empty minibuffer, return an empty
string.  (This happens only if the user erases the pre-inserted
contents, or if `insert-default-directory' is nil.)

Fourth arg MUSTMATCH can take the following values:
- nil means that the user can exit with any input.
- t means that the user is not allowed to exit unless
  the input is (or completes to) an existing file.
- `confirm' means that the user can exit with any input, but she needs
  to confirm her choice if the input is not an existing file.
- `confirm-after-completion' means that the user can exit with any
  input, but she needs to confirm her choice if she called
  `minibuffer-complete' right before `minibuffer-complete-and-exit'
  and the input is not an existing file.
- anything else behaves like t except that typing RET does not exit if it
  does non-null completion.

Fifth arg INITIAL specifies text to start with.

Sixth arg PREDICATE, if non-nil, should be a function of one
argument; then a file name is considered an acceptable completion
alternative only if PREDICATE returns non-nil with the file name
as its argument.

If this command was invoked with the mouse, use a graphical file
dialog if `use-dialog-box' is non-nil, and the window system or X
toolkit in use provides a file dialog box, and DIR is not a
remote file.  For graphical file dialogs, any of the special values
of MUSTMATCH `confirm' and `confirm-after-completion' are
treated as equivalent to nil.  Some graphical file dialogs respect
a MUSTMATCH value of t, and some do not (or it only has a cosmetic
effect, and does not actually prevent the user from entering a
non-existent file).

See also `read-file-name-completion-ignore-case'
and `read-file-name-function'.

(fn PROMPT &optional DIR DEFAULT-FILENAME MUSTMATCH INITIAL PREDICATE)Vminibuffer-local-filename-syntax
Syntax table used when reading a file name in the minibuffer.Fread-file-name-default
Default method for reading file names.
See `read-file-name' for the meaning of the arguments.

(fn PROMPT &optional DIR DEFAULT-FILENAME MUSTMATCH INITIAL PREDICATE)Finternal-complete-buffer-except
Perform completion on all buffers excluding BUFFER.
BUFFER nil or omitted means use the current buffer.
Like `internal-complete-buffer', but removes BUFFER from the completion list.

(fn &optional BUFFER)Fcompletion--merge-suffix
Merge end of COMPLETION with beginning of SUFFIX.
Simple generalization of the "merge trailing /" done in Emacs-22.
Return the new suffix.

(fn COMPLETION POINT SUFFIX)Vcompletion-pcm--delim-wild-regex
Regular expression matching delimiters controlling the partial-completion.
Typically, this regular expression simply matches a delimiter, meaning
that completion can add something at (match-beginning 0), but if it has
a submatch 1, then completion can add something at (match-end 1).
This is used when the delimiter needs to be of size zero (e.g. the transition
from lowercase to uppercase characters).Fcompletion-pcm--string->pattern
Split STRING into a pattern.
A pattern is a list where each element is either a string
or a symbol, see `completion-pcm--merge-completions'.

(fn STRING &optional POINT)Fcompletion-pcm--all-completions
Find all completions for PATTERN in TABLE obeying PRED.
PATTERN is as returned by `completion-pcm--string->pattern'.

(fn PREFIX PATTERN TABLE PRED)Fcompletion-pcm--find-all-completions
Find all completions for STRING at POINT in TABLE, satisfying PRED.
POINT is a position inside STRING.
FILTER is a function applied to the return value, that can be used, e.g. to
filter out additional entries (because TABLE might not obey PRED).

(fn STRING TABLE PRED POINT &optional FILTER)Fcompletion--sreverse
Like `reverse' but for a string STR rather than a list.

(fn STR)Fcompletion--common-suffix
Return the common suffix of the strings STRS.

(fn STRS)Fcompletion-pcm--merge-completions
Extract the commonality in STRS, with the help of PATTERN.
PATTERN can contain strings and symbols chosen among `star', `any', `point',
and `prefix'.  They all match anything (aka ".*") but are merged differently:
`any' only grows from the left (when matching "a1b" and "a2b" it gets
  completed to just "a").
`prefix' only grows from the right (when matching "a1b" and "a2b" it gets
  completed to just "b").
`star' grows from both ends and is reified into a "*"  (when matching "a1b"
  and "a2b" it gets completed to "a*b").
`point' is like `star' except that it gets reified as the position of point
  instead of being reified as a "*" character.
The underlying idea is that we should return a string which still matches
the same set of elements.

(fn STRS PATTERN)Fcompletion-pcm--filename-try-filter
Filter to adjust `all' file completion to the behavior of `try'.

(fn ALL)Vcompleting-read-function
The function called by `completing-read' to do its work.
It should accept the same arguments as `completing-read'.Fcompleting-read-default
Default method for reading from the minibuffer with completion.
See `completing-read' for the meaning of the arguments.

(fn PROMPT COLLECTION &optional PREDICATE REQUIRE-MATCH INITIAL-INPUT HIST DEF INHERIT-INPUT-METHOD)Fminibuffer-insert-file-name-at-point
Get a file name at point in original buffer and insert it to minibuffer.

(fn)Sabbrev.elc
Fabbrev-mode
Toggle Abbrev mode in the current buffer.
With a prefix argument ARG, enable Abbrev mode if ARG is
positive, and disable it otherwise.  If called from Lisp, enable
Abbrev mode if ARG is omitted or nil.

In Abbrev mode, inserting an abbreviation causes it to expand and
be replaced by its expansion.

(fn &optional ARG)Vedit-abbrevs-map
Keymap used in `edit-abbrevs'.Fkill-all-abbrevs
Undefine all defined abbrevs.

(fn)Fcopy-abbrev-table
Make a new abbrev-table with the same abbrevs as TABLE.
Does not copy property lists.

(fn TABLE)Finsert-abbrevs
Insert after point a description of all defined abbrevs.
Mark is set after the inserted text.

(fn)Flist-abbrevs
Display a list of defined abbrevs.
If LOCAL is non-nil, interactively when invoked with a
prefix arg, display only local, i.e. mode-specific, abbrevs.
Otherwise display all abbrevs.

(fn &optional LOCAL)Fabbrev-table-name
Value is the name of abbrev table TABLE.

(fn TABLE)Fedit-abbrevs-mode
Major mode for editing the list of abbrev definitions.
\{edit-abbrevs-map}

(fn)Fedit-abbrevs
Alter abbrev definitions by editing a list of them.
Selects a buffer containing a list of abbrev definitions with
point located in the abbrev table of current buffer.
You can edit them and type \<edit-abbrevs-map>\[edit-abbrevs-redefine] to redefine abbrevs
according to your editing.
Buffer contains a header line for each abbrev table,
 which is the abbrev table name in parentheses.
This is followed by one line per abbrev in that table:
NAME   USECOUNT   EXPANSION   HOOK
where NAME and EXPANSION are strings with quotes,
USECOUNT is an integer, and HOOK is any valid function
or may be omitted (it is usually omitted).

(fn)Fedit-abbrevs-redefine
Redefine abbrevs according to current buffer contents.

(fn)Fdefine-abbrevs
Define abbrevs according to current visible buffer contents.
See documentation of `edit-abbrevs' for info on the format of the
text you must have in the buffer.
With argument, eliminate all abbrev definitions except
the ones defined from the buffer now.

(fn &optional ARG)Fread-abbrev-file
Read abbrev definitions from file written with `write-abbrev-file'.
Optional argument FILE is the name of the file to read;
it defaults to the value of `abbrev-file-name'.
Optional second argument QUIETLY non-nil means don't display a message.

(fn &optional FILE QUIETLY)Fquietly-read-abbrev-file
Read abbrev definitions from file written with `write-abbrev-file'.
Optional argument FILE is the name of the file to read;
it defaults to the value of `abbrev-file-name'.
Does not display any message.

(fn &optional FILE)Fwrite-abbrev-file
Write all user-level abbrev definitions to a file of Lisp code.
This does not include system abbrevs; it includes only the abbrev tables
listed in listed in `abbrev-table-name-list'.
The file written can be loaded in another session to define the same abbrevs.
The argument FILE is the file name to write.  If omitted or nil, the file
specified in `abbrev-file-name' is used.
If VERBOSE is non-nil, display a message indicating where abbrevs
have been saved.

(fn &optional FILE VERBOSE)Fabbrev-edit-save-to-file
Save all user-level abbrev definitions in current buffer to FILE.

(fn FILE)Fabbrev-edit-save-buffer
Save all user-level abbrev definitions in current buffer.
The saved abbrevs are written to the file specified by
`abbrev-file-name'.

(fn)Fadd-mode-abbrev
Define mode-specific abbrev for last word(s) before point.
Argument is how many words before point form the expansion;
or zero means the region is the expansion.
A negative argument means to undefine the specified abbrev.
Reads the abbreviation in the minibuffer.

Don't use this function in a Lisp program; use `define-abbrev' instead.

(fn ARG)Fadd-global-abbrev
Define global (all modes) abbrev for last word(s) before point.
The prefix argument specifies the number of words before point that form the
expansion; or zero means the region is the expansion.
A negative argument means to undefine the specified abbrev.
This command uses the minibuffer to read the abbreviation.

Don't use this function in a Lisp program; use `define-abbrev' instead.

(fn ARG)Finverse-add-mode-abbrev
Define last word before point as a mode-specific abbrev.
With prefix argument N, defines the Nth word before point.
This command uses the minibuffer to read the expansion.
Expands the abbreviation after defining it.

(fn N)Finverse-add-global-abbrev
Define last word before point as a global (mode-independent) abbrev.
With prefix argument N, defines the Nth word before point.
This command uses the minibuffer to read the expansion.
Expands the abbreviation after defining it.

(fn N)Fabbrev-prefix-mark
Mark current point as the beginning of an abbrev.
Abbrev to be expanded starts here rather than at beginning of word.
This way, you can expand an abbrev with a prefix: insert the prefix,
use this command, then insert the abbrev.  This command inserts a
temporary hyphen after the prefix (until the intended abbrev
expansion occurs).
If the prefix is itself an abbrev, this command expands it, unless
ARG is non-nil.  Interactively, ARG is the prefix argument.

(fn &optional ARG)Fexpand-region-abbrevs
For abbrev occurrence in the region, offer to expand it.
The user is asked to type `y' or `n' for each occurrence.
A prefix argument means don't query; expand all abbrevs.

(fn START END &optional NOQUERY)Fabbrev-table-get
Get the PROP property of abbrev table TABLE.

(fn TABLE PROP)Fabbrev-table-put
Set the PROP property of abbrev table TABLE to VAL.

(fn TABLE PROP VAL)Vabbrev-table-name-list
List of symbols whose values are abbrev tables.Fmake-abbrev-table
Create a new, empty abbrev table object.
PROPS is a list of properties.

(fn &optional PROPS)Fabbrev-table-p
Return non-nil if OBJECT is an abbrev table.

(fn OBJECT)Fabbrev-table-empty-p
Return nil if there are no abbrev symbols in OBJECT.
If IGNORE-SYSTEM is non-nil, system definitions are ignored.

(fn OBJECT &optional IGNORE-SYSTEM)Vglobal-abbrev-table
The abbrev table whose abbrevs affect all buffers.
Each buffer may also have a local abbrev table.
If it does, the local table overrides the global one
for any particular abbrev defined in both.Vabbrev-minor-mode-table-alist
Alist of abbrev tables to use for minor modes.
Each element looks like (VARIABLE . ABBREV-TABLE);
ABBREV-TABLE is active whenever VARIABLE's value is non-nil.
ABBREV-TABLE can also be a list of abbrev tables.Vfundamental-mode-abbrev-table
The abbrev table of mode-specific abbrevs for Fundamental Mode.Vabbrevs-changed
Set non-nil by defining or altering any word abbrevs.
This causes `save-some-buffers' to offer to save the abbrevs.Vabbrev-start-location
Buffer position for `expand-abbrev' to use as the start of the abbrev.
When nil, use the word before point as the abbrev.
Calling `expand-abbrev' sets this to nil.Vabbrev-start-location-buffer
Buffer that `abbrev-start-location' has been set for.
Trying to expand an abbrev in any other buffer clears `abbrev-start-location'.Vlast-abbrev
The abbrev-symbol of the last abbrev expanded.  See `abbrev-symbol'.Vlast-abbrev-text
The exact text of the last abbrev expanded.
It is nil if the abbrev has already been unexpanded.Vlast-abbrev-location
The location of the start of the last abbrev expanded.Fclear-abbrev-table
Undefine all abbrevs in abbrev table TABLE, leaving it empty.

(fn TABLE)Fdefine-abbrev
Define an abbrev in TABLE named NAME, to expand to EXPANSION and call HOOK.
NAME must be a string, and should be lower-case.
EXPANSION should usually be a string.
To undefine an abbrev, define it with EXPANSION = nil.
If HOOK is non-nil, it should be a function of no arguments;
it is called after EXPANSION is inserted.
If EXPANSION is not a string (and not nil), the abbrev is a
 special one, which does not expand in the usual way but only
 runs HOOK.

If HOOK is a non-nil symbol with a non-nil `no-self-insert' property,
it can control whether the character that triggered abbrev expansion
is inserted.  If such a HOOK returns non-nil, the character is not
inserted.  If such a HOOK returns nil, then so does `abbrev-insert'
(and `expand-abbrev'), as if no abbrev expansion had taken place.

PROPS is a property list.  The following properties are special:
- `:count': the value for the abbrev's usage-count, which is incremented each
  time the abbrev is used (the default is zero).
- `:system': if non-nil, says that this is a "system" abbreviation
  which should not be saved in the user's abbreviation file.
  Unless `:system' is `force', a system abbreviation will not
  overwrite a non-system abbreviation of the same name.
- `:case-fixed': non-nil means that abbreviations are looked up without
  case-folding, and the expansion is not capitalized/upcased.
- `:enable-function': a function of no argument which returns non-nil if the
  abbrev should be used for a particular call of `expand-abbrev'.

An obsolete but still supported calling form is:

(define-abbrev TABLE NAME EXPANSION &optional HOOK COUNT SYSTEM).

(fn TABLE NAME EXPANSION &optional HOOK &rest PROPS)Fabbrev--check-chars
Check if the characters in ABBREV have word syntax in either the
current (if global is nil) or standard syntax table.

(fn ABBREV GLOBAL)Fdefine-global-abbrev
Define ABBREV as a global abbreviation for EXPANSION.
The characters in ABBREV must all be word constituents in the standard
syntax table.

(fn ABBREV EXPANSION)Fdefine-mode-abbrev
Define ABBREV as a mode-specific abbreviation for EXPANSION.
The characters in ABBREV must all be word-constituents in the current mode.

(fn ABBREV EXPANSION)Fabbrev--active-tables
Return the list of abbrev tables currently active.
TABLES if non-nil overrides the usual rules.  It can hold
either a single abbrev table or a list of abbrev tables.

(fn &optional TABLES)Fabbrev-symbol
Return the symbol representing abbrev named ABBREV.
This symbol's name is ABBREV, but it is not the canonical symbol of that name;
it is interned in an abbrev-table rather than the normal obarray.
The value is nil if that abbrev is not defined.
Optional second arg TABLE is abbrev table to look it up in.
The default is to try buffer's mode-specific abbrev table, then global table.

(fn ABBREV &optional TABLE)Fabbrev-expansion
Return the string that ABBREV expands into in the current buffer.
Optionally specify an abbrev table as second arg;
then ABBREV is looked up in that table only.

(fn ABBREV &optional TABLE)Fabbrev--before-point
Try and find an abbrev before point.  Return it if found, nil otherwise.

(fn)Fabbrev-insert
Insert abbrev ABBREV at point.
If non-nil, NAME is the name by which this abbrev was found.
If non-nil, WORDSTART is the place where to insert the abbrev.
If WORDEND is non-nil, the abbrev replaces the previous text between
WORDSTART and WORDEND.
Return ABBREV if the expansion should be considered as having taken place.
The return value can be influenced by a `no-self-insert' property;
see `define-abbrev' for details.

(fn ABBREV &optional NAME WORDSTART WORDEND)Vabbrev-expand-functions
Wrapper hook around `expand-abbrev'.
The functions on this special hook are called with one argument:
a function that performs the abbrev expansion.  It should return
the abbrev symbol if expansion took place.Fexpand-abbrev
Expand the abbrev before point, if there is an abbrev there.
Effective when explicitly called even when `abbrev-mode' is nil.
Returns the abbrev symbol, if expansion took place.  (The actual
return value is that of `abbrev-insert'.)

(fn)Funexpand-abbrev
Undo the expansion of the last abbrev that expanded.
This differs from ordinary undo in that other editing done since then
is not undone.

(fn)Fabbrev--write
Write the abbrev in a `read'able form.
Only writes the non-system abbrevs.
Presumes that `standard-output' points to `current-buffer'.

(fn SYM)Finsert-abbrev-table-description
Insert before point a full description of abbrev table named NAME.
NAME is a symbol whose value is an abbrev table.
If optional 2nd arg READABLE is non-nil, a human-readable description
is inserted.  Otherwise the description is an expression,
a call to `define-abbrev-table', which would
define the abbrev table NAME exactly as it is currently defined.

Abbrevs marked as "system abbrevs" are omitted.

(fn NAME &optional READABLE)Fdefine-abbrev-table
Define TABLENAME (a symbol) as an abbrev table name.
Define abbrevs in it according to DEFINITIONS, which is a list of elements
of the form (ABBREVNAME EXPANSION ...) that are passed to `define-abbrev'.
PROPS is a property list to apply to the table.
Properties with special meaning:
- `:parents' contains a list of abbrev tables from which this table inherits
  abbreviations.
- `:case-fixed' non-nil means that abbreviations are looked up without
  case-folding, and the expansion is not capitalized/upcased.
- `:regexp' is a regular expression that specifies how to extract the
  name of the abbrev before point.  The submatch 1 is treated
  as the potential name of an abbrev.  If :regexp is nil, the default
  behavior uses `backward-word' and `forward-word' to extract the name
  of the abbrev, which can therefore only be a single word.
- `:enable-function' can be set to a function of no argument which returns
  non-nil if and only if the abbrevs in this table should be used for this
  instance of `expand-abbrev'.

(fn TABLENAME DEFINITIONS &optional DOCSTRING &rest PROPS)Fabbrev-table-menu
Return a menu that shows all abbrevs in TABLE.
Selecting an entry runs `abbrev-insert'.
PROMPT is the prompt to use for the keymap.
SORTFUN is passed to `sort' to change the default ordering.

(fn TABLE &optional PROMPT SORTFUN)Ssimple.elc
Vnext-error-last-buffer
The most recent `next-error' buffer.
A buffer becomes most recent when its compilation, grep, or
similar mode is started, or when it is used with \[next-error]
or \[compile-goto-error].Vnext-error-function
Function to use to find the next error in the current buffer.
The function is called with 2 parameters:
ARG is an integer specifying by how many errors to move.
RESET is a boolean which, if non-nil, says to go back to the beginning
of the errors before moving.
Major modes providing compile-like functionality should set this variable
to indicate to `next-error' that this is a candidate buffer and how
to navigate in it.Vnext-error-move-function
Function to use to move to an error locus.
It takes two arguments, a buffer position in the error buffer
and a buffer position in the error locus buffer.
The buffer for the error locus should already be current.
nil means use goto-char using the second argument position.Fnext-error-buffer-p
Test if BUFFER is a `next-error' capable buffer.

If AVOID-CURRENT is non-nil, treat the current buffer
as an absolute last resort only.

The function EXTRA-TEST-INCLUSIVE, if non-nil, is called in each buffer
that normally would not qualify.  If it returns t, the buffer
in question is treated as usable.

The function EXTRA-TEST-EXCLUSIVE, if non-nil, is called in each buffer
that would normally be considered usable.  If it returns nil,
that buffer is rejected.Fnext-error-find-buffer
Return a `next-error' capable buffer.

If AVOID-CURRENT is non-nil, treat the current buffer
as an absolute last resort only.

The function EXTRA-TEST-INCLUSIVE, if non-nil, is called in each buffer
that normally would not qualify.  If it returns t, the buffer
in question is treated as usable.

The function EXTRA-TEST-EXCLUSIVE, if non-nil, is called in each buffer
that would normally be considered usable.  If it returns nil,
that buffer is rejected.Fnext-error
Visit next `next-error' message and corresponding source code.

If all the error messages parsed so far have been processed already,
the message buffer is checked for new ones.

A prefix ARG specifies how many error messages to move;
negative means move back to previous error messages.
Just \[universal-argument] as a prefix means reparse the error message buffer
and start at the first error.

The RESET argument specifies that we should restart from the beginning.

\[next-error] normally uses the most recently started
compilation, grep, or occur buffer.  It can also operate on any
buffer with output from the \[compile], \[grep] commands, or,
more generally, on any buffer in Compilation mode or with
Compilation Minor mode enabled, or any buffer in which
`next-error-function' is bound to an appropriate function.
To specify use of a particular buffer for error messages, type
\[next-error] in that buffer when it is the only one displayed
in the current frame.

Once \[next-error] has chosen the buffer for error messages, it
runs `next-error-hook' with `run-hooks', and stays with that buffer
until you use it in some other buffer which uses Compilation mode
or Compilation Minor mode.

To control which errors are matched, customize the variable
`compilation-error-regexp-alist'.Fnext-error-internal
Visit the source code corresponding to the `next-error' message at point.Fprevious-error
Visit previous `next-error' message and corresponding source code.

Prefix arg N says how many error messages to move backwards (or
forwards, if negative).

This operates on the output from the \[compile] and \[grep] commands.Ffirst-error
Restart at the first error.
Visit corresponding source code.
With prefix arg N, visit the source code of the Nth error.
This operates on the output from the \[compile] command, for instance.Fnext-error-no-select
Move point to the next error in the `next-error' buffer and highlight match.
Prefix arg N says how many error messages to move forwards (or
backwards, if negative).
Finds and highlights the source line like \[next-error], but does not
select the source buffer.Fprevious-error-no-select
Move point to the previous error in the `next-error' buffer and highlight match.
Prefix arg N says how many error messages to move backwards (or
forwards, if negative).
Finds and highlights the source line like \[previous-error], but does not
select the source buffer.Vnext-error-follow-minor-mode
Non-nil if Next-Error-Follow minor mode is enabled.
Use the command `next-error-follow-minor-mode' to change this variable.Fnext-error-follow-minor-mode
Minor mode for compilation, occur and diff modes.
With a prefix argument ARG, enable mode if ARG is positive, and
disable it otherwise.  If called from Lisp, enable mode if ARG is
omitted or nil.
When turned on, cursor motion in the compilation, grep, occur or diff
buffer causes automatic display of the corresponding source code location.Ffundamental-mode
Major mode not specialized for anything in particular.
Other major modes are defined by comparison with this one.Fspecial-mode
Parent major mode from which special major modes should inherit.

This mode runs the hook `special-mode-hook', as the final step
during initialization.

\{special-mode-map}Vprog-mode-map
Keymap used for programming modes.Fprog-indent-sexp
Indent the expression after point.Fprog-mode
Major mode for editing programming language source code.

This mode runs the hook `prog-mode-hook', as the final step
during initialization.

\{prog-mode-map}Vhard-newline
Propertized string representing a hard newline character.Fnewline
Insert a newline, and move to left margin of the new line if it's blank.
If `use-hard-newlines' is non-nil, the newline is marked with the
text-property `hard'.
With ARG, insert that many newlines.
Call `auto-fill-function' if the current column number is greater
than the value of `fill-column' and ARG is nil.Fopen-line
Insert a newline and leave point before it.
If there is a fill prefix and/or a `left-margin', insert them
on the new line if the line would have been blank.
With arg N, insert N newlines.Fsplit-line
Split current line, moving portion beyond point vertically down.
If the current line starts with `fill-prefix', insert it on the new
line as well.  With prefix ARG, don't insert `fill-prefix' on new line.

When called from Lisp code, ARG may be a prefix string to copy.Fdelete-indentation
Join this line to previous and fix up whitespace at join.
If there is a fill prefix, delete it from the beginning of this line.
With argument, join this line to following line.Fdelete-blank-lines
On blank line, delete all surrounding blank lines, leaving just one.
On isolated blank line, delete that one.
On nonblank line, delete any immediately following blank lines.Vdelete-trailing-lines
If non-nil, \[delete-trailing-whitespace] deletes trailing lines.
Trailing lines are deleted only if `delete-trailing-whitespace'
is called on the entire buffer (rather than an active region).Fdelete-trailing-whitespace
Delete trailing whitespace between START and END.
If called interactively, START and END are the start/end of the
region if the mark is active, or of the buffer's accessible
portion if the mark is inactive.

This command deletes whitespace characters after the last
non-whitespace character in each line between START and END.  It
does not consider formfeed characters to be whitespace.

If this command acts on the entire buffer (i.e. if called
interactively with the mark inactive, or called from Lisp with
END nil), it also deletes all trailing lines at the end of the
buffer if the variable `delete-trailing-lines' is non-nil.Fnewline-and-indent
Insert a newline, then indent according to major mode.
Indentation is done using the value of `indent-line-function'.
In programming language modes, this is the same as TAB.
In some text modes, where TAB inserts a tab, this command indents to the
column specified by the function `current-left-margin'.Freindent-then-newline-and-indent
Reindent current line, insert newline, then indent the new line.
Indentation of both lines is done according to the current major mode,
which means calling the current value of `indent-line-function'.
In programming language modes, this is the same as TAB.
In some text modes, where TAB inserts a tab, this indents to the
column specified by the function `current-left-margin'.Fquoted-insert
Read next input character and insert it.
This is useful for inserting control characters.
With argument, insert ARG copies of the character.

If the first character you type after this command is an octal digit,
you should type a sequence of octal digits which specify a character code.
Any nondigit terminates the sequence.  If the terminator is a RET,
it is discarded; any other terminator is used itself as input.
The variable `read-quoted-char-radix' specifies the radix for this feature;
set it to 10 or 16 to use decimal or hex instead of octal.

In overwrite mode, this function inserts the character anyway, and
does not handle octal digits specially.  This means that if you use
overwrite as your normal editing mode, you can use this function to
insert characters when necessary.

In binary overwrite mode, this function does overwrite, and octal
digits are interpreted as a character code.  This is intended to be
useful for editing binary files.Fforward-to-indentation
Move forward ARG lines and position at first nonblank character.Fbackward-to-indentation
Move backward ARG lines and position at first nonblank character.Fback-to-indentation
Move point to the first non-whitespace character on this line.Ffixup-whitespace
Fixup white space between objects around point.
Leave one space or none, according to the context.Fdelete-horizontal-space
Delete all spaces and tabs around point.
If BACKWARD-ONLY is non-nil, only delete them before point.Fjust-one-space
Delete all spaces and tabs around point, leaving one space (or N spaces).
If N is negative, delete newlines as well, leaving -N spaces.Fbeginning-of-buffer
Move point to the beginning of the buffer.
With numeric arg N, put point N/10 of the way from the beginning.
If the buffer is narrowed, this command uses the beginning of the
accessible part of the buffer.

If Transient Mark mode is disabled, leave mark at previous
position, unless a \[universal-argument] prefix is supplied.

Don't use this command in Lisp programs!
(goto-char (point-min)) is faster.Fend-of-buffer
Move point to the end of the buffer.
With numeric arg N, put point N/10 of the way from the end.
If the buffer is narrowed, this command uses the end of the
accessible part of the buffer.

If Transient Mark mode is disabled, leave mark at previous
position, unless a \[universal-argument] prefix is supplied.

Don't use this command in Lisp programs!
(goto-char (point-max)) is faster.Vdelete-active-region
Whether single-char deletion commands delete an active region.
This has an effect only if Transient Mark mode is enabled, and
affects `delete-forward-char' and `delete-backward-char', though
not `delete-char'.

If the value is the symbol `kill', the active region is killed
instead of deleted.Fdelete-backward-char
Delete the previous N characters (following if N is negative).
If Transient Mark mode is enabled, the mark is active, and N is 1,
delete the text in the region and deactivate the mark instead.
To disable this, set `delete-active-region' to nil.

Optional second arg KILLFLAG, if non-nil, means to kill (save in
kill ring) instead of delete.  Interactively, N is the prefix
arg, and KILLFLAG is set if N is explicitly specified.

In Overwrite mode, single character backward deletion may replace
tabs with spaces so as to back over columns, unless point is at
the end of the line.Fdelete-forward-char
Delete the following N characters (previous if N is negative).
If Transient Mark mode is enabled, the mark is active, and N is 1,
delete the text in the region and deactivate the mark instead.
To disable this, set `delete-active-region' to nil.

Optional second arg KILLFLAG non-nil means to kill (save in kill
ring) instead of delete.  Interactively, N is the prefix arg, and
KILLFLAG is set if N was explicitly specified.Fmark-whole-buffer
Put point at beginning and mark at end of buffer.
If narrowing is in effect, only uses the accessible part of the buffer.
You probably should not use this function in Lisp programs;
it is usually a mistake for a Lisp function to use any subroutine
that uses or sets the mark.Fgoto-line
Go to LINE, counting from line 1 at beginning of buffer.
If called interactively, a numeric prefix argument specifies
LINE; without a numeric prefix argument, read LINE from the
minibuffer.

If optional argument BUFFER is non-nil, switch to that buffer and
move to line LINE there.  If called interactively with \[universal-argument]
as argument, BUFFER is the most recently selected other buffer.

Prior to moving point, this function sets the mark (without
activating it), unless Transient Mark mode is enabled and the
mark is already active.

This function is usually the wrong thing to use in a Lisp program.
What you probably want instead is something like:
  (goto-char (point-min))
  (forward-line (1- N))
If at all possible, an even better solution is to use char counts
rather than line counts.Fcount-words-region
Count the number of words in the region.
If called interactively, print a message reporting the number of
lines, words, and characters in the region (whether or not the
region is active); with prefix ARG, report for the entire buffer
rather than the region.

If called from Lisp, return the number of words between positions
START and END.Fcount-words
Count words between START and END.
If called interactively, START and END are normally the start and
end of the buffer; but if the region is active, START and END are
the start and end of the region.  Print a message reporting the
number of lines, words, and chars.

If called from Lisp, return the number of words between START and
END, without printing any message.Fwhat-line
Print the current buffer line number and narrowed line number of point.Fcount-lines
Return number of lines between START and END.
This is usually the number of newlines between them,
but can be one more if START is not equal to END
and the greater of them is not at the start of a line.Fline-number-at-pos
Return (narrowed) buffer line number at position POS.
If POS is nil, use current buffer location.
Counting starts at (point-min), so the value refers
to the contents of the accessible portion of the buffer.Fwhat-cursor-position
Print info on cursor position (on screen and within buffer).
Also describe the character after point, and give its character code
in octal, decimal and hex.

For a non-ASCII multibyte character, also give its encoding in the
buffer's selected coding system if the coding system encodes the
character safely.  If the character is encoded into one byte, that
code is shown in hex.  If the character is encoded into more than one
byte, just "..." is shown.

In addition, with prefix argument, show details about that character
in *Help* buffer.  See also the command `describe-char'.Vminibuffer-completing-symbol
Non-nil means completing a Lisp symbol in the minibuffer.Vminibuffer-default
The current default value or list of default values in the minibuffer.
The functions `read-from-minibuffer' and `completing-read' bind
this variable locally.Feval-expression-print-format
Format VALUE as a result of evaluated expression.
Return a formatted string which is displayed in the echo area
in addition to the value printed by prin1 in functions which
display the result of expression evaluation.Feval-expression
Evaluate EVAL-EXPRESSION-ARG and print value in the echo area.
When called interactively, read an Emacs Lisp expression and
evaluate it.
Value is also consed on to front of the variable `values'.
Optional argument EVAL-EXPRESSION-INSERT-VALUE non-nil (interactively,
with prefix argument) means insert the result into the current buffer
instead of printing it in the echo area.  Truncates long output
according to the value of the variables `eval-expression-print-length'
and `eval-expression-print-level'.

If `eval-expression-debug-on-error' is non-nil, which is the default,
this command arranges for all errors to enter the debugger.Fedit-and-eval-command
Prompting with PROMPT, let user edit COMMAND and eval result.
COMMAND is a Lisp expression.  Let user edit that expression in
the minibuffer, then read and evaluate the result.Frepeat-complex-command
Edit and re-evaluate last complex command, or ARGth from last.
A complex command is one which used the minibuffer.
The command is placed in the minibuffer as a Lisp form for editing.
The result is executed, repeating the command as changed.
If the command has been changed or is not the most recent previous
command it is added to the front of the command history.
You can use the minibuffer history commands \<minibuffer-local-map>\[next-history-element] and \[previous-history-element]
to get different commands to edit and resubmit.Fread-extended-command
Read command name to invoke in `execute-extended-command'.Vsuggest-key-bindings
Non-nil means show the equivalent key-binding when M-x command has one.
The value can be a length of time to show the message for.
If the value is non-nil and not a number, we wait 2 seconds.Fexecute-extended-command
Read function name, then read its arguments and call it.

To pass a numeric argument to the command you are invoking, specify
the numeric argument to this command.

Noninteractively, the argument PREFIXARG is the prefix argument to
give to the command you invoke, if it asks for an argument.Vminibuffer-history
Default minibuffer history list.
This is used for all minibuffer input
except when an alternate history list is specified.

Maximum length of the history list is determined by the value
of `history-length', which see.Vminibuffer-history-sexp-flag
Control whether history list elements are expressions or strings.
If the value of this variable equals current minibuffer depth,
they are expressions; otherwise they are strings.
(That convention is designed to do the right thing for
recursive uses of the minibuffer.)Vminibuffer-text-before-history
Text that was in this minibuffer before any history commands.
This is nil if there have not yet been any history commands
in this use of the minibuffer.Fminibuffer-avoid-prompt
A point-motion hook for the minibuffer, that moves point out of the prompt.Vminibuffer-history-case-insensitive-variables
Minibuffer history variables for which matching should ignore case.
If a history variable is a member of this list, then the
\[previous-matching-history-element] and \[next-matching-history-element] commands ignore case when searching it, regardless of `case-fold-search'.Fprevious-matching-history-element
Find the previous history element that matches REGEXP.
(Previous history elements refer to earlier actions.)
With prefix argument N, search for Nth previous match.
If N is negative, find the next or Nth next match.
Normally, history elements are matched case-insensitively if
`case-fold-search' is non-nil, but an uppercase letter in REGEXP
makes the search case-sensitive.
See also `minibuffer-history-case-insensitive-variables'.Fnext-matching-history-element
Find the next history element that matches REGEXP.
(The next history element refers to a more recent action.)
With prefix argument N, search for Nth next match.
If N is negative, find the previous or Nth previous match.
Normally, history elements are matched case-insensitively if
`case-fold-search' is non-nil, but an uppercase letter in REGEXP
makes the search case-sensitive.Vminibuffer-default-add-function
Function run by `goto-history-element' before consuming default values.
This is useful to dynamically add more elements to the list of default values
when `goto-history-element' reaches the end of this list.
Before calling this function `goto-history-element' sets the variable
`minibuffer-default-add-done' to t, so it will call this function only
once.  In special cases, when this function needs to be called more
than once, it can set `minibuffer-default-add-done' to nil explicitly,
overriding the setting of this variable to t in `goto-history-element'.Vminibuffer-default-add-done
When nil, add more elements to the end of the list of default values.
The value nil causes `goto-history-element' to add more elements to
the list of defaults when it reaches the end of this list.  It does
this by calling a function defined by `minibuffer-default-add-function'.Fminibuffer-default-add-completions
Return a list of all completions without the default value.
This function is used to add all elements of the completion table to
the end of the list of defaults just after the default value.Fgoto-history-element
Puts element of the minibuffer history in the minibuffer.
The argument NABS specifies the absolute history position.Fnext-history-element
Puts next element of the minibuffer history in the minibuffer.
With argument N, it uses the Nth following element.Fprevious-history-element
Puts previous element of the minibuffer history in the minibuffer.
With argument N, it uses the Nth previous element.Fnext-complete-history-element
Get next history element which completes the minibuffer before the point.
The contents of the minibuffer after the point are deleted, and replaced
by the new completion.Fprevious-complete-history-element
Get previous history element which completes the minibuffer before the point.
The contents of the minibuffer after the point are deleted, and replaced
by the new completion.Fminibuffer-prompt-width
Return the display width of the minibuffer prompt.
Return 0 if current buffer is not a minibuffer.Fminibuffer-history-isearch-setup
Set up a minibuffer for using isearch to search the minibuffer history.
Intended to be added to `minibuffer-setup-hook'.Fminibuffer-history-isearch-end
Clean up the minibuffer after terminating isearch in the minibuffer.Fminibuffer-history-isearch-search
Return the proper search function, for isearch in minibuffer history.Fminibuffer-history-isearch-message
Display the minibuffer history search prompt.
If there are no search errors, this function displays an overlay with
the isearch prompt which replaces the original minibuffer prompt.
Otherwise, it displays the standard isearch message returned from
`isearch-message'.Fminibuffer-history-isearch-wrap
Wrap the minibuffer history search when search fails.
Move point to the first history element for a forward search,
or to the last history element for a backward search.Fminibuffer-history-isearch-push-state
Save a function restoring the state of minibuffer history search.
Save `minibuffer-history-position' to the additional state parameter
in the search status stack.Fminibuffer-history-isearch-pop-state
Restore the minibuffer history search state.
Go to the history element by the absolute history position HIST-POS.Vundo-equiv-table
Table mapping redo records to the corresponding undo one.
A redo record for undo-in-region maps to t.
A redo record for ordinary undo maps to the following (earlier) undo.Vundo-in-region
Non-nil if `pending-undo-list' is not just a tail of `buffer-undo-list'.Vundo-no-redo
If t, `undo' doesn't go through redo entries.Vpending-undo-list
Within a run of consecutive undo commands, list remaining to be undone.
If t, we undid all the way to the end of it.Fundo
Undo some previous changes.
Repeat this command to undo more changes.
A numeric ARG serves as a repeat count.

In Transient Mark mode when the mark is active, only undo changes within
the current region.  Similarly, when not in Transient Mark mode, just \[universal-argument]
as an argument limits undo to changes within the current region.Fbuffer-disable-undo
Make BUFFER stop keeping undo information.
No argument or nil as argument means do this for the current buffer.Fundo-only
Undo some previous changes.
Repeat this command to undo more changes.
A numeric ARG serves as a repeat count.
Contrary to `undo', this will not redo a previous undo.Vundo-in-progress
Non-nil while performing an undo.
Some change-hooks test this variable to do something different.Fundo-more
Undo back N undo-boundaries beyond what was already undone recently.
Call `undo-start' to get ready to undo recent changes,
then call `undo-more' one or more times to undo them.Fundo-copy-list
Make a copy of undo list LIST.Fundo-start
Set `pending-undo-list' to the front of the undo list.
The next call to `undo-more' will undo the most recently made change.
If BEG and END are specified, then only undo elements
that apply to text between BEG and END are used; other undo elements
are ignored.  If BEG and END are nil, all undo elements are used.Fundo-make-selective-list
Return a list of undo elements for the region START to END.
The elements come from `buffer-undo-list', but we keep only
the elements inside this region, and discard those outside this region.
If we find an element that crosses an edge of this region,
we stop and ignore all further elements.Fundo-elt-in-region
Determine whether UNDO-ELT falls inside the region START ... END.
If it crosses the edge, we return nil.Fundo-elt-crosses-region
Test whether UNDO-ELT crosses one edge of that region START ... END.
This assumes we have already decided that UNDO-ELT
is not *inside* the region START...END.Vundo-ask-before-discard
If non-nil ask about discarding undo info for the current command.
Normally, Emacs discards the undo info for the current command if
it exceeds `undo-outer-limit'.  But if you set this option
non-nil, it asks in the echo area whether to discard the info.
If you answer no, there is a slight risk that Emacs might crash, so
only do it if you really want to undo the command.

This option is mainly intended for debugging.  You have to be
careful if you use it for other purposes.  Garbage collection is
inhibited while the question is asked, meaning that Emacs might
leak memory.  So you should make sure that you do not wait
excessively long before answering the question.Vundo-extra-outer-limit
If non-nil, an extra level of size that's ok in an undo item.
We don't ask the user about truncating the undo list until the
current item gets bigger than this amount.

This variable only matters if `undo-ask-before-discard' is non-nil.Vshell-command-history
History list for some commands that read shell commands.

Maximum length of the history list is determined by the value
of `history-length', which see.Vshell-command-switch
Switch used to have the shell execute its command line argument.Vshell-command-default-error-buffer
Buffer name for `shell-command' and `shell-command-on-region' error output.
This buffer is used when `shell-command' or `shell-command-on-region'
is run interactively.  A value of nil means that output to stderr and
stdout will be intermixed in the output stream.Fminibuffer-default-add-shell-commands
Return a list of all commands associated with the current file.
This function is used to add all related commands retrieved by `mailcap'
to the end of the list of defaults just after the default value.Vminibuffer-local-shell-command-map
Keymap used for completing shell commands in minibuffer.Fread-shell-command
Read a shell command from the minibuffer.
The arguments are the same as the ones of `read-from-minibuffer',
except READ and KEYMAP are missing and HIST defaults
to `shell-command-history'.Vasync-shell-command-buffer
What to do when the output buffer is used by another shell command.
This option specifies how to resolve the conflict where a new command
wants to direct its output to the buffer `*Async Shell Command*',
but this buffer is already taken by another running shell command.

The value `confirm-kill-process' is used to ask for confirmation before
killing the already running process and running a new process
in the same buffer, `confirm-new-buffer' for confirmation before running
the command in a new buffer with a name other than the default buffer name,
`new-buffer' for doing the same without confirmation,
`confirm-rename-buffer' for confirmation before renaming the existing
output buffer and running a new command in the default buffer,
`rename-buffer' for doing the same without confirmation.Fasync-shell-command
Execute string COMMAND asynchronously in background.

Like `shell-command', but adds `&' at the end of COMMAND
to execute it asynchronously.

The output appears in the buffer `*Async Shell Command*'.
That buffer is in shell mode.

In Elisp, you will often be better served by calling `start-process'
directly, since it offers more control and does not impose the use of a
shell (with its need to quote arguments).Fshell-command
Execute string COMMAND in inferior shell; display output, if any.
With prefix argument, insert the COMMAND's output at point.

If COMMAND ends in `&', execute it asynchronously.
The output appears in the buffer `*Async Shell Command*'.
That buffer is in shell mode.  You can also use
`async-shell-command' that automatically adds `&'.

Otherwise, COMMAND is executed synchronously.  The output appears in
the buffer `*Shell Command Output*'.  If the output is short enough to
display in the echo area (which is determined by the variables
`resize-mini-windows' and `max-mini-window-height'), it is shown
there, but it is nonetheless available in buffer `*Shell Command
Output*' even though that buffer is not automatically displayed.

To specify a coding system for converting non-ASCII characters
in the shell command output, use \[universal-coding-system-argument] before this command.

Noninteractive callers can specify coding systems by binding
`coding-system-for-read' and `coding-system-for-write'.

The optional second argument OUTPUT-BUFFER, if non-nil,
says to put the output in some other buffer.
If OUTPUT-BUFFER is a buffer or buffer name, put the output there.
If OUTPUT-BUFFER is not a buffer and not nil,
insert output in current buffer.  (This cannot be done asynchronously.)
In either case, the buffer is first erased, and the output is
inserted after point (leaving mark after it).

If the command terminates without error, but generates output,
and you did not specify "insert it in the current buffer",
the output can be displayed in the echo area or in its buffer.
If the output is short enough to display in the echo area
(determined by the variable `max-mini-window-height' if
`resize-mini-windows' is non-nil), it is shown there.
Otherwise,the buffer containing the output is displayed.

If there is output and an error, and you did not specify "insert it
in the current buffer", a message about the error goes at the end
of the output.

If there is no output, or if output is inserted in the current buffer,
then `*Shell Command Output*' is deleted.

If the optional third argument ERROR-BUFFER is non-nil, it is a buffer
or buffer name to which to direct the command's standard error output.
If it is nil, error output is mingled with regular output.
In an interactive call, the variable `shell-command-default-error-buffer'
specifies the value of ERROR-BUFFER.

In Elisp, you will often be better served by calling `call-process' or
`start-process' directly, since it offers more control and does not impose
the use of a shell (with its need to quote arguments).Fdisplay-message-or-buffer
Display MESSAGE in the echo area if possible, otherwise in a pop-up buffer.
MESSAGE may be either a string or a buffer.

A buffer is displayed using `display-buffer' if MESSAGE is too long for
the maximum height of the echo area, as defined by `max-mini-window-height'
if `resize-mini-windows' is non-nil.

Returns either the string shown in the echo area, or when a pop-up
buffer is used, the window used to display it.

If MESSAGE is a string, then the optional argument BUFFER-NAME is the
name of the buffer used to display it in the case where a pop-up buffer
is used, defaulting to `*Message*'.  In the case where MESSAGE is a
string and it is displayed in the echo area, it is not specified whether
the contents are inserted into the buffer anyway.

Optional arguments NOT-THIS-WINDOW and FRAME are as for `display-buffer',
and only used if a buffer is displayed.Fshell-command-on-region
Execute string COMMAND in inferior shell with region as input.
Normally display output (if any) in temp buffer `*Shell Command Output*';
Prefix arg means replace the region with it.  Return the exit code of
COMMAND.

To specify a coding system for converting non-ASCII characters
in the input and output to the shell command, use \[universal-coding-system-argument]
before this command.  By default, the input (from the current buffer)
is encoded using coding-system specified by `process-coding-system-alist',
falling back to `default-process-coding-system' if no match for COMMAND
is found in `process-coding-system-alist'.

Noninteractive callers can specify coding systems by binding
`coding-system-for-read' and `coding-system-for-write'.

If the command generates output, the output may be displayed
in the echo area or in a buffer.
If the output is short enough to display in the echo area
(determined by the variable `max-mini-window-height' if
`resize-mini-windows' is non-nil), it is shown there.
Otherwise it is displayed in the buffer `*Shell Command Output*'.
The output is available in that buffer in both cases.

If there is output and an error, a message about the error
appears at the end of the output.  If there is no output, or if
output is inserted in the current buffer, the buffer `*Shell
Command Output*' is deleted.

Optional fourth arg OUTPUT-BUFFER specifies where to put the
command's output.  If the value is a buffer or buffer name, put
the output there.  Any other value, including nil, means to
insert the output in the current buffer.  In either case, the
output is inserted after point (leaving mark after it).

Optional fifth arg REPLACE, if non-nil, means to insert the
output in place of text from START to END, putting point and mark
around it.

Optional sixth arg ERROR-BUFFER, if non-nil, specifies a buffer
or buffer name to which to direct the command's standard error
output.  If nil, error output is mingled with regular output.
When called interactively, `shell-command-default-error-buffer'
is used for ERROR-BUFFER.

Optional seventh arg DISPLAY-ERROR-BUFFER, if non-nil, means to
display the error buffer if there were any errors.  When called
interactively, this is t.Fshell-command-to-string
Execute shell command COMMAND and return its output as a string.Fprocess-file
Process files synchronously in a separate process.
Similar to `call-process', but may invoke a file handler based on
`default-directory'.  The current working directory of the
subprocess is `default-directory'.

File names in INFILE and BUFFER are handled normally, but file
names in ARGS should be relative to `default-directory', as they
are passed to the process verbatim.  (This is a difference to
`call-process' which does not support file handlers for INFILE
and BUFFER.)

Some file handlers might not support all variants, for example
they might behave as if DISPLAY was nil, regardless of the actual
value passed.Vprocess-file-side-effects
Whether a call of `process-file' changes remote files.

By default, this variable is always set to `t', meaning that a
call of `process-file' could potentially change any file on a
remote host.  When set to `nil', a file handler could optimize
its behavior with respect to remote file attribute caching.

You should only ever change this variable with a let-binding;
never with `setq'.Fstart-file-process
Start a program in a subprocess.  Return the process object for it.

Similar to `start-process', but may invoke a file handler based on
`default-directory'.  See Info node `(elisp)Magic File Names'.

This handler ought to run PROGRAM, perhaps on the local host,
perhaps on a remote host that corresponds to `default-directory'.
In the latter case, the local part of `default-directory' becomes
the working directory of the process.

PROGRAM and PROGRAM-ARGS might be file names.  They are not
objects of file handler invocation.  File handlers might not
support pty association, if PROGRAM is nil.Fprocess-menu-mode
Major mode for listing the processes called by Emacs.

In addition to any hooks its parent mode `tabulated-list-mode' might have run,
this mode runs the hook `process-menu-mode-hook', as the final step
during initialization.

\{process-menu-mode-map}Flist-processes--refresh
Recompute the list of processes for the Process List buffer.
Also, delete any process that is exited or signaled.Flist-processes
Display a list of all processes.
If optional argument QUERY-ONLY is non-nil, only processes with
the query-on-exit flag set are listed.
Any process listed as exited or signaled is actually eliminated
after the listing is made.
Optional argument BUFFER specifies a buffer to use, instead of
"*Process List*".
The return value is always nil.Vuniversal-argument-map
Keymap used while processing \[universal-argument].Vuniversal-argument-num-events
Number of argument-specifying events read by `universal-argument'.
`universal-argument-other-key' uses this to discard those events
from (this-command-keys), and reread only the final command.Vsaved-overriding-map
The saved value of `overriding-terminal-local-map'.
That variable gets restored to this value on exiting "universal
argument mode".Fsave&set-overriding-map
Set `overriding-terminal-local-map' to MAP.Frestore-overriding-map
Restore `overriding-terminal-local-map' to its saved value.Funiversal-argument
Begin a numeric argument for the following command.
Digits or minus sign following \[universal-argument] make up the numeric argument.
\[universal-argument] following the digits or minus sign ends the argument.
\[universal-argument] without digits or minus sign provides 4 as argument.
Repeating \[universal-argument] without digits or minus sign
 multiplies the argument by 4 each time.
For some commands, just \[universal-argument] by itself serves as a flag
which is different in effect from any particular numeric argument.
These commands include \[set-mark-command] and \[start-kbd-macro].Fnegative-argument
Begin a negative numeric argument for the next command.
\[universal-argument] following digits or minus sign ends the argument.Fdigit-argument
Part of the numeric argument for the next command.
\[universal-argument] following digits or minus sign ends the argument.Vfilter-buffer-substring-functions
This variable is a wrapper hook around `filter-buffer-substring'.
Each member of the hook should be a function accepting four arguments:
(FUN BEG END DELETE), where FUN is itself a function of three arguments
(BEG END DELETE).  The arguments BEG, END, and DELETE are the same
as those of `filter-buffer-substring' in each case.

The first hook function to be called receives a FUN equivalent
to the default operation of `filter-buffer-substring',
i.e. one that returns the buffer-substring between BEG and
END (processed by any `buffer-substring-filters').  Normally,
the hook function will call FUN and then do its own processing
of the result.  The next hook function receives a FUN equivalent
to the previous hook function, calls it, and does its own
processing, and so on.  The overall result is that of all hook
functions acting in sequence.

Any hook may choose not to call FUN though, in which case it
effectively replaces the default behavior with whatever it chooses.
Of course, a later hook function may do the same thing.Vbuffer-substring-filters
List of filter functions for `filter-buffer-substring'.
Each function must accept a single argument, a string, and return
a string.  The buffer substring is passed to the first function
in the list, and the return value of each function is passed to
the next.  The final result (if `buffer-substring-filters' is
nil, this is the unfiltered buffer-substring) is passed to the
first function on `filter-buffer-substring-functions'.

As a special convention, point is set to the start of the buffer text
being operated on (i.e., the first argument of `filter-buffer-substring')
before these functions are called.Ffilter-buffer-substring
Return the buffer substring between BEG and END, after filtering.
The wrapper hook `filter-buffer-substring-functions' performs
the actual filtering.  The obsolete variable `buffer-substring-filters'
is also consulted.  If both of these are nil, no filtering is done.

If DELETE is non-nil, the text between BEG and END is deleted
from the buffer.

This function should be used instead of `buffer-substring',
`buffer-substring-no-properties', or `delete-and-extract-region'
when you want to allow filtering to take place.  For example,
major or minor modes can use `filter-buffer-substring-functions' to
extract characters that are special to a buffer, and should not
be copied into other buffers.Vinterprogram-cut-function
Function to call to make a killed region available to other programs.
Most window systems provide a facility for cutting and pasting
text between different programs, such as the clipboard on X and
MS-Windows, or the pasteboard on Nextstep/Mac OS.

This variable holds a function that Emacs calls whenever text is
put in the kill ring, to make the new kill available to other
programs.  The function takes one argument, TEXT, which is a
string containing the text which should be made available.Vinterprogram-paste-function
Function to call to get text cut from other programs.
Most window systems provide a facility for cutting and pasting
text between different programs, such as the clipboard on X and
MS-Windows, or the pasteboard on Nextstep/Mac OS.

This variable holds a function that Emacs calls to obtain text
that other programs have provided for pasting.  The function is
called with no arguments.  If no other program has provided text
to paste, the function should return nil (in which case the
caller, usually `current-kill', should use the top of the Emacs
kill ring).  If another program has provided text to paste, the
function should return that text as a string (in which case the
caller should put this string in the kill ring as the latest
kill).

The function may also return a list of strings if the window
system supports multiple selections.  The first string will be
used as the pasted text, but the other will be placed in the kill
ring for easy access via `yank-pop'.

Note that the function should return a string only if a program
other than Emacs has provided a string for pasting; if Emacs
provided the most recent string, the function should return nil.
If it is difficult to tell whether Emacs or some other program
provided the current string, it is probably good enough to return
nil if the string is equal (according to `string=') to the last
text Emacs provided.Vkill-ring
List of killed text sequences.
Since the kill ring is supposed to interact nicely with cut-and-paste
facilities offered by window systems, use of this variable should
interact nicely with `interprogram-cut-function' and
`interprogram-paste-function'.  The functions `kill-new',
`kill-append', and `current-kill' are supposed to implement this
interaction; you may want to use them instead of manipulating the kill
ring directly.Vkill-ring-max
Maximum length of kill ring before oldest elements are thrown away.Vkill-ring-yank-pointer
The tail of the kill ring whose car is the last thing yanked.Fkill-new
Make STRING the latest kill in the kill ring.
Set `kill-ring-yank-pointer' to point to it.
If `interprogram-cut-function' is non-nil, apply it to STRING.
Optional second argument REPLACE non-nil means that STRING will replace
the front of the kill ring, rather than being added to the list.

When `save-interprogram-paste-before-kill' and `interprogram-paste-function'
are non-nil, saves the interprogram paste string(s) into `kill-ring' before
STRING.

When the yank handler has a non-nil PARAM element, the original STRING
argument is not used by `insert-for-yank'.  However, since Lisp code
may access and use elements from the kill ring directly, the STRING
argument should still be a "useful" string for such uses.Fkill-append
Append STRING to the end of the latest kill in the kill ring.
If BEFORE-P is non-nil, prepend STRING to the kill.
If `interprogram-cut-function' is set, pass the resulting kill to it.Fcurrent-kill
Rotate the yanking point by N places, and then return that kill.
If N is zero and `interprogram-paste-function' is set to a
function that returns a string or a list of strings, and if that
function doesn't return nil, then that string (or list) is added
to the front of the kill ring and the string (or first string in
the list) is returned as the latest kill.

If N is not zero, and if `yank-pop-change-selection' is
non-nil, use `interprogram-cut-function' to transfer the
kill at the new yank point into the window system selection.

If optional arg DO-NOT-MOVE is non-nil, then don't actually
move the yanking point; just return the Nth kill forward.Vkill-read-only-ok
Non-nil means don't signal an error for killing read-only text.Fkill-region
Kill ("cut") text between point and mark.
This deletes the text from the buffer and saves it in the kill ring.
The command \[yank] can retrieve it from there.
(If you want to save the region without killing it, use \[kill-ring-save].)

If you want to append the killed region to the last killed text,
use \[append-next-kill] before \[kill-region].

If the buffer is read-only, Emacs will beep and refrain from deleting
the text, but put the text in the kill ring anyway.  This means that
you can use the killing commands to copy text from a read-only buffer.

Lisp programs should use this function for killing text.
 (To delete text, use `delete-region'.)
Supply two arguments, character positions indicating the stretch of text
 to be killed.
Any command that calls this function is a "kill command".
If the previous command was also a kill command,
the text killed this time appends to the text killed last time
to make one entry in the kill ring.Fcopy-region-as-kill
Save the region as if killed, but don't kill it.
In Transient Mark mode, deactivate the mark.
If `interprogram-cut-function' is non-nil, also save the text for a window
system cut and paste.

This command's old key binding has been given to `kill-ring-save'.Fkill-ring-save
Save the region as if killed, but don't kill it.
In Transient Mark mode, deactivate the mark.
If `interprogram-cut-function' is non-nil, also save the text for a window
system cut and paste.

If you want to append the killed line to the last killed text,
use \[append-next-kill] before \[kill-ring-save].

This command is similar to `copy-region-as-kill', except that it gives
visual feedback indicating the extent of the region being copied.Findicate-copied-region
Indicate that the region text has been copied interactively.
If the mark is visible in the selected window, blink the cursor
between point and mark if there is currently no active region
highlighting.

If the mark lies outside the selected window, display an
informative message containing a sample of the copied text.  The
optional argument MESSAGE-LEN, if non-nil, specifies the length
of this sample text; it defaults to 40.Fappend-next-kill
Cause following command, if it kills, to append to previous kill.
The argument is used for internal purposes; do not supply one.Vyank-undo-function
If non-nil, function used by `yank-pop' to delete last stretch of yanked text.
Function is called with two parameters, START and END corresponding to
the value of the mark and point; it is guaranteed that START <= END.
Normally set from the UNDO element of a yank-handler; see `insert-for-yank'.Fyank-pop
Replace just-yanked stretch of killed text with a different stretch.
This command is allowed only immediately after a `yank' or a `yank-pop'.
At such a time, the region contains a stretch of reinserted
previously-killed text.  `yank-pop' deletes that text and inserts in its
place a different stretch of killed text.

With no argument, the previous kill is inserted.
With argument N, insert the Nth previous kill.
If N is negative, this is a more recent kill.

The sequence of kills wraps around, so that after the oldest one
comes the newest one.

When this command inserts killed text into the buffer, it honors
`yank-excluded-properties' and `yank-handler' as described in the
doc string for `insert-for-yank-1', which see.Fyank
Reinsert ("paste") the last stretch of killed text.
More precisely, reinsert the most recent kill, which is the
stretch of killed text most recently killed OR yanked.  Put point
at the end, and set mark at the beginning without activating it.
With just \[universal-argument] as argument, put point at beginning, and mark at end.
With argument N, reinsert the Nth most recent kill.

When this command inserts text into the buffer, it honors the
`yank-handled-properties' and `yank-excluded-properties'
variables, and the `yank-handler' text property.  See
`insert-for-yank-1' for details.

See also the command `yank-pop' (\[yank-pop]).Frotate-yank-pointer
Rotate the yanking point in the kill ring.
With ARG, rotate that many kills forward (or backward, if negative).Vbackward-delete-char-untabify-method
The method for untabifying when deleting backward.
Can be `untabify' -- turn a tab to many spaces, then delete one space;
       `hungry' -- delete all whitespace, both tabs and spaces;
       `all' -- delete all whitespace, including tabs, spaces and newlines;
       nil -- just delete one character.Fbackward-delete-char-untabify
Delete characters backward, changing tabs into spaces.
The exact behavior depends on `backward-delete-char-untabify-method'.
Delete ARG chars, and kill (save in kill ring) if KILLP is non-nil.
Interactively, ARG is the prefix arg (default 1)
and KILLP is t if a prefix arg was specified.Fzap-to-char
Kill up to and including ARGth occurrence of CHAR.
Case is ignored if `case-fold-search' is non-nil in the current buffer.
Goes backward if ARG is negative; error if CHAR not found.Vkill-whole-line
If non-nil, `kill-line' with no arg at start of line kills the whole line.Fkill-line
Kill the rest of the current line; if no nonblanks there, kill thru newline.
With prefix argument ARG, kill that many lines from point.
Negative arguments kill lines backward.
With zero argument, kills the text before point on the current line.

When calling from a program, nil means "no arg",
a number counts as a prefix arg.

To kill a whole line, when point is not at the beginning, type \[move-beginning-of-line] \[kill-line] \[kill-line].

If `show-trailing-whitespace' is non-nil, this command will just
kill the rest of the current line, even if there are only
nonblanks there.

If `kill-whole-line' is non-nil, then this command kills the whole line
including its terminating newline, when used at the beginning of a line
with no argument.  As a consequence, you can always kill a whole line
by typing \[move-beginning-of-line] \[kill-line].

If you want to append the killed line to the last killed text,
use \[append-next-kill] before \[kill-line].

If the buffer is read-only, Emacs will beep and refrain from deleting
the line, but put the line in the kill ring anyway.  This means that
you can use this command to copy text from a read-only buffer.
(If the variable `kill-read-only-ok' is non-nil, then this won't
even beep.)Fkill-whole-line
Kill current line.
With prefix ARG, kill that many lines starting from the current line.
If ARG is negative, kill backward.  Also kill the preceding newline.
(This is meant to make \[repeat] work well with negative arguments.)
If ARG is zero, kill current line but exclude the trailing newline.Fforward-visible-line
Move forward by ARG lines, ignoring currently invisible newlines only.
If ARG is negative, move backward -ARG lines.
If ARG is zero, move to the beginning of the current line.Fend-of-visible-line
Move to end of current visible line.Finsert-buffer
Insert after point the contents of BUFFER.
Puts mark after the inserted text.
BUFFER may be a buffer or a buffer name.

This function is meant for the user to run interactively.
Don't call it from programs: use `insert-buffer-substring' instead!Fappend-to-buffer
Append to specified buffer the text of the region.
It is inserted into that buffer before its point.

When calling from a program, give three arguments:
BUFFER (or buffer name), START and END.
START and END specify the portion of the current buffer to be copied.Fprepend-to-buffer
Prepend to specified buffer the text of the region.
It is inserted into that buffer after its point.

When calling from a program, give three arguments:
BUFFER (or buffer name), START and END.
START and END specify the portion of the current buffer to be copied.Fcopy-to-buffer
Copy to specified buffer the text of the region.
It is inserted into that buffer, replacing existing text there.

When calling from a program, give three arguments:
BUFFER (or buffer name), START and END.
START and END specify the portion of the current buffer to be copied.Vactivate-mark-hook
Hook run when the mark becomes active.
It is also run at the end of a command, if the mark is active and
it is possible that the region may have changed.Vdeactivate-mark-hook
Hook run when the mark becomes inactive.Fmark
Return this buffer's mark value as integer, or nil if never set.

In Transient Mark mode, this function signals an error if
the mark is not active.  However, if `mark-even-if-inactive' is non-nil,
or the argument FORCE is non-nil, it disregards whether the mark
is active, and returns an integer or nil in the usual way.

If you are using this in an editing command, you are most likely making
a mistake; see the documentation of `set-mark'.Fdeactivate-mark
Deactivate the mark.
If Transient Mark mode is disabled, this function normally does
nothing; but if FORCE is non-nil, it deactivates the mark anyway.

Deactivating the mark sets `mark-active' to nil, updates the
primary selection according to `select-active-regions', and runs
`deactivate-mark-hook'.

If Transient Mark mode was temporarily enabled, reset the value
of the variable `transient-mark-mode'; if this causes Transient
Mark mode to be disabled, don't change `mark-active' to nil or
run `deactivate-mark-hook'.Factivate-mark
Activate the mark.Fset-mark
Set this buffer's mark to POS.  Don't use this function!
That is to say, don't use this function unless you want
the user to see that the mark has moved, and you want the previous
mark position to be lost.

Normally, when a new mark is set, the old one should go on the stack.
This is why most applications should use `push-mark', not `set-mark'.

Novice Emacs Lisp programmers often try to use the mark for the wrong
purposes.  The mark saves a location for the user's convenience.
Most editing commands should not alter the mark.
To remember a location for internal use in the Lisp program,
store it in a Lisp variable.  Example:

   (let ((beg (point))) (forward-line 1) (delete-region beg (point))).Vuse-empty-active-region
Whether "region-aware" commands should act on empty regions.
If nil, region-aware commands treat empty regions as inactive.
If non-nil, region-aware commands treat the region as active as
long as the mark is active, even if the region is empty.

Region-aware commands are those that act on the region if it is
active and Transient Mark mode is enabled, and on the text near
point otherwise.Fuse-region-p
Return t if the region is active and it is appropriate to act on it.
This is used by commands that act specially on the region under
Transient Mark mode.

The return value is t if Transient Mark mode is enabled and the
mark is active; furthermore, if `use-empty-active-region' is nil,
the region must not be empty.  Otherwise, the return value is nil.

For some commands, it may be appropriate to ignore the value of
`use-empty-active-region'; in that case, use `region-active-p'.Fregion-active-p
Return t if Transient Mark mode is enabled and the mark is active.

Some commands act specially on the region when Transient Mark
mode is enabled.  Usually, such commands should use
`use-region-p' instead of this function, because `use-region-p'
also checks the value of `use-empty-active-region'.Vmark-ring
The list of former marks of the current buffer, most recent first.Vglobal-mark-ring
The list of saved global marks, most recent first.Vglobal-mark-ring-max
Maximum size of global mark ring.  Start discarding off end if gets this big.Fpop-to-mark-command
Jump to mark, and pop a new position for mark off the ring.
(Does not affect global mark ring).Fpush-mark-command
Set mark at where point is.
If no prefix ARG and mark is already set there, just activate it.
Display `Mark set' unless the optional second arg NOMSG is non-nil.Fset-mark-command
Set the mark where point is, or jump to the mark.
Setting the mark also alters the region, which is the text
between point and mark; this is the closest equivalent in
Emacs to what some editors call the "selection".

With no prefix argument, set the mark at point, and push the
old mark position on local mark ring.  Also push the old mark on
global mark ring, if the previous mark was set in another buffer.

When Transient Mark Mode is off, immediately repeating this
command activates `transient-mark-mode' temporarily.

With prefix argument (e.g., \[universal-argument] \[set-mark-command]), jump to the mark, and set the mark from
position popped off the local mark ring (this does not affect the global
mark ring).  Use \[pop-global-mark] to jump to a mark popped off the global
mark ring (see `pop-global-mark').

If `set-mark-command-repeat-pop' is non-nil, repeating
the \[set-mark-command] command with no prefix argument pops the next position
off the local (or global) mark ring and jumps there.

With \[universal-argument] \[universal-argument] as prefix
argument, unconditionally set mark where point is, even if
`set-mark-command-repeat-pop' is non-nil.

Novice Emacs Lisp programmers often try to use the mark for the wrong
purposes.  See the documentation of `set-mark' for more information.Fpush-mark
Set mark at LOCATION (point, by default) and push old mark on mark ring.
If the last global mark pushed was not in the current buffer,
also push LOCATION on the global mark ring.
Display `Mark set' unless the optional second arg NOMSG is non-nil.

Novice Emacs Lisp programmers often try to use the mark for the wrong
purposes.  See the documentation of `set-mark' for more information.

In Transient Mark mode, activate mark if optional third arg ACTIVATE non-nil.Fpop-mark
Pop off mark ring into the buffer's actual mark.
Does not set point.  Does nothing if mark ring is empty.Fexchange-point-and-mark
Put the mark where point is now, and point where the mark is now.
This command works even when the mark is not active,
and it reactivates the mark.

If Transient Mark mode is on, a prefix ARG deactivates the mark
if it is active, and otherwise avoids reactivating it.  If
Transient Mark mode is off, a prefix ARG enables Transient Mark
mode temporarily.Vshift-select-mode
When non-nil, shifted motion keys activate the mark momentarily.

While the mark is activated in this way, any shift-translated point
motion key extends the region, and if Transient Mark mode was off, it
is temporarily turned on.  Furthermore, the mark will be deactivated
by any subsequent point motion key that was not shift-translated, or
by any action that normally deactivates the mark in Transient Mark mode.

See `this-command-keys-shift-translated' for the meaning of
shift-translation.Fhandle-shift-selection
Activate/deactivate mark depending on invocation thru shift translation.
This function is called by `call-interactively' when a command
with a `^' character in its `interactive' spec is invoked, before
running the command itself.

If `shift-select-mode' is enabled and the command was invoked
through shift translation, set the mark and activate the region
temporarily, unless it was already set in this way.  See
`this-command-keys-shift-translated' for the meaning of shift
translation.

Otherwise, if the region has been activated temporarily,
deactivate it, and restore the variable `transient-mark-mode' to
its earlier value.Ftransient-mark-mode
Toggle Transient Mark mode.
With a prefix argument ARG, enable Transient Mark mode if ARG is
positive, and disable it otherwise.  If called from Lisp, enable
Transient Mark mode if ARG is omitted or nil.

Transient Mark mode is a global minor mode.  When enabled, the
region is highlighted whenever the mark is active.  The mark is
"deactivated" by changing the buffer, and after certain other
operations that set the mark but whose main purpose is something
else--for example, incremental search, \[beginning-of-buffer], and \[end-of-buffer].

You can also deactivate the mark by typing \[keyboard-quit] or
\[keyboard-escape-quit].

Many commands change their behavior when Transient Mark mode is
in effect and the mark is active, by acting on the region instead
of their usual default part of the buffer's text.  Examples of
such commands include \[comment-dwim], \[flush-lines], \[keep-lines],
\[query-replace], \[query-replace-regexp], \[ispell], and \[undo].
To see the documentation of commands which are sensitive to the
Transient Mark mode, invoke \[apropos-documentation] and type "transient"
or "mark.*active" at the prompt.Vwiden-automatically
Non-nil means it is ok for commands to call `widen' when they want to.
Some commands will do this in order to go to positions outside
the current accessible part of the buffer.

If `widen-automatically' is nil, these commands will do something else
as a fallback, and won't change the buffer bounds.Vnon-essential
Whether the currently executing code is performing an essential task.
This variable should be non-nil only when running code which should not
disturb the user.  E.g. it can be used to prevent Tramp from prompting the
user for a password when we are simply scanning a set of files in the
background or displaying possible completions before the user even asked
for it.Fpop-global-mark
Pop off global mark ring and jump to the top location.Vnext-line-add-newlines
If non-nil, `next-line' inserts newline to avoid `end of buffer' error.Fnext-line
Move cursor vertically down ARG lines.
Interactively, vscroll tall lines if `auto-window-vscroll' is enabled.
If there is no character in the target line exactly under the current column,
the cursor is positioned after the character in that line which spans this
column, or at the end of the line if it is not long enough.
If there is no line in the buffer after this one, behavior depends on the
value of `next-line-add-newlines'.  If non-nil, it inserts a newline character
to create a line, and moves the cursor to that line.  Otherwise it moves the
cursor to the end of the buffer.

If the variable `line-move-visual' is non-nil, this command moves
by display lines.  Otherwise, it moves by buffer lines, without
taking variable-width characters or continued lines into account.

The command \[set-goal-column] can be used to create
a semipermanent goal column for this command.
Then instead of trying to move exactly vertically (or as close as possible),
this command moves to the specified goal column (or as close as possible).
The goal column is stored in the variable `goal-column', which is nil
when there is no goal column.  Note that setting `goal-column'
overrides `line-move-visual' and causes this command to move by buffer
lines rather than by display lines.

If you are thinking of using this in a Lisp program, consider
using `forward-line' instead.  It is usually easier to use
and more reliable (no dependence on goal column, etc.).Fprevious-line
Move cursor vertically up ARG lines.
Interactively, vscroll tall lines if `auto-window-vscroll' is enabled.
If there is no character in the target line exactly over the current column,
the cursor is positioned after the character in that line which spans this
column, or at the end of the line if it is not long enough.

If the variable `line-move-visual' is non-nil, this command moves
by display lines.  Otherwise, it moves by buffer lines, without
taking variable-width characters or continued lines into account.

The command \[set-goal-column] can be used to create
a semipermanent goal column for this command.
Then instead of trying to move exactly vertically (or as close as possible),
this command moves to the specified goal column (or as close as possible).
The goal column is stored in the variable `goal-column', which is nil
when there is no goal column.  Note that setting `goal-column'
overrides `line-move-visual' and causes this command to move by buffer
lines rather than by display lines.

If you are thinking of using this in a Lisp program, consider using
`forward-line' with a negative argument instead.  It is usually easier
to use and more reliable (no dependence on goal column, etc.).Vtemporary-goal-column
Current goal column for vertical motion.
It is the column where point was at the start of the current run
of vertical motion commands.

When moving by visual lines via `line-move-visual', it is a cons
cell (COL . HSCROLL), where COL is the x-position, in pixels,
divided by the default column width, and HSCROLL is the number of
columns by which window is scrolled from left margin.

When the `track-eol' feature is doing its job, the value is
`most-positive-fixnum'.Fline-move-to-column
Try to find column COL, considering invisibility.
This function works only in certain cases,
because what we really need is for `move-to-column'
and `current-column' to be able to ignore invisible text.Fmove-end-of-line
Move point to end of current line as displayed.
With argument ARG not nil or 1, move forward ARG - 1 lines first.
If point reaches the beginning or end of buffer, it stops there.

To ignore the effects of the `intangible' text or overlay
property, bind `inhibit-point-motion-hooks' to t.
If there is an image in the current line, this function
disregards newlines that are part of the text on which the image
rests.Fmove-beginning-of-line
Move point to beginning of current line as displayed.
(If there's an image in the line, this disregards newlines
which are part of the text that the image rests on.)

With argument ARG not nil or 1, move forward ARG - 1 lines first.
If point reaches the beginning or end of buffer, it stops there.
To ignore intangibility, bind `inhibit-point-motion-hooks' to t.Fset-goal-column
Set the current horizontal position as a goal for \[next-line] and \[previous-line].
Those commands will move to this position in the line moved to
rather than trying to keep the same horizontal position.
With a non-nil argument ARG, clears out the goal column
so that \[next-line] and \[previous-line] resume vertical motion.
The goal column is stored in the variable `goal-column'.Fend-of-visual-line
Move point to end of current visual line.
With argument N not nil or 1, move forward N - 1 visual lines first.
If point reaches the beginning or end of buffer, it stops there.
To ignore intangibility, bind `inhibit-point-motion-hooks' to t.Fbeginning-of-visual-line
Move point to beginning of current visual line.
With argument N not nil or 1, move forward N - 1 visual lines first.
If point reaches the beginning or end of buffer, it stops there.
To ignore intangibility, bind `inhibit-point-motion-hooks' to t.Fkill-visual-line
Kill the rest of the visual line.
With prefix argument ARG, kill that many visual lines from point.
If ARG is negative, kill visual lines backward.
If ARG is zero, kill the text before point on the current visual
line.

If you want to append the killed line to the last killed text,
use \[append-next-kill] before \[kill-line].

If the buffer is read-only, Emacs will beep and refrain from deleting
the line, but put the line in the kill ring anyway.  This means that
you can use this command to copy text from a read-only buffer.
(If the variable `kill-read-only-ok' is non-nil, then this won't
even beep.)Fnext-logical-line
Move cursor vertically down ARG lines.
This is identical to `next-line', except that it always moves
by logical lines instead of visual lines, ignoring the value of
the variable `line-move-visual'.Fprevious-logical-line
Move cursor vertically up ARG lines.
This is identical to `previous-line', except that it always moves
by logical lines instead of visual lines, ignoring the value of
the variable `line-move-visual'.Vvisual-line-fringe-indicators
How fringe indicators are shown for wrapped lines in `visual-line-mode'.
The value should be a list of the form (LEFT RIGHT), where LEFT
and RIGHT are symbols representing the bitmaps to display, to
indicate wrapped lines, in the left and right fringes respectively.
See also `fringe-indicator-alist'.
The default is not to display fringe indicators for wrapped lines.
This variable does not affect fringe indicators displayed for
other purposes.Vvisual-line-mode
Non-nil if Visual-Line mode is enabled.
Use the command `visual-line-mode' to change this variable.Fvisual-line-mode
Toggle visual line based editing (Visual Line mode).
With a prefix argument ARG, enable Visual Line mode if ARG is
positive, and disable it otherwise.  If called from Lisp, enable
the mode if ARG is omitted or nil.

When Visual Line mode is enabled, `word-wrap' is turned on in
this buffer, and simple editing commands are redefined to act on
visual lines, not logical lines.  See Info node `Visual Line
Mode' for details.Fglobal-visual-line-mode
Toggle Visual-Line mode in all buffers.
With prefix ARG, enable Global-Visual-Line mode if ARG is positive;
otherwise, disable it.  If called from Lisp, enable the mode if
ARG is omitted or nil.

Visual-Line mode is enabled in all buffers where
`turn-on-visual-line-mode' would do it.
See `visual-line-mode' for more information on Visual-Line mode.Ftranspose-chars
Interchange characters around point, moving forward one character.
With prefix arg ARG, effect is to take character before point
and drag it forward past ARG other characters (backward if ARG negative).
If no argument and at end of line, the previous two chars are exchanged.Ftranspose-words
Interchange words around point, leaving point at end of them.
With prefix arg ARG, effect is to take word before or around point
and drag it forward past ARG other words (backward if ARG negative).
If ARG is zero, the words around or after point and around or after mark
are interchanged.Ftranspose-sexps
Like \[transpose-words] but applies to sexps.
Does not work on a sexp that point is in the middle of
if it is a list or string.Ftranspose-lines
Exchange current line and previous line, leaving point after both.
With argument ARG, takes previous line and moves it past ARG lines.
With argument 0, interchanges line point is in with line mark is in.Ftranspose-subr
Subroutine to do the work of transposing objects.
Works for lines, sentences, paragraphs, etc.  MOVER is a function that
moves forward by units of the given object (e.g. forward-sentence,
forward-paragraph).  If ARG is zero, exchanges the current object
with the one containing mark.  If ARG is an integer, moves the
current object past ARG following (if ARG is positive) or
preceding (if ARG is negative) objects, leaving point after the
current object.Fbackward-word
Move backward until encountering the beginning of a word.
With argument ARG, do this that many times.Fmark-word
Set mark ARG words away from point.
The place mark goes is the same place \[forward-word] would
move to with the same argument.
Interactively, if this command is repeated
or (in Transient Mark mode) if the mark is active,
it marks the next ARG words after the ones already marked.Fkill-word
Kill characters forward until encountering the end of a word.
With argument ARG, do this that many times.Fbackward-kill-word
Kill characters backward until encountering the beginning of a word.
With argument ARG, do this that many times.Fcurrent-word
Return the symbol or word that point is on (or a nearby one) as a string.
The return value includes no text properties.
If optional arg STRICT is non-nil, return nil unless point is within
or adjacent to a symbol or word.  In all cases the value can be nil
if there is no word nearby.
The function, belying its name, normally finds a symbol.
If optional arg REALLY-WORD is non-nil, it finds just a word.Fdo-auto-fill
The default value for `normal-auto-fill-function'.
This is the default auto-fill function, some major modes use a different one.
Returns t if it really did any work.Vcomment-line-break-function
Mode-specific function which line breaks and continues a comment.
This function is called during auto-filling when a comment syntax
is defined.
The function should take a single optional argument, which is a flag
indicating whether it should use soft newlines.Fdefault-indent-new-line
Break line at point and indent.
If a comment syntax is defined, call `comment-indent-new-line'.

The inserted newline is marked hard if variable `use-hard-newlines' is true,
unless optional argument SOFT is non-nil.Vnormal-auto-fill-function
The function to use for `auto-fill-function' if Auto Fill mode is turned on.
Some major modes set this.Fauto-fill-mode
Toggle automatic line breaking (Auto Fill mode).
With a prefix argument ARG, enable Auto Fill mode if ARG is
positive, and disable it otherwise.  If called from Lisp, enable
the mode if ARG is omitted or nil.

When Auto Fill mode is enabled, inserting a space at a column
beyond `current-fill-column' automatically breaks the line at a
previous space.

When `auto-fill-mode' is on, the `auto-fill-function' variable is
non-`nil'.

The value of `normal-auto-fill-function' specifies the function to use
for `auto-fill-function' when turning Auto Fill mode on.Fauto-fill-function
Automatically break line at a previous space, in insertion of text.Fturn-on-auto-fill
Unconditionally turn on Auto Fill mode.Fturn-off-auto-fill
Unconditionally turn off Auto Fill mode.Fset-fill-column
Set `fill-column' to specified argument.
Use \[universal-argument] followed by a number to specify a column.
Just \[universal-argument] as argument means to use the current column.Fset-selective-display
Set `selective-display' to ARG; clear it if no arg.
When the value of `selective-display' is a number > 0,
lines whose indentation is >= that value are not displayed.
The variable `selective-display' has a separate value for each buffer.Ftoggle-truncate-lines
Toggle truncating of long lines for the current buffer.
When truncating is off, long lines are folded.
With prefix argument ARG, truncate long lines if ARG is positive,
otherwise fold them.  Note that in side-by-side windows, this
command has no effect if `truncate-partial-width-windows' is
non-nil.Ftoggle-word-wrap
Toggle whether to use word-wrapping for continuation lines.
With prefix argument ARG, wrap continuation lines at word boundaries
if ARG is positive, otherwise wrap them at the right screen edge.
This command toggles the value of `word-wrap'.  It has no effect
if long lines are truncated.Voverwrite-mode-textual
The string displayed in the mode line when in overwrite mode.Voverwrite-mode-binary
The string displayed in the mode line when in binary overwrite mode.Foverwrite-mode
Toggle Overwrite mode.
With a prefix argument ARG, enable Overwrite mode if ARG is
positive, and disable it otherwise.  If called from Lisp, enable
the mode if ARG is omitted or nil.

When Overwrite mode is enabled, printing characters typed in
replace existing text on a one-for-one basis, rather than pushing
it to the right.  At the end of a line, such characters extend
the line.  Before a tab, such characters insert until the tab is
filled in.  \[quoted-insert] still inserts characters in
overwrite mode; this is supposed to make it easier to insert
characters when necessary.Fbinary-overwrite-mode
Toggle Binary Overwrite mode.
With a prefix argument ARG, enable Binary Overwrite mode if ARG
is positive, and disable it otherwise.  If called from Lisp,
enable the mode if ARG is omitted or nil.

When Binary Overwrite mode is enabled, printing characters typed
in replace existing text.  Newlines are not treated specially, so
typing at the end of a line joins the line to the next, with the
typed character between them.  Typing before a tab character
simply replaces the tab with the character typed.
\[quoted-insert] replaces the text at the cursor, just as
ordinary typing characters do.

Note that Binary Overwrite mode is not its own minor mode; it is
a specialization of overwrite mode, entered by setting the
`overwrite-mode' variable to `overwrite-mode-binary'.Fline-number-mode
Toggle line number display in the mode line (Line Number mode).
With a prefix argument ARG, enable Line Number mode if ARG is
positive, and disable it otherwise.  If called from Lisp, enable
the mode if ARG is omitted or nil.

Line numbers do not appear for very large buffers and buffers
with very long lines; see variables `line-number-display-limit'
and `line-number-display-limit-width'.Fcolumn-number-mode
Toggle column number display in the mode line (Column Number mode).
With a prefix argument ARG, enable Column Number mode if ARG is
positive, and disable it otherwise.

If called from Lisp, enable the mode if ARG is omitted or nil.Fsize-indication-mode
Toggle buffer size display in the mode line (Size Indication mode).
With a prefix argument ARG, enable Size Indication mode if ARG is
positive, and disable it otherwise.

If called from Lisp, enable the mode if ARG is omitted or nil.Fauto-save-mode
Toggle auto-saving in the current buffer (Auto Save mode).
With a prefix argument ARG, enable Auto Save mode if ARG is
positive, and disable it otherwise.

If called from Lisp, enable the mode if ARG is omitted or nil.Fblink-matching-check-mismatch
Return whether or not START...END are matching parens.
END is the current point and START is the blink position.
START might be nil if no matching starter was found.
Returns non-nil if we find there is a mismatch.Vblink-matching-check-function
Function to check parentheses mismatches.
The function takes two arguments (START and END) where START is the
position just before the opening token and END is the position right after.
START can be nil, if it was not found.
The function should return non-nil if the two tokens do not match.Fblink-matching-open
Move cursor momentarily to the beginning of the sexp before point.Vblink-paren-function
Function called, if non-nil, whenever a close parenthesis is inserted.
More precisely, a char with closeparen syntax is self-inserted.Fkeyboard-quit
Signal a `quit' condition.
During execution of Lisp code, this character causes a quit directly.
At top-level, as an editor command, this simply beeps.Vbuffer-quit-function
Function to call to "quit" the current buffer, or nil if none.
\[keyboard-escape-quit] calls this function when its more local actions
(such as canceling a prefix argument, minibuffer or region) do not apply.Fkeyboard-escape-quit
Exit the current "mode" (in a generalized sense of the word).
This command can exit an interactive command such as `query-replace',
can clear out a prefix argument or a region,
can get out of the minibuffer or other recursive edit,
cancel the use of the current buffer (for special-purpose buffers),
or go back to just one window (by deleting all but the selected window).Fplay-sound-file
Play sound stored in FILE.
VOLUME and DEVICE correspond to the keywords of the sound
specification for `play-sound'.Frfc822-goto-eoh
If the buffer starts with a mail header, move point to the header's end.
Otherwise, moves to `point-min'.
The end of the header is the start of the next line, if there is one,
else the end of the last line.  This function obeys RFC822.Vmail-encode-mml
If non-nil, mail-user-agent's `sendfunc' command should mml-encode
the outgoing message before sending it.Fcompose-mail
Start composing a mail message to send.
This uses the user's chosen mail composition package
as selected with the variable `mail-user-agent'.
The optional arguments TO and SUBJECT specify recipients
and the initial Subject field, respectively.

OTHER-HEADERS is an alist specifying additional
header fields.  Elements look like (HEADER . VALUE) where both
HEADER and VALUE are strings.

CONTINUE, if non-nil, says to continue editing a message already
being composed.  Interactively, CONTINUE is the prefix argument.

SWITCH-FUNCTION, if non-nil, is a function to use to
switch to and display the buffer used for mail composition.

YANK-ACTION, if non-nil, is an action to perform, if and when necessary,
to insert the raw text of the message being replied to.
It has the form (FUNCTION . ARGS).  The user agent will apply
FUNCTION to ARGS, to insert the raw text of the original message.
(The user agent will also run `mail-citation-hook', *after* the
original text has been inserted in this way.)

SEND-ACTIONS is a list of actions to call when the message is sent.
Each action has the form (FUNCTION . ARGS).

RETURN-ACTION, if non-nil, is an action for returning to the
caller.  It has the form (FUNCTION . ARGS).  The function is
called after the mail has been sent or put aside, and the mail
buffer buried.Fcompose-mail-other-window
Like \[compose-mail], but edit the outgoing message in another window.Fcompose-mail-other-frame
Like \[compose-mail], but edit the outgoing message in another frame.Vset-variable-value-history
History of values entered with `set-variable'.

Maximum length of the history list is determined by the value
of `history-length', which see.Fset-variable
Set VARIABLE to VALUE.  VALUE is a Lisp object.
VARIABLE should be a user option variable name, a Lisp variable
meant to be customized by users.  You should enter VALUE in Lisp syntax,
so if you want VALUE to be a string, you must surround it with doublequotes.
VALUE is used literally, not evaluated.

If VARIABLE has a `variable-interactive' property, that is used as if
it were the arg to `interactive' (which see) to interactively read VALUE.

If VARIABLE has been defined with `defcustom', then the type information
in the definition is used to check that VALUE is valid.

With a prefix argument, set VARIABLE to VALUE buffer-locally.Vcompletion-list-mode-map
Local map for completion list buffers.Vcompletion-reference-buffer
Record the buffer that was current when the completion list was requested.
This is a local variable in the completion list buffer.
Initial value is nil to avoid some compiler warnings.Vcompletion-no-auto-exit
Non-nil means `choose-completion-string' should never exit the minibuffer.
This also applies to other functions such as `choose-completion'.Vcompletion-base-position
Position of the base of the text corresponding to the shown completions.
This variable is used in the *Completions* buffers.
Its value is a list of the form (START END) where START is the place
where the completion should be inserted and END (if non-nil) is the end
of the text to replace.  If END is nil, point is used instead.Vcompletion-list-insert-choice-function
Function to use to insert the text chosen in *Completions*.
Called with three arguments (BEG END TEXT), it should replace the text
between BEG and END with TEXT.  Expected to be set buffer-locally
in the *Completions* buffer.Vcompletion-base-size
Number of chars before point not involved in completion.
This is a local variable in the completion list buffer.
It refers to the chars in the minibuffer if completing in the
minibuffer, or in `completion-reference-buffer' otherwise.
Only characters in the field at point are included.

If nil, Emacs determines which part of the tail end of the
buffer's text is involved in completion by comparing the text
directly.Fdelete-completion-window
Delete the completion list window.
Go to the window from which completion was requested.Fprevious-completion
Move to the previous item in the completion list.Fnext-completion
Move to the next item in the completion list.
With prefix argument N, move N items (negative N means move backward).Fchoose-completion
Choose the completion at point.Vchoose-completion-string-functions
Functions that may override the normal insertion of a completion choice.
These functions are called in order with four arguments:
CHOICE - the string to insert in the buffer,
BUFFER - the buffer in which the choice should be inserted,
MINI-P - non-nil if BUFFER is a minibuffer, and
BASE-SIZE - the number of characters in BUFFER before
the string being completed.

If a function in the list returns non-nil, that function is supposed
to have inserted the CHOICE in the BUFFER, and possibly exited
the minibuffer; no further functions will be called.

If all functions in the list return nil, that means to use
the default method of inserting the completion in BUFFER.Fchoose-completion-string
Switch to BUFFER and insert the completion choice CHOICE.
BASE-POSITION, says where to insert the completion.Fcompletion-list-mode
Major mode for buffers showing lists of possible completions.
Type \<completion-list-mode-map>\[choose-completion] in the completion list to select the completion near point.
Use \<completion-list-mode-map>\[mouse-choose-completion] to select one with the mouse.

\{completion-list-mode-map}

This mode runs the hook `completion-list-mode-hook', as the final step
during initialization.Fcompletion-list-mode-finish
Finish setup of the completions buffer.
Called from `temp-buffer-show-hook'.Fswitch-to-completions
Select the completion list window.Fevent-apply-alt-modifier
\<function-key-map>Add the Alt modifier to the following event.
For example, type \[event-apply-alt-modifier] & to enter Alt-&.Fevent-apply-super-modifier
\<function-key-map>Add the Super modifier to the following event.
For example, type \[event-apply-super-modifier] & to enter Super-&.Fevent-apply-hyper-modifier
\<function-key-map>Add the Hyper modifier to the following event.
For example, type \[event-apply-hyper-modifier] & to enter Hyper-&.Fevent-apply-shift-modifier
\<function-key-map>Add the Shift modifier to the following event.
For example, type \[event-apply-shift-modifier] & to enter Shift-&.Fevent-apply-control-modifier
\<function-key-map>Add the Ctrl modifier to the following event.
For example, type \[event-apply-control-modifier] & to enter Ctrl-&.Fevent-apply-meta-modifier
\<function-key-map>Add the Meta modifier to the following event.
For example, type \[event-apply-meta-modifier] & to enter Meta-&.Fevent-apply-modifier
Apply a modifier flag to event EVENT.
SYMBOL is the name of this modifier, as a symbol.
LSHIFTBY is the numeric value of this modifier, in keyboard events.
PREFIX is the string that represents this modifier in an event type symbol.Vclone-buffer-hook
Normal hook to run in the new buffer at the end of `clone-buffer'.Vclone-indirect-buffer-hook
Normal hook to run in the new buffer at the end of `clone-indirect-buffer'.Fclone-process
Create a twin copy of PROCESS.
If NEWNAME is nil, it defaults to PROCESS' name;
NEWNAME is modified by adding or incrementing <N> at the end as necessary.
If PROCESS is associated with a buffer, the new process will be associated
  with the current buffer instead.
Returns nil if PROCESS has already terminated.Fclone-buffer
Create and return a twin copy of the current buffer.
Unlike an indirect buffer, the new buffer can be edited
independently of the old one (if it is not read-only).
NEWNAME is the name of the new buffer.  It may be modified by
adding or incrementing <N> at the end as necessary to create a
unique buffer name.  If nil, it defaults to the name of the
current buffer, with the proper suffix.  If DISPLAY-FLAG is
non-nil, the new buffer is shown with `pop-to-buffer'.  Trying to
clone a file-visiting buffer, or a buffer whose major mode symbol
has a non-nil `no-clone' property, results in an error.

Interactively, DISPLAY-FLAG is t and NEWNAME is the name of the
current buffer with appropriate suffix.  However, if a prefix
argument is given, then the command prompts for NEWNAME in the
minibuffer.

This runs the normal hook `clone-buffer-hook' in the new buffer
after it has been set up properly in other respects.Fclone-indirect-buffer
Create an indirect buffer that is a twin copy of the current buffer.

Give the indirect buffer name NEWNAME.  Interactively, read NEWNAME
from the minibuffer when invoked with a prefix arg.  If NEWNAME is nil
or if not called with a prefix arg, NEWNAME defaults to the current
buffer's name.  The name is modified by adding a `<N>' suffix to it
or by incrementing the N in an existing suffix.  Trying to clone a
buffer whose major mode symbol has a non-nil `no-clone-indirect'
property results in an error.

DISPLAY-FLAG non-nil means show the new buffer with `pop-to-buffer'.
This is always done when called interactively.

Optional third arg NORECORD non-nil means do not put this buffer at the
front of the list of recently selected ones.Fclone-indirect-buffer-other-window
Like `clone-indirect-buffer' but display in another window.Vnormal-erase-is-backspace
Set the default behavior of the Delete and Backspace keys.

If set to t, Delete key deletes forward and Backspace key deletes
backward.

If set to nil, both Delete and Backspace keys delete backward.

If set to 'maybe (which is the default), Emacs automatically
selects a behavior.  On window systems, the behavior depends on
the keyboard used.  If the keyboard has both a Backspace key and
a Delete key, and both are mapped to their usual meanings, the
option's default value is set to t, so that Backspace can be used
to delete backward, and Delete can be used to delete forward.

If not running under a window system, customizing this option
accomplishes a similar effect by mapping C-h, which is usually
generated by the Backspace key, to DEL, and by mapping DEL to C-d
via `keyboard-translate'.  The former functionality of C-h is
available on the F1 key.  You should probably not use this
setting if you don't have both Backspace, Delete and F1 keys.

Setting this variable with setq doesn't take effect.  Programmatically,
call `normal-erase-is-backspace-mode' (which see) instead.Fnormal-erase-is-backspace-setup-frame
Set up `normal-erase-is-backspace-mode' on FRAME, if necessary.Fnormal-erase-is-backspace-mode
Toggle the Erase and Delete mode of the Backspace and Delete keys.
With a prefix argument ARG, enable this feature if ARG is
positive, and disable it otherwise.  If called from Lisp, enable
the mode if ARG is omitted or nil.

On window systems, when this mode is on, Delete is mapped to C-d
and Backspace is mapped to DEL; when this mode is off, both
Delete and Backspace are mapped to DEL.  (The remapping goes via
`local-function-key-map', so binding Delete or Backspace in the
global or local keymap will override that.)

In addition, on window systems, the bindings of C-Delete, M-Delete,
C-M-Delete, C-Backspace, M-Backspace, and C-M-Backspace are changed in
the global keymap in accordance with the functionality of Delete and
Backspace.  For example, if Delete is remapped to C-d, which deletes
forward, C-Delete is bound to `kill-word', but if Delete is remapped
to DEL, which deletes backward, C-Delete is bound to
`backward-kill-word'.

If not running on a window system, a similar effect is accomplished by
remapping C-h (normally produced by the Backspace key) and DEL via
`keyboard-translate': if this mode is on, C-h is mapped to DEL and DEL
to C-d; if it's off, the keys are not remapped.

When not running on a window system, and this mode is turned on, the
former functionality of C-h is available on the F1 key.  You should
probably not turn on this mode on a text-only terminal if you don't
have both Backspace, Delete and F1 keys.

See also `normal-erase-is-backspace'.Vvis-mode-saved-buffer-invisibility-spec
Saved value of `buffer-invisibility-spec' when Visible mode is on.Fread-only-mode
Change whether the current buffer is read-only.
With prefix argument ARG, make the buffer read-only if ARG is
positive, otherwise make it writable.  If buffer is read-only
and `view-read-only' is non-nil, enter view mode.

Do not call this from a Lisp program unless you really intend to
do the same thing as the \[read-only-mode] command, including
possibly enabling or disabling View mode.  Also, note that this
command works by setting the variable `buffer-read-only', which
does not affect read-only regions caused by text properties.  To
ignore read-only status in a Lisp program (whether due to text
properties or buffer state), bind `inhibit-read-only' temporarily
to a non-nil value.Vvisible-mode
Non-nil if Visible mode is enabled.
Use the command `visible-mode' to change this variable.Fvisible-mode
Toggle making all invisible text temporarily visible (Visible mode).
With a prefix argument ARG, enable Visible mode if ARG is
positive, and disable it otherwise.  If called from Lisp, enable
the mode if ARG is omitted or nil.

This mode works by saving the value of `buffer-invisibility-spec'
and setting it to nil.Vbad-packages-alist
Alist of packages known to cause problems in this version of Emacs.
Each element has the form (PACKAGE SYMBOL REGEXP STRING).
PACKAGE is either a regular expression to match file names, or a
symbol (a feature name); see the documentation of
`after-load-alist', to which this variable adds functions.
SYMBOL is either the name of a string variable, or `t'.  Upon
loading PACKAGE, if SYMBOL is t or matches REGEXP, display a
warning using STRING as the message.Fbad-package-check
Run a check using the element from `bad-packages-alist' matching PACKAGE.Shelp.elc
Vhelp-window-point-marker
Marker to override default `window-point' in help windows.Vhelp-map
Keymap for characters following the Help key.Fhelp-quit
Just exit from the Help command's command loop.Vhelp-return-method
What to do to "exit" the help buffer.
This is a list
 (WINDOW . t)              delete the selected window (and possibly its frame,
                           see `quit-window'), go to WINDOW.
 (WINDOW . quit-window)    do quit-window, then select WINDOW.
 (WINDOW BUF START POINT)  display BUF at START, POINT, then select WINDOW.Fhelp-print-return-message
Display or return message saying how to restore windows after help command.
This function assumes that `standard-output' is the help buffer.
It computes a message, and applies the optional argument FUNCTION to it.
If FUNCTION is nil, it applies `message', thus displaying the message.
In addition, this function sets up `help-return-method', which see, that
specifies what to do when the user exits the help buffer.Fhelp-for-help-internal-doc
You have typed %THIS-KEY%, the help character.  Type a Help option:
(Use SPC or DEL to scroll through this text.  Type \<help-map>\[help-quit] to exit the Help command.)

a PATTERN   Show commands whose name matches the PATTERN (a list of words
              or a regexp).  See also the `apropos' command.
b           Display all key bindings.
c KEYS      Display the command name run by the given key sequence.
C CODING    Describe the given coding system, or RET for current ones.
d PATTERN   Show a list of functions, variables, and other items whose
              documentation matches the PATTERN (a list of words or a regexp).
e           Go to the *Messages* buffer which logs echo-area messages.
f FUNCTION  Display documentation for the given function.
F COMMAND   Show the on-line manual's section that describes the command.
g           Display information about the GNU project.
h           Display the HELLO file which illustrates various scripts.
i           Start the Info documentation reader: read on-line manuals.
I METHOD    Describe a specific input method, or RET for current.
k KEYS      Display the full documentation for the key sequence.
K KEYS      Show the on-line manual's section for the command bound to KEYS.
l           Show last 300 input keystrokes (lossage).
L LANG-ENV  Describes a specific language environment, or RET for current.
m           Display documentation of current minor modes and current major mode,
              including their special commands.
n           Display news of recent Emacs changes.
p TOPIC     Find packages matching a given topic keyword.
r           Display the Emacs manual in Info mode.
s           Display contents of current syntax table, plus explanations.
S SYMBOL    Show the section for the given symbol in the on-line manual
              for the programming language used in this buffer.
t           Start the Emacs learn-by-doing tutorial.
v VARIABLE  Display the given variable's documentation and value.
w COMMAND   Display which keystrokes invoke the given command (where-is).
.           Display any available local help at point in the echo area.

C-a         Information about Emacs.
C-c         Emacs copying permission (GNU General Public License).
C-d         Instructions for debugging GNU Emacs.
C-e         External packages and information about Emacs.
C-f         Emacs FAQ.
C-m         How to order printed Emacs manuals.
C-n         News of recent Emacs changes.
C-o         Emacs ordering and distribution information.
C-p         Info about known Emacs problems.
C-t         Emacs TODO list.
C-w         Information on absence of warranty for GNU Emacs.Fhelp-for-help-internal
Help command.Ffunction-called-at-point
Return a function around point or else called by the list containing point.
If that doesn't give a function, return nil.Fdescribe-distribution
Display info on how to obtain the latest version of GNU Emacs.Fdescribe-copying
Display info on how you may redistribute copies of GNU Emacs.Fdescribe-gnu-project
Display info on the GNU project.Fdescribe-no-warranty
Display info on all the kinds of warranty Emacs does NOT have.Fdescribe-prefix-bindings
Describe the bindings of the prefix used to reach this command.
The prefix described consists of all but the last event
of the key sequence that ran this command.Fview-emacs-news
Display info on recent changes to Emacs.
With argument, display info only for the selected version.Fview-emacs-todo
Display the Emacs TODO list.Fview-echo-area-messages
View the log of recent echo-area messages: the `*Messages*' buffer.
The number of messages retained in that buffer
is specified by the variable `message-log-max'.Fview-order-manuals
Display the Emacs ORDERS file.Fview-emacs-FAQ
Display the Emacs Frequently Asked Questions (FAQ) file.Fview-emacs-problems
Display info on known problems with Emacs and possible workarounds.Fview-emacs-debugging
Display info on how to debug Emacs problems.Fview-external-packages
Display external packages and information about Emacs.Fview-lossage
Display last 300 input keystrokes.

To record all your input on a file, use `open-dribble-file'.Fdescribe-bindings
Show a list of all defined keys, and their definitions.
We put that list in a buffer, and display the buffer.

The optional argument PREFIX, if non-nil, should be a key sequence;
then we display only bindings that start with that prefix.
The optional argument BUFFER specifies which buffer's bindings
to display (default, the current buffer).  BUFFER can be a buffer
or a buffer name.Fdescribe-bindings-internal
Show a list of all defined keys, and their definitions.
We put that list in a buffer, and display the buffer.

The optional argument MENUS, if non-nil, says to mention menu bindings.
(Ordinarily these are omitted from the output.)
The optional argument PREFIX, if non-nil, should be a key sequence;
then we display only bindings that start with that prefix.Fwhere-is
Print message listing key sequences that invoke the command DEFINITION.
Argument is a command definition, usually a symbol with a function definition.
If INSERT (the prefix arg) is non-nil, insert the message in the buffer.Fdescribe-key-briefly
Print the name of the function KEY invokes.  KEY is a string.
If INSERT (the prefix arg) is non-nil, insert the message in the buffer.
If non-nil, UNTRANSLATED is a vector of the untranslated events.
It can also be a number in which case the untranslated events from
the last key hit are used.

If KEY is a menu item or a tool-bar button that is disabled, this command
temporarily enables it to allow getting help on disabled items and buttons.Fdescribe-key
Display documentation of the function invoked by KEY.
KEY can be any kind of a key sequence; it can include keyboard events,
mouse events, and/or menu events.  When calling from a program,
pass KEY as a string or a vector.

If non-nil, UNTRANSLATED is a vector of the corresponding untranslated events.
It can also be a number, in which case the untranslated events from
the last key sequence entered are used.
UP-EVENT is the up-event that was discarded by reading KEY, or nil.

If KEY is a menu item or a tool-bar button that is disabled, this command
temporarily enables it to allow getting help on disabled items and buttons.Fdescribe-mode
Display documentation of current major mode and minor modes.
A brief summary of the minor modes comes first, followed by the
major mode description.  This is followed by detailed
descriptions of the minor modes, each on a separate page.

For this to work correctly for a minor mode, the mode's indicator
variable (listed in `minor-mode-alist') must also be a function
whose documentation describes the minor mode.

If called from Lisp with a non-nil BUFFER argument, display
documentation for the major and minor modes of that buffer.Fdescribe-minor-mode
Display documentation of a minor mode given as MINOR-MODE.
MINOR-MODE can be a minor mode symbol or a minor mode indicator string
appeared on the mode-line.Fdescribe-minor-mode-from-symbol
Display documentation of a minor mode given as a symbol, SYMBOLFdescribe-minor-mode-from-indicator
Display documentation of a minor mode specified by INDICATOR.
If you call this function interactively, you can give indicator which
is currently activated with completion.Flookup-minor-mode-from-indicator
Return a minor mode symbol from its indicator on the mode line.Ftemp-buffer-resize-mode
Toggle auto-resizing temporary buffer windows (Temp Buffer Resize Mode).
With a prefix argument ARG, enable Temp Buffer Resize mode if ARG
is positive, and disable it otherwise.  If called from Lisp,
enable the mode if ARG is omitted or nil.

When Temp Buffer Resize mode is enabled, the windows in which we
show a temporary buffer are automatically resized in height to
fit the buffer's contents, but never more than
`temp-buffer-max-height' nor less than `window-min-height'.

A window is resized only if it has been specially created for the
buffer.  Windows that have shown another buffer before are not
resized.  A frame is resized only if `fit-frame-to-buffer' is
non-nil.

This mode is used by `help', `apropos' and `completion' buffers,
and some others.Fresize-temp-buffer-window
Resize WINDOW to fit its contents.
WINDOW can be any live window and defaults to the selected one.

Do not make WINDOW higher than `temp-buffer-max-height' nor
smaller than `window-min-height'.  Do nothing if WINDOW is not
vertically combined, some of its contents are scrolled out of
view, or WINDOW was not created by `display-buffer'.Fhelp-window-display-message
Display message telling how to quit and scroll help window.
QUIT-PART is a string telling how to quit the help window WINDOW.
Optional argument SCROLL non-nil means tell how to scroll WINDOW.
SCROLL equal `other' means tell how to scroll the "other"
window.Fhelp-window-setup
Set up help window for `with-help-window'.
HELP-WINDOW is the window used for displaying the help buffer.Fwith-help-window
Display buffer with name BUFFER-NAME in a help window evaluating BODY.
Select help window if the actual value of the user option
`help-window-select' says so.  Return last value in BODY.Fhelp-form-show
Display the output of a non-nil `help-form'.Sjka-cmpr-hook.elc
Vjka-compr-file-name-handler-entry
`file-name-handler-alist' entry used by jka-compr I/O functions.Vjka-compr-compression-info-list--internal
Stored value of `jka-compr-compression-info-list'.
If Auto Compression mode is enabled, this is the value of
`jka-compr-compression-info-list' when `jka-compr-install' was last called.
Otherwise, it is nil.Vjka-compr-mode-alist-additions--internal
Stored value of `jka-compr-mode-alist-additions'.
If Auto Compression mode is enabled, this is the value of
`jka-compr-mode-alist-additions' when `jka-compr-install' was last called.
Otherwise, it is nil.Vjka-compr-load-suffixes--internal
Stored value of `jka-compr-load-suffixes'.
If Auto Compression mode is enabled, this is the value of
`jka-compr-load-suffixes' when `jka-compr-install' was last called.
Otherwise, it is nil.Fjka-compr-get-compression-info
Return information about the compression scheme of FILENAME.
The determination as to which compression scheme, if any, to use is
based on the filename itself and `jka-compr-compression-info-list'.Fjka-compr-install
Install jka-compr.
This adds entries to `file-name-handler-alist' and `auto-mode-alist'
and `inhibit-local-variables-suffixes'.Fjka-compr-installed-p
Return non-nil if jka-compr is installed.
The return value is the entry in `file-name-handler-alist' for jka-compr.Fjka-compr-update
Update Auto Compression mode for changes in option values.
If you change the options `jka-compr-compression-info-list',
`jka-compr-mode-alist-additions' or `jka-compr-load-suffixes'
outside Custom, while Auto Compression mode is already enabled
(as it is by default), then you have to call this function
afterward to properly update other variables.  Setting these
options through Custom does this automatically.Fjka-compr-set
Internal Custom :set function.Fauto-compression-mode
Toggle Auto Compression mode.
With a prefix argument ARG, enable Auto Compression mode if ARG
is positive, and disable it otherwise.  If called from Lisp,
enable the mode if ARG is omitted or nil.

Auto Compression mode is a global minor mode.  When enabled,
compressed files are automatically uncompressed for reading, and
compressed when writing.Fwith-auto-compression-mode
Evaluate BODY with automatic file compression and uncompression enabled.Sepa-hook.elc
Vepa-file-encrypt-to
Recipient(s) used for encrypting files.
May either be a string or a list of strings.Fauto-encryption-mode
Toggle automatic file encryption/decryption (Auto Encryption mode).
With a prefix argument ARG, enable Auto Encryption mode if ARG is
positive, and disable it otherwise.  If called from Lisp, enable
the mode if ARG is omitted or nil.

(fn &optional ARG)Smule-cmds.elc
Vmule-keymap
Keymap for Mule (Multilingual environment) specific commands.Vmule-menu-keymap
Keymap for Mule (Multilingual environment) menu specific commands.Fcoding-system-change-eol-conversion
Return a coding system which differs from CODING-SYSTEM in EOL conversion.
The returned coding system converts end-of-line by EOL-TYPE
but text as the same way as CODING-SYSTEM.
EOL-TYPE should be `unix', `dos', `mac', or nil.
If EOL-TYPE is nil, the returned coding system detects
how end-of-line is formatted automatically while decoding.

EOL-TYPE can be specified by an integer 0, 1, or 2.
They means `unix', `dos', and `mac' respectively.Fcoding-system-change-text-conversion
Return a coding system which differs from CODING-SYSTEM in text conversion.
The returned coding system converts text by CODING
but end-of-line as the same way as CODING-SYSTEM.
If CODING is nil, the returned coding system detects
how text is formatted automatically while decoding.Fcoding-system-from-name
Return a coding system whose name matches with NAME (string or symbol).Ftoggle-enable-multibyte-characters
Change whether this buffer uses multibyte characters.
With ARG, use multibyte characters if the ARG is positive.

Note that this command does not convert the byte contents of
the buffer; it only changes the way those bytes are interpreted.
In general, therefore, this command *changes* the sequence of
characters that the current buffer contains.

We suggest you avoid using this command unless you know what you are
doing.  If you use it by mistake, and the buffer is now displayed
wrong, use this command again to toggle back to the right mode.Fview-hello-file
Display the HELLO file, which lists many languages and characters.Funiversal-coding-system-argument
Execute an I/O command using the specified coding system.Fset-default-coding-systems
Set default value of various coding systems to CODING-SYSTEM.
This sets the following coding systems:
  o coding system of a newly created buffer
  o default coding system for subprocess I/O
This also sets the following values:
  o default value used as `file-name-coding-system' for converting file names
      if CODING-SYSTEM is ASCII-compatible
  o default value for the command `set-terminal-coding-system'
  o default value for the command `set-keyboard-coding-system'
      if CODING-SYSTEM is ASCII-compatibleFprefer-coding-system
Add CODING-SYSTEM at the front of the priority list for automatic detection.
This also sets the following coding systems:
  o coding system of a newly created buffer
  o default coding system for subprocess I/O
This also sets the following values:
  o default value used as `file-name-coding-system' for converting file names
  o default value for the command `set-terminal-coding-system'
  o default value for the command `set-keyboard-coding-system'

If CODING-SYSTEM specifies a certain type of EOL conversion, the coding
systems set by this function will use that type of EOL conversion.

A coding system that requires automatic detection of text+encoding
(e.g. undecided, unix) can't be preferred.

To prefer, for instance, utf-8, say the following:

  (prefer-coding-system 'utf-8)Vsort-coding-systems-predicate
If non-nil, a predicate function to sort coding systems.

It is called with two coding systems, and should return t if the first
one is "less" than the second.

The function `sort-coding-systems' use it.Fsort-coding-systems
Sort coding system list CODINGS by a priority of each coding system.
Return the sorted list.  CODINGS is modified by side effects.

If a coding system is most preferred, it has the highest priority.
Otherwise, coding systems that correspond to MIME charsets have
higher priorities.  Among them, a coding system included in the
`coding-system' key of the current language environment has higher
priority.  See also the documentation of `language-info-alist'.

If the variable `sort-coding-systems-predicate' (which see) is
non-nil, it is used to sort CODINGS instead.Ffind-coding-systems-region
Return a list of proper coding systems to encode a text between FROM and TO.

If FROM is a string, find coding systems in that instead of the buffer.
All coding systems in the list can safely encode any multibyte characters
in the text.

If the text contains no multibyte characters, return a list of a single
element `undecided'.Ffind-coding-systems-string
Return a list of proper coding systems to encode STRING.
All coding systems in the list can safely encode any multibyte characters
in STRING.

If STRING contains no multibyte characters, return a list of a single
element `undecided'.Ffind-coding-systems-for-charsets
Return a list of proper coding systems to encode characters of CHARSETS.
CHARSETS is a list of character sets.

This only finds coding systems of type `charset', whose
`:charset-list' property includes all of CHARSETS (plus `ascii' for
ASCII-compatible coding systems).  It was used in older versions of
Emacs, but is unlikely to be what you really want now.Ffind-multibyte-characters
Find multibyte characters in the region specified by FROM and TO.
If FROM is a string, find multibyte characters in the string.
The return value is an alist of the following format:
  ((CHARSET COUNT CHAR ...) ...)
where
  CHARSET is a character set,
  COUNT is a number of characters,
  CHARs are the characters found from the character set.
Optional 3rd arg MAXCOUNT limits how many CHARs are put in the above list.
Optional 4th arg EXCLUDES is a list of character sets to be ignored.Fsearch-unencodable-char
Search forward from point for a character that is not encodable.
It asks which coding system to check.
If such a character is found, set point after that character.
Otherwise, don't move point.

When called from a program, the value is the position of the unencodable
character found, or nil if all characters are encodable.Vlast-coding-system-specified
Most recent coding system explicitly specified by the user when asked.
This variable is set whenever Emacs asks the user which coding system
to use in order to write a file.  If you set it to nil explicitly,
then call `write-region', then afterward this variable will be non-nil
only if the user was explicitly asked and specified a coding system.Vselect-safe-coding-system-accept-default-p
If non-nil, a function to control the behavior of coding system selection.
The meaning is the same as the argument ACCEPT-DEFAULT-P of the
function `select-safe-coding-system' (which see).  This variable
overrides that argument.Fselect-safe-coding-system-interactively
Select interactively a coding system for the region FROM ... TO.
FROM can be a string, as in `write-region'.
CODINGS is the list of base coding systems known to be safe for this region,
  typically obtained with `find-coding-systems-region'.
UNSAFE is a list of coding systems known to be unsafe for this region.
REJECTED is a list of coding systems which were safe but for some reason
  were not recommended in the particular context.
DEFAULT is the coding system to use by default in the query.Fselect-safe-coding-system
Ask a user to select a safe coding system from candidates.
The candidates of coding systems which can safely encode a text
between FROM and TO are shown in a popup window.  Among them, the most
proper one is suggested as the default.

The list of `buffer-file-coding-system' of the current buffer, the
default `buffer-file-coding-system', and the most preferred coding
system (if it corresponds to a MIME charset) is treated as the
default coding system list.  Among them, the first one that safely
encodes the text is normally selected silently and returned without
any user interaction.  See also the command `prefer-coding-system'.

However, the user is queried if the chosen coding system is
inconsistent with what would be selected by `find-auto-coding' from
coding cookies &c. if the contents of the region were read from a
file.  (That could lead to data corruption in a file subsequently
re-visited and edited.)

Optional 3rd arg DEFAULT-CODING-SYSTEM specifies a coding system or a
list of coding systems to be prepended to the default coding system
list.  However, if DEFAULT-CODING-SYSTEM is a list and the first
element is t, the cdr part is used as the default coding system list,
i.e. current `buffer-file-coding-system', default `buffer-file-coding-system',
and the most preferred coding system are not used.

Optional 4th arg ACCEPT-DEFAULT-P, if non-nil, is a function to
determine the acceptability of the silently selected coding system.
It is called with that coding system, and should return nil if it
should not be silently selected and thus user interaction is required.

Optional 5th arg FILE is the file name to use for this purpose.
That is different from `buffer-file-name' when handling `write-region'
(for example).

The variable `select-safe-coding-system-accept-default-p', if non-nil,
overrides ACCEPT-DEFAULT-P.

Kludgy feature: if FROM is a string, the string is the target text,
and TO is ignored.Fselect-message-coding-system
Return a coding system to encode the outgoing message of the current buffer.
It at first tries the first coding system found in these variables
in this order:
  (1) local value of `buffer-file-coding-system'
  (2) value of `sendmail-coding-system'
  (3) value of `default-sendmail-coding-system'
  (4) default value of `buffer-file-coding-system'
If the found coding system can't encode the current buffer,
or none of them are bound to a coding system,
it asks the user to select a proper coding system.Vlanguage-info-alist
Alist of language environment definitions.
Each element looks like:
	(LANGUAGE-NAME . ((KEY . INFO) ...))
where LANGUAGE-NAME is a string, the name of the language environment,
KEY is a symbol denoting the kind of information, and
INFO is the data associated with KEY.
Meaningful values for KEY include

  documentation      value is documentation of what this language environment
			is meant for, and how to use it.
  charset	     value is a list of the character sets mainly used
			by this language environment.
  sample-text	     value is an expression which is evalled to generate
                        a line of text written using characters appropriate
                        for this language environment.
  setup-function     value is a function to call to switch to this
			language environment.
  exit-function      value is a function to call to leave this
		        language environment.
  coding-system      value is a list of coding systems that are good for
			saving text written in this language environment.
			This list serves as suggestions to the user;
			in effect, as a kind of documentation.
  coding-priority    value is a list of coding systems for this language
			environment, in order of decreasing priority.
			This is used to set up the coding system priority
			list when you switch to this language environment.
  nonascii-translation
		     value is a charset of dimension one to use for
			converting a unibyte character to multibyte
			and vice versa.
  input-method       value is a default input method for this language
			environment.
  features           value is a list of features requested in this
			language environment.
  ctext-non-standard-encodings
		     value is a list of non-standard encoding names used
			in extended segments of CTEXT.  See the variable
			`ctext-non-standard-encodings' for more detail.

The following key takes effect only when multibyte characters are
globally disabled, i.e. the default value of `enable-multibyte-characters'
is nil (which is an obsolete and deprecated use):

  unibyte-display    value is a coding system to encode characters for
			the terminal.  Characters in the range of 160 to
			255 display not as octal escapes, but as non-ASCII
			characters in this language environment.Fget-language-info
Return information listed under KEY for language environment LANG-ENV.
KEY is a symbol denoting the kind of information.
For a list of useful values for KEY and their meanings,
see `language-info-alist'.Fset-language-info
Modify part of the definition of language environment LANG-ENV.
Specifically, this stores the information INFO under KEY
in the definition of this language environment.
KEY is a symbol denoting the kind of information.
INFO is the value for that information.

For a list of useful values for KEY and their meanings,
see `language-info-alist'.Fset-language-info-internal
Internal use only.
Arguments are the same as `set-language-info'.Fset-language-info-alist
Store ALIST as the definition of language environment LANG-ENV.
ALIST is an alist of KEY and INFO values.  See the documentation of
`language-info-alist' for the meanings of KEY and INFO.

Optional arg PARENTS is a list of parent menu names; it specifies
where to put this language environment in the
Describe Language Environment and Set Language Environment menus.
For example, ("European") means to put this language environment
in the European submenu in each of those two menus.Fread-language-name
Read a language environment name which has information for KEY.
If KEY is nil, read any language environment.
Prompt with PROMPT.  DEFAULT is the default choice of language environment.
This returns a language environment name as a string.Vleim-list-file-name
Name of LEIM list file.
This file contains a list of libraries of Emacs input methods (LEIM)
in the format of Lisp expression for registering each input method.
Emacs loads this file at startup time.Vleim-list-header
Header to be inserted in LEIM list file.Vleim-list-entry-regexp
Regexp matching head of each entry in LEIM list file.
See also the variable `leim-list-header'.Vupdate-leim-list-functions
List of functions to call to update LEIM list file.
Each function is called with one arg, LEIM directory name.Fupdate-leim-list-file
Update LEIM list file in directories DIRS.Vcurrent-input-method
The current input method for multilingual text.
If nil, that means no input method is activated now.Vcurrent-input-method-title
Title string of the current input method shown in mode line.Vinput-method-history
History list of input methods read from the minibuffer.

Maximum length of the history list is determined by the value
of `history-length', which see.Vdeactivate-current-input-method-function
Function to call for deactivating the current input method.
Every input method should set this to an appropriate value when activated.
This function is called with no argument.

This function should never change the value of `current-input-method'.
It is set to nil by the function `deactivate-input-method'.Vdescribe-current-input-method-function
Function to call for describing the current input method.
This function is called with no argument.Vinput-method-alist
Alist of input method names vs how to use them.
Each element has the form:
   (INPUT-METHOD LANGUAGE-ENV ACTIVATE-FUNC TITLE DESCRIPTION ARGS...)
See the function `register-input-method' for the meanings of the elements.Fregister-input-method
Register INPUT-METHOD as an input method for language environment LANG-ENV.

INPUT-METHOD and LANG-ENV are symbols or strings.
ACTIVATE-FUNC is a function to call to activate this method.
TITLE is a string to show in the mode line when this method is active.
DESCRIPTION is a string describing this method and what it is good for.
The ARGS, if any, are passed as arguments to ACTIVATE-FUNC.
All told, the arguments to ACTIVATE-FUNC are INPUT-METHOD and the ARGS.

This function is mainly used in the file "leim-list.el" which is
created at Emacs build time, registering all Quail input methods
contained in the Emacs distribution.

In case you want to register a new Quail input method by yourself, be
careful to use the same input method title as given in the third
parameter of `quail-define-package'.  (If the values are different, the
string specified in this function takes precedence.)

The commands `describe-input-method' and `list-input-methods' need
these duplicated values to show some information about input methods
without loading the relevant Quail packages.

(fn INPUT-METHOD LANG-ENV ACTIVATE-FUNC TITLE DESCRIPTION &rest ARGS)Fread-input-method-name
Read a name of input method from a minibuffer prompting with PROMPT.
If DEFAULT is non-nil, use that as the default,
and substitute it into PROMPT at the first `%s'.
If INHIBIT-NULL is non-nil, null input signals an error.

The return value is a string.Factivate-input-method
Switch to input method INPUT-METHOD for the current buffer.
If some other input method is already active, turn it off first.
If INPUT-METHOD is nil, deactivate any current input method.Fdeactivate-input-method
Turn off the current input method.Fset-input-method
Select and activate input method INPUT-METHOD for the current buffer.
This also sets the default input method to the one you specify.
If INPUT-METHOD is nil, this function turns off the input method, and
also causes you to be prompted for a name of an input method the next
time you invoke \[toggle-input-method].
When called interactively, the optional arg INTERACTIVE is non-nil,
which marks the variable `default-input-method' as set for Custom buffers.

To deactivate the input method interactively, use \[toggle-input-method].
To deactivate it programmatically, use `deactivate-input-method'.Vtoggle-input-method-active
Non-nil inside `toggle-input-method'.Ftoggle-input-method
Enable or disable multilingual text input method for the current buffer.
Only one input method can be enabled at any time in a given buffer.

The normal action is to enable an input method if none was enabled,
and disable the current one otherwise.  Which input method to enable
can be determined in various ways--either the one most recently used,
or the one specified by `default-input-method', or as a last resort
by reading the name of an input method in the minibuffer.

With a prefix argument ARG, read an input method name with the minibuffer
and enable that one.  The default is the most recent input method specified
(not including the currently active input method, if any).

When called interactively, the optional argument INTERACTIVE is non-nil,
which marks the variable `default-input-method' as set for Custom buffers.Fdescribe-input-method
Describe input method INPUT-METHOD.Fdescribe-current-input-method
Describe the input method currently in use.
This is a subroutine for `describe-input-method'.Fread-multilingual-string
Read a multilingual string from minibuffer, prompting with string PROMPT.
The input method selected last time is activated in minibuffer.
If optional second argument INITIAL-INPUT is non-nil, insert it in the
minibuffer initially.
Optional 3rd argument INPUT-METHOD specifies the input method to be activated
instead of the one selected last time.  It is a symbol or a string.Vinput-method-exit-on-first-char
This flag controls when an input method returns.
Usually, the input method does not return while there's a possibility
that it may find a different translation if a user types another key.
But, if this flag is non-nil, the input method returns as soon as the
current key sequence gets long enough to have some valid translation.Vinput-method-use-echo-area
This flag controls how an input method shows an intermediate key sequence.
Usually, the input method inserts the intermediate key sequence,
or candidate translations corresponding to the sequence,
at point in the current buffer.
But, if this flag is non-nil, it displays them in echo area instead.Vinput-method-exit-on-invalid-key
This flag controls the behavior of an input method on invalid key input.
Usually, when a user types a key which doesn't start any character
handled by the input method, the key is handled by turning off the
input method temporarily.  After that key, the input method is re-enabled.
But, if this flag is non-nil, the input method is never back on.Fsetup-specified-language-environment
Switch to a specified language environment.Freset-language-environment
Reset multilingual environment of Emacs to the default status.

The default status is as follows:

  The default value of `buffer-file-coding-system' is nil.
  The default coding system for process I/O is nil.
  The default value for the command `set-terminal-coding-system' is nil.
  The default value for the command `set-keyboard-coding-system' is nil.

  The order of priorities of coding systems are as follows:
	utf-8
	iso-2022-7bit
	iso-latin-1
	iso-2022-7bit-lock
	iso-2022-8bit-ss2
	emacs-mule
	raw-textFset-display-table-and-terminal-coding-system
Set up the display table and terminal coding system for LANGUAGE-NAME.Fset-language-environment
Set up multilingual environment for using LANGUAGE-NAME.
This sets the coding system priority and the default input method
and sometimes other things.  LANGUAGE-NAME should be a string
which is the name of a language environment.  For example, "Latin-1"
specifies the character set for the major languages of Western Europe.

If there is a prior value for `current-language-environment', this
runs the hook `exit-language-environment-hook'.  After setting up
the new language environment, it runs `set-language-environment-hook'.Fset-language-environment-coding-systems
Do various coding system setups for language environment LANGUAGE-NAME.Fset-language-environment-input-method
Do various input method setups for language environment LANGUAGE-NAME.Fset-language-environment-nonascii-translation
Do unibyte/multibyte translation setup for language environment LANGUAGE-NAME.Fset-language-environment-charset
Do various charset setups for language environment LANGUAGE-NAME.Fset-language-environment-unibyte
Do various unibyte-mode setups for language environment LANGUAGE-NAME.Fprinc-list
Print all arguments with `princ', then print "\n".Fdescribe-specified-language-support
Describe how Emacs supports the specified language environment.Fdescribe-language-environment
Describe how Emacs supports language environment LANGUAGE-NAME.Vlocale-translation-file-name
File name for the system's file of locale-name aliases, or nil if none.Vlocale-language-names
Alist of locale regexps vs the corresponding languages and coding systems.
Each element has this form:
  (LOCALE-REGEXP LANG-ENV CODING-SYSTEM)
The first element whose LOCALE-REGEXP matches the start of a
downcased locale specifies the LANG-ENV (language environment)
and CODING-SYSTEM corresponding to that locale.  If there is no
appropriate language environment, the element may have this form:
  (LOCALE-REGEXP . LANG-ENV)
In this case, LANG-ENV is one of generic language environments for an
specific encoding such as "Latin-1" and "UTF-8".Vlocale-charset-language-names
List of pairs of locale regexps and charset language names.
The first element whose locale regexp matches the start of a downcased locale
specifies the language name whose charset corresponds to that locale.
This language name is used if the locale is not listed in
`locale-language-names'.Vlocale-preferred-coding-systems
List of pairs of locale regexps and preferred coding systems.
The first element whose locale regexp matches the start of a downcased locale
specifies the coding system to prefer when using that locale.
This coding system is used if the locale specifies a specific charset.Flocale-name-match
Search for KEY in ALIST, which should be a list of regexp-value pairs.
Return the value corresponding to the first regexp that matches the
start of KEY, or nil if there is no match.Flocale-charset-match-p
Whether charset names (strings) CHARSET1 and CHARSET2 are equivalent.
Matching is done ignoring case and any hyphens and underscores in the
names.  E.g. `ISO_8859-1' and `iso88591' both match `iso-8859-1'.Vlocale-charset-alist
Coding system alist keyed on locale-style charset name.
Used by `locale-charset-to-coding-system'.Flocale-charset-to-coding-system
Find coding system corresponding to CHARSET.
CHARSET is any sort of non-Emacs charset name, such as might be used
in a locale codeset, or elsewhere.  It is matched to a coding system
first by case-insensitive lookup in `locale-charset-alist'.  Then
matches are looked for in the coding system list, treating case and
the characters `-' and `_' as insignificant.  The coding system base
is returned.  Thus, for instance, if charset "ISO8859-2",
`iso-latin-2' is returned.Flocale-translate
Expand LOCALE according to `locale-translation-file-name', if possible.
For example, translate "swedish" into "sv_SE.ISO8859-1".Fset-locale-environment
Set up multilingual environment for using LOCALE-NAME.
This sets the language environment, the coding system priority,
the default input method and sometimes other things.

LOCALE-NAME should be a string which is the name of a locale supported
by the system.  Often it is of the form xx_XX.CODE, where xx is a
language, XX is a country, and CODE specifies a character set and
coding system.  For example, the locale name "ja_JP.EUC" might name
a locale for Japanese in Japan using the `japanese-iso-8bit'
coding-system.  The name may also have a modifier suffix, e.g. `@euro'
or `@cyrillic'.

If LOCALE-NAME is nil, its value is taken from the environment
variables LC_ALL, LC_CTYPE and LANG (the first one that is set).

The locale names supported by your system can typically be found in a
directory named `/usr/share/locale' or `/usr/lib/locale'.  LOCALE-NAME
will be translated according to the table specified by
`locale-translation-file-name'.

If FRAME is non-nil, only set the keyboard coding system and the
terminal coding system for the terminal of that frame, and don't
touch session-global parameters like the language environment.

See also `locale-charset-language-names', `locale-language-names',
`locale-preferred-coding-systems' and `locale-coding-system'.Fdefine-char-code-property
Define NAME as a character code property given by TABLE.
TABLE is a char-table of purpose `char-code-property-table' with
these extra slots:
  1st: NAME.
  2nd: Function to call to get a property value of a character.
    It is called with three arguments CHAR, VAL, and TABLE, where
    CHAR is a character, VAL is the value of (aref TABLE CHAR).
  3rd: Function to call to put a property value of a character.
    It is called with the same arguments as above.
  4th: Function to call to get a description string of a property value.
    It is called with one argument VALUE, a property value.
  5th: Data used by the above functions.

TABLE may be a name of file to load to build a char-table.  The
file should contain a call of `define-char-code-property' with a
char-table of the above format as the argument TABLE.

TABLE may also be nil, in which case no property value is pre-assigned.

Optional 3rd argument DOCSTRING is a documentation string of the property.

See also the documentation of `get-char-code-property' and
`put-char-code-property'.Vchar-code-property-table
Char-table containing a property list of each character code.
This table is used for properties not listed in `char-code-property-alist'.
See also the documentation of `get-char-code-property' and
`put-char-code-property'.Fget-char-code-property
Return the value of CHAR's PROPNAME property.Fput-char-code-property
Store CHAR's PROPNAME property with VALUE.
It can be retrieved with `(get-char-code-property CHAR PROPNAME)'.Fchar-code-property-description
Return a description string of character property PROP's value VALUE.
If there's no description string for VALUE, return nil.Fencoded-string-description
Return a pretty description of STR that is encoded by CODING-SYSTEM.Fencode-coding-char
Encode CHAR by CODING-SYSTEM and return the resulting string.
If CODING-SYSTEM can't safely encode CHAR, return nil.
The 3rd optional argument CHARSET, if non-nil, is a charset preferred
on encoding.Vunify-8859-on-encoding-mode
Non-nil if Unify-8859-On-Encoding mode is enabled.
See the command `unify-8859-on-encoding-mode' for a description of this minor mode.Funify-8859-on-encoding-mode
Exists only for backwards compatibility.Funify-8859-on-decoding-mode
Exists only for backwards compatibility.Vucs-names
Alist of cached (CHAR-NAME . CHAR-CODE) pairs.Fucs-names
Return alist of (CHAR-NAME . CHAR-CODE) pairs cached in `ucs-names'.Fread-char-by-name
Read a character by its Unicode name or hex number string.
Display PROMPT and read a string that represents a character by its
Unicode property `name' or `old-name'.

This function returns the character as a number.

You can type a few of the first letters of the Unicode name and
use completion.  If you type a substring of the Unicode name
preceded by an asterisk `*' and use completion, it will show all
the characters whose names include that substring, not necessarily
at the beginning of the name.

This function also accepts a hexadecimal number of Unicode code
point or a number in hash notation, e.g. #o21430 for octal,
#x2318 for hex, or #10r8984 for decimal.Scase-table.elc
Fdescribe-buffer-case-table
Describe the case table of the current buffer.Fget-upcase-table
Return the upcase table of CASE-TABLE.Fset-case-syntax-delims
Make characters L and R a matching pair of non-case-converting delimiters.
This sets the entries for L and R in TABLE, which is a string
that will be used as the downcase part of a case table.
It also modifies `standard-syntax-table' to
indicate left and right delimiters.Fset-case-syntax-pair
Make characters UC and LC a pair of inter-case-converting letters.
This sets the entries for characters UC and LC in TABLE, which is a string
that will be used as the downcase part of a case table.
It also modifies `standard-syntax-table' to give them the syntax of
word constituents.Fset-upcase-syntax
Make character UC an upcase of character LC.
It also modifies `standard-syntax-table' to give them the syntax of
word constituents.Fset-downcase-syntax
Make character LC a downcase of character UC.
It also modifies `standard-syntax-table' to give them the syntax of
word constituents.Fset-case-syntax
Make character C case-invariant with syntax SYNTAX.
This sets the entry for character C in TABLE, which is a string
that will be used as the downcase part of a case table.
It also modifies `standard-syntax-table'.
SYNTAX should be " ", "w", "." or "_".Scharacters.elc
Fuse-default-char-width-table
Internal use only.
Setup char-width-table appropriate for non-CJK language environment.Vchar-acronym-table
Char table of acronyms for non-graphic characters.Fupdate-glyphless-char-display
Make the setting of `glyphless-char-display-control' take effect.
This function updates the char-table `glyphless-char-display'.Scomposite.elc
Vreference-point-alist
Alist of symbols vs integer codes of glyph reference points.
A glyph reference point symbol is to be used to specify a composition
rule in COMPONENTS argument to such functions as `compose-region'.

The meaning of glyph reference point codes is as follows:

    0----1----2 <---- ascent	0:tl or top-left
    |         |			1:tc or top-center
    |         |			2:tr or top-right
    |         |			3:Bl or base-left     9:cl or center-left
    9   10   11 <---- center	4:Bc or base-center  10:cc or center-center
    |         |			5:Br or base-right   11:cr or center-right
  --3----4----5-- <-- baseline	6:bl or bottom-left
    |         |			7:bc or bottom-center
    6----7----8 <---- descent	8:br or bottom-right

Glyph reference point symbols are to be used to specify composition
rule of the form (GLOBAL-REF-POINT . NEW-REF-POINT), where
GLOBAL-REF-POINT is a reference point in the overall glyphs already
composed, and NEW-REF-POINT is a reference point in the new glyph to
be added.

For instance, if GLOBAL-REF-POINT is `br' (bottom-right) and
NEW-REF-POINT is `tc' (top-center), the overall glyph is updated as
follows (the point `*' corresponds to both reference points):

    +-------+--+ <--- new ascent
    |       |  |
    | global|  |
    | glyph |  |
 -- |       |  |-- <--- baseline (doesn't change)
    +----+--*--+
    |    | new |
    |    |glyph|
    +----+-----+ <--- new descent

A composition rule may have the form (GLOBAL-REF-POINT
NEW-REF-POINT XOFF YOFF), where XOFF and YOFF specify how much
to shift NEW-REF-POINT from GLOBAL-REF-POINT.  In this case, XOFF
and YOFF are integers in the range -100..100 representing the
shifting percentage against the font size.Fencode-composition-rule
Encode composition rule RULE into an integer value.
RULE is a cons of global and new reference point symbols
(see `reference-point-alist').Fcompose-region
Compose characters in the current region.

Characters are composed relatively, i.e. composed by overstriking
or stacking depending on ascent, descent and other metrics of
glyphs.

For instance, if the region has three characters "XYZ", X is
regarded as BASE glyph, and Y is displayed:
  (1) above BASE if Y's descent value is not positive
  (2) below BASE if Y's ascent value is not positive
  (3) on BASE (i.e. at the BASE position) otherwise
and Z is displayed with the same rule while regarding the whole
XY glyphs as BASE.

When called from a program, expects these four arguments.

First two arguments START and END are positions (integers or markers)
specifying the region.

Optional 3rd argument COMPONENTS, if non-nil, is a character, a string
or a vector or list of integers and rules.

If it is a character, it is an alternate character to display instead
of the text in the region.

If it is a string, the elements are alternate characters.  In
this case, TAB element has a special meaning.  If the first
character is TAB, the glyphs are displayed with left padding space
so that no pixel overlaps with the previous column.  If the last
character is TAB, the glyphs are displayed with right padding
space so that no pixel overlaps with the following column.

If it is a vector or list, it is a sequence of alternate characters and
composition rules, where (2N)th elements are characters and (2N+1)th
elements are composition rules to specify how to compose (2N+2)th
elements with previously composed N glyphs.

A composition rule is a cons of global and new glyph reference point
symbols.  See the documentation of `reference-point-alist' for more
details.

Optional 4th argument MODIFICATION-FUNC is a function to call to
adjust the composition when it gets invalid because of a change of
text in the composition.Fdecompose-region
Decompose text in the current region.

When called from a program, expects two arguments,
positions (integers or markers) specifying the region.Fcompose-string
Compose characters in string STRING.

The return value is STRING with the `composition' property put on all
the characters in it.

Optional 2nd and 3rd arguments START and END specify the range of
STRING to be composed.  They default to the beginning and the end of
STRING respectively.

Optional 4th argument COMPONENTS, if non-nil, is a character or a
sequence (vector, list, or string) of integers.  See the function
`compose-region' for more detail.

Optional 5th argument MODIFICATION-FUNC is a function to call to
adjust the composition when it gets invalid because of a change of
text in the composition.Fdecompose-string
Return STRING where `composition' property is removed.Fcompose-chars
Return a string from arguments in which all characters are composed.
For relative composition, arguments are characters.
For rule-based composition, Mth (where M is odd) arguments are
characters, and Nth (where N is even) arguments are composition rules.
A composition rule is a cons of glyph reference points of the form
(GLOBAL-REF-POINT . NEW-REF-POINT).  See the documentation of
`reference-point-alist' for more detail.Ffind-composition
Return information about a composition at or near buffer position POS.

If the character at POS has `composition' property, the value is a list
(FROM TO VALID-P).

FROM and TO specify the range of text that has the same `composition'
property, VALID-P is t if this composition is valid, and nil if not.

If there's no composition at POS, and the optional 2nd argument LIMIT
is non-nil, search for a composition toward the position given by LIMIT.

If no composition is found, return nil.

Optional 3rd argument STRING, if non-nil, is a string to look for a
composition in; nil means the current buffer.

If a valid composition is found and the optional 4th argument DETAIL-P
is non-nil, the return value is a list of the form

   (FROM TO COMPONENTS RELATIVE-P MOD-FUNC WIDTH)

COMPONENTS is a vector of integers, the meaning depends on RELATIVE-P.

RELATIVE-P is t if the composition method is relative, else nil.

If RELATIVE-P is t, COMPONENTS is a vector of characters to be
composed.  If RELATIVE-P is nil, COMPONENTS is a vector of characters
and composition rules as described in `compose-region'.

MOD-FUNC is a modification function of the composition.

WIDTH is a number of columns the composition occupies on the screen.

When Automatic Composition mode is on, this function also finds a
chunk of text that is automatically composed.  If such a chunk is
found closer to POS than the position that has `composition'
property, the value is a list of FROM, TO, and a glyph-string
that specifies how the chunk is to be composed.  See the function
`composition-get-gstring' for the format of the glyph-string.Fcompose-chars-after
Compose characters in current buffer after position POS.

It looks up the char-table `composition-function-table' (which
see) by a character at POS, and compose characters after POS
according to the contents of `composition-function-table'.

Optional 2nd arg LIMIT, if non-nil, limits characters to compose.

Optional 3rd arg OBJECT, if non-nil, is a string that contains the
text to compose.  In that case, POS and LIMIT index into the string.

This function is the default value of `compose-chars-after-function'.Fcompose-last-chars
Compose last characters.
The argument is a parameterized event of the form
	(compose-last-chars N COMPONENTS),
where N is the number of characters before point to compose,
COMPONENTS, if non-nil, is the same as the argument to `compose-region'
(which see).  If it is nil, `compose-chars-after' is called,
and that function finds a proper rule to compose the target characters.
This function is intended to be used from input methods.
The global keymap binds special event `compose-last-chars' to this
function.  Input method may generate an event (compose-last-chars N COMPONENTS)
after a sequence of character events.Fcompose-gstring-for-graphic
Compose glyph-string GSTRING for graphic display.
Combining characters are composed with the preceding base
character.  If the preceding character is not a base character,
each combining character is composed as a spacing character by
a padding space before and/or after the character.

All non-spacing characters have this function in
`composition-function-table' unless overwritten.Fcompose-gstring-for-terminal
Compose glyph string GSTRING for terminal display.
Non-spacing characters are composed with the preceding base
character.  If the preceding character is not a base character,
each non-spacing character is composed as a spacing character by
prepending a space before it.Fauto-compose-chars
Compose the characters at FROM by FUNC.
FUNC is called with one argument GSTRING which is built for characters
in the region FROM (inclusive) and TO (exclusive).

If the character are composed on a graphic display, FONT-OBJECT
is a font to use.  Otherwise, FONT-OBJECT is nil, and the function
`compose-gstring-for-terminal' is used instead of FUNC.

If STRING is non-nil, it is a string, and FROM and TO are indices
into the string.  In that case, compose characters in the string.

The value is a gstring containing information for shaping the characters.

This function is the default value of `auto-composition-function' (which see).Fauto-composition-mode
Toggle Auto Composition mode.
With a prefix argument ARG, enable Auto Composition mode if ARG
is positive, and disable it otherwise.  If called from Lisp,
enable the mode if ARG is omitted or nil.

When Auto Composition mode is enabled, text characters are
automatically composed by functions registered in
`composition-function-table'.

You can use `global-auto-composition-mode' to turn on
Auto Composition mode in all buffers (this is the default).Fglobal-auto-composition-mode
Toggle Auto Composition mode in all buffers.
With a prefix argument ARG, enable it if ARG is positive, and
disable it otherwise.  If called from Lisp, enable it if ARG is
omitted or nil.

For more information on Auto Composition mode, see
`auto-composition-mode' .Scharprop.el
Schinese.elc
Scyrillic.elc
Sindian.elc
Vdevanagari-composable-pattern
Regexp matching a composable sequence of Devanagari characters.Vbengali-composable-pattern
Regexp matching a composable sequence of Bengali characters.Vgurmukhi-composable-pattern
Regexp matching a composable sequence of Gurmukhi characters.Vgujarati-composable-pattern
Regexp matching a composable sequence of Gujarati characters.Voriya-composable-pattern
Regexp matching a composable sequence of Oriya characters.Vtamil-composable-pattern
Regexp matching a composable sequence of Tamil characters.Vtelugu-composable-pattern
Regexp matching a composable sequence of Telugu characters.Vkannada-composable-pattern
Regexp matching a composable sequence of Kannada characters.Vmalayalam-composable-pattern
Regexp matching a composable sequence of Malayalam characters.Ssinhala.elc
Senglish.elc
Sethiopic.elc
Seuropean.elc
Fturkish-case-conversion-enable
Set up Turkish case conversion of `i' and `I' into `İ' and `ı'.Fturkish-case-conversion-disable
Set up normal (non-Turkish) case conversion of `i' into `I'.Sczech.elc
Sslovak.elc
Sromanian.elc
Sgreek.elc
Shebrew.elc
Sjapanese.elc
Fcompose-gstring-for-variation-glyph
Compose glyph-string GSTRING for graphic display.
GSTRING must have two glyphs; the first is a glyph for a han character,
and the second is a glyph for a variation selector.Scp51932.el
Seucjp-ms.el
Skorean.elc
Slao.elc
Stai-viet.elc
Sthai.elc
Stibetan.elc
Vtibetan-composable-pattern
Regexp matching a composable sequence of Tibetan characters.Vtibetan-regexp
Regexp matching a Tibetan transcription of a composable Tibetan sequence.
The result of matching is to be used for indexing alists at conversion
from a roman transcription to the corresponding Tibetan character.Vtibetan-precomposed-regexp
Regexp string to match a romanized Tibetan complex consonant.
The result of matching is to be used for indexing alists when the input key
from an input method is converted to the corresponding precomposed glyph.Vtibetan-precomposition-rule-regexp
Regexp string to match a sequence of Tibetan consonantic components, i.e.,
one base consonant and one or more subjoined consonants.
The result of matching is to be used for indexing alist when the component
sequence is converted to the corresponding precomposed glyph.
This also matches some punctuation characters which need conversion.Svietnamese.elc
Smisc-lang.elc
Sutf-8-lang.elc
Sgeorgian.elc
Skhmer.elc
Sburmese.elc
Scham.elc
Sindent.elc
Vindent-line-function
Function to indent the current line.
This function will be called with no arguments.
If it is called somewhere where auto-indentation cannot be done
(e.g. inside a string), the function should simply return `noindent'.
Setting this function is all you need to make TAB indent appropriately.
Don't rebind TAB unless you really need to.Vtab-always-indent
Controls the operation of the TAB key.
If t, hitting TAB always just indents the current line.
If nil, hitting TAB indents the current line if point is at the left margin
or in the line's indentation, otherwise it inserts a "real" TAB character.
If `complete', TAB first tries to indent the current line, and if the line
was already indented, then try to complete the thing at point.

Some programming language modes have their own variable to control this,
e.g., `c-tab-always-indent', and do not respect this variable.Findent-according-to-mode
Indent line in proper way for current major mode.
Normally, this is done by calling the function specified by the
variable `indent-line-function'.  However, if the value of that
variable is `indent-relative' or `indent-relative-maybe', handle
it specially (since those functions are used for tabbing); in
that case, indent by aligning to the previous non-blank line.Findent-for-tab-command
Indent the current line or region, or insert a tab, as appropriate.
This function either inserts a tab, or indents the current line,
or performs symbol completion, depending on `tab-always-indent'.
The function called to actually indent the line or insert a tab
is given by the variable `indent-line-function'.

If a prefix argument is given, after this function indents the
current line or inserts a tab, it also rigidly indents the entire
balanced expression which starts at the beginning of the current
line, to reflect the current line's indentation.

In most major modes, if point was in the current line's
indentation, it is moved to the first non-whitespace character
after indenting; otherwise it stays at the same position relative
to the text.

If `transient-mark-mode' is turned on and the region is active,
this function instead calls `indent-region'.  In this case, any
prefix argument is ignored.Findent-rigidly
Indent all lines starting in the region sideways by ARG columns.
Called from a program, takes three arguments, START, END and ARG.
You can remove all indentation from a region by giving a large negative ARG.Findent-line-to
Indent current line to COLUMN.
This function removes or adds spaces and tabs at beginning of line
only if necessary.  It leaves point at end of indentation.Fcurrent-left-margin
Return the left margin to use for this line.
This is the value of the buffer-local variable `left-margin' plus the value
of the `left-margin' text-property at the start of the line.Fmove-to-left-margin
Move to the left margin of the current line.
With optional argument, move forward N-1 lines first.
The column moved to is the one given by the `current-left-margin' function.
If the line's indentation appears to be wrong, and this command is called
interactively or with optional argument FORCE, it will be fixed.Findent-to-left-margin
Indent current line to the column given by `current-left-margin'.Fdelete-to-left-margin
Remove left margin indentation from a region.
This deletes to the column given by `current-left-margin'.
In no case will it delete non-whitespace.
Args FROM and TO are optional; default is the whole buffer.Fset-left-margin
Set the left margin of the region to WIDTH.
If `auto-fill-mode' is active, re-fill the region to fit the new margin.

Interactively, WIDTH is the prefix argument, if specified.
Without prefix argument, the command prompts for WIDTH.Fset-right-margin
Set the right margin of the region to WIDTH.
If `auto-fill-mode' is active, re-fill the region to fit the new margin.

Interactively, WIDTH is the prefix argument, if specified.
Without prefix argument, the command prompts for WIDTH.Falter-text-property
Programmatically change value of a text-property.
For each region between FROM and TO that has a single value for PROPERTY,
apply FUNCTION to that value and sets the property to the function's result.
Optional fifth argument OBJECT specifies the string or buffer to operate on.Fincrease-left-margin
Increase or decrease the left-margin of the region.
With no prefix argument, this adds `standard-indent' of indentation.
A prefix arg (optional third arg INC noninteractively) specifies the amount
to change the margin by, in characters.
If `auto-fill-mode' is active, re-fill the region to fit the new margin.Fdecrease-left-margin
Make the left margin of the region smaller.
With no prefix argument, decrease the indentation by `standard-indent'.
A prefix arg (optional third arg INC noninteractively) specifies the amount
to change the margin by, in characters.
If `auto-fill-mode' is active, re-fill the region to fit the new margin.Fincrease-right-margin
Increase the right-margin of the region.
With no prefix argument, increase the right margin by `standard-indent'.
A prefix arg (optional third arg INC noninteractively) specifies the amount
to change the margin by, in characters.  A negative argument decreases
the right margin width.
If `auto-fill-mode' is active, re-fill the region to fit the new margin.Fdecrease-right-margin
Make the right margin of the region smaller.
With no prefix argument, decrease the right margin by `standard-indent'.
A prefix arg (optional third arg INC noninteractively) specifies the amount
of width to remove, in characters.  A negative argument increases
the right margin width.
If `auto-fill-mode' is active, re-fills region to fit in new margin.Fbeginning-of-line-text
Move to the beginning of the text on this line.
With optional argument, move forward N-1 lines first.
From the beginning of the line, moves past the left-margin indentation, the
fill-prefix, and any indentation used for centering or right-justifying the
line, but does not move past any whitespace that was explicitly inserted
(such as a tab used to indent the first line of a paragraph).Vindent-region-function
Short cut function to indent region using `indent-according-to-mode'.
A value of nil means really run `indent-according-to-mode' on each line.Findent-region
Indent each nonblank line in the region.
A numeric prefix argument specifies a column: indent each line to that column.

With no prefix argument, the command chooses one of these methods and
indents all the lines with it:

  1) If `fill-prefix' is non-nil, insert `fill-prefix' at the
     beginning of each line in the region that does not already begin
     with it.
  2) If `indent-region-function' is non-nil, call that function
     to indent the region.
  3) Indent each line via `indent-according-to-mode'.

Called from a program, START and END specify the region to indent.
If the third argument COLUMN is an integer, it specifies the
column to indent to; if it is nil, use one of the three methods above.Findent-relative-maybe
Indent a new line like previous nonblank line.
If the previous nonblank line has no indent points beyond the
column point starts at, this command does nothing.

See also `indent-relative'.Findent-relative
Space out to under next indent point in previous nonblank line.
An indent point is a non-whitespace character following whitespace.
The following line shows the indentation points in this line.
    ^         ^    ^     ^   ^           ^      ^  ^    ^
If the previous nonblank line has no indent points beyond the
column point starts at, `tab-to-tab-stop' is done instead, unless
this command is invoked with a numeric argument, in which case it
does nothing.

See also `indent-relative-maybe'.Vedit-tab-stops-map
Keymap used in `edit-tab-stops'.Vedit-tab-stops-buffer
Buffer whose tab stops are being edited.
This matters if the variable `tab-stop-list' is local in that buffer.Fedit-tab-stops
Edit the tab stops used by `tab-to-tab-stop'.
Creates a buffer *Tab Stops* containing text describing the tab stops.
A colon indicates a column where there is a tab stop.
You can add or remove colons and then do \<edit-tab-stops-map>\[edit-tab-stops-note-changes] to make changes take effect.Fedit-tab-stops-note-changes
Put edited tab stops into effect.Ftab-to-tab-stop
Insert spaces or tabs to next defined tab-stop column.
The variable `tab-stop-list' is a list of columns at which there are tab stops.
Use \[edit-tab-stops] to edit them interactively.Fmove-to-tab-stop
Move point to next defined tab-stop column.
The variable `tab-stop-list' is a list of columns at which there are tab stops.
Use \[edit-tab-stops] to edit them interactively.Swindow.elc
Fsave-selected-window
Execute BODY, then select the previously selected window.
The value returned is the value of the last form in BODY.

This macro saves and restores the selected window, as well as the
selected window in each frame.  If the previously selected window
is no longer live, then whatever window is selected at the end of
BODY remains selected.  If the previously selected window of some
frame is no longer live at the end of BODY, that frame's selected
window is left alone.

This macro saves and restores the current buffer, since otherwise
its normal operation could make a different buffer current.  The
order of recently selected windows and the buffer list ordering
are not altered by this macro (unless they are altered in BODY).Vtemp-buffer-window-setup-hook
Normal hook run by `with-temp-buffer-window' before buffer display.
This hook is run by `with-temp-buffer-window' with the buffer to be
displayed current.Vtemp-buffer-window-show-hook
Normal hook run by `with-temp-buffer-window' after buffer display.
This hook is run by `with-temp-buffer-window' with the buffer
displayed and current and its window selected.Ftemp-buffer-window-setup
Set up temporary buffer specified by BUFFER-OR-NAME.
Return the buffer.Ftemp-buffer-window-show
Show temporary buffer BUFFER in a window.
Return the window showing BUFFER.  Pass ACTION as action argument
to `display-buffer'.Fwith-temp-buffer-window
Bind `standard-output' to BUFFER-OR-NAME, eval BODY, show the buffer.
BUFFER-OR-NAME must specify either a live buffer, or the name of a
buffer (if it does not exist, this macro creates it).

This construct makes buffer BUFFER-OR-NAME empty before running BODY.
It does not make the buffer current for BODY.
Instead it binds `standard-output' to that buffer, so that output
generated with `prin1' and similar functions in BODY goes into
the buffer.

At the end of BODY, this marks the specified buffer unmodified and
read-only, and displays it in a window (but does not select it, or make
the buffer current).  The display happens by calling `display-buffer'
with the ACTION argument.  If `temp-buffer-resize-mode' is enabled,
the relevant window shrinks automatically.

This returns the value returned by BODY, unless QUIT-FUNCTION specifies
a function.  In that case, it runs the function with two arguments -
the window showing the specified buffer and the value returned by
BODY - and returns the value returned by that function.

If the buffer is displayed on a new frame, the window manager may
decide to select that frame.  In that case, it's usually a good
strategy if QUIT-FUNCTION selects the window showing the buffer
before reading any value from the minibuffer; for example, when
asking a `yes-or-no-p' question.

This runs the hook `temp-buffer-window-setup-hook' before BODY,
with the specified buffer temporarily current.  It runs the
hook `temp-buffer-window-show-hook' after displaying the buffer,
with that buffer temporarily current, and the window that was used to
display it temporarily selected.

This construct is similar to `with-output-to-temp-buffer', but
runs different hooks.  In particular, it does not run
`temp-buffer-setup-hook', which usually puts the buffer in Help mode.
Also, it does not call `temp-buffer-show-function' (the ACTION
argument replaces this).Fwindow-right
Return WINDOW's right sibling.
Return nil if WINDOW is the root window of its frame.  WINDOW can
be any window.Fwindow-left
Return WINDOW's left sibling.
Return nil if WINDOW is the root window of its frame.  WINDOW can
be any window.Fwindow-child
Return WINDOW's first child window.
WINDOW can be any window.Fwindow-child-count
Return number of WINDOW's child windows.
WINDOW can be any window.Fwindow-last-child
Return last child window of WINDOW.
WINDOW can be any window.Fwindow-normalize-buffer
Return buffer specified by BUFFER-OR-NAME.
BUFFER-OR-NAME must be either a buffer or a string naming a live
buffer and defaults to the current buffer.Fwindow-normalize-frame
Return frame specified by FRAME.
FRAME must be a live frame and defaults to the selected frame.Fwindow-normalize-window
Return the window specified by WINDOW.
If WINDOW is nil, return the selected window.  Otherwise, if
WINDOW is a live or an internal window, return WINDOW; if
LIVE-ONLY is non-nil, return WINDOW for a live window only.
Otherwise, signal an error.Vignore-window-parameters
If non-nil, standard functions ignore window parameters.
The functions currently affected by this are `split-window',
`delete-window', `delete-other-windows' and `other-window'.

An application may bind this to a non-nil value around calls to
these functions to inhibit processing of window parameters.Vwindow-safe-min-height
The absolute minimum number of lines of a window.
Anything less might crash Emacs.Vwindow-min-height
The minimum number of lines of any window.
The value has to accommodate a mode- or header-line if present.
A value less than `window-safe-min-height' is ignored.  The value
of this variable is honored when windows are resized or split.

Applications should never rebind this variable.  To resize a
window to a height less than the one specified here, an
application should instead call `window-resize' with a non-nil
IGNORE argument.  In order to have `split-window' make a window
shorter, explicitly specify the SIZE argument of that function.Vwindow-safe-min-width
The absolute minimum number of columns of a window.
Anything less might crash Emacs.Vwindow-min-width
The minimum number of columns of any window.
The value has to accommodate margins, fringes, or scrollbars if
present.  A value less than `window-safe-min-width' is ignored.
The value of this variable is honored when windows are resized or
split.

Applications should never rebind this variable.  To resize a
window to a width less than the one specified here, an
application should instead call `window-resize' with a non-nil
IGNORE argument.  In order to have `split-window' make a window
narrower, explicitly specify the SIZE argument of that function.Fwindow-combined-p
Return non-nil if WINDOW has siblings in a given direction.
WINDOW must be a valid window and defaults to the selected one.

HORIZONTAL determines a direction for the window combination.
If HORIZONTAL is omitted or nil, return non-nil if WINDOW is part
of a vertical window combination.
If HORIZONTAL is non-nil, return non-nil if WINDOW is part of a
horizontal window combination.Fwindow-combinations
Return largest number of windows vertically arranged within WINDOW.
WINDOW must be a valid window and defaults to the selected one.
If HORIZONTAL is non-nil, return the largest number of
windows horizontally arranged within WINDOW.Fwalk-window-tree-1
Helper function for `walk-window-tree' and `walk-window-subtree'.Fwalk-window-tree
Run function FUN on each live window of FRAME.
FUN must be a function with one argument - a window.  FRAME must
be a live frame and defaults to the selected one.  ANY, if
non-nil, means to run FUN on all live and internal windows of
FRAME.

Optional argument MINIBUF t means run FUN on FRAME's minibuffer
window even if it isn't active.  MINIBUF nil or omitted means run
FUN on FRAME's minibuffer window only if it's active.  In both
cases the minibuffer window must be part of FRAME.  MINIBUF
neither nil nor t means never run FUN on the minibuffer window.

This function performs a pre-order, depth-first traversal of the
window tree.  If FUN changes the window tree, the result is
unpredictable.Fwalk-window-subtree
Run function FUN on the subtree of windows rooted at WINDOW.
WINDOW defaults to the selected window.  FUN must be a function
with one argument - a window.  By default, run FUN only on live
windows of the subtree.  If the optional argument ANY is non-nil,
run FUN on all live and internal windows of the subtree.  If
WINDOW is live, run FUN on WINDOW only.

This function performs a pre-order, depth-first traversal of the
subtree rooted at WINDOW.  If FUN changes that tree, the result
is unpredictable.Fwindow-with-parameter
Return first window on FRAME with PARAMETER non-nil.
FRAME defaults to the selected frame.  Optional argument VALUE
non-nil means only return a window whose window-parameter value
for PARAMETER equals VALUE (comparison is done with `equal').
Optional argument ANY non-nil means consider internal windows
too.

Optional argument MINIBUF t means consider FRAME's minibuffer
window even if it isn't active.  MINIBUF nil or omitted means
consider FRAME's minibuffer window only if it's active.  In both
cases the minibuffer window must be part of FRAME.  MINIBUF
neither nil nor t means never consider the minibuffer window.Fwindow-atom-root
Return root of atomic window WINDOW is a part of.
WINDOW must be a valid window and defaults to the selected one.
Return nil if WINDOW is not part of an atomic window.Fwindow-make-atom
Make WINDOW an atomic window.
WINDOW must be an internal window.  Return WINDOW.Fdisplay-buffer-in-atom-window
Display BUFFER in an atomic window.
This function displays BUFFER in a new window that will be
combined with an existing window to form an atomic window.  If
the existing window is already part of an atomic window, add the
new window to that atomic window.  Operations like `split-window'
or `delete-window', when applied to a constituent of an atomic
window, are applied atomically to the root of that atomic window.

ALIST is an association list of symbols and values.  The
following symbols can be used.

`window' specifies the existing window the new window shall be
  combined with.  Use `window-atom-root' to make the new window a
  sibling of an atomic window's root.  If an internal window is
  specified here, all children of that window become part of the
  atomic window too.  If no window is specified, the new window
  becomes a sibling of the selected window.

`side' denotes the side of the existing window where the new
  window shall be located.  Valid values are `below', `right',
  `above' and `left'.  The default is `below'.

The return value is the new window, nil when creating that window
failed.Fwindow--atom-check-1
Subroutine of `window--atom-check'.Fwindow--atom-check
Check atomicity of all windows on FRAME.
FRAME defaults to the selected frame.  If an atomic window is
wrongly configured, reset the atomicity of all its windows on
FRAME to nil.  An atomic window is wrongly configured if it has
no child windows or one of its child windows is not atomic.Vwindow-sides
Window sides.Fwindow--major-non-side-window
Return the major non-side window of frame FRAME.
The optional argument FRAME must be a live frame and defaults to
the selected one.

If FRAME has at least one side window, the major non-side window
is either an internal non-side window such that all other
non-side windows on FRAME descend from it, or the single live
non-side window of FRAME.  If FRAME has no side windows, return
its root window.Fwindow--major-side-window
Return major side window on SIDE.
SIDE must be one of the symbols `left', `top', `right' or
`bottom'.  Return nil if no such window exists.Fdisplay-buffer-in-major-side-window
Display BUFFER in a new window on SIDE of the selected frame.
SIDE must be one of `left', `top', `right' or `bottom'.  SLOT
specifies the slot to use.  ALIST is an association list of
symbols and values as passed to `display-buffer-in-side-window'.
This function may be called only if no window on SIDE exists yet.
The new window automatically becomes the "major" side window on
SIDE.  Return the new window, nil if its creation window failed.Fdelete-side-window
Delete side window WINDOW.Fdisplay-buffer-in-side-window
Display BUFFER in a window on side SIDE of the selected frame.
ALIST is an association list of symbols and values.  The
following symbols can be used:

`side' denotes the side of the existing window where the new
  window shall be located.  Valid values are `bottom', `right',
  `top' and `left'.  The default is `bottom'.

`slot' if non-nil, specifies the window slot where to display
  BUFFER.  A value of zero or nil means use the middle slot on
  the specified side.  A negative value means use a slot
  preceding (that is, above or on the left of) the middle slot.
  A positive value means use a slot following (that is, below or
  on the right of) the middle slot.  The default is zero.Fwindow--side-check
Check the side window configuration of FRAME.
FRAME defaults to the selected frame.

A valid side window configuration preserves the following two
invariants:

- If there exists a window whose window-side parameter is
  non-nil, there must exist at least one live window whose
  window-side parameter is nil.

- If a window W has a non-nil window-side parameter (i) it must
  have a parent window and that parent's window-side parameter
  must be either nil or the same as for W, and (ii) any child
  window of W must have the same window-side parameter as W.

If the configuration is invalid, reset the window-side parameters
of all windows on FRAME to nil.Fwindow--check
Check atomic and side windows on FRAME.
FRAME defaults to the selected frame.Vwindow-size-fixed
Non-nil in a buffer means windows displaying the buffer are fixed-size.
If the value is `height', then only the window's height is fixed.
If the value is `width', then only the window's width is fixed.
Any other non-nil value fixes both the width and the height.

Emacs won't change the size of any window displaying that buffer,
unless it has no other choice (like when deleting a neighboring
window).Fwindow--size-ignore-p
Return non-nil if IGNORE says to ignore size restrictions for WINDOW.Fwindow-min-size
Return the minimum size of WINDOW.
WINDOW must be a valid window and defaults to the selected one.
Optional argument HORIZONTAL non-nil means return the minimum
number of columns of WINDOW; otherwise return the minimum number
of WINDOW's lines.

Optional argument IGNORE, if non-nil, means ignore restrictions
imposed by fixed size windows, `window-min-height' or
`window-min-width' settings.  If IGNORE equals `safe', live
windows may get as small as `window-safe-min-height' lines and
`window-safe-min-width' columns.  If IGNORE is a window, ignore
restrictions for that window only.  Any other non-nil value
means ignore all of the above restrictions for all windows.Fwindow--min-size-1
Internal function of `window-min-size'.Fwindow-sizable
Return DELTA if DELTA lines can be added to WINDOW.
WINDOW must be a valid window and defaults to the selected one.
Optional argument HORIZONTAL non-nil means return DELTA if DELTA
columns can be added to WINDOW.  A return value of zero means
that no lines (or columns) can be added to WINDOW.

This function looks only at WINDOW and, recursively, its child
windows.  The function `window-resizable' looks at other windows
as well.

DELTA positive means WINDOW shall be enlarged by DELTA lines or
columns.  If WINDOW cannot be enlarged by DELTA lines or columns
return the maximum value in the range 0..DELTA by which WINDOW
can be enlarged.

DELTA negative means WINDOW shall be shrunk by -DELTA lines or
columns.  If WINDOW cannot be shrunk by -DELTA lines or columns,
return the minimum value in the range DELTA..0 by which WINDOW
can be shrunk.

Optional argument IGNORE non-nil means ignore restrictions
imposed by fixed size windows, `window-min-height' or
`window-min-width' settings.  If IGNORE equals `safe', live
windows may get as small as `window-safe-min-height' lines and
`window-safe-min-width' columns.  If IGNORE is a window, ignore
restrictions for that window only.  Any other non-nil value means
ignore all of the above restrictions for all windows.Fwindow-sizable-p
Return t if WINDOW can be resized by DELTA lines.
WINDOW must be a valid window and defaults to the selected one.
For the meaning of the arguments of this function see the
doc-string of `window-sizable'.Fwindow--size-fixed-1
Internal function for `window-size-fixed-p'.Fwindow-size-fixed-p
Return non-nil if WINDOW's height is fixed.
WINDOW must be a valid window and defaults to the selected one.
Optional argument HORIZONTAL non-nil means return non-nil if
WINDOW's width is fixed.

If this function returns nil, this does not necessarily mean that
WINDOW can be resized in the desired direction.  The function
`window-resizable' can tell that.Fwindow--min-delta-1
Internal function for `window-min-delta'.Fwindow-min-delta
Return number of lines by which WINDOW can be shrunk.
WINDOW must be a valid window and defaults to the selected one.
Return zero if WINDOW cannot be shrunk.

Optional argument HORIZONTAL non-nil means return number of
columns by which WINDOW can be shrunk.

Optional argument IGNORE non-nil means ignore restrictions
imposed by fixed size windows, `window-min-height' or
`window-min-width' settings.  If IGNORE is a window, ignore
restrictions for that window only.  If IGNORE equals `safe',
live windows may get as small as `window-safe-min-height' lines
and `window-safe-min-width' columns.  Any other non-nil value
means ignore all of the above restrictions for all windows.

Optional argument TRAIL restricts the windows that can be enlarged.
If its value is `before', only windows to the left of or above WINDOW
can be enlarged.  If it is `after', only windows to the right of or
below WINDOW can be enlarged.

Optional argument NOUP non-nil means don't go up in the window
tree, but try to enlarge windows within WINDOW's combination only.

Optional argument NODOWN non-nil means don't check whether WINDOW
itself (and its child windows) can be shrunk; check only whether
at least one other window can be enlarged appropriately.Fwindow--max-delta-1
Internal function of `window-max-delta'.Fwindow-max-delta
Return maximum number of lines by which WINDOW can be enlarged.
WINDOW must be a valid window and defaults to the selected one.
The return value is zero if WINDOW cannot be enlarged.

Optional argument HORIZONTAL non-nil means return maximum number
of columns by which WINDOW can be enlarged.

Optional argument IGNORE non-nil means ignore restrictions
imposed by fixed size windows, `window-min-height' or
`window-min-width' settings.  If IGNORE is a window, ignore
restrictions for that window only.  If IGNORE equals `safe',
live windows may get as small as `window-safe-min-height' lines
and `window-safe-min-width' columns.  Any other non-nil value means
ignore all of the above restrictions for all windows.

Optional argument TRAIL restricts the windows that can be enlarged.
If its value is `before', only windows to the left of or above WINDOW
can be enlarged.  If it is `after', only windows to the right of or
below WINDOW can be enlarged.

Optional argument NOUP non-nil means don't go up in the window
tree but try to obtain the entire space from windows within
WINDOW's combination.

Optional argument NODOWN non-nil means do not check whether
WINDOW itself (and its child windows) can be enlarged; check
only whether other windows can be shrunk appropriately.Fwindow--resizable
Return DELTA if WINDOW can be resized vertically by DELTA lines.
WINDOW must be a valid window and defaults to the selected one.
Optional argument HORIZONTAL non-nil means return DELTA if WINDOW
can be resized horizontally by DELTA columns.  A return value of
zero means that WINDOW is not resizable.

DELTA positive means WINDOW shall be enlarged by DELTA lines or
columns.  If WINDOW cannot be enlarged by DELTA lines or columns,
return the maximum value in the range 0..DELTA by which WINDOW
can be enlarged.

DELTA negative means WINDOW shall be shrunk by -DELTA lines or
columns.  If WINDOW cannot be shrunk by -DELTA lines or columns,
return the minimum value in the range DELTA..0 that can be used
for shrinking WINDOW.

Optional argument IGNORE non-nil means ignore restrictions
imposed by fixed size windows, `window-min-height' or
`window-min-width' settings.  If IGNORE is a window, ignore
restrictions for that window only.  If IGNORE equals `safe',
live windows may get as small as `window-safe-min-height' lines
and `window-safe-min-width' columns.  Any other non-nil value
means ignore all of the above restrictions for all windows.

Optional argument TRAIL `before' means only windows to the left
of or below WINDOW can be shrunk.  Optional argument TRAIL
`after' means only windows to the right of or above WINDOW can be
shrunk.

Optional argument NOUP non-nil means don't go up in the window
tree but check only whether space can be obtained from (or given
to) WINDOW's siblings.

Optional argument NODOWN non-nil means don't go down in the
window tree.  This means do not check whether resizing would
violate size restrictions of WINDOW or its child windows.Fwindow--resizable-p
Return t if WINDOW can be resized vertically by DELTA lines.
WINDOW must be a valid window and defaults to the selected one.
For the meaning of the arguments of this function see the
doc-string of `window--resizable'.Fwindow-resizable
Return DELTA if WINDOW can be resized vertically by DELTA lines.
WINDOW must be a valid window and defaults to the selected one.
Optional argument HORIZONTAL non-nil means return DELTA if WINDOW
can be resized horizontally by DELTA columns.  A return value of
zero means that WINDOW is not resizable.

DELTA positive means WINDOW shall be enlarged by DELTA lines or
columns.  If WINDOW cannot be enlarged by DELTA lines or columns
return the maximum value in the range 0..DELTA by which WINDOW
can be enlarged.

DELTA negative means WINDOW shall be shrunk by -DELTA lines or
columns.  If WINDOW cannot be shrunk by -DELTA lines or columns,
return the minimum value in the range DELTA..0 that can be used
for shrinking WINDOW.

Optional argument IGNORE non-nil means ignore restrictions
imposed by fixed size windows, `window-min-height' or
`window-min-width' settings.  If IGNORE is a window, ignore
restrictions for that window only.  If IGNORE equals `safe',
live windows may get as small as `window-safe-min-height' lines
and `window-safe-min-width' columns.  Any other non-nil value
means ignore all of the above restrictions for all windows.Fwindow-total-size
Return the total height or width of WINDOW.
WINDOW must be a valid window and defaults to the selected one.

If HORIZONTAL is omitted or nil, return the total height of
WINDOW, in lines, like `window-total-height'.  Otherwise return
the total width, in columns, like `window-total-width'.Fwindow-full-height-p
Return t if WINDOW is as high as its containing frame.
More precisely, return t if and only if the total height of
WINDOW equals the total height of the root window of WINDOW's
frame.  WINDOW must be a valid window and defaults to the
selected one.Fwindow-full-width-p
Return t if WINDOW is as wide as its containing frame.
More precisely, return t if and only if the total width of WINDOW
equals the total width of the root window of WINDOW's frame.
WINDOW must be a valid window and defaults to the selected one.Fwindow-body-size
Return the height or width of WINDOW's text area.
WINDOW must be a live window and defaults to the selected one.

If HORIZONTAL is omitted or nil, return the height of the text
area, like `window-body-height'.  Otherwise, return the width of
the text area, like `window-body-width'.Fwindow-current-scroll-bars
Return the current scroll bar settings for WINDOW.
WINDOW must be a live window and defaults to the selected one.

The return value is a cons cell (VERTICAL . HORIZONTAL) where
VERTICAL specifies the current location of the vertical scroll
bars (`left', `right', or nil), and HORIZONTAL specifies the
current location of the horizontal scroll bars (`top', `bottom',
or nil).

Unlike `window-scroll-bars', this function reports the scroll bar
type actually used, once frame defaults and `scroll-bar-mode' are
taken into account.Fwalk-windows
Cycle through all live windows, calling FUN for each one.
FUN must specify a function with a window as its sole argument.
The optional arguments MINIBUF and ALL-FRAMES specify the set of
windows to include in the walk.

MINIBUF t means include the minibuffer window even if the
minibuffer is not active.  MINIBUF nil or omitted means include
the minibuffer window only if the minibuffer is active.  Any
other value means do not include the minibuffer window even if
the minibuffer is active.

ALL-FRAMES nil or omitted means consider all windows on the
selected frame, plus the minibuffer window if specified by the
MINIBUF argument.  If the minibuffer counts, consider all windows
on all frames that share that minibuffer too.  The following
non-nil values of ALL-FRAMES have special meanings:

- t means consider all windows on all existing frames.

- `visible' means consider all windows on all visible frames on
  the current terminal.

- 0 (the number zero) means consider all windows on all visible
  and iconified frames on the current terminal.

- A frame means consider all windows on that frame only.

Anything else means consider all windows on the selected frame
and no others.

This function changes neither the order of recently selected
windows nor the buffer list.Fwindow-at-side-p
Return t if WINDOW is at SIDE of its containing frame.
WINDOW must be a valid window and defaults to the selected one.
SIDE can be any of the symbols `left', `top', `right' or
`bottom'.  The default value nil is handled like `bottom'.Fwindow-at-side-list
Return list of all windows on SIDE of FRAME.
FRAME must be a live frame and defaults to the selected frame.
SIDE can be any of the symbols `left', `top', `right' or
`bottom'.  The default value nil is handled like `bottom'.Fwindow--in-direction-2
Support function for `window-in-direction'.Fwindow-in-direction
Return window in DIRECTION as seen from WINDOW.
More precisely, return the nearest window in direction DIRECTION
as seen from the position of `window-point' in window WINDOW.
DIRECTION must be one of `above', `below', `left' or `right'.
WINDOW must be a live window and defaults to the selected one.

Do not return a window whose `no-other-window' parameter is
non-nil.  If the nearest window's `no-other-window' parameter is
non-nil, try to find another window in the indicated direction.
If, however, the optional argument IGNORE is non-nil, return that
window even if its `no-other-window' parameter is non-nil.

Return nil if no suitable window can be found.Fget-window-with-predicate
Return a live window satisfying PREDICATE.
More precisely, cycle through all windows calling the function
PREDICATE on each one of them with the window as its sole
argument.  Return the first window for which PREDICATE returns
non-nil.  Windows are scanned starting with the window following
the selected window.  If no window satisfies PREDICATE, return
DEFAULT.

MINIBUF t means include the minibuffer window even if the
minibuffer is not active.  MINIBUF nil or omitted means include
the minibuffer window only if the minibuffer is active.  Any
other value means do not include the minibuffer window even if
the minibuffer is active.

ALL-FRAMES nil or omitted means consider all windows on the selected
frame, plus the minibuffer window if specified by the MINIBUF
argument.  If the minibuffer counts, consider all windows on all
frames that share that minibuffer too.  The following non-nil
values of ALL-FRAMES have special meanings:

- t means consider all windows on all existing frames.

- `visible' means consider all windows on all visible frames on
  the current terminal.

- 0 (the number zero) means consider all windows on all visible
  and iconified frames on the current terminal.

- A frame means consider all windows on that frame only.

Anything else means consider all windows on the selected frame
and no others.Fget-lru-window
Return the least recently used window on frames specified by ALL-FRAMES.
Return a full-width window if possible.  A minibuffer window is
never a candidate.  A dedicated window is never a candidate
unless DEDICATED is non-nil, so if all windows are dedicated, the
value is nil.  Avoid returning the selected window if possible.
Optional argument NOT-SELECTED non-nil means never return the
selected window.

The following non-nil values of the optional argument ALL-FRAMES
have special meanings:

- t means consider all windows on all existing frames.

- `visible' means consider all windows on all visible frames on
  the current terminal.

- 0 (the number zero) means consider all windows on all visible
  and iconified frames on the current terminal.

- A frame means consider all windows on that frame only.

Any other value of ALL-FRAMES means consider all windows on the
selected frame and no others.Fget-mru-window
Return the most recently used window on frames specified by ALL-FRAMES.
A minibuffer window is never a candidate.  A dedicated window is
never a candidate unless DEDICATED is non-nil, so if all windows
are dedicated, the value is nil.  Optional argument NOT-SELECTED
non-nil means never return the selected window.

The following non-nil values of the optional argument ALL-FRAMES
have special meanings:

- t means consider all windows on all existing frames.

- `visible' means consider all windows on all visible frames on
  the current terminal.

- 0 (the number zero) means consider all windows on all visible
  and iconified frames on the current terminal.

- A frame means consider all windows on that frame only.

Any other value of ALL-FRAMES means consider all windows on the
selected frame and no others.Fget-largest-window
Return the largest window on frames specified by ALL-FRAMES.
A minibuffer window is never a candidate.  A dedicated window is
never a candidate unless DEDICATED is non-nil, so if all windows
are dedicated, the value is nil.  Optional argument NOT-SELECTED
non-nil means never return the selected window.

The following non-nil values of the optional argument ALL-FRAMES
have special meanings:

- t means consider all windows on all existing frames.

- `visible' means consider all windows on all visible frames on
  the current terminal.

- 0 (the number zero) means consider all windows on all visible
  and iconified frames on the current terminal.

- A frame means consider all windows on that frame only.

Any other value of ALL-FRAMES means consider all windows on the
selected frame and no others.Fget-buffer-window-list
Return list of all windows displaying BUFFER-OR-NAME, or nil if none.
BUFFER-OR-NAME may be a buffer or the name of an existing buffer
and defaults to the current buffer.  Windows are scanned starting
with the selected window.

MINIBUF t means include the minibuffer window even if the
minibuffer is not active.  MINIBUF nil or omitted means include
the minibuffer window only if the minibuffer is active.  Any
other value means do not include the minibuffer window even if
the minibuffer is active.

ALL-FRAMES nil or omitted means consider all windows on the
selected frame, plus the minibuffer window if specified by the
MINIBUF argument.  If the minibuffer counts, consider all windows
on all frames that share that minibuffer too.  The following
non-nil values of ALL-FRAMES have special meanings:

- t means consider all windows on all existing frames.

- `visible' means consider all windows on all visible frames on
  the current terminal.

- 0 (the number zero) means consider all windows on all visible
  and iconified frames on the current terminal.

- A frame means consider all windows on that frame only.

Anything else means consider all windows on the selected frame
and no others.Fminibuffer-window-active-p
Return t if WINDOW is the currently active minibuffer window.Fcount-windows
Return the number of live windows on the selected frame.
The optional argument MINIBUF specifies whether the minibuffer
window shall be counted.  See `walk-windows' for the precise
meaning of this argument.Fwindow--resize-reset
Reset resize values for all windows on FRAME.
FRAME defaults to the selected frame.

This function stores the current value of `window-total-size' applied
with argument HORIZONTAL in the new total size of all windows on
FRAME.  It also resets the new normal size of each of these
windows.Fwindow--resize-reset-1
Internal function of `window--resize-reset'.Fwindow--resize-mini-window
Resize minibuffer window WINDOW by DELTA lines.
If WINDOW cannot be resized by DELTA lines make it as large (or
as small) as possible, but don't signal an error.Fwindow-resize
Resize WINDOW vertically by DELTA lines.
WINDOW can be an arbitrary window and defaults to the selected
one.  An attempt to resize the root window of a frame will raise
an error though.

DELTA a positive number means WINDOW shall be enlarged by DELTA
lines.  DELTA negative means WINDOW shall be shrunk by -DELTA
lines.

Optional argument HORIZONTAL non-nil means resize WINDOW
horizontally by DELTA columns.  In this case a positive DELTA
means enlarge WINDOW by DELTA columns.  DELTA negative means
WINDOW shall be shrunk by -DELTA columns.

Optional argument IGNORE non-nil means ignore restrictions
imposed by fixed size windows, `window-min-height' or
`window-min-width' settings.  If IGNORE is a window, ignore
restrictions for that window only.  If IGNORE equals `safe',
live windows may get as small as `window-safe-min-height' lines
and `window-safe-min-width' columns.  Any other non-nil value
means ignore all of the above restrictions for all windows.

This function resizes other windows proportionally and never
deletes any windows.  If you want to move only the low (right)
edge of WINDOW consider using `adjust-window-trailing-edge'
instead.Fwindow--resize-child-windows-skip-p
Return non-nil if WINDOW shall be skipped by resizing routines.Fwindow--resize-child-windows-normal
Recursively set new normal height of child windows of window PARENT.
HORIZONTAL non-nil means set the new normal width of these
windows.  WINDOW specifies a child window of PARENT that has been
resized by THIS-DELTA lines (columns).

Optional argument TRAIL either `before' or `after' means set values
only for windows before or after WINDOW.  Optional argument
OTHER-DELTA, a number, specifies that this many lines (columns)
have been obtained from (or returned to) an ancestor window of
PARENT in order to resize WINDOW.Fwindow--resize-child-windows
Resize child windows of window PARENT vertically by DELTA lines.
PARENT must be a vertically combined internal window.

Optional argument HORIZONTAL non-nil means resize child windows of
PARENT horizontally by DELTA columns.  In this case PARENT must
be a horizontally combined internal window.

WINDOW, if specified, must denote a child window of PARENT that
is resized by DELTA lines.

Optional argument IGNORE non-nil means ignore restrictions
imposed by fixed size windows, `window-min-height' or
`window-min-width' settings.  If IGNORE equals `safe', live
windows may get as small as `window-safe-min-height' lines and
`window-safe-min-width' columns.  If IGNORE is a window, ignore
restrictions for that window only.  Any other non-nil value means
ignore all of the above restrictions for all windows.

Optional arguments TRAIL and EDGE, when non-nil, restrict the set
of windows that shall be resized.  If TRAIL equals `before',
resize only windows on the left or above EDGE.  If TRAIL equals
`after', resize only windows on the right or below EDGE.  Also,
preferably only resize windows adjacent to EDGE.

Return the symbol `normalized' if new normal sizes have been
already set by this routine.Fwindow--resize-siblings
Resize other windows when WINDOW is resized vertically by DELTA lines.
Optional argument HORIZONTAL non-nil means resize other windows
when WINDOW is resized horizontally by DELTA columns.  WINDOW
itself is not resized by this function.

Optional argument IGNORE non-nil means ignore restrictions
imposed by fixed size windows, `window-min-height' or
`window-min-width' settings.  If IGNORE equals `safe', live
windows may get as small as `window-safe-min-height' lines and
`window-safe-min-width' columns.  If IGNORE is a window, ignore
restrictions for that window only.  Any other non-nil value means
ignore all of the above restrictions for all windows.

Optional arguments TRAIL and EDGE, when non-nil, refine the set
of windows that shall be resized.  If TRAIL equals `before',
resize only windows on the left or above EDGE.  If TRAIL equals
`after', resize only windows on the right or below EDGE.  Also,
preferably only resize windows adjacent to EDGE.Fwindow--resize-this-window
Resize WINDOW vertically by DELTA lines.
Optional argument HORIZONTAL non-nil means resize WINDOW
horizontally by DELTA columns.

Optional argument IGNORE non-nil means ignore restrictions
imposed by fixed size windows, `window-min-height' or
`window-min-width' settings.  If IGNORE equals `safe', live
windows may get as small as `window-safe-min-height' lines and
`window-safe-min-width' columns.  If IGNORE is a window, ignore
restrictions for that window only.  Any other non-nil value
means ignore all of the above restrictions for all windows.

Optional argument ADD non-nil means add DELTA to the new total
size of WINDOW.

Optional arguments TRAIL and EDGE, when non-nil, refine the set
of windows that shall be resized.  If TRAIL equals `before',
resize only windows on the left or above EDGE.  If TRAIL equals
`after', resize only windows on the right or below EDGE.  Also,
preferably only resize windows adjacent to EDGE.

This function recursively resizes WINDOW's child windows to fit the
new size.  Make sure that WINDOW is `window--resizable' before
calling this function.  Note that this function does not resize
siblings of WINDOW or WINDOW's parent window.  You have to
eventually call `window-resize-apply' in order to make resizing
actually take effect.Fwindow--resize-root-window
Resize root window WINDOW vertically by DELTA lines.
HORIZONTAL non-nil means resize root window WINDOW horizontally
by DELTA columns.

IGNORE non-nil means ignore any restrictions imposed by fixed
size windows, `window-min-height' or `window-min-width' settings.

This function is only called by the frame resizing routines.  It
resizes windows proportionally and never deletes any windows.Fwindow--resize-root-window-vertically
Resize root window WINDOW vertically by DELTA lines.
If DELTA is less than zero and we can't shrink WINDOW by DELTA
lines, shrink it as much as possible.  If DELTA is greater than
zero, this function can resize fixed-size windows in order to
recover the necessary lines.

Return the number of lines that were recovered.

This function is only called by the minibuffer window resizing
routines.  It resizes windows proportionally and never deletes
any windows.Fadjust-window-trailing-edge
Move WINDOW's bottom edge by DELTA lines.
Optional argument HORIZONTAL non-nil means move WINDOW's right
edge by DELTA columns.  WINDOW must be a valid window and
defaults to the selected one.

If DELTA is greater than zero, move the edge downwards or to the
right.  If DELTA is less than zero, move the edge upwards or to
the left.  If the edge can't be moved by DELTA lines or columns,
move it as far as possible in the desired direction.Fenlarge-window
Make the selected window DELTA lines taller.
Interactively, if no argument is given, make the selected window
one line taller.  If optional argument HORIZONTAL is non-nil,
make selected window wider by DELTA columns.  If DELTA is
negative, shrink selected window by -DELTA lines or columns.Fshrink-window
Make the selected window DELTA lines smaller.
Interactively, if no argument is given, make the selected window
one line smaller.  If optional argument HORIZONTAL is non-nil,
make selected window narrower by DELTA columns.  If DELTA is
negative, enlarge selected window by -DELTA lines or columns.
Also see the `window-min-height' variable.Fmaximize-window
Maximize WINDOW.
Make WINDOW as large as possible without deleting any windows.
WINDOW must be a valid window and defaults to the selected one.Fminimize-window
Minimize WINDOW.
Make WINDOW as small as possible without deleting any windows.
WINDOW must be a valid window and defaults to the selected one.Fframe-root-window-p
Return non-nil if WINDOW is the root window of its frame.Fwindow--subtree
Return window subtree rooted at WINDOW.
Optional argument NEXT non-nil means include WINDOW's right
siblings in the return value.

See the documentation of `window-tree' for a description of the
return value.Fwindow-tree
Return the window tree of frame FRAME.
FRAME must be a live frame and defaults to the selected frame.
The return value is a list of the form (ROOT MINI), where ROOT
represents the window tree of the frame's root window, and MINI
is the frame's minibuffer window.

If the root window is not split, ROOT is the root window itself.
Otherwise, ROOT is a list (DIR EDGES W1 W2 ...) where DIR is nil
for a horizontal split, and t for a vertical split.  EDGES gives
the combined size and position of the child windows in the split,
and the rest of the elements are the child windows in the split.
Each of the child windows may again be a window or a list
representing a window split, and so on.  EDGES is a list (LEFT
TOP RIGHT BOTTOM) as returned by `window-edges'.Fother-window
Select another window in cyclic ordering of windows.
COUNT specifies the number of windows to skip, starting with the
selected window, before making the selection.  If COUNT is
positive, skip COUNT windows forwards.  If COUNT is negative,
skip -COUNT windows backwards.  COUNT zero means do not skip any
window, so select the selected window.  In an interactive call,
COUNT is the numeric prefix argument.  Return nil.

If the `other-window' parameter of the selected window is a
function and `ignore-window-parameters' is nil, call that
function with the arguments COUNT and ALL-FRAMES.

This function does not select a window whose `no-other-window'
window parameter is non-nil.

This function uses `next-window' for finding the window to
select.  The argument ALL-FRAMES has the same meaning as in
`next-window', but the MINIBUF argument of `next-window' is
always effectively nil.Fone-window-p
Return non-nil if the selected window is the only window.
Optional arg NOMINI non-nil means don't count the minibuffer
even if it is active.  Otherwise, the minibuffer is counted
when it is active.

Optional argument ALL-FRAMES specifies the set of frames to
consider, see also `next-window'.  ALL-FRAMES nil or omitted
means consider windows on the selected frame only, plus the
minibuffer window if specified by the NOMINI argument.  If the
minibuffer counts, consider all windows on all frames that share
that minibuffer too.  The remaining non-nil values of ALL-FRAMES
with a special meaning are:

- t means consider all windows on all existing frames.

- `visible' means consider all windows on all visible frames on
  the current terminal.

- 0 (the number zero) means consider all windows on all visible
  and iconified frames on the current terminal.

- A frame means consider all windows on that frame only.

Anything else means consider all windows on the selected frame
and no others.Fwindow-deletable-p
Return t if WINDOW can be safely deleted from its frame.
WINDOW must be a valid window and defaults to the selected one.
Return `frame' if deleting WINDOW should also delete its frame.Fwindow--in-subtree-p
Return t if WINDOW is either ROOT or a member of ROOT's subtree.Fdelete-window
Delete WINDOW.
WINDOW must be a valid window and defaults to the selected one.
Return nil.

If the variable `ignore-window-parameters' is non-nil or the
`delete-window' parameter of WINDOW equals t, do not process any
parameters of WINDOW.  Otherwise, if the `delete-window'
parameter of WINDOW specifies a function, call that function with
WINDOW as its sole argument and return the value returned by that
function.

Otherwise, if WINDOW is part of an atomic window, call
`delete-window' with the root of the atomic window as its
argument.  Signal an error if WINDOW is either the only window on
its frame, the last non-side window, or part of an atomic window
that is its frame's root window.Fdelete-other-windows
Make WINDOW fill its frame.
WINDOW must be a valid window and defaults to the selected one.
Return nil.

If the variable `ignore-window-parameters' is non-nil or the
`delete-other-windows' parameter of WINDOW equals t, do not
process any parameters of WINDOW.  Otherwise, if the
`delete-other-windows' parameter of WINDOW specifies a function,
call that function with WINDOW as its sole argument and return
the value returned by that function.

Otherwise, if WINDOW is part of an atomic window, call this
function with the root of the atomic window as its argument.  If
WINDOW is a non-side window, make WINDOW the only non-side window
on the frame.  Side windows are not deleted.  If WINDOW is a side
window signal an error.Fdelete-other-windows-vertically
Delete the windows in the same column with WINDOW, but not WINDOW itself.
This may be a useful alternative binding for \[delete-other-windows]
 if you often split windows horizontally.Frecord-window-buffer
Record WINDOW's buffer.
WINDOW must be a live window and defaults to the selected one.Funrecord-window-buffer
Unrecord BUFFER in WINDOW.
WINDOW must be a live window and defaults to the selected one.
BUFFER must be a live buffer and defaults to the buffer of
WINDOW.Fset-window-buffer-start-and-point
Set WINDOW's buffer to BUFFER.
WINDOW must be a live window and defaults to the selected one.
Optional argument START non-nil means set WINDOW's start position
to START.  Optional argument POINT non-nil means set WINDOW's
point to POINT.  If WINDOW is selected this also sets BUFFER's
`point' to POINT.  If WINDOW is selected and the buffer it showed
before was current this also makes BUFFER the current buffer.Vswitch-to-visible-buffer
If non-nil, allow switching to an already visible buffer.
If this variable is non-nil, `switch-to-prev-buffer' and
`switch-to-next-buffer' may switch to an already visible buffer
provided the buffer was shown before in the window specified as
argument to those functions.  If this variable is nil,
`switch-to-prev-buffer' and `switch-to-next-buffer' always try to
avoid switching to a buffer that is already visible in another
window on the same frame.Fswitch-to-prev-buffer
In WINDOW switch to previous buffer.
WINDOW must be a live window and defaults to the selected one.
Return the buffer switched to, nil if no suitable buffer could be
found.

Optional argument BURY-OR-KILL non-nil means the buffer currently
shown in WINDOW is about to be buried or killed and consequently
shall not be switched to in future invocations of this command.

As a special case, if BURY-OR-KILL equals `append', this means to
move the buffer to the end of WINDOW's previous buffers list so a
future invocation of `switch-to-prev-buffer' less likely switches
to it.Fswitch-to-next-buffer
In WINDOW switch to next buffer.
WINDOW must be a live window and defaults to the selected one.
Return the buffer switched to, nil if no suitable buffer could be
found.Fget-next-valid-buffer
Search LIST for a valid buffer to display in FRAME.
Return nil when all buffers in LIST are undesirable for display,
otherwise return the first suitable buffer in LIST.

Buffers not visible in windows are preferred to visible buffers,
unless VISIBLE-OK is non-nil.
If the optional argument FRAME is nil, it defaults to the selected frame.
If BUFFER is non-nil, ignore occurrences of that buffer in LIST.Flast-buffer
Return the last buffer in FRAME's buffer list.
If BUFFER is the last buffer, return the preceding buffer
instead.  Buffers not visible in windows are preferred to visible
buffers, unless optional argument VISIBLE-OK is non-nil.
Optional third argument FRAME nil or omitted means use the
selected frame's buffer list.  If no such buffer exists, return
the buffer `*scratch*', creating it if necessary.Vframe-auto-hide-function
Function called to automatically hide frames.
The function is called with one argument - a frame.

Functions affected by this option are those that bury a buffer
shown in a separate frame like `quit-window' and `bury-buffer'.Fwindow--delete
Delete WINDOW if possible.
WINDOW must be a live window and defaults to the selected one.
Optional argument DEDICATED-ONLY non-nil means to delete WINDOW
only if it's dedicated to its buffer.  Optional argument KILL
means the buffer shown in window will be killed.  Return non-nil
if WINDOW gets deleted or its frame is auto-hidden.Fbury-buffer
Put BUFFER-OR-NAME at the end of the list of all buffers.
There it is the least likely candidate for `other-buffer' to
return; thus, the least likely buffer for \[switch-to-buffer] to
select by default.

You can specify a buffer name as BUFFER-OR-NAME, or an actual
buffer object.  If BUFFER-OR-NAME is nil or omitted, bury the
current buffer.  Also, if BUFFER-OR-NAME is nil or omitted,
remove the current buffer from the selected window if it is
displayed there.Funbury-buffer
Switch to the last buffer in the buffer list.Fnext-buffer
In selected window switch to next buffer.Fprevious-buffer
In selected window switch to previous buffer.Fdelete-windows-on
Delete all windows showing BUFFER-OR-NAME.
BUFFER-OR-NAME may be a buffer or the name of an existing buffer
and defaults to the current buffer.

The following non-nil values of the optional argument FRAME
have special meanings:

- t means consider all windows on the selected frame only.

- `visible' means consider all windows on all visible frames on
  the current terminal.

- 0 (the number zero) means consider all windows on all visible
  and iconified frames on the current terminal.

- A frame means consider all windows on that frame only.

Any other value of FRAME means consider all windows on all
frames.

When a window showing BUFFER-OR-NAME is dedicated and the only
window of its frame, that frame is deleted when there are other
frames left.Freplace-buffer-in-windows
Replace BUFFER-OR-NAME with some other buffer in all windows showing it.
BUFFER-OR-NAME may be a buffer or the name of an existing buffer
and defaults to the current buffer.

When a window showing BUFFER-OR-NAME is dedicated, that window is
deleted.  If that window is the only window on its frame, the
frame is deleted too when there are other frames left.  If there
are no other frames left, some other buffer is displayed in that
window.

This function removes the buffer denoted by BUFFER-OR-NAME from
all window-local buffer lists.Fquit-restore-window
Quit WINDOW and deal with its buffer.
WINDOW must be a live window and defaults to the selected one.

According to information stored in WINDOW's `quit-restore' window
parameter either (1) delete WINDOW and its frame, (2) delete
WINDOW, (3) restore the buffer previously displayed in WINDOW,
or (4) make WINDOW display some other buffer than the present
one.  If non-nil, reset `quit-restore' parameter to nil.

Optional second argument BURY-OR-KILL tells how to proceed with
the buffer of WINDOW.  The following values are handled:

`nil' means to not handle the buffer in a particular way.  This
  means that if WINDOW is not deleted by this function, invoking
  `switch-to-prev-buffer' will usually show the buffer again.

`append' means that if WINDOW is not deleted, move its buffer to
  the end of WINDOW's previous buffers so it's less likely that a
  future invocation of `switch-to-prev-buffer' will switch to it.
  Also, move the buffer to the end of the frame's buffer list.

`bury' means that if WINDOW is not deleted, remove its buffer
  from WINDOW'S list of previous buffers.  Also, move the buffer
  to the end of the frame's buffer list.  This value provides the
  most reliable remedy to not have `switch-to-prev-buffer' switch
  to this buffer again without killing the buffer.

`kill' means to kill WINDOW's buffer.Fquit-window
Quit WINDOW and bury its buffer.
WINDOW must be a live window and defaults to the selected one.
With prefix argument KILL non-nil, kill the buffer instead of
burying it.

According to information stored in WINDOW's `quit-restore' window
parameter either (1) delete WINDOW and its frame, (2) delete
WINDOW, (3) restore the buffer previously displayed in WINDOW,
or (4) make WINDOW display some other buffer than the present
one.  If non-nil, reset `quit-restore' parameter to nil.Fquit-windows-on
Quit all windows showing BUFFER-OR-NAME.
BUFFER-OR-NAME may be a buffer or the name of an existing buffer
and defaults to the current buffer.  Optional argument KILL
non-nil means to kill BUFFER-OR-NAME.  KILL nil means to bury
BUFFER-OR-NAME.  Optional argument FRAME is handled as by
`delete-windows-on'.

This function calls `quit-window' on all candidate windows
showing BUFFER-OR-NAME.Fwindow-split-min-size
Return minimum height of any window when splitting windows.
Optional argument HORIZONTAL non-nil means return minimum width.Fsplit-window
Make a new window adjacent to WINDOW.
WINDOW must be a valid window and defaults to the selected one.
Return the new window which is always a live window.

Optional argument SIZE a positive number means make WINDOW SIZE
lines or columns tall.  If SIZE is negative, make the new window
-SIZE lines or columns tall.  If and only if SIZE is non-nil, its
absolute value can be less than `window-min-height' or
`window-min-width'; so this command can make a new window as
small as one line or two columns.  SIZE defaults to half of
WINDOW's size.  Interactively, SIZE is the prefix argument.

Optional third argument SIDE nil (or `below') specifies that the
new window shall be located below WINDOW.  SIDE `above' means the
new window shall be located above WINDOW.  In both cases SIZE
specifies the new number of lines for WINDOW (or the new window
if SIZE is negative) including space reserved for the mode and/or
header line.

SIDE t (or `right') specifies that the new window shall be
located on the right side of WINDOW.  SIDE `left' means the new
window shall be located on the left of WINDOW.  In both cases
SIZE specifies the new number of columns for WINDOW (or the new
window provided SIZE is negative) including space reserved for
fringes and the scrollbar or a divider column.  Any other non-nil
value for SIDE is currently handled like t (or `right').

If the variable `ignore-window-parameters' is non-nil or the
`split-window' parameter of WINDOW equals t, do not process any
parameters of WINDOW.  Otherwise, if the `split-window' parameter
of WINDOW specifies a function, call that function with all three
arguments and return the value returned by that function.

Otherwise, if WINDOW is part of an atomic window, "split" the
root of that atomic window.  The new window does not become a
member of that atomic window.

If WINDOW is live, properties of the new window like margins and
scrollbars are inherited from WINDOW.  If WINDOW is an internal
window, these properties as well as the buffer displayed in the
new window are inherited from the window selected on WINDOW's
frame.  The selected window is not changed by this function.Vsplit-window-keep-point
If non-nil, \[split-window-below] preserves point in the new window.
If nil, adjust point in the two windows to minimize redisplay.
This option applies only to `split-window-below' and functions
that call it.  The low-level `split-window' function always keeps
the original point in both windows.Fsplit-window-below
Split the selected window into two windows, one above the other.
The selected window is above.  The newly split-off window is
below, and displays the same buffer.  Return the new window.

If optional argument SIZE is omitted or nil, both windows get the
same height, or close to it.  If SIZE is positive, the upper
(selected) window gets SIZE lines.  If SIZE is negative, the
lower (new) window gets -SIZE lines.

If the variable `split-window-keep-point' is non-nil, both
windows get the same value of point as the selected window.
Otherwise, the window starts are chosen so as to minimize the
amount of redisplay; this is convenient on slow terminals.Fsplit-window-right
Split the selected window into two side-by-side windows.
The selected window is on the left.  The newly split-off window
is on the right, and displays the same buffer.  Return the new
window.

If optional argument SIZE is omitted or nil, both windows get the
same width, or close to it.  If SIZE is positive, the left-hand
(selected) window gets SIZE columns.  If SIZE is negative, the
right-hand (new) window gets -SIZE columns.  Here, SIZE includes
the width of the window's scroll bar; if there are no scroll
bars, it includes the width of the divider column to the window's
right, if any.Fbalance-windows-2
Subroutine of `balance-windows-1'.
WINDOW must be a vertical combination (horizontal if HORIZONTAL
is non-nil).Fbalance-windows-1
Subroutine of `balance-windows'.Fbalance-windows
Balance the sizes of windows of WINDOW-OR-FRAME.
WINDOW-OR-FRAME is optional and defaults to the selected frame.
If WINDOW-OR-FRAME denotes a frame, balance the sizes of all
windows of that frame.  If WINDOW-OR-FRAME denotes a window,
recursively balance the sizes of all child windows of that
window.Fwindow-fixed-size-p
Return t if WINDOW cannot be resized in DIRECTION.
WINDOW defaults to the selected window.  DIRECTION can be
nil (i.e. any), `height' or `width'.Vwindow-area-factor
Factor by which the window area should be over-estimated.
This is used by `balance-windows-area'.
Changing this globally has no effect.Fbalance-windows-area-adjust
Wrapper around `window-resize' with error checking.
Arguments WINDOW, DELTA and HORIZONTAL are passed on to that function.Fbalance-windows-area
Make all visible windows the same area (approximately).
See also `window-area-factor' to change the relative size of
specific buffers.Fwindow--state-get-1
Helper function for `window-state-get'.Fwindow-state-get
Return state of WINDOW as a Lisp object.
WINDOW can be any window and defaults to the root window of the
selected frame.

Optional argument WRITABLE non-nil means do not use markers for
sampling `window-point' and `window-start'.  Together, WRITABLE
and the variable `window-persistent-parameters' specify which
window parameters are saved by this function.  WRITABLE should be
non-nil when the return value shall be written to a file and read
back in another session.  Otherwise, an application may run into
an `invalid-read-syntax' error while attempting to read back the
value from file.

The return value can be used as argument for `window-state-put'
to put the state recorded here into an arbitrary window.  The
value can be also stored on disk and read back in a new session.Vwindow-state-put-list
Helper variable for `window-state-put'.Fwindow--state-put-1
Helper function for `window-state-put'.Fwindow--state-put-2
Helper function for `window-state-put'.Fwindow-state-put
Put window state STATE into WINDOW.
STATE should be the state of a window returned by an earlier
invocation of `window-state-get'.  Optional argument WINDOW must
specify a live window and defaults to the selected one.

Optional argument IGNORE non-nil means ignore minimum window
sizes and fixed size restrictions.  IGNORE equal `safe' means
windows can get as small as `window-safe-min-height' and
`window-safe-min-width'.Fdisplay-buffer-record-window
Record information for window used by `display-buffer'.
TYPE specifies the type of the calling operation and must be one
of the symbols 'reuse (when WINDOW existed already and was
reused for displaying BUFFER), 'window (when WINDOW was created
on an already existing frame), or 'frame (when WINDOW was
created on a new frame).  WINDOW is the window used for or created
by the `display-buffer' routines.  BUFFER is the buffer that
shall be displayed.

This function installs or updates the quit-restore parameter of
WINDOW.  The quit-restore parameter is a list of four elements:
The first element is one of the symbols 'window, 'frame, 'same or
'other.  The second element is either one of the symbols 'window
or 'frame or a list whose elements are the buffer previously
shown in the window, that buffer's window start and window point,
and the window's height.  The third element is the window
selected at the time the parameter was created.  The fourth
element is BUFFER.Fspecial-display-p
Return non-nil if a buffer named BUFFER-NAME gets a special frame.
More precisely, return t if `special-display-buffer-names' or
`special-display-regexps' contain a string entry equaling or
matching BUFFER-NAME.  If `special-display-buffer-names' or
`special-display-regexps' contain a list entry whose car equals
or matches BUFFER-NAME, the return value is the cdr of that
entry.Fspecial-display-popup-frame
Pop up a frame displaying BUFFER and return its window.
If BUFFER is already displayed in a visible or iconified frame,
raise that frame.  Otherwise, display BUFFER in a new frame.

Optional argument ARGS is a list specifying additional
information.

If ARGS is an alist, use it as a list of frame parameters.  If
these parameters contain (same-window . t), display BUFFER in
the selected window.  If they contain (same-frame . t), display
BUFFER in a window of the selected frame.

If ARGS is a list whose car is a symbol, use (car ARGS) as a
function to do the work.  Pass it BUFFER as first argument, and
pass the elements of (cdr ARGS) as the remaining arguments.Fsame-window-p
Return non-nil if a buffer named BUFFER-NAME would be shown in the "same" window.
This function returns non-nil if `display-buffer' or
`pop-to-buffer' would show a buffer named BUFFER-NAME in the
selected rather than (as usual) some other window.  See
`same-window-buffer-names' and `same-window-regexps'.Fwindow-splittable-p
Return non-nil if `split-window-sensibly' may split WINDOW.
Optional argument HORIZONTAL nil or omitted means check whether
`split-window-sensibly' may split WINDOW vertically.  HORIZONTAL
non-nil means check whether WINDOW may be split horizontally.

WINDOW may be split vertically when the following conditions
hold:
- `window-size-fixed' is either nil or equals `width' for the
  buffer of WINDOW.
- `split-height-threshold' is an integer and WINDOW is at least as
  high as `split-height-threshold'.
- When WINDOW is split evenly, the emanating windows are at least
  `window-min-height' lines tall and can accommodate at least one
  line plus - if WINDOW has one - a mode line.

WINDOW may be split horizontally when the following conditions
hold:
- `window-size-fixed' is either nil or equals `height' for the
  buffer of WINDOW.
- `split-width-threshold' is an integer and WINDOW is at least as
  wide as `split-width-threshold'.
- When WINDOW is split evenly, the emanating windows are at least
  `window-min-width' or two (whichever is larger) columns wide.Fsplit-window-sensibly
Split WINDOW in a way suitable for `display-buffer'.
WINDOW defaults to the currently selected window.
If `split-height-threshold' specifies an integer, WINDOW is at
least `split-height-threshold' lines tall and can be split
vertically, split WINDOW into two windows one above the other and
return the lower window.  Otherwise, if `split-width-threshold'
specifies an integer, WINDOW is at least `split-width-threshold'
columns wide and can be split horizontally, split WINDOW into two
windows side by side and return the window on the right.  If this
can't be done either and WINDOW is the only window on its frame,
try to split WINDOW vertically disregarding any value specified
by `split-height-threshold'.  If that succeeds, return the lower
window.  Return nil otherwise.

By default `display-buffer' routines call this function to split
the largest or least recently used window.  To change the default
customize the option `split-window-preferred-function'.

You can enforce this function to not split WINDOW horizontally,
by setting (or binding) the variable `split-width-threshold' to
nil.  If, in addition, you set `split-height-threshold' to zero,
chances increase that this function does split WINDOW vertically.

In order to not split WINDOW vertically, set (or bind) the
variable `split-height-threshold' to nil.  Additionally, you can
set `split-width-threshold' to zero to make a horizontal split
more likely to occur.

Have a look at the function `window-splittable-p' if you want to
know how `split-window-sensibly' determines whether WINDOW can be
split.Fwindow--try-to-split-window
Try to split WINDOW.
Return value returned by `split-window-preferred-function' if it
represents a live window, nil otherwise.Fwindow--frame-usable-p
Return FRAME if it can be used to display a buffer.Veven-window-heights
If non-nil `display-buffer' will try to even window heights.
Otherwise `display-buffer' will leave the window configuration
alone.  Heights are evened only when `display-buffer' chooses a
window that appears above or below the selected window.Fwindow--even-window-heights
Even heights of WINDOW and selected window.
Do this only if these windows are vertically adjacent to each
other, `even-window-heights' is non-nil, and the selected window
is higher than WINDOW.Fwindow--display-buffer
Display BUFFER in WINDOW.
TYPE must be one of the symbols `reuse', `window' or `frame' and
is passed unaltered to `display-buffer-record-window'.  ALIST is
the alist argument of `display-buffer'.  Set `window-dedicated-p'
to DEDICATED if non-nil.  Return WINDOW if BUFFER and WINDOW are
live.Vdisplay-buffer-mark-dedicated
If non-nil, `display-buffer' marks the windows it creates as dedicated.
The actual non-nil value of this variable will be copied to the
`window-dedicated-p' flag.Vdisplay-buffer--action-function-custom-type
Custom type for `display-buffer' action functions.Vdisplay-buffer--action-custom-type
Custom type for `display-buffer' actions.Vdisplay-buffer-overriding-action
Overriding action to perform to display a buffer.
It should be a cons cell (FUNCTION . ALIST), where FUNCTION is a
function or a list of functions.  Each function should accept two
arguments: a buffer to display and an alist similar to ALIST.
See `display-buffer' for details.Vdisplay-buffer-fallback-action
Default fallback action for `display-buffer'.
This is the action used by `display-buffer' if no other actions
specified, e.g. by the user options `display-buffer-alist' or
`display-buffer-base-action'.  See `display-buffer'.Fdisplay-buffer-assq-regexp
Retrieve ALIST entry corresponding to BUFFER-NAME.
ACTION is the action argument passed to `display-buffer'.Vdisplay-buffer--same-window-action
A `display-buffer' action for displaying in the same window.Vdisplay-buffer--other-frame-action
A `display-buffer' action for displaying in another frame.Fdisplay-buffer
Display BUFFER-OR-NAME in some window, without selecting it.
BUFFER-OR-NAME must be a buffer or the name of an existing
buffer.  Return the window chosen for displaying BUFFER-OR-NAME,
or nil if no such window is found.

Optional argument ACTION, if non-nil, should specify a display
action.  Its form is described below.

Optional argument FRAME, if non-nil, acts like an additional
ALIST entry (reusable-frames . FRAME) to the action list of ACTION,
specifying the frame(s) to search for a window that is already
displaying the buffer.  See `display-buffer-reuse-window'

If ACTION is non-nil, it should have the form (FUNCTION . ALIST),
where FUNCTION is either a function or a list of functions, and
ALIST is an arbitrary association list (alist).

Each such FUNCTION should accept two arguments: the buffer to
display and an alist.  Based on those arguments, it should either
display the buffer and return the window, or return nil if unable
to display the buffer.

The `display-buffer' function builds a function list and an alist
by combining the functions and alists specified in
`display-buffer-overriding-action', `display-buffer-alist', the
ACTION argument, `display-buffer-base-action', and
`display-buffer-fallback-action' (in order).  Then it calls each
function in the combined function list in turn, passing the
buffer as the first argument and the combined alist as the second
argument, until one of the functions returns non-nil.

If ACTION is nil, the function list and the alist are built using
only the other variables mentioned above.

Available action functions include:
 `display-buffer-same-window'
 `display-buffer-reuse-window'
 `display-buffer-pop-up-frame'
 `display-buffer-pop-up-window'
 `display-buffer-use-some-window'

Recognized alist entries include:

 `inhibit-same-window' -- A non-nil value prevents the same
                          window from being used for display.

 `inhibit-switch-frame' -- A non-nil value prevents any other
                           frame from being raised or selected,
                           even if the window is displayed there.

 `reusable-frames' -- Value specifies frame(s) to search for a
                      window that already displays the buffer.
                      See `display-buffer-reuse-window'.

 `pop-up-frame-parameters' -- Value specifies an alist of frame
                              parameters to give a new frame, if
                              one is created.

 `window-height' -- Value specifies either an integer (the number
    of lines of a new window), a floating point number (the
    fraction of a new window with respect to the height of the
    frame's root window) or a function to be called with one
    argument - a new window.  The function is supposed to adjust
    the height of the window; its return value is ignored.
    Suitable functions are `shrink-window-if-larger-than-buffer'
    and `fit-window-to-buffer'.

 `window-width' -- Value specifies either an integer (the number
    of columns of a new window), a floating point number (the
    fraction of a new window with respect to the width of the
    frame's root window) or a function to be called with one
    argument - a new window.  The function is supposed to adjust
    the width of the window; its return value is ignored.

The ACTION argument to `display-buffer' can also have a non-nil
and non-list value.  This means to display the buffer in a window
other than the selected one, even if it is already displayed in
the selected window.  If called interactively with a prefix
argument, ACTION is t.Fdisplay-buffer-other-frame
Display buffer BUFFER in another frame.
This uses the function `display-buffer' as a subroutine; see
its documentation for additional customization information.Fdisplay-buffer-same-window
Display BUFFER in the selected window.
This fails if ALIST has a non-nil `inhibit-same-window' entry, or
if the selected window is a minibuffer window or is dedicated to
another buffer; in that case, return nil.  Otherwise, return the
selected window.Fdisplay-buffer--maybe-same-window
Conditionally display BUFFER in the selected window.
If `same-window-p' returns non-nil for BUFFER's name, call
`display-buffer-same-window' and return its value.  Otherwise,
return nil.Fdisplay-buffer-reuse-window
Return a window that is already displaying BUFFER.
Return nil if no usable window is found.

If ALIST has a non-nil `inhibit-same-window' entry, the selected
window is not eligible for reuse.

If ALIST contains a `reusable-frames' entry, its value determines
which frames to search for a reusable window:
  nil -- the selected frame (actually the last non-minibuffer frame)
  A frame   -- just that frame
  `visible' -- all visible frames
  0   -- all frames on the current terminal
  t   -- all frames.

If ALIST contains no `reusable-frames' entry, search just the
selected frame if `display-buffer-reuse-frames' and
`pop-up-frames' are both nil; search all frames on the current
terminal if either of those variables is non-nil.

If ALIST has a non-nil `inhibit-switch-frame' entry, then in the
event that a window on another frame is chosen, avoid raising
that frame.Fdisplay-buffer--special-action
Return special display action for BUFFER, if any.
If `special-display-p' returns non-nil for BUFFER, return an
appropriate display action involving `special-display-function'.
See `display-buffer' for the format of display actions.Fdisplay-buffer-pop-up-frame
Display BUFFER in a new frame.
This works by calling `pop-up-frame-function'.  If successful,
return the window used; otherwise return nil.

If ALIST has a non-nil `inhibit-switch-frame' entry, avoid
raising the new frame.

If ALIST has a non-nil `pop-up-frame-parameters' entry, the
corresponding value is an alist of frame parameters to give the
new frame.Fdisplay-buffer-pop-up-window
Display BUFFER by popping up a new window.
The new window is created on the selected frame, or in
`last-nonminibuffer-frame' if no windows can be created there.
If successful, return the new window; otherwise return nil.

If ALIST has a non-nil `inhibit-switch-frame' entry, then in the
event that the new window is created on another frame, avoid
raising the frame.Fdisplay-buffer--maybe-pop-up-frame-or-window
Try displaying BUFFER based on `pop-up-frames' or `pop-up-windows'.

If `pop-up-frames' is non-nil (and not `graphic-only' on a
text-only terminal), try with `display-buffer-pop-up-frame'.

If that cannot be done, and `pop-up-windows' is non-nil, try
again with `display-buffer-pop-up-window'.Fdisplay-buffer-below-selected
Try displaying BUFFER in a window below the selected window.
This either splits the selected window or reuses the window below
the selected one.Fdisplay-buffer-at-bottom
Try displaying BUFFER in a window at the bottom of the selected frame.
This either splits the window at the bottom of the frame or the
frame's root window, or reuses an existing window at the bottom
of the selected frame.Fdisplay-buffer-in-previous-window
Display BUFFER in a window previously showing it.
If ALIST has a non-nil `inhibit-same-window' entry, the selected
window is not eligible for reuse.

If ALIST contains a `reusable-frames' entry, its value determines
which frames to search for a reusable window:
  nil -- the selected frame (actually the last non-minibuffer frame)
  A frame   -- just that frame
  `visible' -- all visible frames
  0   -- all frames on the current terminal
  t   -- all frames.

If ALIST contains no `reusable-frames' entry, search just the
selected frame if `display-buffer-reuse-frames' and
`pop-up-frames' are both nil; search all frames on the current
terminal if either of those variables is non-nil.

If ALIST has a `previous-window' entry, the window specified by
that entry will override any other window found by the methods
above, even if that window never showed BUFFER before.Fdisplay-buffer-use-some-window
Display BUFFER in an existing window.
Search for a usable window, set that window to the buffer, and
return the window.  If no suitable window is found, return nil.

If ALIST has a non-nil `inhibit-switch-frame' entry, then in the
event that a window in another frame is chosen, avoid raising
that frame.Fpop-to-buffer
Select buffer BUFFER in some window, preferably a different one.
BUFFER may be a buffer, a string (a buffer name), or nil.  If it
is a string not naming an existent buffer, create a buffer with
that name.  If BUFFER is nil, choose some other buffer.  Return
the buffer.

This uses `display-buffer' as a subroutine.  The optional ACTION
argument is passed to `display-buffer' as its ACTION argument.
See `display-buffer' for more information.  ACTION is t if called
interactively with a prefix argument, which means to pop to a
window other than the selected one even if the buffer is already
displayed in the selected window.

If the window to show BUFFER is not on the selected
frame, raise that window's frame and give it input focus.

Optional third arg NORECORD non-nil means do not put this buffer
at the front of the list of recently selected ones.Fpop-to-buffer-same-window
Select buffer BUFFER in some window, preferably the same one.
This function behaves much like `switch-to-buffer', except it
displays with `special-display-function' if BUFFER has a match in
`special-display-buffer-names' or `special-display-regexps'.

Unlike `pop-to-buffer', this function prefers using the selected
window over popping up a new window or frame.

BUFFER may be a buffer, a string (a buffer name), or nil.  If it
is a string not naming an existent buffer, create a buffer with
that name.  If BUFFER is nil, choose some other buffer.  Return
the buffer.

NORECORD, if non-nil means do not put this buffer at the front of
the list of recently selected ones.Fread-buffer-to-switch
Read the name of a buffer to switch to, prompting with PROMPT.
Return the name of the buffer as a string.

This function is intended for the `switch-to-buffer' family of
commands since these need to omit the name of the current buffer
from the list of completions and default values.Fwindow-normalize-buffer-to-switch-to
Normalize BUFFER-OR-NAME argument of buffer switching functions.
If BUFFER-OR-NAME is nil, return the buffer returned by
`other-buffer'.  Else, if a buffer specified by BUFFER-OR-NAME
exists, return that buffer.  If no such buffer exists, create a
buffer with the name BUFFER-OR-NAME and return that buffer.Vswitch-to-buffer-preserve-window-point
If non-nil, `switch-to-buffer' tries to preserve `window-point'.
If this is nil, `switch-to-buffer' displays the buffer at that
buffer's `point'.  If this is `already-displayed', it tries to
display the buffer at its previous position in the selected
window, provided the buffer is currently displayed in some other
window on any visible or iconified frame.  If this is t, it
unconditionally tries to display the buffer at its previous
position in the selected window.

This variable is ignored if the buffer is already displayed in
the selected window or never appeared in it before, or if
`switch-to-buffer' calls `pop-to-buffer' to display the buffer.Fswitch-to-buffer
Display buffer BUFFER-OR-NAME in the selected window.

WARNING: This is NOT the way to work on another buffer temporarily
within a Lisp program!  Use `set-buffer' instead.  That avoids
messing with the window-buffer correspondences.

If the selected window cannot display the specified
buffer (e.g. if it is a minibuffer window or strongly dedicated
to another buffer), call `pop-to-buffer' to select the buffer in
another window.

If called interactively, read the buffer name using the
minibuffer.  The variable `confirm-nonexistent-file-or-buffer'
determines whether to request confirmation before creating a new
buffer.

BUFFER-OR-NAME may be a buffer, a string (a buffer name), or nil.
If BUFFER-OR-NAME is a string that does not identify an existing
buffer, create a buffer with that name.  If BUFFER-OR-NAME is
nil, switch to the buffer returned by `other-buffer'.

If optional argument NORECORD is non-nil, do not put the buffer
at the front of the buffer list, and do not make the window
displaying it the most recently selected one.

If optional argument FORCE-SAME-WINDOW is non-nil, the buffer
must be displayed in the selected window; if that is impossible,
signal an error rather than calling `pop-to-buffer'.

The option `switch-to-buffer-preserve-window-point' can be used
to make the buffer appear at its last position in the selected
window.

Return the buffer switched to.Fswitch-to-buffer-other-window
Select the buffer specified by BUFFER-OR-NAME in another window.
BUFFER-OR-NAME may be a buffer, a string (a buffer name), or
nil.  Return the buffer switched to.

If called interactively, prompt for the buffer name using the
minibuffer.  The variable `confirm-nonexistent-file-or-buffer'
determines whether to request confirmation before creating a new
buffer.

If BUFFER-OR-NAME is a string and does not identify an existing
buffer, create a new buffer with that name.  If BUFFER-OR-NAME is
nil, switch to the buffer returned by `other-buffer'.

Optional second argument NORECORD non-nil means do not put this
buffer at the front of the list of recently selected ones.

This uses the function `display-buffer' as a subroutine; see its
documentation for additional customization information.Fswitch-to-buffer-other-frame
Switch to buffer BUFFER-OR-NAME in another frame.
BUFFER-OR-NAME may be a buffer, a string (a buffer name), or
nil.  Return the buffer switched to.

If called interactively, prompt for the buffer name using the
minibuffer.  The variable `confirm-nonexistent-file-or-buffer'
determines whether to request confirmation before creating a new
buffer.

If BUFFER-OR-NAME is a string and does not identify an existing
buffer, create a new buffer with that name.  If BUFFER-OR-NAME is
nil, switch to the buffer returned by `other-buffer'.

Optional second arg NORECORD non-nil means do not put this
buffer at the front of the list of recently selected ones.

This uses the function `display-buffer' as a subroutine; see its
documentation for additional customization information.Fset-window-text-height
Set the height in lines of the text display area of WINDOW to HEIGHT.
WINDOW must be a live window and defaults to the selected one.
HEIGHT doesn't include the mode line or header line, if any, or
any partial-height lines in the text display area.

Note that the current implementation of this function cannot
always set the height exactly, but attempts to be conservative,
by allocating more lines than are actually needed in the case
where some error may be present.Fenlarge-window-horizontally
Make selected window DELTA columns wider.
Interactively, if no argument is given, make selected window one
column wider.Fshrink-window-horizontally
Make selected window DELTA columns narrower.
Interactively, if no argument is given, make selected window one
column narrower.Fcount-screen-lines
Return the number of screen lines in the region.
The number of screen lines may be different from the number of actual lines,
due to line breaking, display table, etc.

Optional arguments BEG and END default to `point-min' and `point-max'
respectively.

If region ends with a newline, ignore it unless optional third argument
COUNT-FINAL-NEWLINE is non-nil.

The optional fourth argument WINDOW specifies the window used for obtaining
parameters such as width, horizontal scrolling, and so on.  The default is
to use the selected window's parameters.

Like `vertical-motion', `count-screen-lines' always uses the current buffer,
regardless of which buffer is displayed in WINDOW.  This makes possible to use
`count-screen-lines' in any buffer, whether or not it is currently displayed
in some window.Fwindow-buffer-height
Return the height (in screen lines) of the buffer that WINDOW is displaying.
WINDOW must be a live window and defaults to the selected one.Ffit-frame-to-buffer
Adjust height of FRAME to display its buffer contents exactly.
FRAME can be any live frame and defaults to the selected one.

Optional argument MAX-HEIGHT specifies the maximum height of FRAME.
It defaults to the height of the display below the current
top line of FRAME, minus `fit-frame-to-buffer-bottom-margin'.
Optional argument MIN-HEIGHT specifies the minimum height of FRAME.
The default corresponds to `window-min-height'.Ffit-window-to-buffer
Adjust height of WINDOW to display its buffer's contents exactly.
WINDOW must be a live window and defaults to the selected one.

Optional argument MAX-HEIGHT specifies the maximum height of
WINDOW and defaults to the height of WINDOW's frame.  Optional
argument MIN-HEIGHT specifies the minimum height of WINDOW and
defaults to `window-min-height'.  Both MAX-HEIGHT and MIN-HEIGHT
are specified in lines and include the mode line and header line,
if any.

If WINDOW is a full height window, then if the option
`fit-frame-to-buffer' is non-nil, this calls the function
`fit-frame-to-buffer' to adjust the frame height.

Return the number of lines by which WINDOW was enlarged or
shrunk.  If an error occurs during resizing, return nil but don't
signal an error.

Note that even if this function makes WINDOW large enough to show
_all_ lines of its buffer you might not see the first lines when
WINDOW was scrolled.Fwindow-safely-shrinkable-p
Return t if WINDOW can be shrunk without shrinking other windows.
WINDOW defaults to the selected window.Fshrink-window-if-larger-than-buffer
Shrink height of WINDOW if its buffer doesn't need so many lines.
More precisely, shrink WINDOW vertically to be as small as
possible, while still showing the full contents of its buffer.
WINDOW must be a live window and defaults to the selected one.

Do not shrink WINDOW to less than `window-min-height' lines.  Do
nothing if the buffer contains more lines than the present window
height, or if some of the window's contents are scrolled out of
view, or if shrinking this window would also shrink another
window, or if the window is the only window of its frame.

Return non-nil if the window was shrunk, nil otherwise.Fkill-buffer-and-window
Kill the current buffer and delete the selected window.Vrecenter-last-op
Indicates the last recenter operation performed.
Possible values: `top', `middle', `bottom', integer or float numbers.Vrecenter-positions
Cycling order for `recenter-top-bottom'.
A list of elements with possible values `top', `middle', `bottom',
integer or float numbers that define the cycling order for
the command `recenter-top-bottom'.

Top and bottom destinations are `scroll-margin' lines from the true
window top and bottom.  Middle redraws the frame and centers point
vertically within the window.  Integer number moves current line to
the specified absolute window-line.  Float number between 0.0 and 1.0
means the percentage of the screen space from the top.  The default
cycling order is middle -> top -> bottom.Frecenter-top-bottom
Move current buffer line to the specified window line.
With no prefix argument, successive calls place point according
to the cycling order defined by `recenter-positions'.

A prefix argument is handled like `recenter':
 With numeric prefix ARG, move current line to window-line ARG.
 With plain `C-u', move current line to window center.Fmove-to-window-line-top-bottom
Position point relative to window.

With a prefix argument ARG, acts like `move-to-window-line'.

With no argument, positions point at center of window.
Successive calls position point at positions defined
by `recenter-positions'.Fscroll-up-command
Scroll text of selected window upward ARG lines; or near full screen if no ARG.
If `scroll-error-top-bottom' is non-nil and `scroll-up' cannot
scroll window further, move cursor to the bottom line.
When point is already on that position, then signal an error.
A near full screen is `next-screen-context-lines' less than a full screen.
Negative ARG means scroll downward.
If ARG is the atom `-', scroll downward by nearly full screen.Fscroll-down-command
Scroll text of selected window down ARG lines; or near full screen if no ARG.
If `scroll-error-top-bottom' is non-nil and `scroll-down' cannot
scroll window further, move cursor to the top line.
When point is already on that position, then signal an error.
A near full screen is `next-screen-context-lines' less than a full screen.
Negative ARG means scroll upward.
If ARG is the atom `-', scroll upward by nearly full screen.Fscroll-up-line
Scroll text of selected window upward ARG lines; or one line if no ARG.
If ARG is omitted or nil, scroll upward by one line.
This is different from `scroll-up-command' that scrolls a full screen.Fscroll-down-line
Scroll text of selected window down ARG lines; or one line if no ARG.
If ARG is omitted or nil, scroll down by one line.
This is different from `scroll-down-command' that scrolls a full screen.Fscroll-other-window-down
Scroll the "other window" down.
For more details, see the documentation for `scroll-other-window'.Fbeginning-of-buffer-other-window
Move point to the beginning of the buffer in the other window.
Leave mark at previous position.
With arg N, put point N/10 of the way from the true beginning.Fend-of-buffer-other-window
Move point to the end of the buffer in the other window.
Leave mark at previous position.
With arg N, put point N/10 of the way from the true end.Vmouse-autoselect-window-timer
Timer used by delayed window autoselection.Vmouse-autoselect-window-position
Last mouse position recorded by delayed window autoselection.Vmouse-autoselect-window-window
Last window recorded by delayed window autoselection.Vmouse-autoselect-window-state
When non-nil, special state of delayed window autoselection.
Possible values are `suspend' (suspend autoselection after a menu or
scrollbar interaction) and `select' (the next invocation of
`handle-select-window' shall select the window immediately).Fmouse-autoselect-window-cancel
Cancel delayed window autoselection.
Optional argument FORCE means cancel unconditionally.Fmouse-autoselect-window-start
Start delayed window autoselection.
MOUSE-POSITION is the last position where the mouse was seen as returned
by `mouse-position'.  Optional argument WINDOW non-nil denotes the
window where the mouse was seen.  Optional argument SUSPEND non-nil
means suspend autoselection.Fmouse-autoselect-window-select
Select window with delayed window autoselection.
If the mouse position has stabilized in a non-selected window, select
that window.  The minibuffer window is selected only if the minibuffer
is active.  This function is run by `mouse-autoselect-window-timer'.Fhandle-select-window
Handle select-window events.Ftruncated-partial-width-window-p
Return non-nil if lines in WINDOW are specifically truncated due to its width.
WINDOW must be a live window and defaults to the selected one.
Return nil if WINDOW is not a partial-width window
 (regardless of the value of `truncate-lines').
Otherwise, consult the value of `truncate-partial-width-windows'
 for the buffer shown in WINDOW.Sframe.elc
Vframe-creation-function-alist
Alist of window-system dependent functions to call to create a new frame.
The window system startup file should add its frame creation
function to this list, which should take an alist of parameters
as its argument.Vwindow-system-default-frame-alist
Window-system dependent default frame parameters.
The value should be an alist of elements (WINDOW-SYSTEM . ALIST),
where WINDOW-SYSTEM is a window system symbol (see `window-system')
and ALIST is a frame parameter alist like `default-frame-alist'.
Then, for frames on WINDOW-SYSTEM, any parameters specified in
ALIST supersede the corresponding parameters specified in
`default-frame-alist'.Vdisplay-format-alist
Alist of patterns to decode display names.
The car of each entry is a regular expression matching a display
name string.  The cdr is a symbol giving the window-system that
handles the corresponding kind of display.Fhandle-delete-frame
Handle delete-frame events from the X server.Fframe-initialize
Create an initial frame if necessary.Vframe-notice-user-settings
Non-nil means function `frame-notice-user-settings' wasn't run yet.Fframe-notice-user-settings
Act on user's init file settings of frame parameters.
React to settings of `initial-frame-alist',
`window-system-default-frame-alist' and `default-frame-alist'
there (in decreasing order of priority).Fmodify-all-frames-parameters
Modify all current and future frames' parameters according to ALIST.
This changes `default-frame-alist' and possibly `initial-frame-alist'.
Furthermore, this function removes all parameters in ALIST from
`window-system-default-frame-alist'.
See help of `modify-frame-parameters' for more information.Fget-other-frame
Return some frame other than the current frame.
Create one if necessary.  Note that the minibuffer frame, if separate,
is not considered (see `next-frame').Fnext-multiframe-window
Select the next window, regardless of which frame it is on.Fprevious-multiframe-window
Select the previous window, regardless of which frame it is on.Fwindow-system-for-display
Return the window system for DISPLAY.
Return nil if we don't know how to interpret DISPLAY.Fmake-frame-on-display
Make a frame on display DISPLAY.
The optional argument PARAMETERS specifies additional frame parameters.Fclose-display-connection
Close the connection to a display, deleting all its associated frames.
For DISPLAY, specify either a frame or a display name (a string).
If DISPLAY is nil, that stands for the selected frame's display.Fmake-frame-command
Make a new frame, on the same terminal as the selected frame.
If the terminal is a text-only terminal, this also selects the
new frame.Vbefore-make-frame-hook
Functions to run before a frame is created.Vafter-make-frame-functions
Functions to run after a frame is created.
The functions are run with one arg, the newly created frame.Vafter-setting-font-hook
Functions to run after a frame's font has been changed.Vframe-inherited-parameters
Parameters `make-frame' copies from the `selected-frame' to the new frame.Fmake-frame
Return a newly created frame displaying the current buffer.
Optional argument PARAMETERS is an alist of frame parameters for
the new frame.  Each element of PARAMETERS should have the
form (NAME . VALUE), for example:

 (name . STRING)	The frame should be named STRING.

 (width . NUMBER)	The frame should be NUMBER characters in width.
 (height . NUMBER)	The frame should be NUMBER text lines high.

You cannot specify either `width' or `height', you must specify
neither or both.

 (minibuffer . t)	The frame should have a minibuffer.
 (minibuffer . nil)	The frame should have no minibuffer.
 (minibuffer . only)	The frame should contain only a minibuffer.
 (minibuffer . WINDOW)	The frame should use WINDOW as its minibuffer window.

 (window-system . nil)	The frame should be displayed on a terminal device.
 (window-system . x)	The frame should be displayed in an X window.

 (display . ":0")     The frame should appear on display :0.

 (terminal . TERMINAL)  The frame should use the terminal object TERMINAL.

In addition, any parameter specified in `default-frame-alist',
but not present in PARAMETERS, is applied.

Before creating the frame (via `frame-creation-function-alist'),
this function runs the hook `before-make-frame-hook'.  After
creating the frame, it runs the hook `after-make-frame-functions'
with one arg, the newly created frame.

If a display parameter is supplied and a window-system is not,
guess the window-system from the display.

On graphical displays, this function does not itself make the new
frame the selected frame.  However, the window system may select
the new frame according to its own rules.Ffiltered-frame-list
Return a list of all live frames which satisfy PREDICATE.Fminibuffer-frame-list
Return a list of all frames with their own minibuffers.Fget-device-terminal
Return the terminal corresponding to DEVICE.
DEVICE can be a terminal, a frame, nil (meaning the selected frame's terminal),
the name of an X display device (HOST.SERVER.SCREEN) or a tty device file.Fframes-on-display-list
Return a list of all frames on DEVICE.

DEVICE should be a terminal, a frame,
or a name of an X display or tty (a string of the form
HOST:SERVER.SCREEN).

If DEVICE is omitted or nil, it defaults to the selected
frame's terminal device.Fframep-on-display
Return the type of frames on TERMINAL.
TERMINAL may be a terminal id, a display name or a frame.  If it
is a frame, its type is returned.  If TERMINAL is omitted or nil,
it defaults to the selected frame's terminal device.  All frames
on a given display are of the same type.Fframe-remove-geometry-params
Return the parameter list PARAM-LIST, but with geometry specs removed.
This deletes all bindings in PARAM-LIST for `top', `left', `width',
`height', `user-size' and `user-position' parameters.
Emacs uses this to avoid overriding explicit moves and resizings from
the user during startup.Fselect-frame-set-input-focus
Select FRAME, raise it, and set input focus, if possible.
If `mouse-autoselect-window' is non-nil, also move mouse pointer
to FRAME's selected window.  Otherwise, if `focus-follows-mouse'
is non-nil, move mouse cursor to FRAME.

Optional argument NORECORD means to neither change the order of
recently selected windows nor the buffer list.Fother-frame
Select the ARGth different visible frame on current display, and raise it.
All frames are arranged in a cyclic order.
This command selects the frame ARG steps away in that order.
A negative ARG moves in the opposite order.

To make this command work properly, you must tell Emacs
how the system (or the window manager) generally handles
focus-switching between windows.  If moving the mouse onto a window
selects it (gives it focus), set `focus-follows-mouse' to t.
Otherwise, that variable should be nil.Ficonify-or-deiconify-frame
Iconify the selected frame, or deiconify if it's currently an icon.Fsuspend-frame
Do whatever is right to suspend the current frame.
Calls `suspend-emacs' if invoked from the controlling tty device,
`suspend-tty' from a secondary tty device, and
`iconify-or-deiconify-frame' from an X frame.Fselect-frame-by-name
Select the frame on the current terminal whose name is NAME and raise it.
If there is no frame by that name, signal an error.Vframe-background-mode
The brightness of the background.
Set this to the symbol `dark' if your background color is dark,
`light' if your background is light, or nil (automatic by default)
if you want Emacs to examine the brightness for you.  Don't set this
variable with `setq'; this won't have the expected effect.Fframe-set-background-mode
Set up display-dependent faces on FRAME.
Display-dependent faces are those which have different definitions
according to the `background-mode' and `display-type' frame parameters.

If optional arg KEEP-FACE-SPECS is non-nil, don't recalculate
face specs for the new background mode.Fframe-terminal-default-bg-mode
Return the default background mode of FRAME.
This checks the `frame-background-mode' variable, the X resource
named "backgroundMode" (if FRAME is an X frame), and finally
the `background-mode' terminal parameter.Fcurrent-frame-configuration
Return a list describing the positions and states of all frames.
Its car is `frame-configuration'.
Each element of the cdr is a list of the form (FRAME ALIST WINDOW-CONFIG),
where
  FRAME is a frame object,
  ALIST is an association list specifying some of FRAME's parameters, and
  WINDOW-CONFIG is a window configuration object for FRAME.Fset-frame-configuration
Restore the frames to the state described by CONFIGURATION.
Each frame listed in CONFIGURATION has its position, size, window
configuration, and other parameters set as specified in CONFIGURATION.
However, this function does not restore deleted frames.

Ordinarily, this function deletes all existing frames not
listed in CONFIGURATION.  But if optional second argument NODELETE
is given and non-nil, the unwanted frames are iconified instead.Fframe-height
Return number of lines available for display on FRAME.
If FRAME is omitted, describe the currently selected frame.
Exactly what is included in the return value depends on the
window-system and toolkit in use - see `frame-pixel-height' for
more details.  The lines are in units of the default font height.

The result is roughly related to the frame pixel height via
height in pixels = height in lines * `frame-char-height'.
However, this is only approximate, and is complicated e.g. by the
fact that individual window lines and menu bar lines can have
differing font heights.Fframe-width
Return number of columns available for display on FRAME.
If FRAME is omitted, describe the currently selected frame.Fset-frame-font
Set the default font to FONT.
When called interactively, prompt for the name of a font, and use
that font on the selected frame.  When called from Lisp, FONT
should be a font name (a string), a font object, font entity, or
font spec.

If KEEP-SIZE is nil, keep the number of frame lines and columns
fixed.  If KEEP-SIZE is non-nil (or with a prefix argument), try
to keep the current frame size fixed (in pixels) by adjusting the
number of lines and columns.

If FRAMES is nil, apply the font to the selected frame only.
If FRAMES is non-nil, it should be a list of frames to act upon,
or t meaning all graphical frames.  Also, if FRAME is non-nil,
alter the user's Customization settings as though the
font-related attributes of the `default' face had been "set in
this session", so that the font is applied to future frames.Fset-frame-parameter
Set frame parameter PARAMETER to VALUE on FRAME.
If FRAME is nil, it defaults to the selected frame.
See `modify-frame-parameters'.Fset-background-color
Set the background color of the selected frame to COLOR-NAME.
When called interactively, prompt for the name of the color to use.
To get the frame's current background color, use `frame-parameters'.Fset-foreground-color
Set the foreground color of the selected frame to COLOR-NAME.
When called interactively, prompt for the name of the color to use.
To get the frame's current foreground color, use `frame-parameters'.Fset-cursor-color
Set the text cursor color of the selected frame to COLOR-NAME.
When called interactively, prompt for the name of the color to use.
This works by setting the `cursor-color' frame parameter on the
selected frame.

You can also set the text cursor color, for all frames, by
customizing the `cursor' face.Fset-mouse-color
Set the color of the mouse pointer of the selected frame to COLOR-NAME.
When called interactively, prompt for the name of the color to use.
To get the frame's current mouse color, use `frame-parameters'.Fset-border-color
Set the color of the border of the selected frame to COLOR-NAME.
When called interactively, prompt for the name of the color to use.
To get the frame's current border color, use `frame-parameters'.Fauto-raise-mode
Toggle whether or not selected frames should auto-raise.
With a prefix argument ARG, enable Auto Raise mode if ARG is
positive, and disable it otherwise.  If called from Lisp, enable
the mode if ARG is omitted or nil.

Auto Raise mode does nothing under most window managers, which
switch focus on mouse clicks.  It only has an effect if your
window manager switches focus on mouse movement (in which case
you should also change `focus-follows-mouse' to t).  Then,
enabling Auto Raise mode causes any graphical Emacs frame which
acquires focus to be automatically raised.

Note that this minor mode controls Emacs's own auto-raise
feature.  Window managers that switch focus on mouse movement
often have their own auto-raise feature.Fauto-lower-mode
Toggle whether or not the selected frame should auto-lower.
With a prefix argument ARG, enable Auto Lower mode if ARG is
positive, and disable it otherwise.  If called from Lisp, enable
the mode if ARG is omitted or nil.

Auto Lower mode does nothing under most window managers, which
switch focus on mouse clicks.  It only has an effect if your
window manager switches focus on mouse movement (in which case
you should also change `focus-follows-mouse' to t).  Then,
enabling Auto Lower Mode causes any graphical Emacs frame which
loses focus to be automatically lowered.

Note that this minor mode controls Emacs's own auto-lower
feature.  Window managers that switch focus on mouse movement
often have their own features for raising or lowering frames.Fset-frame-name
Set the name of the selected frame to NAME.
When called interactively, prompt for the name of the frame.
On text terminals, the frame name is displayed on the mode line.
On graphical displays, it is displayed on the frame's title bar.Fframe-current-scroll-bars
Return the current scroll-bar settings in frame FRAME.
Value is a cons (VERTICAL . HORIZ0NTAL) where VERTICAL specifies the
current location of the vertical scroll-bars (left, right, or nil),
and HORIZONTAL specifies the current location of the horizontal scroll
bars (top, bottom, or nil).Fselected-terminal
Return the terminal that is now selected.Fdisplay-mouse-p
Return non-nil if DISPLAY has a mouse available.
DISPLAY can be a display name, a frame, or nil (meaning the selected
frame's display).Fdisplay-popup-menus-p
Return non-nil if popup menus are supported on DISPLAY.
DISPLAY can be a display name, a frame, or nil (meaning the selected
frame's display).
Support for popup menus requires that the mouse be available.Fdisplay-graphic-p
Return non-nil if DISPLAY is a graphic display.
Graphical displays are those which are capable of displaying several
frames and several different fonts at once.  This is true for displays
that use a window system such as X, and false for text-only terminals.
DISPLAY can be a display name, a frame, or nil (meaning the selected
frame's display).Fdisplay-images-p
Return non-nil if DISPLAY can display images.

DISPLAY can be a display name, a frame, or nil (meaning the selected
frame's display).Fdisplay-selections-p
Return non-nil if DISPLAY supports selections.
A selection is a way to transfer text or other data between programs
via special system buffers called `selection' or `clipboard'.
DISPLAY can be a display name, a frame, or nil (meaning the selected
frame's display).Fdisplay-screens
Return the number of screens associated with DISPLAY.Fdisplay-pixel-height
Return the height of DISPLAY's screen in pixels.
For character terminals, each character counts as a single pixel.Fdisplay-pixel-width
Return the width of DISPLAY's screen in pixels.
For character terminals, each character counts as a single pixel.Vdisplay-mm-dimensions-alist
Alist for specifying screen dimensions in millimeters.
The dimensions will be used for `display-mm-height' and
`display-mm-width' if defined for the respective display.

Each element of the alist has the form (display . (width . height)),
e.g. (":0.0" . (287 . 215)).

If `display' equals t, it specifies dimensions for all graphical
displays not explicitly specified.Fdisplay-mm-height
Return the height of DISPLAY's screen in millimeters.
System values can be overridden by `display-mm-dimensions-alist'.
If the information is unavailable, value is nil.Fdisplay-mm-width
Return the width of DISPLAY's screen in millimeters.
System values can be overridden by `display-mm-dimensions-alist'.
If the information is unavailable, value is nil.Fdisplay-backing-store
Return the backing store capability of DISPLAY's screen.
The value may be `always', `when-mapped', `not-useful', or nil if
the question is inapplicable to a certain kind of display.Fdisplay-save-under
Return non-nil if DISPLAY's screen supports the SaveUnder feature.Fdisplay-planes
Return the number of planes supported by DISPLAY.Fdisplay-color-cells
Return the number of color cells supported by DISPLAY.Fdisplay-visual-class
Return the visual class of DISPLAY.
The value is one of the symbols `static-gray', `gray-scale',
`static-color', `pseudo-color', `true-color', or `direct-color'.Fframe-geom-value-cons
Return equivalent geometry value for FRAME as a cons with car `+'.
A geometry value equivalent to VALUE for FRAME is returned,
where the value is a cons with car `+', not numeric.
TYPE is the car of the original geometry spec (TYPE . VALUE).
   It is `top' or `left', depending on which edge VALUE is related to.
VALUE is the cdr of a frame geometry spec: (left/top . VALUE).
If VALUE is a number, then it is converted to a cons value, perhaps
   relative to the opposite frame edge from that in the original spec.
FRAME defaults to the selected frame.

Examples (measures in pixels) -
 Assuming display height/width=1024, frame height/width=600:
 300 inside display edge:                   300  => (+  300)
                                        (+  300) => (+  300)
 300 inside opposite display edge:      (-  300) => (+  124)
                                           -300  => (+  124)
 300 beyond display edge
  (= 724 inside opposite display edge): (+ -300) => (+ -300)
 300 beyond display edge
  (= 724 inside opposite display edge): (- -300) => (+  724)

In the 3rd, 4th, and 6th examples, the returned value is relative to
the opposite frame edge from the edge indicated in the input spec.Fframe-geom-spec-cons
Return equivalent geometry spec for FRAME as a cons with car `+'.
A geometry specification equivalent to SPEC for FRAME is returned,
where the value is a cons with car `+', not numeric.
SPEC is a frame geometry spec: (left . VALUE) or (top . VALUE).
If VALUE is a number, then it is converted to a cons value, perhaps
   relative to the opposite frame edge from that in the original spec.
FRAME defaults to the selected frame.

Examples (measures in pixels) -
 Assuming display height=1024, frame height=600:
 top 300 below display top:               (top .  300) => (top +  300)
                                          (top +  300) => (top +  300)
 bottom 300 above display bottom:         (top -  300) => (top +  124)
                                          (top . -300) => (top +  124)
 top 300 above display top
  (= bottom 724 above display bottom):    (top + -300) => (top + -300)
 bottom 300 below display bottom
  (= top 724 below display top):          (top - -300) => (top +  724)

In the 3rd, 4th, and 6th examples, the returned value is relative to
the opposite frame edge from the edge indicated in the input spec.Fdelete-other-frames
Delete all frames on the current terminal, except FRAME.
If FRAME uses another frame's minibuffer, the minibuffer frame is
left untouched.  FRAME nil or omitted means use the selected frame.Vblink-cursor-idle-timer
Timer started after `blink-cursor-delay' seconds of Emacs idle time.
The function `blink-cursor-start' is called when the timer fires.Vblink-cursor-timer
Timer started from `blink-cursor-start'.
This timer calls `blink-cursor-timer-function' every
`blink-cursor-interval' seconds.Fblink-cursor-start
Timer function called from the timer `blink-cursor-idle-timer'.
This starts the timer `blink-cursor-timer', which makes the cursor blink
if appropriate.  It also arranges to cancel that timer when the next
command starts, by installing a pre-command hook.Fblink-cursor-timer-function
Timer function of timer `blink-cursor-timer'.Fblink-cursor-end
Stop cursor blinking.
This is installed as a pre-command hook by `blink-cursor-start'.
When run, it cancels the timer `blink-cursor-timer' and removes
itself as a pre-command hook.Fblink-cursor-mode
Toggle cursor blinking (Blink Cursor mode).
With a prefix argument ARG, enable Blink Cursor mode if ARG is
positive, and disable it otherwise.  If called from Lisp, enable
the mode if ARG is omitted or nil.

This command is effective only on graphical frames.  On text-only
terminals, cursor blinking is controlled by the terminal.Stty-colors.elc
Vcolor-name-rgb-alist
An alist of X color names and associated 16-bit RGB values.Vtty-standard-colors
An alist of 8 standard tty colors, their indices and RGB values.Vtty-color-mode-alist
An alist of supported standard tty color modes and their aliases.Ftty-color-alist
Return an alist of colors supported by FRAME's terminal.
FRAME defaults to the selected frame.
Each element of the returned alist is of the form:
 (NAME INDEX R G B)
where NAME is the name of the color, a string;
INDEX is the index of this color to be sent to the terminal driver
when the color should be displayed; it is typically a small integer;
R, G, and B are the intensities of, accordingly, red, green, and blue
components of the color, represented as numbers between 0 and 65535.
The file `etc/rgb.txt' in the Emacs distribution lists the standard
RGB values of the X colors.  If RGB is nil, this color will not be
considered by `tty-color-translate' as an approximation to another
color.Ftty-modify-color-alist
Put the association ELT into the alist of terminal colors for FRAME.
ELT should be of the form  (NAME INDEX R G B) (see `tty-color-alist'
for details).
If the association for NAME already exists in the color alist, it is
modified to specify (INDEX R G B) as its cdr.  Otherwise, ELT is
appended to the end of the color alist.
If FRAME is unspecified or nil, it defaults to the selected frame.
Value is the modified color alist for FRAME.Ftty-register-default-colors
Register the default set of colors for a character terminal.Ftty-color-canonicalize
Return COLOR in canonical form.
A canonicalized color name is all-lower case, with any blanks removed.Ftty-color-define
Specify a tty color by its NAME, terminal INDEX and RGB values.
NAME is a string, INDEX is typically a small integer used to send to
the terminal driver a command to switch this color on, and RGB is a
list of 3 numbers that specify the intensity of red, green, and blue
components of the color.
If specified, each one of the RGB components must be a number between
0 and 65535.  If RGB is omitted, the specified color will never be used
by `tty-color-translate' as an approximation to another color.
FRAME is the frame where the defined color should be used.
If FRAME is not specified or is nil, it defaults to the selected frame.Ftty-color-clear
Clear the list of supported tty colors for frame FRAME.
If FRAME is unspecified or nil, it defaults to the selected frame.Ftty-color-off-gray-diag
Compute the angle between the color given by R,G,B and the gray diagonal.
The gray diagonal is the diagonal of the 3D cube in RGB space which
connects the points corresponding to the black and white colors.  All the
colors whose RGB coordinates belong to this diagonal are various shades
of gray, thus the name.Ftty-color-approximate
Find the color in `tty-color-alist' that best approximates RGB.
Value is a list of the form (NAME INDEX R G B).
The argument RGB should be an rgb value, that is, a list of three
integers in the 0..65535 range.
FRAME defaults to the selected frame.Ftty-color-standard-values
Return standard RGB values of the color COLOR.

The result is a list of integer RGB values--(RED GREEN BLUE).
These values range from 0 to 65535; white is (65535 65535 65535).

The returned value reflects the standard X definition of COLOR,
regardless of whether the terminal can display it, so the return value
should be the same regardless of what display is being used.Ftty-color-translate
Given a color COLOR, return the index of the corresponding TTY color.

COLOR must be a string that is either the color's name, or its X-style
specification like "#RRGGBB" or "RGB:rr/gg/bb", where each primary.
color can be given with 1 to 4 hex digits.

If COLOR is a color name that is found among supported colors in
`tty-color-alist', the associated index is returned.  Otherwise, the
RGB values of the color, either as given by the argument or from
looking up the name in `color-name-rgb-alist', are used to find the
supported color that is the best approximation for COLOR in the RGB
space.
If COLOR is neither a valid X RGB specification of the color, nor a
name of a color in `color-name-rgb-alist', the returned value is nil.

If FRAME is unspecified or nil, it defaults to the selected frame.Ftty-color-by-index
Given a numeric index of a tty color, return its description.

FRAME, if unspecified or nil, defaults to the selected frame.
Value is a list of the form (NAME INDEX R G B).Ftty-color-values
Return RGB values of the color COLOR on a termcap frame FRAME.

If COLOR is not directly supported by the display, return the RGB
values for a supported color that is its best approximation.
The value is a list of integer RGB values--(RED GREEN BLUE).
These values range from 0 to 65535; white is (65535 65535 65535).
If FRAME is omitted or nil, use the selected frame.Ftty-color-desc
Return the description of the color COLOR for a character terminal.
Value is a list of the form (NAME INDEX R G B).  The returned NAME or
RGB value may not be the same as the argument COLOR, because the latter
might need to be approximated if it is not supported directly.Ftty-color-gray-shades
Return the number of gray colors supported by DISPLAY's terminal.
A color is considered gray if the 3 components of its RGB value are equal.Sfont-core.elc
Vfont-lock-defaults
Defaults for Font Lock mode specified by the major mode.
Defaults should be of the form:

 (KEYWORDS [KEYWORDS-ONLY [CASE-FOLD [SYNTAX-ALIST [SYNTAX-BEGIN ...]]]])

KEYWORDS may be a symbol (a variable or function whose value is the keywords
to use for fontification) or a list of symbols (specifying different levels
of fontification).

If KEYWORDS-ONLY is non-nil, syntactic fontification (strings and
comments) is not performed.

If CASE-FOLD is non-nil, the case of the keywords is ignored when fontifying.

If SYNTAX-ALIST is non-nil, it should be a list of cons pairs of the form
(CHAR-OR-STRING . STRING) used to set the local Font Lock syntax table, for
keyword and syntactic fontification (see `modify-syntax-entry').

If SYNTAX-BEGIN is non-nil, it should be a function with no args used to move
backwards outside any enclosing syntactic block, for syntactic fontification.
Typical values are `beginning-of-line' (i.e., the start of the line is known to
be outside a syntactic block), or `beginning-of-defun' for programming modes or
`backward-paragraph' for textual modes (i.e., the mode-dependent function is
known to move outside a syntactic block).  If nil, the beginning of the buffer
is used as a position outside of a syntactic block, in the worst case.

(See also Info node `(elisp)Font Lock Basics'.)

These item elements are used by Font Lock mode to set the variables
`font-lock-keywords', `font-lock-keywords-only',
`font-lock-keywords-case-fold-search', `font-lock-syntax-table' and
`font-lock-beginning-of-syntax-function', respectively.

Further item elements are alists of the form (VARIABLE . VALUE) and are in no
particular order.  Each VARIABLE is made buffer-local before set to VALUE.

Currently, appropriate variables include `font-lock-mark-block-function'.
If this is non-nil, it should be a function with no args used to mark any
enclosing block of text, for fontification via \[font-lock-fontify-block].
Typical values are `mark-defun' for programming modes or `mark-paragraph' for
textual modes (i.e., the mode-dependent function is known to put point and mark
around a text block relevant to that mode).

Other variables include that for syntactic keyword fontification,
`font-lock-syntactic-keywords' and those for buffer-specialized fontification
functions, `font-lock-fontify-buffer-function',
`font-lock-unfontify-buffer-function', `font-lock-fontify-region-function',
`font-lock-unfontify-region-function', and `font-lock-inhibit-thing-lock'.Vfont-lock-function
A function which is called when `font-lock-mode' is toggled.
It will be passed one argument, which is the current value of
`font-lock-mode'.Vfont-lock-mode
Non-nil if Font-Lock mode is enabled.
Use the command `font-lock-mode' to change this variable.Ffont-lock-mode
Toggle syntax highlighting in this buffer (Font Lock mode).
With a prefix argument ARG, enable Font Lock mode if ARG is
positive, and disable it otherwise.  If called from Lisp, enable
the mode if ARG is omitted or nil.

When Font Lock mode is enabled, text is fontified as you type it:

 - Comments are displayed in `font-lock-comment-face';
 - Strings are displayed in `font-lock-string-face';
 - Certain other expressions are displayed in other faces according to the
   value of the variable `font-lock-keywords'.

To customize the faces (colors, fonts, etc.) used by Font Lock for
fontifying different parts of buffer text, use \[customize-face].

You can enable Font Lock mode in any major mode automatically by turning on in
the major mode's hook.  For example, put in your ~/.emacs:

 (add-hook 'c-mode-hook 'turn-on-font-lock)

Alternatively, you can use Global Font Lock mode to automagically turn on Font
Lock mode in buffers whose major mode supports it and whose major mode is one
of `font-lock-global-modes'.  For example, put in your ~/.emacs:

 (global-font-lock-mode t)

Where major modes support different levels of fontification, you can use
the variable `font-lock-maximum-decoration' to specify which level you
generally prefer.  When you turn Font Lock mode on/off the buffer is
fontified/defontified, though fontification occurs only if the buffer is
less than `font-lock-maximum-size'.

To add your own highlighting for some major mode, and modify the highlighting
selected automatically via the variable `font-lock-maximum-decoration', you can
use `font-lock-add-keywords'.

To fontify a buffer, without turning on Font Lock mode and regardless of buffer
size, you can use \[font-lock-fontify-buffer].

To fontify a block (the function or paragraph containing point, or a number of
lines around point), perhaps because modification on the current line caused
syntactic change on other lines, you can use \[font-lock-fontify-block].

You can set your own default settings for some mode, by setting a
buffer local value for `font-lock-defaults', via its mode hook.

The above is the default behavior of `font-lock-mode'; you may specify
your own function which is called when `font-lock-mode' is toggled via
`font-lock-function'. Ffont-lock-defontify
Clear out all `font-lock-face' properties in current buffer.
A major mode that uses `font-lock-face' properties might want to put
this function onto `change-major-mode-hook'.Fturn-on-font-lock
Turn on Font Lock mode (only if the terminal can display it).Vfont-lock-global-modes
Modes for which Font Lock mode is automagically turned on.
Global Font Lock mode is controlled by the command `global-font-lock-mode'.
If nil, means no modes have Font Lock mode automatically turned on.
If t, all modes that support Font Lock mode have it automatically turned on.
If a list, it should be a list of `major-mode' symbol names for which Font Lock
mode should be automatically turned on.  The sense of the list is negated if it
begins with `not'.  For example:
 (c-mode c++-mode)
means that Font Lock mode is turned on for buffers in C and C++ modes only.Fglobal-font-lock-mode
Toggle Font-Lock mode in all buffers.
With prefix ARG, enable Global-Font-Lock mode if ARG is positive;
otherwise, disable it.  If called from Lisp, enable the mode if
ARG is omitted or nil.

Font-Lock mode is enabled in all buffers where
`turn-on-font-lock-if-desired' would do it.
See `font-lock-mode' for more information on Font-Lock mode.Sfacemenu.elc
Vfacemenu-face-menu
Menu keymap for faces.Vfacemenu-foreground-menu
Menu keymap for foreground colors.Vfacemenu-background-menu
Menu keymap for background colors.Vfacemenu-special-menu
Menu keymap for non-face text-properties.Vfacemenu-justification-menu
Submenu for text justification commands.Vfacemenu-indentation-menu
Submenu for indentation commands.Vfacemenu-menu
Facemenu top-level menu keymap.Vfacemenu-keymap
Keymap for face-changing commands.
`Facemenu-update' fills in the keymap according to the bindings
requested in `facemenu-keybindings'.Vfacemenu-color-alist
Alist of colors, used for completion.
If this is nil, then the value of (defined-colors) is used.Ffacemenu-update
Add or update the "Face" menu in the menu bar.
You can call this to update things if you change any of the menu configuration
variables.Ffacemenu-set-face
Apply FACE to the region or next character typed.

If the region is active (normally true except in Transient
Mark mode) and nonempty, and there is no prefix argument,
this command applies FACE to the region.  Otherwise, it applies FACE
to the faces to use for the next character
inserted.  (Moving point or switching buffers before typing
a character to insert cancels the specification.)

If FACE is `default', to "apply" it means clearing
the list of faces to be used.  For any other value of FACE,
to "apply" it means putting FACE at the front of the list
of faces to be used, and removing any faces further
along in the list that would be completely overridden by
preceding faces (including FACE).

This command can also add FACE to the menu of faces,
if `facemenu-listed-faces' says to do that.Ffacemenu-set-foreground
Set the foreground COLOR of the region or next character typed.
This command reads the color in the minibuffer.

If the region is active (normally true except in Transient Mark mode)
and there is no prefix argument, this command sets the region to the
requested face.

Otherwise, this command specifies the face for the next character
inserted.  Moving point or switching buffers before
typing a character to insert cancels the specification.Ffacemenu-set-background
Set the background COLOR of the region or next character typed.
This command reads the color in the minibuffer.

If the region is active (normally true except in Transient Mark mode)
and there is no prefix argument, this command sets the region to the
requested face.

Otherwise, this command specifies the face for the next character
inserted.  Moving point or switching buffers before
typing a character to insert cancels the specification.Ffacemenu-set-face-from-menu
Set the FACE of the region or next character typed.
This function is designed to be called from a menu; FACE is determined
using the event type of the menu entry.  If FACE is a symbol whose
name starts with "fg:" or "bg:", then this functions sets the
foreground or background to the color specified by the rest of the
symbol's name.  Any other symbol is considered the name of a face.

If the region is active (normally true except in Transient Mark mode)
and there is no prefix argument, this command sets the region to the
requested face.

Otherwise, this command specifies the face for the next character
inserted.  Moving point or switching buffers before typing a character
to insert cancels the specification.Ffacemenu-set-invisible
Make the region invisible.
This sets the `invisible' text property; it can be undone with
`facemenu-remove-special'.Ffacemenu-set-intangible
Make the region intangible: disallow moving into it.
This sets the `intangible' text property; it can be undone with
`facemenu-remove-special'.Ffacemenu-set-read-only
Make the region unmodifiable.
This sets the `read-only' text property; it can be undone with
`facemenu-remove-special'.Ffacemenu-remove-face-props
Remove `face' and `mouse-face' text properties.Ffacemenu-remove-all
Remove all text properties from the region.Ffacemenu-remove-special
Remove all the "special" text properties from the region.
These special properties include `invisible', `intangible' and `read-only'.Flist-colors-sort-key
Return a list of keys for sorting colors depending on `list-colors-sort'.
COLOR is the name of the color.  When return value is nil,
filter out the color from the output.Flist-colors-display
Display names of defined colors, and show what they look like.
If the optional argument LIST is non-nil, it should be a list of
colors to display.  Otherwise, this command computes a list of
colors that the current display can handle.  Customize
`list-colors-sort' to change the order in which colors are shown.

If the optional argument BUFFER-NAME is nil, it defaults to *Colors*.

If the optional argument CALLBACK is non-nil, it should be a
function to call each time the user types RET or clicks on a
color.  The function should accept a single argument, the color name.Flist-colors-duplicates
Return a list of colors with grouped duplicate colors.
If a color has no duplicates, then the element of the returned list
has the form '(COLOR-NAME).  The element of the returned list with
duplicate colors has the form '(COLOR-NAME DUPLICATE-COLOR-NAME ...).
This function uses the predicate `facemenu-color-equal' to compare
color names.  If the optional argument LIST is non-nil, it should
be a list of colors to display.  Otherwise, this function uses
a list of colors that the current display can handle.Ffacemenu-color-equal
Return t if colors A and B are the same color.
A and B should be strings naming colors.
This function queries the display system to find out what the color
names mean.  It returns nil if the colors differ or if it can't
determine the correct answer.Ffacemenu-set-self-insert-face
Arrange for the next self-inserted char to have face `face'.Ffacemenu-add-face
Add FACE to text between START and END.
If START is nil or START to END is empty, add FACE to next typed character
instead.  For each section of that region that has a different face property,
FACE will be consed onto it, and other faces that are completely hidden by
that will be removed from the list.
If `facemenu-add-face-function' and maybe `facemenu-end-add-face' are non-nil,
they are used to set the face information.

As a special case, if FACE is `default', then the region is left with NO face
text property.  Otherwise, selecting the default face would not have any
effect.  See `facemenu-remove-face-function'.Ffacemenu-active-faces
Return from FACE-LIST those faces that would be used for display.
This means each face attribute is not specified in a face earlier in FACE-LIST
and such a face is therefore active when used to display text.
If the optional argument FRAME is given, use the faces in that frame; otherwise
use the selected frame.  If t, then the global, non-frame faces are used.Ffacemenu-add-new-face
Add FACE (a face) to the Face menu if `facemenu-listed-faces' says so.
This is called whenever you create a new face, and at other times.Ffacemenu-add-new-color
Add COLOR (a color name string) to the appropriate Face menu.
MENU should be `facemenu-foreground-menu' or `facemenu-background-menu'.
Return the event type (a symbol) of the added menu entry.

This is called whenever you use a new color.Ffacemenu-complete-face-list
Return list of all faces that look different.
Starts with given ALIST of faces, and adds elements only if they display
differently from any face already on the list.
The faces on ALIST will end up at the end of the returned list, in reverse
order.Ffacemenu-iterate
Apply FUNC to each element of LIST until one returns non-nil.
Returns the non-nil value it found, or nil if all were nil.Ssyntax.elc
Vsyntax-propertize-function
Mode-specific function to apply `syntax-table' text properties.
The value of this variable is a function to be called by Font
Lock mode, prior to performing syntactic fontification on a
stretch of text.  It is given two arguments, START and END: the
start and end of the text to be fontified.  Major modes can
specify a custom function to apply `syntax-table' properties to
override the default syntax table in special cases.

The specified function may call `syntax-ppss' on any position
before END, but it should not call `syntax-ppss-flush-cache',
which means that it should not call `syntax-ppss' on some
position and later modify the buffer on some earlier position.Vsyntax-propertize-extend-region-functions
Special hook run just before proceeding to propertize a region.
This is used to allow major modes to help `syntax-propertize' find safe buffer
positions as beginning and end of the propertized region.  Its most common use
is to solve the problem of /identification/ of multiline elements by providing
a function that tries to find such elements and move the boundaries such that
they do not fall in the middle of one.
Each function is called with two arguments (START and END) and it should return
either a cons (NEW-START . NEW-END) or nil if no adjustment should be made.
These functions are run in turn repeatedly until they all return nil.
Put first the functions more likely to cause a change and cheaper to compute.Fsyntax-propertize-multiline
Let `syntax-propertize' pay attention to the syntax-multiline property.

(fn BEG END)Vsyntax-propertize--done
Position up to which syntax-table properties have been set.Fsyntax-propertize-precompile-rules
Return a precompiled form of RULES to pass to `syntax-propertize-rules'.
The arg RULES can be of the same form as in `syntax-propertize-rules'.
The return value is an object that can be passed as a rule to
`syntax-propertize-rules'.
I.e. this is useful only when you want to share rules among several
`syntax-propertize-function's.

(fn &rest RULES)Fsyntax-propertize-rules
Make a function that applies RULES for use in `syntax-propertize-function'.
The function will scan the buffer, applying the rules where they match.
The buffer is scanned a single time, like "lex" would, rather than once
per rule.

Each RULE can be a symbol, in which case that symbol's value should be,
at macro-expansion time, a precompiled set of rules, as returned
by `syntax-propertize-precompile-rules'.

Otherwise, RULE should have the form (REGEXP HIGHLIGHT1 ... HIGHLIGHTn), where
REGEXP is an expression (evaluated at time of macro-expansion) that returns
a regexp, and where HIGHLIGHTs have the form (NUMBER SYNTAX) which means to
apply the property SYNTAX to the chars matched by the subgroup NUMBER
of the regular expression, if NUMBER did match.
SYNTAX is an expression that returns a value to apply as `syntax-table'
property.  Some expressions are handled specially:
- if SYNTAX is a string, then it is converted with `string-to-syntax';
- if SYNTAX has the form (prog1 EXP . EXPS) then the value returned by EXP
  will be applied to the buffer before running EXPS and if EXP is a string it
  is also converted with `string-to-syntax'.
The SYNTAX expression is responsible to save the `match-data' if needed
for subsequent HIGHLIGHTs.
Also SYNTAX is free to move point, in which case RULES may not be applied to
some parts of the text or may be applied several times to other parts.

Note: back-references in REGEXPs do not work.

(fn &rest RULES)Fsyntax-propertize-via-font-lock
Propertize for syntax in START..END using font-lock syntax.
KEYWORDS obeys the format used in `font-lock-syntactic-keywords'.
The return value is a function suitable for `syntax-propertize-function'.

(fn KEYWORDS)Fsyntax-propertize
Ensure that syntax-table properties are set until POS.

(fn POS)Fsyntax-ppss-toplevel-pos
Get the latest syntactically outermost position found in a syntactic scan.
PPSS is a scan state, as returned by `parse-partial-sexp' or `syntax-ppss'.
An "outermost position" means one that it is outside of any syntactic entity:
outside of any parentheses, comments, or strings encountered in the scan.
If no such position is recorded in PPSS (because the end of the scan was
itself at the outermost level), return nil.

(fn PPSS)Vsyntax-ppss-max-span
Threshold below which cache info is deemed unnecessary.
We try to make sure that cache entries are at least this far apart
from each other, to avoid keeping too much useless info.Vsyntax-begin-function
Function to move back outside of any comment/string/paren.
This function should move the cursor back to some syntactically safe
point (where the PPSS is equivalent to nil).Vsyntax-ppss-cache
List of (POS . PPSS) pairs, in decreasing POS order.Vsyntax-ppss-last
Cache of (LAST-POS . LAST-PPSS).Fsyntax-ppss-flush-cache
Flush the cache of `syntax-ppss' starting at position BEG.

(fn BEG &rest IGNORED)Fsyntax-ppss
Parse-Partial-Sexp State at POS, defaulting to point.
The returned value is the same as that of `parse-partial-sexp'
run from point-min to POS except that values at positions 2 and 6
in the returned list (counting from 0) cannot be relied upon.
Point is at POS when this function returns.

(fn &optional POS)Sfont-lock.elc
Vfont-lock-comment-face
Face name to use for comments.Vfont-lock-comment-delimiter-face
Face name to use for comment delimiters.Vfont-lock-string-face
Face name to use for strings.Vfont-lock-doc-face
Face name to use for documentation.Vfont-lock-keyword-face
Face name to use for keywords.Vfont-lock-builtin-face
Face name to use for builtins.Vfont-lock-function-name-face
Face name to use for function names.Vfont-lock-variable-name-face
Face name to use for variable names.Vfont-lock-type-face
Face name to use for type and class names.Vfont-lock-constant-face
Face name to use for constant and label names.Vfont-lock-warning-face
Face name to use for things that should stand out.Vfont-lock-negation-char-face
Face name to use for easy to overlook negation.
This can be an "!" or the "n" in "ifndef".Vfont-lock-preprocessor-face
Face name to use for preprocessor directives.Vfont-lock-keywords
A list of the keywords to highlight.
There are two kinds of values: user-level, and compiled.

A user-level keywords list is what a major mode or the user would
set up.  Normally the list would come from `font-lock-defaults'.
through selection of a fontification level and evaluation of any
contained expressions.  You can also alter it by calling
`font-lock-add-keywords' or `font-lock-remove-keywords' with MODE = nil.

Each element in a user-level keywords list should have one of these forms:

 MATCHER
 (MATCHER . SUBEXP)
 (MATCHER . FACENAME)
 (MATCHER . HIGHLIGHT)
 (MATCHER HIGHLIGHT ...)
 (eval . FORM)

where MATCHER can be either the regexp to search for, or the function name to
call to make the search (called with one argument, the limit of the search;
it should return non-nil, move point, and set `match-data' appropriately if
it succeeds; like `re-search-forward' would).
MATCHER regexps can be generated via the function `regexp-opt'.

FORM is an expression, whose value should be a keyword element, evaluated when
the keyword is (first) used in a buffer.  This feature can be used to provide a
keyword that can only be generated when Font Lock mode is actually turned on.

HIGHLIGHT should be either MATCH-HIGHLIGHT or MATCH-ANCHORED.

For highlighting single items, for example each instance of the word "foo",
typically only MATCH-HIGHLIGHT is required.
However, if an item or (typically) items are to be highlighted following the
instance of another item (the anchor), for example each instance of the
word "bar" following the word "anchor" then MATCH-ANCHORED may be required.

MATCH-HIGHLIGHT should be of the form:

 (SUBEXP FACENAME [OVERRIDE [LAXMATCH]])

SUBEXP is the number of the subexpression of MATCHER to be highlighted.

FACENAME is an expression whose value is the face name to use.
Instead of a face, FACENAME can evaluate to a property list
of the form (face FACE PROP1 VAL1 PROP2 VAL2 ...)
in which case all the listed text-properties will be set rather than
just FACE.  In such a case, you will most likely want to put those
properties in `font-lock-extra-managed-props' or to override
`font-lock-unfontify-region-function'.

OVERRIDE and LAXMATCH are flags.  If OVERRIDE is t, existing fontification can
be overwritten.  If `keep', only parts not already fontified are highlighted.
If `prepend' or `append', existing fontification is merged with the new, in
which the new or existing fontification, respectively, takes precedence.
If LAXMATCH is non-nil, that means don't signal an error if there is
no match for SUBEXP in MATCHER.

For example, an element of the form highlights (if not already highlighted):

 "\\\=<foo\\\=>"		discrete occurrences of "foo" in the value of the
			variable `font-lock-keyword-face'.
 ("fu\\(bar\\)" . 1)	substring "bar" within all occurrences of "fubar" in
			the value of `font-lock-keyword-face'.
 ("fubar" . fubar-face)	Occurrences of "fubar" in the value of `fubar-face'.
 ("foo\\|bar" 0 foo-bar-face t)
			occurrences of either "foo" or "bar" in the value
			of `foo-bar-face', even if already highlighted.
 (fubar-match 1 fubar-face)
			the first subexpression within all occurrences of
			whatever the function `fubar-match' finds and matches
			in the value of `fubar-face'.

MATCH-ANCHORED should be of the form:

 (MATCHER PRE-MATCH-FORM POST-MATCH-FORM MATCH-HIGHLIGHT ...)

where MATCHER is a regexp to search for or the function name to call to make
the search, as for MATCH-HIGHLIGHT above, but with one exception; see below.
PRE-MATCH-FORM and POST-MATCH-FORM are evaluated before the first, and after
the last, instance MATCH-ANCHORED's MATCHER is used.  Therefore they can be
used to initialize before, and cleanup after, MATCHER is used.  Typically,
PRE-MATCH-FORM is used to move to some position relative to the original
MATCHER, before starting with MATCH-ANCHORED's MATCHER.  POST-MATCH-FORM might
be used to move back, before resuming with MATCH-ANCHORED's parent's MATCHER.

For example, an element of the form highlights (if not already highlighted):

 ("\\\=<anchor\\\=>" (0 anchor-face) ("\\\=<item\\\=>" nil nil (0 item-face)))

 discrete occurrences of "anchor" in the value of `anchor-face', and subsequent
 discrete occurrences of "item" (on the same line) in the value of `item-face'.
 (Here PRE-MATCH-FORM and POST-MATCH-FORM are nil.  Therefore "item" is
 initially searched for starting from the end of the match of "anchor", and
 searching for subsequent instances of "anchor" resumes from where searching
 for "item" concluded.)

The above-mentioned exception is as follows.  The limit of the MATCHER search
defaults to the end of the line after PRE-MATCH-FORM is evaluated.
However, if PRE-MATCH-FORM returns a position greater than the position after
PRE-MATCH-FORM is evaluated, that position is used as the limit of the search.
It is generally a bad idea to return a position greater than the end of the
line, i.e., cause the MATCHER search to span lines.

These regular expressions can match text which spans lines, although
it is better to avoid it if possible since updating them while editing
text is slower, and it is not guaranteed to be always correct when using
support modes like jit-lock or lazy-lock.

This variable is set by major modes via the variable `font-lock-defaults'.
Be careful when composing regexps for this list; a poorly written pattern can
dramatically slow things down!

A compiled keywords list starts with t.  It is produced internal
by `font-lock-compile-keywords' from a user-level keywords list.
Its second element is the user-level keywords list that was
compiled.  The remaining elements have the same form as
user-level keywords, but normally their values have been
optimized.Vfont-lock-keywords-alist
Alist of additional `font-lock-keywords' elements for major modes.

Each element has the form (MODE KEYWORDS . HOW).
`font-lock-set-defaults' adds the elements in the list KEYWORDS to
`font-lock-keywords' when Font Lock is turned on in major mode MODE.

If HOW is nil, KEYWORDS are added at the beginning of
`font-lock-keywords'.  If it is `set', they are used to replace the
value of `font-lock-keywords'.  If HOW is any other non-nil value,
they are added at the end.

This is normally set via `font-lock-add-keywords' and
`font-lock-remove-keywords'.Vfont-lock-removed-keywords-alist
Alist of `font-lock-keywords' elements to be removed for major modes.

Each element has the form (MODE . KEYWORDS).  `font-lock-set-defaults'
removes the elements in the list KEYWORDS from `font-lock-keywords'
when Font Lock is turned on in major mode MODE.

This is normally set via `font-lock-add-keywords' and
`font-lock-remove-keywords'.Vfont-lock-keywords-only
Non-nil means Font Lock should not fontify comments or strings.
This is normally set via `font-lock-defaults'.Vfont-lock-keywords-case-fold-search
Non-nil means the patterns in `font-lock-keywords' are case-insensitive.
This is set via the function `font-lock-set-defaults', based on
the CASE-FOLD argument of `font-lock-defaults'.Vfont-lock-syntactically-fontified
Point up to which `font-lock-syntactic-keywords' has been applied.
If nil, this is ignored, in which case the syntactic fontification may
sometimes be slightly incorrect.Vfont-lock-syntactic-face-function
Function to determine which face to use when fontifying syntactically.
The function is called with a single parameter (the state as returned by
`parse-partial-sexp' at the beginning of the region to highlight) and
should return a face.  This is normally set via `font-lock-defaults'.Vfont-lock-syntactic-keywords
A list of the syntactic keywords to put syntax properties on.
The value can be the list itself, or the name of a function or variable
whose value is the list.

See `font-lock-keywords' for a description of the form of this list;
only the differences are stated here.  MATCH-HIGHLIGHT should be of the form:

 (SUBEXP SYNTAX OVERRIDE LAXMATCH)

where SYNTAX can be a string (as taken by `modify-syntax-entry'), a syntax
table, a cons cell (as returned by `string-to-syntax') or an expression whose
value is such a form.  OVERRIDE cannot be `prepend' or `append'.

Here are two examples of elements of `font-lock-syntactic-keywords'
and what they do:

 ("\\$\\(#\\)" 1 ".")

 gives a hash character punctuation syntax (".") when following a
 dollar-sign character.  Hash characters in other contexts will still
 follow whatever the syntax table says about the hash character.

 ("\\('\\).\\('\\)"
  (1 "\"")
  (2 "\""))

 gives a pair single-quotes, which surround a single character, a SYNTAX of
 "\"" (meaning string quote syntax).  Single-quote characters in other
 contexts will not be affected.

This is normally set via `font-lock-defaults'.Vfont-lock-syntax-table
Non-nil means use this syntax table for fontifying.
If this is nil, the major mode's syntax table is used.
This is normally set via `font-lock-defaults'.Vfont-lock-beginning-of-syntax-function
Non-nil means use this function to move back outside all constructs.
When called with no args it should move point backward to a place which
is not in a string or comment and not within any bracket-pairs (or else,
a place such that any bracket-pairs outside it can be ignored for Emacs
syntax analysis and fontification).

If this is nil, Font Lock uses `syntax-begin-function' to move back
outside of any comment, string, or sexp.  This variable is semi-obsolete;
we recommend setting `syntax-begin-function' instead.

This is normally set via `font-lock-defaults'.Vfont-lock-mark-block-function
Non-nil means use this function to mark a block of text.
When called with no args it should leave point at the beginning of any
enclosing textual block and mark at the end.
This is normally set via `font-lock-defaults'.Vfont-lock-fontify-buffer-function
Function to use for fontifying the buffer.
This is normally set via `font-lock-defaults'.Vfont-lock-unfontify-buffer-function
Function to use for unfontifying the buffer.
This is used when turning off Font Lock mode.
This is normally set via `font-lock-defaults'.Vfont-lock-fontify-region-function
Function to use for fontifying a region.
It should take two args, the beginning and end of the region, and an optional
third arg VERBOSE.  If VERBOSE is non-nil, the function should print status
messages.  This is normally set via `font-lock-defaults'.Vfont-lock-unfontify-region-function
Function to use for unfontifying a region.
It should take two args, the beginning and end of the region.
This is normally set via `font-lock-defaults'.Vfont-lock-inhibit-thing-lock
List of Font Lock mode related modes that should not be turned on.
Currently, valid mode names are `fast-lock-mode', `jit-lock-mode' and
`lazy-lock-mode'.  This is normally set via `font-lock-defaults'.Vfont-lock-multiline
Whether font-lock should cater to multiline keywords.
If nil, don't try to handle multiline patterns.
If t, always handle multiline patterns.
If `undecided', don't try to handle multiline patterns until you see one.
Major/minor modes can set this variable if they know which option applies.Ffont-lock-specified-p
Return non-nil if the current buffer is ready for fontification.
The MODE argument, if non-nil, means Font Lock mode is about to
be enabled.Ffont-lock-add-keywords
Add highlighting KEYWORDS for MODE.

MODE should be a symbol, the major mode command name, such as `c-mode'
or nil.  If nil, highlighting keywords are added for the current buffer.
KEYWORDS should be a list; see the variable `font-lock-keywords'.
By default they are added at the beginning of the current highlighting list.
If optional argument HOW is `set', they are used to replace the current
highlighting list.  If HOW is any other non-nil value, they are added at the
end of the current highlighting list.

For example:

 (font-lock-add-keywords 'c-mode
  '(("\\\=<\\(FIXME\\):" 1 'font-lock-warning-face prepend)
    ("\\\=<\\(and\\|or\\|not\\)\\\=>" . 'font-lock-keyword-face)))

adds two fontification patterns for C mode, to fontify `FIXME:' words, even in
comments, and to fontify `and', `or' and `not' words as keywords.

The above procedure will only add the keywords for C mode, not
for modes derived from C mode.  To add them for derived modes too,
pass nil for MODE and add the call to c-mode-hook.

For example:

 (add-hook 'c-mode-hook
  (lambda ()
   (font-lock-add-keywords nil
    '(("\\\=<\\(FIXME\\):" 1 'font-lock-warning-face prepend)
      ("\\\=<\\(and\\|or\\|not\\)\\\=>" .
       'font-lock-keyword-face)))))

The above procedure may fail to add keywords to derived modes if
some involved major mode does not follow the standard conventions.
File a bug report if this happens, so the major mode can be corrected.

Note that some modes have specialized support for additional patterns, e.g.,
see the variables `c-font-lock-extra-types', `c++-font-lock-extra-types',
`objc-font-lock-extra-types' and `java-font-lock-extra-types'.Ffont-lock-update-removed-keyword-alist
Update `font-lock-removed-keywords-alist' when adding new KEYWORDS to MODE.Ffont-lock-remove-keywords
Remove highlighting KEYWORDS for MODE.

MODE should be a symbol, the major mode command name, such as `c-mode'
or nil.  If nil, highlighting keywords are removed for the current buffer.

To make the removal apply to modes derived from MODE as well,
pass nil for MODE and add the call to MODE-hook.  This may fail
for some derived modes if some involved major mode does not
follow the standard conventions.  File a bug report if this
happens, so the major mode can be corrected.Vfont-lock-support-mode
Support mode for Font Lock mode.
Support modes speed up Font Lock mode by being choosy about when fontification
occurs.  The default support mode, Just-in-time Lock mode (symbol
`jit-lock-mode'), is recommended.

Other, older support modes are Fast Lock mode (symbol `fast-lock-mode') and
Lazy Lock mode (symbol `lazy-lock-mode').  See those modes for more info.
However, they are no longer recommended, as Just-in-time Lock mode is better.

If nil, means support for Font Lock mode is never performed.
If a symbol, use that support mode.
If a list, each element should be of the form (MAJOR-MODE . SUPPORT-MODE),
where MAJOR-MODE is a symbol or t (meaning the default).  For example:
 ((c-mode . fast-lock-mode) (c++-mode . fast-lock-mode) (t . lazy-lock-mode))
means that Fast Lock mode is used to support Font Lock mode for buffers in C or
C++ modes, and Lazy Lock mode is used to support Font Lock mode otherwise.

The value of this variable is used when Font Lock mode is turned on.Vfont-lock-extend-after-change-region-function
A function that determines the region to refontify after a change.

This variable is either nil, or is a function that determines the
region to refontify after a change.
It is usually set by the major mode via `font-lock-defaults'.
Font-lock calls this function after each buffer change.

The function is given three parameters, the standard BEG, END, and OLD-LEN
from `after-change-functions'.  It should return either a cons of the beginning
and end buffer positions (in that order) of the region to refontify, or nil
(which directs the caller to fontify a default region).
This function should preserve the match-data.
The region it returns may start or end in the middle of a line.Ffont-lock-fontify-buffer
Fontify the current buffer the way the function `font-lock-mode' would.Ffont-lock-fontify-region
Fontify the text between BEG and END.
If LOUDLY is non-nil, print status messages while fontifying.
This works by calling `font-lock-fontify-region-function'.Ffont-lock-unfontify-region
Unfontify the text between BEG and END.
This works by calling `font-lock-unfontify-region-function'.Ffont-lock-default-fontify-buffer
Fontify the whole buffer using `font-lock-fontify-region-function'.Ffont-lock-default-unfontify-buffer
Unfontify the whole buffer using `font-lock-unfontify-region-function'.Vfont-lock-dont-widen
If non-nil, font-lock will work on the non-widened buffer.
Useful for things like RMAIL and Info where the whole buffer is not
a very meaningful entity to highlight.Vfont-lock-extend-region-functions
Special hook run just before proceeding to fontify a region.
This is used to allow major modes to help font-lock find safe buffer positions
as beginning and end of the fontified region.  Its most common use is to solve
the problem of /identification/ of multiline elements by providing a function
that tries to find such elements and move the boundaries such that they do
not fall in the middle of one.
Each function is called with no argument; it is expected to adjust the
dynamically bound variables `font-lock-beg' and `font-lock-end'; and return
non-nil if it did make such an adjustment.
These functions are run in turn repeatedly until they all return nil.
Put first the functions more likely to cause a change and cheaper to compute.Ffont-lock-extend-region-multiline
Move fontification boundaries away from any `font-lock-multiline' property.Ffont-lock-extend-region-wholelines
Move fontification boundaries to beginning of lines.Ffont-lock-default-fontify-region
Fontify the text between BEG and END.
If LOUDLY is non-nil, print status messages while fontifying.
This function is the default `font-lock-fontify-region-function'.Vfont-lock-extra-managed-props
Additional text properties managed by font-lock.
This is used by `font-lock-default-unfontify-region' to decide
what properties to clear before refontifying a region.Ffont-lock-default-unfontify-region
Unfontify the text between BEG and END.
This function is the default `font-lock-unfontify-region-function'.Ffont-lock-extend-jit-lock-region-after-change
Function meant for `jit-lock-after-change-extend-region-functions'.
This function does 2 things:
- extend the region so that it not only includes the part that was modified
  but also the surrounding text whose highlighting may change as a consequence.
- anticipate (part of) the region extension that will happen later in
  `font-lock-default-fontify-region', in order to avoid the need for
  double-redisplay in `jit-lock-fontify-now'.Ffont-lock-fontify-block
Fontify some lines the way `font-lock-fontify-buffer' would.
The lines could be a function or paragraph, or a specified number of lines.
If ARG is given, fontify that many lines before and after point, or 16 lines if
no ARG is given and `font-lock-mark-block-function' is nil.
If `font-lock-mark-block-function' non-nil and no ARG is given, it is used to
delimit the region to fontify.Ffont-lock-prepend-text-property
Prepend to one property of the text from START to END.
Arguments PROP and VALUE specify the property and value to prepend to the value
already in place.  The resulting property values are always lists.
Optional argument OBJECT is the string or buffer containing the text.Ffont-lock-append-text-property
Append to one property of the text from START to END.
Arguments PROP and VALUE specify the property and value to append to the value
already in place.  The resulting property values are always lists.
Optional argument OBJECT is the string or buffer containing the text.Ffont-lock-fillin-text-property
Fill in one property of the text from START to END.
Arguments PROP and VALUE specify the property and value to put where none are
already in place.  Therefore existing property values are not overwritten.
Optional argument OBJECT is the string or buffer containing the text.Ffont-lock-apply-syntactic-highlight
Apply HIGHLIGHT following a match.
HIGHLIGHT should be of the form MATCH-HIGHLIGHT,
see `font-lock-syntactic-keywords'.Ffont-lock-fontify-syntactic-anchored-keywords
Fontify according to KEYWORDS until LIMIT.
KEYWORDS should be of the form MATCH-ANCHORED, see `font-lock-keywords',
LIMIT can be modified by the value of its PRE-MATCH-FORM.Ffont-lock-fontify-syntactic-keywords-region
Fontify according to `font-lock-syntactic-keywords' between START and END.
START should be at the beginning of a line.Vfont-lock-comment-start-skip
If non-nil, Font Lock mode uses this instead of `comment-start-skip'.Vfont-lock-comment-end-skip
If non-nil, Font Lock mode uses this instead of `comment-end'.Ffont-lock-fontify-syntactically-region
Put proper face on each string and comment between START and END.
START should be at the beginning of a line.Ffont-lock-apply-highlight
Apply HIGHLIGHT following a match.
HIGHLIGHT should be of the form MATCH-HIGHLIGHT, see `font-lock-keywords'.Ffont-lock-fontify-anchored-keywords
Fontify according to KEYWORDS until LIMIT.
KEYWORDS should be of the form MATCH-ANCHORED, see `font-lock-keywords',
LIMIT can be modified by the value of its PRE-MATCH-FORM.Ffont-lock-fontify-keywords-region
Fontify according to `font-lock-keywords' between START and END.
START should be at the beginning of a line.
LOUDLY, if non-nil, allows progress-meter bar.Ffont-lock-compile-keywords
Compile KEYWORDS into the form (t KEYWORDS COMPILED...)
Here each COMPILED is of the form (MATCHER HIGHLIGHT ...) as shown in the
`font-lock-keywords' doc string.
If SYNTACTIC-KEYWORDS is non-nil, it means these keywords are used for
`font-lock-syntactic-keywords' rather than for `font-lock-keywords'.Ffont-lock-eval-keywords
Evaluate KEYWORDS if a function (funcall) or variable (eval) name.Ffont-lock-value-in-major-mode
Return value in ALIST for `major-mode', or ALIST if it is not an alist.
Structure is ((MAJOR-MODE . VALUE) ...) where MAJOR-MODE may be t.Ffont-lock-choose-keywords
Return LEVELth element of KEYWORDS.
A LEVEL of nil is equal to a LEVEL of 0, a LEVEL of t is equal to
(1- (length KEYWORDS)).Ffont-lock-refresh-defaults
Restart fontification in current buffer after recomputing from defaults.
Recompute fontification variables using `font-lock-defaults' and
`font-lock-maximum-decoration'.  Then restart fontification.

Use this function when you have changed any of the above
variables directly.

Note: This function will erase modifications done by
`font-lock-add-keywords' or `font-lock-remove-keywords', but will
preserve `hi-lock-mode' highlighting patterns.Vfont-lock-major-mode
Major mode for which the font-lock settings have been setup.Ffont-lock-set-defaults
Set fontification defaults appropriately for this mode.
Sets various variables using `font-lock-defaults' and
`font-lock-maximum-decoration'.Ffont-lock-match-c-style-declaration-item-and-skip-to-next
Match, and move over, any declaration/definition item after point.
Matches after point, but ignores leading whitespace and `*' characters.
Does not move further than LIMIT.

The expected syntax of a declaration/definition item is `word' (preceded by
optional whitespace and `*' characters and proceeded by optional whitespace)
optionally followed by a `('.  Everything following the item (but belonging to
it) is expected to be skip-able by `scan-sexps', and items are expected to be
separated with a `,' and to be terminated with a `;'.

Thus the regexp matches after point:	word (
					^^^^ ^
Where the match subexpressions are:	  1  2

The item is delimited by (match-beginning 1) and (match-end 1).
If (match-beginning 2) is non-nil, the item is followed by a `('.

This function could be MATCHER in a MATCH-ANCHORED `font-lock-keywords' item.Vcpp-font-lock-keywords-source-directives
Regular expression used in `cpp-font-lock-keywords'.Vcpp-font-lock-keywords-source-depth
An integer representing regular expression depth of `cpp-font-lock-keywords-source-directives'.
Used in `cpp-font-lock-keywords'.Vcpp-font-lock-keywords
Font lock keywords for C preprocessor directives.
`c-mode', `c++-mode' and `objc-mode' have their own font lock keywords
for C preprocessor directives.  This definition is for the other modes
in which C preprocessor directives are used. e.g. `asm-mode' and
`ld-script-mode'.Vlisp-font-lock-keywords-1
Subdued level highlighting for Lisp modes.Vlisp-font-lock-keywords-2
Gaudy level highlighting for Lisp modes.Vlisp-font-lock-keywords
Default expressions to highlight in Lisp modes.Sjit-lock.elc
Vjit-lock-mode
Non-nil means Just-in-time Lock mode is active.Vjit-lock-functions
Functions to do the actual fontification.
They are called with two arguments: the START and END of the region to fontify.Vjit-lock-context-unfontify-pos
Consider text after this position as contextually unfontified.
If nil, contextual fontification is disabled.Vjit-lock-stealth-timer
Timer for stealth fontification in Just-in-time Lock mode.Vjit-lock-stealth-repeat-timer
Timer for repeated stealth fontification in Just-in-time Lock mode.Vjit-lock-context-timer
Timer for context fontification in Just-in-time Lock mode.Vjit-lock-defer-timer
Timer for deferred fontification in Just-in-time Lock mode.Vjit-lock-defer-buffers
List of buffers with pending deferred fontification.Vjit-lock-stealth-buffers
List of buffers that are being fontified stealthily.Fjit-lock-mode
Toggle Just-in-time Lock mode.
Turn Just-in-time Lock mode on if and only if ARG is non-nil.
Enable it automatically by customizing group `font-lock'.

When Just-in-time Lock mode is enabled, fontification is different in the
following ways:

- Demand-driven buffer fontification triggered by Emacs C code.
  This means initial fontification of the whole buffer does not occur.
  Instead, fontification occurs when necessary, such as when scrolling
  through the buffer would otherwise reveal unfontified areas.  This is
  useful if buffer fontification is too slow for large buffers.

- Stealthy buffer fontification if `jit-lock-stealth-time' is non-nil.
  This means remaining unfontified areas of buffers are fontified if Emacs has
  been idle for `jit-lock-stealth-time' seconds, while Emacs remains idle.
  This is useful if any buffer has any deferred fontification.

- Deferred context fontification if `jit-lock-contextually' is
  non-nil.  This means fontification updates the buffer corresponding to
  true syntactic context, after `jit-lock-context-time' seconds of Emacs
  idle time, while Emacs remains idle.  Otherwise, fontification occurs
  on modified lines only, and subsequent lines can remain fontified
  corresponding to previous syntactic contexts.  This is useful where
  strings or comments span lines.

Stealth fontification only occurs while the system remains unloaded.
If the system load rises above `jit-lock-stealth-load' percent, stealth
fontification is suspended.  Stealth fontification intensity is controlled via
the variable `jit-lock-stealth-nice'.Fjit-lock-register
Register FUN as a fontification function to be called in this buffer.
FUN will be called with two arguments START and END indicating the region
that needs to be (re)fontified.
If non-nil, CONTEXTUAL means that a contextual fontification would be useful.Fjit-lock-unregister
Unregister FUN as a fontification function.
Only applies to the current buffer.Fjit-lock-refontify
Force refontification of the region BEG..END (default whole buffer).Fjit-lock-function
Fontify current buffer starting at position START.
This function is added to `fontification-functions' when `jit-lock-mode'
is active.Fjit-lock-fontify-now
Fontify current buffer from START to END.
Defaults to the whole buffer.  END can be out of bounds.Fjit-lock-force-redisplay
Force the display engine to re-render buffer BUF from START to END.Fjit-lock-stealth-chunk-start
Return the start of the next chunk to fontify around position AROUND.
Value is nil if there is nothing more to fontify.Fjit-lock-stealth-fontify
Fontify buffers stealthily.
This function is called repeatedly after Emacs has become idle for
`jit-lock-stealth-time' seconds.  Optional argument REPEAT is expected
non-nil in a repeated invocation of this function.Fjit-lock-deferred-fontify
Fontify what was deferred.Fjit-lock-context-fontify
Refresh fontification to take new context into account.Vjit-lock-after-change-extend-region-functions
Hook that can extend the text to refontify after a change.
This is run after every buffer change.  The functions are called with
the three arguments of `after-change-functions': START END OLD-LEN.
The extended region to refontify is returned indirectly by modifying
the variables `jit-lock-start' and `jit-lock-end'.

Note that extending the region this way is not strictly necessary, except
that the nature of the redisplay code tends to otherwise leave some of
the rehighlighted text displayed with the old highlight until the next
redisplay (see comment about repeated redisplay in `jit-lock-fontify-now').Fjit-lock-after-change
Mark the rest of the buffer as not fontified after a change.
Installed on `after-change-functions'.
START and END are the start and end of the changed text.  OLD-LEN
is the pre-change length.
This function ensures that lines following the change will be refontified
in case the syntax of those lines has changed.  Refontification
will take place when text is fontified stealthily.Smouse.elc
Fpopup-menu
Popup the given menu and call the selected option.
MENU can be a keymap, an easymenu-style menu or a list of keymaps as for
`x-popup-menu'.
The menu is shown at the place where POSITION specifies. About
the form of POSITION, see `popup-menu-normalize-position'.
PREFIX is the prefix argument (if any) to pass to the command.

(fn MENU &optional POSITION PREFIX)Fpopup-menu-normalize-position
Convert the POSITION to the form which `popup-menu' expects internally.
POSITION can an event, a posn- value, a value having
form ((XOFFSET YOFFSET) WINDOW), or nil.
If nil, the current mouse position is used.

(fn POSITION)Fminor-mode-menu-from-indicator
Show menu for minor mode specified by INDICATOR.
Interactively, INDICATOR is read using completion.
If there is no menu defined for the minor mode, then create one with
items `Turn Off' and `Help'.

(fn INDICATOR)Fmouse-minor-mode-menu
Show minor-mode menu for EVENT on minor modes area of the mode line.

(fn EVENT)Fmouse-menu-non-singleton
Return menu keybar MENUBAR, or a lone submenu inside it.
If MENUBAR defines exactly one submenu, return just that submenu.
Otherwise, return MENUBAR.

(fn MENUBAR)Fmouse-menu-bar-map
Return a keymap equivalent to the menu bar.
The contents are the items that would be in the menu bar whether or
not it is actually displayed.

(fn)Fmouse-major-mode-menu
Pop up a mode-specific menu of mouse commands.
Default to the Edit menu if the major mode doesn't define a menu.

(fn EVENT &optional PREFIX)Fmouse-popup-menubar
Pop up a menu equivalent to the menu bar for keyboard EVENT with PREFIX.
The contents are the items that would be in the menu bar whether or
not it is actually displayed.

(fn EVENT PREFIX)Fmouse-popup-menubar-stuff
Popup a menu like either `mouse-major-mode-menu' or `mouse-popup-menubar'.
Use the former if the menu bar is showing, otherwise the latter.

(fn EVENT PREFIX)Fmouse-delete-window
Delete the window you click on.
Do nothing if the frame has just one window.
This command must be bound to a mouse click.

(fn CLICK)Fmouse-select-window
Select the window clicked on; don't move point.

(fn CLICK)Fmouse-tear-off-window
Delete the window clicked on, and create a new frame displaying its buffer.

(fn CLICK)Fmouse-delete-other-windows
Delete all windows except the one you click on.

(fn)Fmouse-split-window-vertically
Select Emacs window mouse is on, then split it vertically in half.
The window is split at the line clicked on.
This command must be bound to a mouse click.

(fn CLICK)Fmouse-split-window-horizontally
Select Emacs window mouse is on, then split it horizontally in half.
The window is split at the column clicked on.
This command must be bound to a mouse click.

(fn CLICK)Fmouse-drag-line
Drag a mode line, header line, or vertical line with the mouse.
START-EVENT is the starting mouse-event of the drag action.  LINE
must be one of the symbols `header', `mode', or `vertical'.

(fn START-EVENT LINE)Fmouse-drag-mode-line
Change the height of a window by dragging on the mode line.

(fn START-EVENT)Fmouse-drag-header-line
Change the height of a window by dragging on the header line.

(fn START-EVENT)Fmouse-drag-vertical-line
Change the width of a window by dragging on the vertical line.

(fn START-EVENT)Fmouse-set-point
Move point to the position clicked on with the mouse.
This should be bound to a mouse click event type.

(fn EVENT)Fmouse-region-match
Return non-nil if there's an active region that was set with the mouse.

(fn)Fmouse-set-region
Set the region to the text dragged over, and copy to kill ring.
This should be bound to a mouse drag event.
See the `mouse-drag-copy-region' variable to control whether this
command alters the kill ring or not.

(fn CLICK)Fmouse-scroll-subr
Scroll the window WINDOW, JUMP lines at a time, until new input arrives.
If OVERLAY is an overlay, let it stretch from START to the far edge of
the newly visible text.
Upon exit, point is at the far edge of the newly visible text.

(fn WINDOW JUMP &optional OVERLAY START)Fmouse-drag-region
Set the region to the text that the mouse is dragged over.
Highlight the drag area as you move the mouse.
This must be bound to a button-down mouse event.
In Transient Mark mode, the highlighting remains as long as the mark
remains active.  Otherwise, it remains until the next input event.

If the click is in the echo area, display the `*Messages*' buffer.

(fn START-EVENT)Fmouse-posn-property
Look for a property at click position.
POS may be either a buffer position or a click position like
those returned from `event-start'.  If the click position is on
a string, the text property PROPERTY is examined.
If this is nil or the click is not on a string, then
the corresponding buffer position is searched for PROPERTY.
If PROPERTY is encountered in one of those places,
its value is returned.

(fn POS PROPERTY)Fmouse-on-link-p
Return non-nil if POS is on a link in the current buffer.
POS must be a buffer position in the current buffer or a mouse
event location in the selected window (see `event-start').
However, if `mouse-1-click-in-non-selected-windows' is non-nil,
POS may be a mouse event location in any window.

A clickable link is identified by one of the following methods:

- If the character at POS has a non-nil `follow-link' text or
overlay property, the value of that property determines what to do.

- If there is a local key-binding or a keybinding at position POS
for the `follow-link' event, the binding of that event determines
what to do.

The resulting value determine whether POS is inside a link:

- If the value is `mouse-face', POS is inside a link if there
is a non-nil `mouse-face' property at POS.  Return t in this case.

- If the value is a function, FUNC, POS is inside a link if
the call (FUNC POS) returns non-nil.  Return the return value
from that call.  Arg is (posn-point POS) if POS is a mouse event.

- Otherwise, return the value itself.

The return value is interpreted as follows:

- If it is a string, the mouse-1 event is translated into the
first character of the string, i.e. the action of the mouse-1
click is the local or global binding of that character.

- If it is a vector, the mouse-1 event is translated into the
first element of that vector, i.e. the action of the mouse-1
click is the local or global binding of that event.

- Otherwise, the mouse-1 event is translated into a mouse-2 event
at the same position.

(fn POS)Fmouse-fixup-help-message
Fix help message MSG for `mouse-1-click-follows-link'.

(fn MSG)Fmouse-drag-track
Track mouse drags by highlighting area between point and cursor.
The region will be defined with mark and point.
DO-MOUSE-DRAG-REGION-POST-PROCESS should only be used by
`mouse-drag-region'.

(fn START-EVENT &optional DO-MOUSE-DRAG-REGION-POST-PROCESS)Fmouse-skip-word
Skip over word, over whitespace, or over identical punctuation.
If DIR is positive skip forward; if negative, skip backward.

(fn DIR)Fmouse-start-end
Return a list of region bounds based on START and END according to MODE.
If MODE is 0 then set point to (min START END), mark to (max START END).
If MODE is 1 then set point to start of word at (min START END),
mark to end of word at (max START END).
If MODE is 2 then do the same for lines.

(fn START END MODE)Fmouse-set-mark
Set mark at the position clicked on with the mouse.
Display cursor at that position for a second.
This must be bound to a mouse click.

(fn CLICK)Fmouse-kill
Kill the region between point and the mouse click.
The text is saved in the kill ring, as with \[kill-region].

(fn CLICK)Fmouse-yank-at-click
Insert the last stretch of killed text at the position clicked on.
Also move point to one end of the text thus inserted (normally the end),
and set mark at the beginning.
Prefix arguments are interpreted as with \[yank].
If `mouse-yank-at-point' is non-nil, insert at point
regardless of where you click.

(fn CLICK ARG)Fmouse-yank-primary
Insert the primary selection at the position clicked on.
Move point to the end of the inserted text, and set mark at
beginning.  If `mouse-yank-at-point' is non-nil, insert at point
regardless of where you click.

(fn CLICK)Fmouse-kill-ring-save
Copy the region between point and the mouse click in the kill ring.
This does not delete the region; it acts like \[kill-ring-save].

(fn CLICK)Fmouse-save-then-kill
Set the region according to CLICK; the second time, kill it.
CLICK should be a mouse click event.

If the region is inactive, activate it temporarily.  Set mark at
the original point, and move point to the position of CLICK.

If the region is already active, adjust it.  Normally, do this by
moving point or mark, whichever is closer, to CLICK.  But if you
have selected whole words or lines, move point or mark to the
word or line boundary closest to CLICK instead.

If `mouse-drag-copy-region' is non-nil, this command also saves the
new region to the kill ring (replacing the previous kill if the
previous region was just saved to the kill ring).

If this command is called a second consecutive time with the same
CLICK position, kill the region (or delete it
if `mouse-drag-copy-region' is non-nil)

(fn CLICK)Vmouse-secondary-overlay
An overlay which records the current secondary selection.
It is deleted when there is no secondary selection.Fmouse-start-secondary
Set one end of the secondary selection to the position clicked on.
Use \[mouse-secondary-save-then-kill] to set the other end
and complete the secondary selection.

(fn CLICK)Fmouse-set-secondary
Set the secondary selection to the text that the mouse is dragged over.
This must be bound to a mouse drag event.

(fn CLICK)Fmouse-drag-secondary
Set the secondary selection to the text that the mouse is dragged over.
Highlight the drag area as you move the mouse.
This must be bound to a button-down mouse event.
The function returns a non-nil value if it creates a secondary selection.

(fn START-EVENT)Fmouse-yank-secondary
Insert the secondary selection at the position clicked on.
Move point to the end of the inserted text.
If `mouse-yank-at-point' is non-nil, insert at point
regardless of where you click.

(fn CLICK)Fmouse-kill-secondary
Kill the text in the secondary selection.
This is intended more as a keyboard command than as a mouse command
but it can work as either one.

The current buffer (in case of keyboard use), or the buffer clicked on,
must be the one that the secondary selection is in.  This requirement
is to prevent accidents.

(fn)Fmouse-secondary-save-then-kill
Set the secondary selection and save it to the kill ring.
The second time, kill it.  CLICK should be a mouse click event.

If you have not called `mouse-start-secondary' in the clicked
buffer, activate the secondary selection and set it between point
and the click position CLICK.

Otherwise, adjust the bounds of the secondary selection.
Normally, do this by moving its beginning or end, whichever is
closer, to CLICK.  But if you have selected whole words or lines,
adjust to the word or line boundary closest to CLICK instead.

If this command is called a second consecutive time with the same
CLICK position, kill the secondary selection.

(fn CLICK)Vmouse-buffer-menu-mode-groups
How to group various major modes together in \[mouse-buffer-menu].
Each element has the form (REGEXP . GROUPNAME).
If the major mode's name string matches REGEXP, use GROUPNAME instead.Fmouse-buffer-menu
Pop up a menu of buffers for selection with the mouse.
This switches buffers in the window that you clicked on,
and selects that window.

(fn EVENT)Vx-fixed-font-alist
X fonts suitable for use in Emacs.Fmouse-select-font
Prompt for a font name, using `x-popup-menu', and return it.

(fn)Fmouse-set-font
Set the default font for the selected frame.
The argument FONTS is a list of font names; the first valid font
in this list is used.

When called interactively, pop up a menu and allow the user to
choose a font.

(fn &rest FONTS)Fmouse-appearance-menu
Show a menu for changing the default face in the current buffer.

(fn EVENT)Sscroll-bar.elc
Fscroll-bar-event-ratio
Given a scroll bar event EVENT, return the scroll bar position as a ratio.
The value is a cons cell (PORTION . WHOLE) containing two integers
whose ratio gives the event's vertical position in the scroll bar, with 0
referring to the top and 1 to the bottom.Fscroll-bar-scale
Given a pair (NUM . DENOM) and WHOLE, return (/ (* NUM WHOLE) DENOM).
This is handy for scaling a position on a scroll bar into real units,
like buffer positions.  If SCROLL-BAR-POS is the (PORTION . WHOLE) pair
from a scroll bar event, then (scroll-bar-scale SCROLL-BAR-POS
(buffer-size)) is the position in the current buffer corresponding to
that scroll bar position.Fscroll-bar-columns
Return the width, measured in columns, of the vertical scrollbar on SIDE.
SIDE must be the symbol `left' or `right'.Vscroll-bar-mode-explicit
Non-nil means `set-scroll-bar-mode' should really do something.
This is nil while loading `scroll-bar.el', and t afterward.Fset-scroll-bar-mode
Set the scroll bar mode to VALUE and put the new value into effect.
See the `scroll-bar-mode' variable for possible values to use.Fscroll-bar-mode
Toggle vertical scroll bars on all frames (Scroll Bar mode).
With a prefix argument ARG, enable Scroll Bar mode if ARG is
positive, and disable it otherwise.  If called from Lisp, enable
the mode if ARG is omitted or nil.

This command applies to all frames that exist and frames to be
created in the future.Ftoggle-scroll-bar
Toggle whether or not the selected frame has vertical scroll bars.
With arg, turn vertical scroll bars on if and only if arg is positive.
The variable `scroll-bar-mode' controls which side the scroll bars are on
when they are turned on; if it is nil, they go on the left.Ftoggle-horizontal-scroll-bar
Toggle whether or not the selected frame has horizontal scroll bars.
With arg, turn horizontal scroll bars on if and only if arg is positive.
Horizontal scroll bars aren't implemented yet.Fscroll-bar-set-window-start
Set the window start according to where the scroll bar is dragged.
EVENT should be a scroll bar click or drag event.Fscroll-bar-drag-position
Calculate new window start for drag event.Fscroll-bar-maybe-set-window-start
Set the window start according to where the scroll bar is dragged.
Only change window start if the new start is substantially different.
EVENT should be a scroll bar click or drag event.Fscroll-bar-drag
Scroll the window by dragging the scroll bar slider.
If you click outside the slider, the window scrolls to bring the slider there.Fscroll-bar-scroll-down
Scroll the window's top line down to the location of the scroll bar click.
EVENT should be a scroll bar click.Fscroll-bar-scroll-up
Scroll the line next to the scroll bar click to the top of the window.
EVENT should be a scroll bar click.Sselect.elc
Vselection-coding-system
Coding system for communicating with other programs.

For MS-Windows and MS-DOS:
When sending or receiving text via selection and clipboard, the text
is encoded or decoded by this coding system.  The default value is
the current system default encoding on 9x/Me, `utf-16le-dos'
(Unicode) on NT/W2K/XP, and `iso-latin-1-dos' on MS-DOS.

For X Windows:
When sending text via selection and clipboard, if the target
data-type matches with the type of this coding system, it is used
for encoding the text.  Otherwise (including the case that this
variable is nil), a proper coding system is used as below:

data-type	coding system
---------	-------------
UTF8_STRING	utf-8
COMPOUND_TEXT	compound-text-with-extensions
STRING		iso-latin-1
C_STRING	no-conversion

When receiving text, if this coding system is non-nil, it is used
for decoding regardless of the data-type.  If this is nil, a
proper coding system is used according to the data-type as above.

See also the documentation of the variable `x-select-request-type' how
to control which data-type to request for receiving text.

The default value is nil.Vnext-selection-coding-system
Coding system for the next communication with other programs.
Usually, `selection-coding-system' is used for communicating with
other programs (X Windows clients or MS Windows programs).  But, if this
variable is set, it is used for the next communication only.
After the communication, this variable is set to nil.Fx-get-selection
Return the value of an X Windows selection.
The argument TYPE (default `PRIMARY') says which selection,
and the argument DATA-TYPE (default `STRING') says
how to convert the data.

TYPE may be any symbol (but nil stands for `PRIMARY').  However,
only a few symbols are commonly used.  They conventionally have
all upper-case names.  The most often used ones, in addition to
`PRIMARY', are `SECONDARY' and `CLIPBOARD'.

DATA-TYPE is usually `STRING', but can also be one of the symbols
in `selection-converter-alist', which see.Fx-get-clipboard
Return text pasted to the clipboard.Fx-set-selection
Make an X selection of type TYPE and value DATA.
The argument TYPE (nil means `PRIMARY') says which selection, and
DATA specifies the contents.  TYPE must be a symbol.  (It can also
be a string, which stands for the symbol with that name, but this
is considered obsolete.)  DATA may be a string, a symbol, an
integer (or a cons of two integers or list of two integers).

The selection may also be a cons of two markers pointing to the same buffer,
or an overlay.  In these cases, the selection is considered to be the text
between the markers *at whatever time the selection is examined*.
Thus, editing done in the buffer after you specify the selection
can alter the effective value of the selection.

The data may also be a vector of valid non-vector selection values.

The return value is DATA.

Interactively, this command sets the primary selection.  Without
prefix argument, it reads the selection in the minibuffer.  With
prefix argument, it uses the text of the region as the selection value.

Note that on MS-Windows, primary and secondary selections set by Emacs
are not available to other programs.Fxselect--selection-bounds
Return bounds of X selection value VALUE.
The return value is a list (BEG END BUF) if VALUE is a cons of
two markers or an overlay.  Otherwise, it is nil.Fxselect-convert-to-class
Convert selection to class.
This function returns the string "Emacs".Fxselect-convert-to-name
Convert selection to name.
This function returns the string "emacs".Stimer.elc
Ftimerp
Return t if OBJECT is a timer.Ftimer-set-time
Set the trigger time of TIMER to TIME.
TIME must be in the internal format returned by, e.g., `current-time'.
If optional third argument DELTA is a positive number, make the timer
fire repeatedly that many seconds apart.Ftimer-set-idle-time
Set the trigger idle time of TIMER to SECS.
SECS may be an integer, floating point number, or the internal
time format returned by, e.g., `current-idle-time'.
If optional third argument REPEAT is non-nil, make the timer
fire each time Emacs is idle for that many seconds.Ftimer-next-integral-multiple-of-time
Yield the next value after TIME that is an integral multiple of SECS.
More precisely, the next value, after TIME, that is an integral multiple
of SECS seconds since the epoch.  SECS may be a fraction.Ftimer-relative-time
Advance TIME by SECS seconds and optionally USECS nanoseconds
and PSECS picoseconds.  SECS may be either an integer or a
floating point number.Ftimer--time-less-p
Say whether time value T1 is less than time value T2.Ftimer-inc-time
Increment the time set in TIMER by SECS seconds, USECS nanoseconds,
and PSECS picoseconds.  SECS may be a fraction.  If USECS or PSECS are
omitted, they are treated as zero.Ftimer-set-time-with-usecs
Set the trigger time of TIMER to TIME plus USECS.
TIME must be in the internal format returned by, e.g., `current-time'.
The microsecond count from TIME is ignored, and USECS is used instead.
If optional fourth argument DELTA is a positive number, make the timer
fire repeatedly that many seconds apart.Ftimer-set-function
Make TIMER call FUNCTION with optional ARGS when triggering.Ftimer-activate
Insert TIMER into `timer-list'.
If TRIGGERED-P is t, make TIMER inactive (put it on the list, but
mark it as already triggered).  To remove it, use `cancel-timer'.

REUSE-CELL, if non-nil, is a cons cell to reuse when inserting
TIMER into `timer-list' (usually a cell removed from that list by
`cancel-timer-internal'; using this reduces consing for repeat
timers).  If nil, allocate a new cell.Ftimer-activate-when-idle
Insert TIMER into `timer-idle-list'.
This arranges to activate TIMER whenever Emacs is next idle.
If optional argument DONT-WAIT is non-nil, set TIMER to activate
immediately (see below), or at the right time, if Emacs is
already idle.

REUSE-CELL, if non-nil, is a cons cell to reuse when inserting
TIMER into `timer-idle-list' (usually a cell removed from that
list by `cancel-timer-internal'; using this reduces consing for
repeat timers).  If nil, allocate a new cell.

Using non-nil DONT-WAIT is not recommended when activating an
idle timer from an idle timer handler, if the timer being
activated has an idleness time that is smaller or equal to
the time of the current timer.  That's because the activated
timer will fire right away.Fcancel-timer
Remove TIMER from the list of active timers.Fcancel-timer-internal
Remove TIMER from the list of active timers or idle timers.
Only to be used in this file.  It returns the cons cell
that was removed from the timer list.Fcancel-function-timers
Cancel all timers which would run FUNCTION.
This affects ordinary timers such as are scheduled by `run-at-time',
and idle timers such as are scheduled by `run-with-idle-timer'.Vtimer-event-last
Last timer that was run.Vtimer-event-last-1
Next-to-last timer that was run.Vtimer-event-last-2
Third-to-last timer that was run.Vtimer-max-repeats
Maximum number of times to repeat a timer, if many repeats are delayed.
Timer invocations can be delayed because Emacs is suspended or busy,
or because the system's time changes.  If such an occurrence makes it
appear that many invocations are overdue, this variable controls
how many will really happen.Ftimer-until
Calculate number of seconds from when TIMER will run, until TIME.
TIMER is a timer, and stands for the time when its next repeat is scheduled.
TIME is a time-list.Ftimer-event-handler
Call the handler for the timer TIMER.
This function is called, by name, directly by the C code.Ftimeout-event-p
Non-nil if EVENT is a timeout event.Frun-at-time
Perform an action at time TIME.
Repeat the action every REPEAT seconds, if REPEAT is non-nil.
TIME should be one of: a string giving an absolute time like
"11:23pm" (the acceptable formats are those recognized by
`diary-entry-time'; note that such times are interpreted as times
today, even if in the past); a string giving a relative time like
"2 hours 35 minutes" (the acceptable formats are those
recognized by `timer-duration'); nil meaning now; a number of
seconds from now; a value from `encode-time'; or t (with non-nil
REPEAT) meaning the next integral multiple of REPEAT.  REPEAT may
be an integer or floating point number.  The action is to call
FUNCTION with arguments ARGS.

This function returns a timer object which you can use in `cancel-timer'.Frun-with-timer
Perform an action after a delay of SECS seconds.
Repeat the action every REPEAT seconds, if REPEAT is non-nil.
SECS and REPEAT may be integers or floating point numbers.
The action is to call FUNCTION with arguments ARGS.

This function returns a timer object which you can use in `cancel-timer'.Fadd-timeout
Add a timer to run SECS seconds from now, to call FUNCTION on OBJECT.
If REPEAT is non-nil, repeat the timer every REPEAT seconds.
This function is for compatibility; see also `run-with-timer'.Frun-with-idle-timer
Perform an action the next time Emacs is idle for SECS seconds.
The action is to call FUNCTION with arguments ARGS.
SECS may be an integer, a floating point number, or the internal
time format returned by, e.g., `current-idle-time'.
If Emacs is currently idle, and has been idle for N seconds (N < SECS),
then it will call FUNCTION in SECS - N seconds from now.  Using
SECS <= N is not recommended if this function is invoked from an idle
timer, because FUNCTION will then be called immediately.

If REPEAT is non-nil, do the action each time Emacs has been idle for
exactly SECS seconds (that is, only once for each time Emacs becomes idle).

This function returns a timer object which you can use in `cancel-timer'.Vwith-timeout-timers
List of all timers used by currently pending `with-timeout' calls.Fwith-timeout
Run BODY, but if it doesn't finish in SECONDS seconds, give up.
If we give up, we run the TIMEOUT-FORMS and return the value of the last one.
The timeout is checked whenever Emacs waits for some kind of external
event (such as keyboard input, input from subprocesses, or a certain time);
if the program loops without waiting in any way, the timeout will not
be detected.

(fn (SECONDS TIMEOUT-FORMS...) BODY)Fwith-timeout-suspend
Stop the clock for `with-timeout'.  Used by debuggers.
The idea is that the time you spend in the debugger should not
count against these timeouts.

The value is a list that the debugger can pass to `with-timeout-unsuspend'
when it exits, to make these timers start counting again.Fwith-timeout-unsuspend
Restart the clock for `with-timeout'.
The argument should be a value previously returned by `with-timeout-suspend'.Fy-or-n-p-with-timeout
Like (y-or-n-p PROMPT), with a timeout.
If the user does not answer after SECONDS seconds, return DEFAULT-VALUE.Vtimer-duration-words
Alist mapping temporal words to durations in seconds.Ftimer-duration
Return number of seconds specified by STRING, or nil if parsing fails.Sisearch.elc
Visearch-mode-hook
Function(s) to call after starting up an incremental search.Visearch-update-post-hook
Function(s) to call after isearch has found matches in the buffer.Visearch-mode-end-hook
Function(s) to call after terminating an incremental search.
When these functions are called, `isearch-mode-end-hook-quit'
is non-nil if the user quits the search.Visearch-mode-end-hook-quit
Non-nil while running `isearch-mode-end-hook' if the user quits the search.Visearch-message-function
Function to call to display the search prompt.
If nil, use `isearch-message'.Visearch-wrap-function
Function to call to wrap the search when search is failed.
If nil, move point to the beginning of the buffer for a forward search,
or to the end of the buffer for a backward search.Visearch-push-state-function
Function to save a function restoring the mode-specific Isearch state
to the search status stack.Visearch-filter-predicate
Predicate that filters the search hits that would normally be available.
Search hits that dissatisfy the predicate are skipped.  The function
has two arguments: the positions of start and end of text matched by
the search.  If this function returns nil, continue searching without
stopping at this match.Vsearch-ring
List of search string sequences.Vregexp-search-ring
List of regular expression search string sequences.Vsearch-ring-yank-pointer
Index in `search-ring' of last string reused.
It is nil if none yet.Vregexp-search-ring-yank-pointer
Index in `regexp-search-ring' of last string reused.
It is nil if none yet.Visearch-help-map
Keymap for characters following the Help key for Isearch mode.Fisearch-help-for-help-internal-doc
You have typed %THIS-KEY%, the help character.  Type a Help option:
(Type \<help-map>\[help-quit] to exit the Help command.)

b           Display all Isearch key bindings.
k KEYS      Display full documentation of Isearch key sequence.
m           Display documentation of Isearch mode.

You can't type here other help keys available in the global help map,
but outside of this help window when you type them in Isearch mode,
they exit Isearch mode before displaying global help.Fisearch-help-for-help-internal
Help command.Fisearch-help-for-help
Display Isearch help menu.Fisearch-describe-bindings
Show a list of all keys defined in Isearch mode, and their definitions.
This is like `describe-bindings', but displays only Isearch keys.Fisearch-describe-key
Display documentation of the function invoked by isearch key.Fisearch-describe-mode
Display documentation of Isearch mode.Visearch-mode-map
Keymap for `isearch-mode'.Vminibuffer-local-isearch-map
Keymap for editing Isearch strings in the minibuffer.Visearch-word
Regexp-based search mode for words/symbols.
If t, do incremental search for a sequence of words, ignoring punctuation.
If the value is a function (e.g. `isearch-symbol-regexp'), it is called to
convert the search string to a regexp used by regexp search functions.
The property `isearch-message-prefix' put on this function specifies the
prefix string displayed in the search message.Visearch-lax-whitespace
If non-nil, a space will match a sequence of whitespace chars.
When you enter a space or spaces in ordinary incremental search, it
will match any sequence matched by the regexp defined by the variable
`search-whitespace-regexp'.  If the value is nil, each space you type
matches literally, against one space.  You can toggle the value of this
variable by the command `isearch-toggle-lax-whitespace'.Visearch-regexp-lax-whitespace
If non-nil, a space will match a sequence of whitespace chars.
When you enter a space or spaces in regexp incremental search, it
will match any sequence matched by the regexp defined by the variable
`search-whitespace-regexp'.  If the value is nil, each space you type
matches literally, against one space.  You can toggle the value of this
variable by the command `isearch-toggle-lax-whitespace'.Visearch-cmds
Stack of search status sets.
Each set is a vector of the form:
 [STRING MESSAGE POINT SUCCESS FORWARD OTHER-END WORD
  INVALID-REGEXP WRAPPED BARRIER WITHIN-BRACKETS CASE-FOLD-SEARCH]Visearch-barrier
Recorded minimum/maximal point for the current search.Fisearch-forward
Do incremental search forward.
With a prefix argument, do an incremental regular expression search instead.
\<isearch-mode-map>
As you type characters, they add to the search string and are found.
The following non-printing keys are bound in `isearch-mode-map'.

Type \[isearch-delete-char] to cancel last input item from end of search string.
Type \[isearch-exit] to exit, leaving point at location found.
Type LFD (C-j) to match end of line.
Type \[isearch-repeat-forward] to search again forward, \[isearch-repeat-backward] to search again backward.
Type \[isearch-yank-word-or-char] to yank next word or character in buffer
  onto the end of the search string, and search for it.
Type \[isearch-del-char] to delete character from end of search string.
Type \[isearch-yank-char] to yank char from buffer onto end of search string and search for it.
Type \[isearch-yank-line] to yank rest of line onto end of search string and search for it.
Type \[isearch-yank-kill] to yank the last string of killed text.
Type \[isearch-yank-pop] to replace string just yanked into search prompt
 with string killed before it.
Type \[isearch-quote-char] to quote control character to search for it.
\[isearch-abort] while searching or when search has failed cancels input back to what has
 been found successfully.
\[isearch-abort] when search is successful aborts and moves point to starting point.

If you try to exit with the search string still empty, it invokes
 nonincremental search.

Type \[isearch-toggle-case-fold] to toggle search case-sensitivity.
Type \[isearch-toggle-regexp] to toggle regular-expression mode.
Type \[isearch-toggle-word] to toggle word mode.
Type \[isearch-toggle-symbol] to toggle symbol mode.

Type \[isearch-toggle-lax-whitespace] to toggle whitespace matching.
In incremental searches, a space or spaces normally matches any whitespace
defined by the variable `search-whitespace-regexp'; see also the variables
`isearch-lax-whitespace' and `isearch-regexp-lax-whitespace'.

Type \[isearch-edit-string] to edit the search string in the minibuffer.

Also supported is a search ring of the previous 16 search strings.
Type \[isearch-ring-advance] to search for the next item in the search ring.
Type \[isearch-ring-retreat] to search for the previous item in the search ring.
Type \[isearch-complete] to complete the search string using the search ring.

Type \[isearch-query-replace] to run `query-replace' with string to replace from last search string.
Type \[isearch-query-replace-regexp] to run `query-replace-regexp' with the last search string.
Type \[isearch-occur] to run `occur' that shows the last search string.
Type \[isearch-highlight-regexp] to run `highlight-regexp' that highlights the last search string.

Type \[isearch-describe-bindings] to display all Isearch key bindings.
Type \[isearch-describe-key] to display documentation of Isearch key.
Type \[isearch-describe-mode] to display documentation of Isearch mode.

If an input method is turned on in the current buffer, that input
method is also active while you are typing characters to search.
To toggle the input method, type \[isearch-toggle-input-method].  It also toggles the input
method in the current buffer.

To use a different input method for searching, type \[isearch-toggle-specified-input-method],
and specify an input method you want to use.

The above keys, bound in `isearch-mode-map', are often controlled by
 options; do \[apropos] on search-.* to find them.
Other control and meta characters terminate the search
 and are then executed normally (depending on `search-exit-option').
Likewise for function keys and mouse button events.

If this function is called non-interactively, it does not return to
the calling function until the search is done.Fisearch-forward-regexp
Do incremental search forward for regular expression.
With a prefix argument, do a regular string search instead.
Like ordinary incremental search except that your input is treated
as a regexp.  See the command `isearch-forward' for more information.

In incremental searches, a space or spaces normally matches any
whitespace defined by the variable `search-whitespace-regexp'.
To search for a literal space and nothing else, enter C-q SPC.
To toggle whitespace matching, use `isearch-toggle-lax-whitespace'.Fisearch-forward-word
Do incremental search forward for a sequence of words.
With a prefix argument, do a regular string search instead.
Like ordinary incremental search except that your input is treated
as a sequence of words without regard to how the words are separated.
See the command `isearch-forward' for more information.Fisearch-forward-symbol
Do incremental search forward for a symbol.
The prefix argument is currently unused.
Like ordinary incremental search except that your input is treated
as a symbol surrounded by symbol boundary constructs \_< and \_>.
See the command `isearch-forward' for more information.Fisearch-backward
Do incremental search backward.
With a prefix argument, do a regular expression search instead.
See the command `isearch-forward' for more information.Fisearch-backward-regexp
Do incremental search backward for regular expression.
With a prefix argument, do a regular string search instead.
Like ordinary incremental search except that your input is treated
as a regexp.  See the command `isearch-forward' for more information.Fisearch-mode
Start Isearch minor mode.
It is called by the function `isearch-forward' and other related functions.Fisearch-update
This is called after every isearch command to update the display.
The last thing it does is to run `isearch-update-post-hook'.Fisearch-done
Exit Isearch mode.
For successful search, pass no args.
For a failing search, NOPUSH is t.
For going to the minibuffer to edit the search string,
NOPUSH is t and EDIT is t.Fisearch-update-ring
Add STRING to the beginning of the search ring.
REGEXP if non-nil says use the regexp search ring.Fisearch--get-state


(fn &aux (STRING isearch-string) (MESSAGE isearch-message) (POINT (point)) (SUCCESS isearch-success) (FORWARD isearch-forward) (OTHER-END isearch-other-end) (WORD isearch-word) (ERROR isearch-error) (WRAPPED isearch-wrapped) (BARRIER isearch-barrier) (CASE-FOLD-SEARCH isearch-case-fold-search) (POP-FUN (if isearch-push-state-function (funcall isearch-push-state-function))))Fisearch-exit
Exit search normally.
However, if this is the first command after starting incremental
search and `search-nonincremental-instead' is non-nil, do a
nonincremental search instead via `isearch-edit-string'.Fisearch-fail-pos
Return position of first mismatch in search string, or nil if none.
If MSG is non-nil, use `isearch-message', otherwise `isearch-string'.Fisearch-edit-string
Edit the search string in the minibuffer.
The following additional command keys are active while editing.
\<minibuffer-local-isearch-map>
\[exit-minibuffer] to resume incremental searching with the edited string.
\[isearch-nonincremental-exit-minibuffer] to do one nonincremental search.
\[isearch-forward-exit-minibuffer] to resume isearching forward.
\[isearch-reverse-exit-minibuffer] to resume isearching backward.
\[isearch-complete-edit] to complete the search string using the search ring.Fisearch-cancel
Terminate the search and go back to the starting point.Fisearch-abort
Abort incremental search mode if searching is successful, signaling quit.
Otherwise, revert to previous successful search and continue searching.
Use `isearch-exit' to quit without signaling.Fisearch-repeat-forward
Repeat incremental search forwards.Fisearch-repeat-backward
Repeat incremental search backwards.Fisearch-toggle-regexp
Toggle regexp searching on or off.Fisearch-toggle-word
Toggle word searching on or off.Fisearch-toggle-symbol
Toggle symbol searching on or off.Fisearch-toggle-lax-whitespace
Toggle whitespace matching in searching on or off.
In ordinary search, toggles the value of the variable
`isearch-lax-whitespace'.  In regexp search, toggles the
value of the variable `isearch-regexp-lax-whitespace'.Fisearch-toggle-case-fold
Toggle case folding in searching on or off.Fword-search-regexp
Return a regexp which matches words, ignoring punctuation.
Given STRING, a string of words separated by word delimiters,
compute a regexp that matches those exact words separated by
arbitrary punctuation.  If LAX is non-nil, the end of the string
need not match a word boundary unless it ends in whitespace.

Used in `word-search-forward', `word-search-backward',
`word-search-forward-lax', `word-search-backward-lax'.Fword-search-backward
Search backward from point for STRING, ignoring differences in punctuation.
Set point to the beginning of the occurrence found, and return point.
An optional second argument bounds the search; it is a buffer position.
The match found must not extend before that position.
Optional third argument, if t, means if fail just return nil (no error).
  If not nil and not t, move to limit of search and return nil.
Optional fourth argument is repeat count--search for successive occurrences.

Relies on the function `word-search-regexp' to convert a sequence
of words in STRING to a regexp used to search words without regard
to punctuation.Fword-search-forward
Search forward from point for STRING, ignoring differences in punctuation.
Set point to the end of the occurrence found, and return point.
An optional second argument bounds the search; it is a buffer position.
The match found must not extend after that position.
Optional third argument, if t, means if fail just return nil (no error).
  If not nil and not t, move to limit of search and return nil.
Optional fourth argument is repeat count--search for successive occurrences.

Relies on the function `word-search-regexp' to convert a sequence
of words in STRING to a regexp used to search words without regard
to punctuation.Fword-search-backward-lax
Search backward from point for STRING, ignoring differences in punctuation.
Set point to the beginning of the occurrence found, and return point.

Unlike `word-search-backward', the end of STRING need not match a word
boundary, unless STRING ends in whitespace.

An optional second argument bounds the search; it is a buffer position.
The match found must not extend before that position.
Optional third argument, if t, means if fail just return nil (no error).
  If not nil and not t, move to limit of search and return nil.
Optional fourth argument is repeat count--search for successive occurrences.

Relies on the function `word-search-regexp' to convert a sequence
of words in STRING to a regexp used to search words without regard
to punctuation.Fword-search-forward-lax
Search forward from point for STRING, ignoring differences in punctuation.
Set point to the end of the occurrence found, and return point.

Unlike `word-search-forward', the end of STRING need not match a word
boundary, unless STRING ends in whitespace.

An optional second argument bounds the search; it is a buffer position.
The match found must not extend after that position.
Optional third argument, if t, means if fail just return nil (no error).
  If not nil and not t, move to limit of search and return nil.
Optional fourth argument is repeat count--search for successive occurrences.

Relies on the function `word-search-regexp' to convert a sequence
of words in STRING to a regexp used to search words without regard
to punctuation.Fisearch-symbol-regexp
Return a regexp which matches STRING as a symbol.
Creates a regexp where STRING is surrounded by symbol delimiters \_< and \_>.
If LAX is non-nil, the end of the string need not match a symbol boundary.Fsearch-forward-lax-whitespace
Search forward for STRING, matching a sequence of whitespace chars.Fsearch-backward-lax-whitespace
Search backward for STRING, matching a sequence of whitespace chars.Fre-search-forward-lax-whitespace
Search forward for REGEXP, matching a sequence of whitespace chars.Fre-search-backward-lax-whitespace
Search backward for REGEXP, matching a sequence of whitespace chars.Fisearch-query-replace
Start `query-replace' with string to replace from last search string.
The arg DELIMITED (prefix arg if interactive), if non-nil, means replace
only matches surrounded by word boundaries.  Note that using the prefix arg
is possible only when `isearch-allow-scroll' is non-nil, and it doesn't
always provide the correct matches for `query-replace', so the preferred
way to run word replacements from Isearch is `M-s w ... M-%'.Fisearch-query-replace-regexp
Start `query-replace-regexp' with string to replace from last search string.
See `isearch-query-replace' for more information.Fisearch-occur
Run `occur' using the last search string as the regexp.
Interactively, REGEXP is constructed using the search string from the
last search command.  NLINES has the same meaning as in `occur'.

If the last search command was a word search, REGEXP is computed from
the search words, ignoring punctuation.  If the last search
command was a regular expression search, REGEXP is the regular
expression used in that search.  If the last search command searched
for a literal string, REGEXP is constructed by quoting all the special
characters in that string.Fisearch-highlight-regexp
Run `highlight-regexp' with regexp from the current search string.
It exits Isearch mode and calls `hi-lock-face-buffer' with its regexp
argument from the last search regexp or a quoted search string,
and reads its face argument using `hi-lock-read-face-name'.Fisearch-delete-char
Discard last input item and move point back.
If no previous match was done, just beep.Fisearch-del-char
Delete character from end of search string and search again.
If search string is empty, just beep.Fisearch-yank-string
Pull STRING into search string.Fisearch-yank-kill
Pull string from kill ring into search string.Fisearch-yank-pop
Replace just-yanked search string with previously killed string.Fisearch-yank-x-selection
Pull current X selection into search string.Fisearch-mouse-2
Handle mouse-2 in Isearch mode.
For a click in the echo area, invoke `isearch-yank-x-selection'.
Otherwise invoke whatever the calling mouse-2 command sequence
is bound to outside of Isearch.Fisearch-yank-internal
Pull the text from point to the point reached by JUMPFORM.
JUMPFORM is a lambda expression that takes no arguments and returns
a buffer position, possibly having moved point to that position.
For example, it might move point forward by a word and return point,
or it might return the position of the end of the line.Fisearch-yank-char-in-minibuffer
Pull next character from buffer into end of search string in minibuffer.Fisearch-yank-char
Pull next character from buffer into search string.Fisearch-yank-word-or-char
Pull next character, subword or word from buffer into search string.
Subword is used when `subword-mode' is activated. Fisearch-yank-word
Pull next word from buffer into search string.Fisearch-yank-line
Pull rest of line from buffer into search string.Fisearch-backslash
Return t if STR ends in an odd number of backslashes.Fisearch-fallback
Return point to previous successful match to allow regexp liberalization.
\<isearch-mode-map>
Respects \[isearch-repeat-forward] and \[isearch-repeat-backward] by stopping at `isearch-barrier' as needed.

Do nothing if a backslash is escaping the liberalizing character.
If WANT-BACKSLASH is non-nil, invert this behavior (for \} and \|).

Do nothing if regexp has recently been invalid unless optional
ALLOW-INVALID non-nil.

If optional TO-BARRIER non-nil, ignore previous matches and go exactly
to the barrier.Fisearch-unread-key-sequence
Unread the given key-sequence KEYLIST.
Scroll-bar or mode-line events are processed appropriately.Fisearch-string-out-of-window
Test whether the search string is currently outside of the window.
Return nil if it's completely visible, or if point is visible,
together with as much of the search string as will fit; the symbol
`above' if we need to scroll the text downwards; the symbol `below',
if upwards.Fisearch-back-into-window
Scroll the window to bring the search string back into view.
Restore point to ISEARCH-POINT in the process.  ABOVE is t when the
search string is above the top of the window, nil when it is beneath
the bottom.Fisearch-reread-key-sequence-naturally
Reread key sequence KEYLIST with an inactive Isearch-mode keymap.
Return the key sequence as a string/vector.Fisearch-lookup-scroll-key
If KEY-SEQ is bound to a scrolling command, return it as a symbol.
Otherwise return nil.Fisearch-other-meta-char
Process a miscellaneous key sequence in Isearch mode.

Try to convert the current key-sequence to something usable in Isearch
mode, either by converting it with `function-key-map', downcasing a
key with C-<upper case>, or finding a "scrolling command" bound to
it.  (In the last case, we may have to read more events.)  If so,
either unread the converted sequence or execute the command.

Otherwise, if `search-exit-option' is non-nil (the default) unread the
key-sequence and exit the search normally.  If it is the symbol
`edit', the search string is edited in the minibuffer and the meta
character is unread so that it applies to editing the string.

ARG is the prefix argument.  It will be transmitted through to the
scrolling command or to the command whose key-sequence exits
Isearch mode.Fisearch-quote-char
Quote special characters for incremental search.Fisearch-printing-char
Add this ordinary printing character to the search string and search.Fisearch-ring-advance
Advance to the next search string in the ring.Fisearch-ring-retreat
Retreat to the previous search string in the ring.Fisearch-complete
Complete the search string from the strings on the search ring.
The completed string is then editable in the minibuffer.
If there is no completion possible, say so and continue searching.Fisearch-complete-edit
Same as `isearch-complete' except in the minibuffer.Visearch-search-fun-function
Non-default value overrides the behavior of `isearch-search-fun-default'.
This variable's value should be a function, which will be called
with no arguments, and should return a function that takes three
arguments: STRING, BOUND, and NOERROR.

This returned function will be used by `isearch-search-string' to
search for the first occurrence of STRING or its translation.Fisearch-search-fun
Return the function to use for the search.
Can be changed via `isearch-search-fun-function' for special needs.Fisearch-search-fun-default
Return default functions to use for the search.Fisearch-search-string
Search for the first occurrence of STRING or its translation.
If found, move point to the end of the occurrence,
update the match data, and return point.Fisearch-intersects-p
Return t if regions START0..END0 and START1..END1 intersect.Fisearch-range-invisible
Return t if all the text from BEG to END is invisible.Fisearch-filter-visible
Test whether the current search hit is visible at least partially.
Return non-nil if the text from BEG to END is visible to Isearch as
determined by `isearch-range-invisible' unless invisible text can be
searched too when `search-invisible' is t.Fisearch-no-upper-case-p
Return t if there are no upper case chars in STRING.
If REGEXP-FLAG is non-nil, disregard letters preceded by `\' (but not `\\')
since they have special meaning in a regexp.Flazy-highlight-cleanup
Stop lazy highlighting and remove extra highlighting from current buffer.
FORCE non-nil means do it whether or not `lazy-highlight-cleanup'
is nil.  This function is called when exiting an incremental search if
`lazy-highlight-cleanup' is non-nil.Fisearch-lazy-highlight-new-loop
Cleanup any previous `lazy-highlight' loop and begin a new one.
BEG and END specify the bounds within which highlighting should occur.
This is called when `isearch-update' is invoked (which can cause the
search string to change or the window to scroll).  It is also used
by other Emacs features.Fisearch-lazy-highlight-search
Search ahead for the next or previous match, for lazy highlighting.
Attempt to do the search exactly the way the pending Isearch would.Fisearch-lazy-highlight-update
Update highlighting of other matches for current search.Fisearch-resume
Resume an incremental search.
STRING is the string or regexp searched for.
REGEXP non-nil means the resumed search was a regexp search.
WORD non-nil means resume a word search.
FORWARD non-nil means resume a forward search.
MESSAGE is the echo-area message recorded for the search resumed.
CASE-FOLD non-nil means the search was case-insensitive.Srfn-eshadow.elc
Vrfn-eshadow-setup-minibuffer-hook
Minibuffer setup functions from other packages.Vrfn-eshadow-update-overlay-hook
Customer overlay functions from other packagesFrfn-eshadow-setup-minibuffer
Set up a minibuffer for `file-name-shadow-mode'.
The prompt and initial input should already have been inserted.Frfn-eshadow-update-overlay
Update `rfn-eshadow-overlay' to cover shadowed part of minibuffer input.
This is intended to be used as a minibuffer `post-command-hook' for
`file-name-shadow-mode'; the minibuffer should have already
been set up by `rfn-eshadow-setup-minibuffer'.Vfile-name-shadow-mode
Non-nil if File-Name-Shadow mode is enabled.
See the command `file-name-shadow-mode' for a description of this minor mode.
Setting this variable directly does not take effect;
either customize it (see the info node `Easy Customization')
or call the function `file-name-shadow-mode'.Ffile-name-shadow-mode
Toggle file-name shadowing in minibuffers (File-Name Shadow mode).
With a prefix argument ARG, enable File-Name Shadow mode if ARG
is positive, and disable it otherwise.  If called from Lisp,
enable the mode if ARG is omitted or nil.

File-Name Shadow mode is a global minor mode.  When enabled, any
part of a filename being read in the minibuffer that would be
ignored (because the result is passed through
`substitute-in-file-name') is given the properties in
`file-name-shadow-properties', which can be used to make that
portion dim, invisible, or otherwise less visually noticeable.Smenu-bar.elc
Fmenu-find-file-existing
Edit the existing file FILENAME.Vmenu-bar-last-search-type
Type of last non-incremental search command called from the menu.Fnonincremental-repeat-search-forward
Search forward for the previous search string or regexp.Fnonincremental-repeat-search-backward
Search backward for the previous search string or regexp.Fnonincremental-search-forward
Read a string and search for it nonincrementally.Fnonincremental-search-backward
Read a string and search backward for it nonincrementally.Fnonincremental-re-search-forward
Read a regular expression and search for it nonincrementally.Fnonincremental-re-search-backward
Read a regular expression and search backward for it nonincrementally.Fmenu-bar-next-tag-other-window
Find the next definition of the tag already specified.Fmenu-bar-next-tag
Find the next definition of the tag already specified.Fclipboard-yank
Insert the clipboard contents, or the last stretch of killed text.Fclipboard-kill-ring-save
Copy region to kill ring, and save in the X clipboard.Fclipboard-kill-region
Kill the region, and save it in the X clipboard.Fmenu-bar-enable-clipboard
Make CUT, PASTE and COPY (keys and menu bar items) use the clipboard.
Do the same for the keys of the same name.Fmenu-bar-make-mm-toggle
Make a menu-item for a global minor mode toggle.
FNAME is the minor mode's name (variable and function).
DOC is the text to use for the menu entry.
HELP is the text to use for the tooltip.
PROPS are additional properties.Fmenu-set-font
Interactively select a font and make it the default.Fmenu-bar-options-save
Save current values of Options menu items using Custom.Fmenu-bar-showhide-fringe-ind-customize
Show customization buffer for `indicate-buffer-boundaries'.Fmenu-bar-showhide-fringe-ind-mixed
Display top and bottom indicators in opposite fringes, arrows in right.Fmenu-bar-showhide-fringe-ind-box
Display top and bottom indicators in opposite fringes.Fmenu-bar-showhide-fringe-ind-right
Display buffer boundaries and arrows in the right fringe.Fmenu-bar-showhide-fringe-ind-left
Display buffer boundaries and arrows in the left fringe.Fmenu-bar-showhide-fringe-ind-none
Do not display any buffer boundary indicators.Fmenu-bar-showhide-fringe-menu-customize
Show customization buffer for `fringe-mode'.Fmenu-bar-showhide-fringe-menu-customize-reset
Reset the fringe mode: display fringes on both sides of a window.Fmenu-bar-showhide-fringe-menu-customize-right
Display fringes only on the right of each window.Fmenu-bar-showhide-fringe-menu-customize-left
Display fringes only on the left of each window.Fmenu-bar-showhide-fringe-menu-customize-disable
Do not display window fringes.Fmenu-bar-right-scroll-bar
Display scroll bars on the right of each window.Fmenu-bar-left-scroll-bar
Display scroll bars on the left of each window.Fmenu-bar-no-scroll-bar
Turn off scroll bars.Fmenu-bar-frame-for-menubar
Return the frame suitable for updating the menu bar.Fmenu-bar-positive-p
Return non-nil iff VAL is a positive number.Fmenu-bar-showhide-tool-bar-menu-customize-disable
Do not display tool bars.Fmenu-bar-showhide-tool-bar-menu-customize-enable-left
Display tool bars on the left side.Fmenu-bar-showhide-tool-bar-menu-customize-enable-right
Display tool bars on the right side.Fmenu-bar-showhide-tool-bar-menu-customize-enable-top
Display tool bars on the top side.Fmenu-bar-showhide-tool-bar-menu-customize-enable-bottom
Display tool bars on the bottom side.Fmenu-bar-read-mail
Read mail using `read-mail-command'.Fmenu-bar-read-lispref
Display the Emacs Lisp Reference manual in Info mode.Fmenu-bar-read-lispintro
Display the Introduction to Emacs Lisp Programming in Info mode.Fsearch-emacs-glossary
Display the Glossary node of the Emacs manual in Info mode.Femacs-index-search
Look up TOPIC in the indices of the Emacs User Manual.Felisp-index-search
Look up TOPIC in the indices of the Emacs Lisp Reference Manual.Fmenu-bar-help-extra-packages
Display help about some additional packages available for Emacs.Fhelp-with-tutorial-spec-language
Use the Emacs tutorial, specifying which language you want.Fmenu-bar-menu-frame-live-and-visible-p
Return non-nil if the menu frame is alive and visible.
The menu frame is the frame for which we are updating the menu.Fmenu-bar-non-minibuffer-window-p
Return non-nil if selected window of the menu frame is not a minibuf window.

See the documentation of `menu-bar-menu-frame-live-and-visible-p'
for the definition of the menu frame.Fkill-this-buffer
Kill the current buffer.
When called in the minibuffer, get out of the minibuffer
using `abort-recursive-edit'.Fkill-this-buffer-enabled-p
Return non-nil if the `kill-this-buffer' menu item should be enabled.Fdelete-frame-enabled-p
Return non-nil if `delete-frame' should be enabled in the menu bar.Vyank-menu-length
Maximum length to display in the yank-menu.Fmenu-bar-select-yank
Insert the stretch of previously-killed text selected from menu.
The menu shows all the killed text sequences stored in `kill-ring'.Vlist-buffers-directory
String to display in buffer listings for buffers not visiting a file.Vmenu-bar-select-buffer-function
Function to select the buffer chosen from the `Buffers' menu-bar menu.
It must accept a buffer as its only required argument.Fmenu-bar-mode
Toggle display of a menu bar on each frame (Menu Bar mode).
With a prefix argument ARG, enable Menu Bar mode if ARG is
positive, and disable it otherwise.  If called from Lisp, enable
Menu Bar mode if ARG is omitted or nil.

This command applies to all frames that exist and frames to be
created in the future.Ftoggle-menu-bar-mode-from-frame
Toggle menu bar on or off, based on the status of the current frame.
See `menu-bar-mode' for more information.Fmenu-bar-open
Start key navigation of the menu bar in FRAME.

This function decides which method to use to access the menu
depending on FRAME's terminal device.  On X displays, it calls
`x-menu-bar-open'; on Windows, `w32-menu-bar-open' otherwise it
calls `tmm-menubar'.

If FRAME is nil or not given, use the selected frame.Slisp.elc
Vforward-sexp-function
If non-nil, `forward-sexp' delegates to this function.
Should take the same arguments and behave similarly to `forward-sexp'.Fforward-sexp
Move forward across one balanced expression (sexp).
With ARG, do it that many times.  Negative arg -N means
move backward across N balanced expressions.
This command assumes point is not in a string or comment.Fbackward-sexp
Move backward across one balanced expression (sexp).
With ARG, do it that many times.  Negative arg -N means
move forward across N balanced expressions.
This command assumes point is not in a string or comment.Fmark-sexp
Set mark ARG sexps from point.
The place mark goes is the same place \[forward-sexp] would
move to with the same argument.
Interactively, if this command is repeated
or (in Transient Mark mode) if the mark is active,
it marks the next ARG sexps after the ones already marked.
This command assumes point is not in a string or comment.Fforward-list
Move forward across one balanced group of parentheses.
With ARG, do it that many times.
Negative arg -N means move backward across N groups of parentheses.
This command assumes point is not in a string or comment.Fbackward-list
Move backward across one balanced group of parentheses.
With ARG, do it that many times.
Negative arg -N means move forward across N groups of parentheses.
This command assumes point is not in a string or comment.Fdown-list
Move forward down one level of parentheses.
With ARG, do this that many times.
A negative argument means move backward but still go down a level.
This command assumes point is not in a string or comment.Fbackward-up-list
Move backward out of one level of parentheses.
With ARG, do this that many times.
A negative argument means move forward but still to a less deep spot.
This command assumes point is not in a string or comment.Fup-list
Move forward out of one level of parentheses.
With ARG, do this that many times.
A negative argument means move backward but still to a less deep spot.
This command assumes point is not in a string or comment.Fkill-sexp
Kill the sexp (balanced expression) following point.
With ARG, kill that many sexps after point.
Negative arg -N means kill N sexps before point.
This command assumes point is not in a string or comment.Fbackward-kill-sexp
Kill the sexp (balanced expression) preceding point.
With ARG, kill that many sexps before point.
Negative arg -N means kill N sexps after point.
This command assumes point is not in a string or comment.Fkill-backward-up-list
Kill the form containing the current sexp, leaving the sexp itself.
A prefix argument ARG causes the relevant number of surrounding
forms to be removed.
This command assumes point is not in a string or comment.Vbeginning-of-defun-function
If non-nil, function for `beginning-of-defun-raw' to call.
This is used to find the beginning of the defun instead of using the
normal recipe (see `beginning-of-defun').  Major modes can define this
if defining `defun-prompt-regexp' is not sufficient to handle the mode's
needs.

The function takes the same argument as `beginning-of-defun' and should
behave similarly, returning non-nil if it found the beginning of a defun.
Ideally it should move to a point right before an open-paren which encloses
the body of the defun.Fbeginning-of-defun
Move backward to the beginning of a defun.
With ARG, do it that many times.  Negative ARG means move forward
to the ARGth following beginning of defun.

If search is successful, return t; point ends up at the beginning
of the line where the search succeeded.  Otherwise, return nil.

When `open-paren-in-column-0-is-defun-start' is non-nil, a defun
is assumed to start where there is a char with open-parenthesis
syntax at the beginning of a line.  If `defun-prompt-regexp' is
non-nil, then a string which matches that regexp may also precede
the open-parenthesis.  If `defun-prompt-regexp' and
`open-paren-in-column-0-is-defun-start' are both nil, this
function instead finds an open-paren at the outermost level.

If the variable `beginning-of-defun-function' is non-nil, its
value is called as a function, with argument ARG, to find the
defun's beginning.

Regardless of the values of `defun-prompt-regexp' and
`beginning-of-defun-function', point always moves to the
beginning of the line whenever the search is successful.Fbeginning-of-defun-raw
Move point to the character that starts a defun.
This is identical to function `beginning-of-defun', except that point
does not move to the beginning of the line when `defun-prompt-regexp'
is non-nil.

If variable `beginning-of-defun-function' is non-nil, its value
is called as a function to find the defun's beginning.Vend-of-defun-function
Function for `end-of-defun' to call.
This is used to find the end of the defun at point.
It is called with no argument, right after calling `beginning-of-defun-raw'.
So the function can assume that point is at the beginning of the defun body.
It should move point to the first position after the defun.Fbuffer-end
Return the "far end" position of the buffer, in direction ARG.
If ARG is positive, that's the end of the buffer.
Otherwise, that's the beginning of the buffer.Fend-of-defun
Move forward to next end of defun.
With argument, do it that many times.
Negative argument -N means move back to Nth preceding end of defun.

An end of a defun occurs right after the close-parenthesis that
matches the open-parenthesis that starts a defun; see function
`beginning-of-defun'.

If variable `end-of-defun-function' is non-nil, its value
is called as a function to find the defun's end.Fmark-defun
Put mark at end of this defun, point at beginning.
The defun marked is the one that contains point or follows point.

Interactively, if this command is repeated
or (in Transient Mark mode) if the mark is active,
it marks the next defun after the ones already marked.Fnarrow-to-defun
Make text outside current defun invisible.
The defun visible is the one that contains point or follows point.
Optional ARG is ignored.Vinsert-pair-alist
Alist of paired characters inserted by `insert-pair'.
Each element looks like (OPEN-CHAR CLOSE-CHAR) or (COMMAND-CHAR
OPEN-CHAR CLOSE-CHAR).  The characters OPEN-CHAR and CLOSE-CHAR
of the pair whose key is equal to the last input character with
or without modifiers, are inserted by `insert-pair'.Finsert-pair
Enclose following ARG sexps in a pair of OPEN and CLOSE characters.
Leave point after the first character.
A negative ARG encloses the preceding ARG sexps instead.
No argument is equivalent to zero: just insert characters
and leave point between.
If `parens-require-spaces' is non-nil, this command also inserts a space
before and after, depending on the surrounding characters.
If region is active, insert enclosing characters at region boundaries.

If arguments OPEN and CLOSE are nil, the character pair is found
from the variable `insert-pair-alist' according to the last input
character with or without modifiers.  If no character pair is
found in the variable `insert-pair-alist', then the last input
character is inserted ARG times.

This command assumes point is not in a string or comment.Finsert-parentheses
Enclose following ARG sexps in parentheses.
Leave point after open-paren.
A negative ARG encloses the preceding ARG sexps instead.
No argument is equivalent to zero: just insert `()' and leave point between.
If `parens-require-spaces' is non-nil, this command also inserts a space
before and after, depending on the surrounding characters.
If region is active, insert enclosing characters at region boundaries.

This command assumes point is not in a string or comment.Fdelete-pair
Delete a pair of characters enclosing the sexp that follows point.Fraise-sexp
Raise ARG sexps higher up the tree.Fmove-past-close-and-reindent
Move past next `)', delete indentation before it, then indent after it.Fcheck-parens
Check for unbalanced parentheses in the current buffer.
More accurately, check the narrowed part of the buffer for unbalanced
expressions ("sexps") in general.  This is done according to the
current syntax table and will find unbalanced brackets or quotes as
appropriate.  (See Info node `(emacs)Parentheses'.)  If imbalance is
found, an error is signaled and point is left at the first unbalanced
character.Flisp-complete-symbol
Perform completion on Lisp symbol preceding point.
Compare that symbol against the known Lisp symbols.
If no characters can be completed, display a list of possible completions.
Repeating the command at that point scrolls the list.

When called from a program, optional arg PREDICATE is a predicate
determining which symbols are considered, e.g. `commandp'.
If PREDICATE is nil, the context determines which symbols are
considered.  If the symbol starts just after an open-parenthesis, only
symbols with function definitions are considered.  Otherwise, all
symbols with function definitions, values or properties are
considered.Flisp-completion-at-point
Function used for `completion-at-point-functions' in `emacs-lisp-mode'.Spage.elc
Fforward-page
Move forward to page boundary.  With arg, repeat, or go back if negative.
A page boundary is any line whose beginning matches the regexp
`page-delimiter'.Fbackward-page
Move backward to page boundary.  With arg, repeat, or go fwd if negative.
A page boundary is any line whose beginning matches the regexp
`page-delimiter'.Fmark-page
Put mark at end of page, point at beginning.
A numeric arg specifies to move forward or backward by that many pages,
thus marking a page other than the one point was originally in.Fnarrow-to-page
Make text outside current page invisible.
A numeric arg specifies to move forward or backward by that many pages,
thus showing a page other than the one point was originally in.Fcount-lines-page
Report number of lines on current page, and how many are before or after point.Fwhat-page
Print page and line number of point.Sregister.elc
Fregisterv--make


(fn &optional DATA PRINT-FUNC JUMP-FUNC INSERT-FUNC)Fregisterv-make
Create a register value object.

DATA can be any value.
PRINT-FUNC if provided controls how `list-registers' and
`view-register' print the register.  It should be a function
receiving one argument DATA and print text that completes
this sentence:
  Register X contains [TEXT PRINTED BY PRINT-FUNC]
JUMP-FUNC if provided, controls how `jump-to-register' jumps to the register.
INSERT-FUNC if provided, controls how `insert-register' insert the register.
They both receive DATA as argument.

(fn DATA &key PRINT-FUNC JUMP-FUNC INSERT-FUNC)Vregister-alist
Alist of elements (NAME . CONTENTS), one for each Emacs register.
NAME is a character (a number).  CONTENTS is a string, number, marker, list
or a struct returned by `registerv-make'.
A list of strings represents a rectangle.
A list of the form (file . FILE-NAME) represents the file named FILE-NAME.
A list of the form (file-query FILE-NAME POSITION) represents
 position POSITION in the file named FILE-NAME, but query before
 visiting it.
A list of the form (WINDOW-CONFIGURATION POSITION)
 represents a saved window configuration plus a saved value of point.
A list of the form (FRAME-CONFIGURATION POSITION)
 represents a saved frame configuration plus a saved value of point.Fget-register
Return contents of Emacs register named REGISTER, or nil if none.Fset-register
Set contents of Emacs register named REGISTER to VALUE.  Returns VALUE.
See the documentation of the variable `register-alist' for possible VALUEs.Fpoint-to-register
Store current location of point in register REGISTER.
With prefix argument, store current frame configuration.
Use \[jump-to-register] to go to that location or restore that configuration.
Argument is a character, naming the register.Fwindow-configuration-to-register
Store the window configuration of the selected frame in register REGISTER.
Use \[jump-to-register] to restore the configuration.
Argument is a character, naming the register.Fframe-configuration-to-register
Store the window configuration of all frames in register REGISTER.
Use \[jump-to-register] to restore the configuration.
Argument is a character, naming the register.Fjump-to-register
Move point to location stored in a register.
If the register contains a file name, find that file.
(To put a file name in a register, you must use `set-register'.)
If the register contains a window configuration (one frame) or a frame
configuration (all frames), restore that frame or all frames accordingly.
First argument is a character, naming the register.
Optional second arg non-nil (interactively, prefix argument) says to
delete any existing frames that the frame configuration doesn't mention.
(Otherwise, these frames are iconified.)Fregister-swap-out
Turn markers into file-query references when a buffer is killed.Fnumber-to-register
Store a number in a register.
Two args, NUMBER and REGISTER (a character, naming the register).
If NUMBER is nil, a decimal number is read from the buffer starting
at point, and point moves to the end of that number.
Interactively, NUMBER is the prefix arg (none means nil).Fincrement-register
Augment contents of REGISTER.
Interactively, PREFIX is in raw form.

If REGISTER contains a number, add `prefix-numeric-value' of
PREFIX to it.

If REGISTER is empty or if it contains text, call
`append-to-register' with `delete-flag' set to PREFIX.Fview-register
Display what is contained in register named REGISTER.
The Lisp value REGISTER is a character.Flist-registers
Display a list of nonempty registers saying briefly what they contain.Finsert-register
Insert contents of register REGISTER.  (REGISTER is a character.)
Normally puts point before and mark after the inserted text.
If optional second arg is non-nil, puts mark before and point after.
Interactively, second arg is non-nil if prefix arg is supplied.Fcopy-to-register
Copy region into register REGISTER.
With prefix arg, delete as well.
Called from program, takes four args: REGISTER, START, END and DELETE-FLAG.
START and END are buffer positions indicating what to copy.Fappend-to-register
Append region to text in register REGISTER.
With prefix arg, delete as well.
Called from program, takes four args: REGISTER, START, END and DELETE-FLAG.
START and END are buffer positions indicating what to append.Fprepend-to-register
Prepend region to text in register REGISTER.
With prefix arg, delete as well.
Called from program, takes four args: REGISTER, START, END and DELETE-FLAG.
START and END are buffer positions indicating what to prepend.Fcopy-rectangle-to-register
Copy rectangular region into register REGISTER.
With prefix arg, delete as well.
To insert this register in the buffer, use \[insert-register].

Called from a program, takes four args: REGISTER, START, END and DELETE-FLAG.
START and END are buffer positions giving two corners of rectangle.Sparagraphs.elc
Vuse-hard-newlines
Non-nil if Use-Hard-Newlines mode is enabled.
Use the command `use-hard-newlines' to change this variable.Fuse-hard-newlines
Toggle distinguishing between hard and soft newlines.
With a prefix argument ARG, enable the feature if ARG is
positive, and disable it otherwise.  If called from Lisp, enable
it if ARG is omitted or nil.

When enabled, the functions `newline' and `open-line' add the
text-property `hard' to newlines that they insert, and a line is
only considered as a candidate to match `paragraph-start' or
`paragraph-separate' if it follows a hard newline.

When enabling, if there are newlines in the buffer but no hard
newlines, ask the user whether to mark as hard any newlines
preceding a `paragraph-start' line.  From a program, second arg
INSERT specifies whether to do this; it can be `never' to change
nothing, t or `always' to force marking, `guess' to try to do the
right thing with no questions, nil or anything else to ask the
user.

Newlines not marked hard are called "soft", and are always internal
to paragraphs.  The fill functions insert and delete only soft newlines.Fsentence-end
Return the regexp describing the end of a sentence.

This function returns either the value of the variable `sentence-end'
if it is non-nil, or the default value constructed from the
variables `sentence-end-base', `sentence-end-double-space',
`sentence-end-without-period' and `sentence-end-without-space'.

The default value specifies that in order to be recognized as the
end of a sentence, the ending period, question mark, or exclamation point
must be followed by two spaces, with perhaps some closing delimiters
in between.  See Info node `(elisp)Standard Regexps'.Fforward-paragraph
Move forward to end of paragraph.
With argument ARG, do it ARG times;
a negative argument ARG = -N means move backward N paragraphs.

A line which `paragraph-start' matches either separates paragraphs
(if `paragraph-separate' matches it also) or is the first line of a paragraph.
A paragraph end is the beginning of a line which is not part of the paragraph
to which the end of the previous line belongs, or the end of the buffer.
Returns the count of paragraphs left to move.Fbackward-paragraph
Move backward to start of paragraph.
With argument ARG, do it ARG times;
a negative argument ARG = -N means move forward N paragraphs.

A paragraph start is the beginning of a line which is a
`paragraph-start' or which is ordinary text and follows a
`paragraph-separate'ing line; except: if the first real line of a
paragraph is preceded by a blank line, the paragraph starts at that
blank line.

See `forward-paragraph' for more information.Fmark-paragraph
Put point at beginning of this paragraph, mark at end.
The paragraph marked is the one that contains point or follows point.

With argument ARG, puts mark at end of a following paragraph, so that
the number of paragraphs marked equals ARG.

If ARG is negative, point is put at end of this paragraph, mark is put
at beginning of this or a previous paragraph.

Interactively (or if ALLOW-EXTEND is non-nil), if this command is
repeated or (in Transient Mark mode) if the mark is active,
it marks the next ARG paragraphs after the ones already marked.Fkill-paragraph
Kill forward to end of paragraph.
With arg N, kill forward to Nth end of paragraph;
negative arg -N means kill backward to Nth start of paragraph.Fbackward-kill-paragraph
Kill back to start of paragraph.
With arg N, kill back to Nth start of paragraph;
negative arg -N means kill forward to Nth end of paragraph.Ftranspose-paragraphs
Interchange the current paragraph with the next one.
With prefix argument ARG a non-zero integer, moves the current
paragraph past ARG paragraphs, leaving point after the current paragraph.
If ARG is positive, moves the current paragraph forwards, if
ARG is negative moves it backwards.  If ARG is zero, exchanges
the current paragraph with the one containing the mark.Fforward-sentence
Move forward to next end of sentence.  With argument, repeat.
With negative argument, move backward repeatedly to start of sentence.

The variable `sentence-end' is a regular expression that matches ends of
sentences.  Also, every paragraph boundary terminates sentences as well.Frepunctuate-sentences
Put two spaces at the end of sentences from point to the end of buffer.
It works using `query-replace-regexp'.Fbackward-sentence
Move backward to start of sentence.  With arg, do it arg times.
See `forward-sentence' for more information.Fkill-sentence
Kill from point to end of sentence.
With arg, repeat; negative arg -N means kill back to Nth start of sentence.Fbackward-kill-sentence
Kill back from point to start of sentence.
With arg, repeat, or kill forward to Nth end of sentence if negative arg -N.Fmark-end-of-sentence
Put mark at end of sentence.  Arg works as in `forward-sentence'.
If this command is repeated, it marks the next ARG sentences after the
ones already marked.Ftranspose-sentences
Interchange the current sentence with the next one.
With prefix argument ARG a non-zero integer, moves the current
sentence past ARG sentences, leaving point after the current sentence.
If ARG is positive, moves the current sentence forwards, if
ARG is negative moves it backwards.  If ARG is zero, exchanges
the current sentence with the one containing the mark.Slisp-mode.elc
Vemacs-lisp-mode-syntax-table
Syntax table used in `emacs-lisp-mode'.Vlisp-mode-syntax-table
Syntax table used in `lisp-mode'.Vlisp-imenu-generic-expression
Imenu generic expression for Lisp mode.  See `imenu-generic-expression'.Vlisp-doc-string-elt-property
The symbol property that holds the docstring position info.Flisp-mode-variables
Common initialization routine for lisp modes.
The LISP-SYNTAX argument is used by code in inf-lisp.el and is
(uselessly) passed from pp.el, chistory.el, gnus-kill.el and
score-mode.el.  KEYWORDS-CASE-INSENSITIVE non-nil means that for
font-lock keywords will not be case sensitive.Flisp-outline-level
Lisp mode `outline-level' function.Vlisp-mode-shared-map
Keymap for commands shared by all sorts of Lisp modes.Vemacs-lisp-mode-map
Keymap for Emacs Lisp mode.
All commands in `lisp-mode-shared-map' are inherited by this map.Femacs-lisp-byte-compile
Byte compile the file containing the current buffer.Femacs-lisp-byte-compile-and-load
Byte-compile the current file (if it has changed), then load compiled code.Femacs-lisp-mode
Major mode for editing Lisp code to run in Emacs.
Commands:
Delete converts tabs to spaces as it moves back.
Blank lines separate paragraphs.  Semicolons start comments.

\{emacs-lisp-mode-map}
Entry to this mode calls the value of `emacs-lisp-mode-hook'
if that value is non-nil.Femacs-lisp-byte-code-comment
Try to syntactically mark the #@NNN ....^_ docstrings in byte-code files.Femacs-lisp-byte-code-mode
Major mode for *.elc files.

In addition to any hooks its parent mode `emacs-lisp-mode' might have run,
this mode runs the hook `emacs-lisp-byte-code-mode-hook', as the final step
during initialization.

\{emacs-lisp-byte-code-mode-map}Vlisp-mode-map
Keymap for ordinary Lisp mode.
All commands in `lisp-mode-shared-map' are inherited by this map.Flisp-mode
Major mode for editing Lisp code for Lisps other than GNU Emacs Lisp.
Commands:
Delete converts tabs to spaces as it moves back.
Blank lines separate paragraphs.  Semicolons start comments.

\{lisp-mode-map}
Note that `run-lisp' may be used either to start an inferior Lisp job
or to switch back to an existing one.

Entry to this mode calls the value of `lisp-mode-hook'
if that value is non-nil.Flisp-eval-defun
Send the current defun to the Lisp process made by \[run-lisp].Vlisp-interaction-mode-map
Keymap for Lisp Interaction mode.
All commands in `lisp-mode-shared-map' are inherited by this map.Flisp-interaction-mode
Major mode for typing and evaluating Lisp forms.
Like Lisp mode except that \[eval-print-last-sexp] evals the Lisp expression
before point, and prints its value into the buffer, advancing point.
Note that printing is controlled by `eval-expression-print-length'
and `eval-expression-print-level'.

Commands:
Delete converts tabs to spaces as it moves back.
Paragraphs are separated only by blank lines.
Semicolons start comments.

\{lisp-interaction-mode-map}
Entry to this mode calls the value of `lisp-interaction-mode-hook'
if that value is non-nil.Feval-print-last-sexp
Evaluate sexp before point; print value into current buffer.

If `eval-expression-debug-on-error' is non-nil, which is the default,
this command arranges for all errors to enter the debugger.

Note that printing the result is controlled by the variables
`eval-expression-print-length' and `eval-expression-print-level',
which see.Flast-sexp-setup-props
Set up text properties for the output of `eval-last-sexp-1'.
BEG and END are the start and end of the output in current-buffer.
VALUE is the Lisp value printed, ALT1 and ALT2 are strings for the
alternative printed representations that can be displayed.Flast-sexp-toggle-display
Toggle between abbreviated and unabbreviated printed representations.Fprin1-char
Return a string representing CHAR as a character rather than as an integer.
If CHAR is not a character, return nil.Fpreceding-sexp
Return sexp before the point.Feval-last-sexp-1
Evaluate sexp before point; print value in minibuffer.
With argument, print output into current buffer.Feval-sexp-add-defvars
Prepend EXP with all the `defvar's that precede it in the buffer.
POS specifies the starting position where EXP was found and defaults to point.Feval-last-sexp
Evaluate sexp before point; print value in minibuffer.
Interactively, with prefix argument, print output into current buffer.
Truncates long output according to the value of the variables
`eval-expression-print-length' and `eval-expression-print-level'.

If `eval-expression-debug-on-error' is non-nil, which is the default,
this command arranges for all errors to enter the debugger.Feval-defun-1
Treat some expressions specially.
Reset the `defvar' and `defcustom' variables to the initial value.
Reinitialize the face according to the `defface' specification.Feval-defun-2
Evaluate defun that point is in or before.
The value is displayed in the minibuffer.
If the current defun is actually a call to `defvar',
then reset the variable using the initial value expression
even if the variable already has some other value.
(Normally `defvar' does not change the variable's value
if it already has a value.)

With argument, insert value in current buffer after the defun.
Return the result of evaluation.Feval-defun
Evaluate the top-level form containing point, or after point.

If the current defun is actually a call to `defvar' or `defcustom',
evaluating it this way resets the variable using its initial value
expression even if the variable already has some other value.
(Normally `defvar' and `defcustom' do not alter the value if there
already is one.)  In an analogous way, evaluating a `defface'
overrides any customizations of the face, so that it becomes
defined exactly as the `defface' expression says.

If `eval-expression-debug-on-error' is non-nil, which is the default,
this command arranges for all errors to enter the debugger.

With a prefix argument, instrument the code for Edebug.

If acting on a `defun' for FUNCTION, and the function was
instrumented, `Edebug: FUNCTION' is printed in the minibuffer.  If not
instrumented, just FUNCTION is printed.

If not acting on a `defun', the result of evaluation is displayed in
the minibuffer.  This display is controlled by the variables
`eval-expression-print-length' and `eval-expression-print-level',
which see.Flisp-indent-line
Indent current line as Lisp code.
With argument, indent any additional lines of the same expression
rigidly along with this one.Fcalculate-lisp-indent
Return appropriate indentation for current line as Lisp code.
In usual case returns an integer: the column to indent to.
If the value is nil, that means don't change the indentation
because the line starts inside a string.

The value can also be a list of the form (COLUMN CONTAINING-SEXP-START).
This means that following lines at the same level of indentation
should not necessarily be indented the same as this line.
Then COLUMN is the column to indent to, and CONTAINING-SEXP-START
is the buffer position of the start of the containing expression.Flisp-indent-function
This function is the normal value of the variable `lisp-indent-function'.
The function `calculate-lisp-indent' calls this to determine
if the arguments of a Lisp function call should be indented specially.

INDENT-POINT is the position at which the line being indented begins.
Point is located at the point to indent under (for default indentation);
STATE is the `parse-partial-sexp' state for that position.

If the current line is in a call to a Lisp function that has a non-nil
property `lisp-indent-function' (or the deprecated `lisp-indent-hook'),
it specifies how to indent.  The property value can be:

* `defun', meaning indent `defun'-style
  (this is also the case if there is no property and the function
  has a name that begins with "def", and three or more arguments);

* an integer N, meaning indent the first N arguments specially
  (like ordinary function arguments), and then indent any further
  arguments like a body;

* a function to call that returns the indentation (or nil).
  `lisp-indent-function' calls this function with the same two arguments
  that it itself received.

This function returns either the indentation to use, or nil if the
Lisp function does not specify a special indentation.Findent-sexp
Indent each line of the list starting just after point.
If optional arg ENDPOS is given, indent each line, stopping when
ENDPOS is encountered.Findent-pp-sexp
Indent each line of the list starting just after point, or prettyprint it.
A prefix argument specifies pretty-printing.Vemacs-lisp-docstring-fill-column
Value of `fill-column' to use when filling a docstring.
Any non-integer value means do not use a different value of
`fill-column' when filling docstrings.Flisp-fill-paragraph
Like \[fill-paragraph], but handle Emacs Lisp comments and docstrings.
If any of the current line is a comment, fill the comment or the
paragraph of it that point is in, preserving the comment's indentation
and initial semicolons.Findent-code-rigidly
Indent all lines of code, starting in the region, sideways by ARG columns.
Does not affect lines starting inside comments or strings, assuming that
the start of the region is not inside them.

Called from a program, takes args START, END, COLUMNS and NOCHANGE-REGEXP.
The last is a regexp which, if matched at the beginning of a line,
means don't indent that line.Stext-mode.elc
Vtext-mode-hook
Normal hook run when entering Text mode and many related modes.Vtext-mode-variant
Non-nil if this buffer's major mode is a variant of Text mode.
Use (derived-mode-p 'text-mode) instead.Vtext-mode-syntax-table
Syntax table used while in `text-mode'.Vtext-mode-map
Keymap for `text-mode'.
Many other modes, such as `mail-mode', `outline-mode' and `indented-text-mode',
inherit all the commands defined in this map.Ftext-mode
Major mode for editing text written for humans to read.
In this mode, paragraphs are delimited only by blank or white lines.
You can thus get the full benefit of adaptive filling
 (see the variable `adaptive-fill-mode').
\{text-mode-map}
Turning on Text mode runs the normal hook `text-mode-hook'.Fparagraph-indent-text-mode
Major mode for editing text, with leading spaces starting a paragraph.
In this mode, you do not need blank lines between paragraphs
when the first line of the following paragraph starts with whitespace.
`paragraph-indent-minor-mode' provides a similar facility as a minor mode.
Special commands:
\{text-mode-map}
Turning on Paragraph-Indent Text mode runs the normal hooks
`text-mode-hook' and `paragraph-indent-text-mode-hook'.Vparagraph-indent-minor-mode
Non-nil if Paragraph-Indent minor mode is enabled.
Use the command `paragraph-indent-minor-mode' to change this variable.Fparagraph-indent-minor-mode
Minor mode for editing text, with leading spaces starting a paragraph.
In this mode, you do not need blank lines between paragraphs when the
first line of the following paragraph starts with whitespace, as with
`paragraph-indent-text-mode'.
Turning on Paragraph-Indent minor mode runs the normal hook
`paragraph-indent-text-mode-hook'.Ftext-mode-hook-identify
Mark that this mode has run `text-mode-hook'.
This is how `toggle-text-mode-auto-fill' knows which buffers to operate on.Ftoggle-text-mode-auto-fill
Toggle whether to use Auto Fill in Text mode and related modes.
This command affects all buffers that use modes related to Text mode,
both existing buffers and buffers that you subsequently create.Fcenter-paragraph
Center each nonblank line in the paragraph at or after point.
See `center-line' for more info.Fcenter-region
Center each nonblank line starting in the region.
See `center-line' for more info.Fcenter-line
Center the line point is on, within the width specified by `fill-column'.
This means adjusting the indentation so that it equals
the distance between the end of the text and `fill-column'.
The argument NLINES says how many lines to center.Sfill.elc
Vfill-paragraph-function
Mode-specific function to fill a paragraph, or nil if there is none.
If the function returns nil, then `fill-paragraph' does its normal work.
A value of t means explicitly "do nothing special".
Note: This only affects `fill-paragraph' and not `fill-region'
nor `auto-fill-mode', so it is often better to use some other hook,
such as `fill-forward-paragraph-function'.Vfill-paragraph-handle-comment
Non-nil means paragraph filling will try to pay attention to comments.Venable-kinsoku
Non-nil means enable "kinsoku" processing on filling paragraphs.
Kinsoku processing is designed to prevent certain characters from being
placed at the beginning or end of a line by filling.
See the documentation of `kinsoku' for more information.Fset-fill-prefix
Set the fill prefix to the current line up to point.
Filling expects lines to start with the fill prefix and
reinserts the fill prefix in each resulting line.Vfill-indent-according-to-mode
Whether or not filling should try to use the major mode's indentation.Fcurrent-fill-column
Return the fill-column to use for this line.
The fill-column to use for a buffer is stored in the variable `fill-column',
but can be locally modified by the `right-margin' text property, which is
subtracted from `fill-column'.

The fill column to use for a line is the first column at which the column
number equals or exceeds the local fill-column - right-margin difference.Fcanonically-space-region
Remove extra spaces between words in region.
Leave one space between words, two at end of sentences or after colons
(depending on values of `sentence-end-double-space', `colon-double-space',
and `sentence-end-without-period').
Remove indentation from each line.Ffill-common-string-prefix
Return the longest common prefix of strings S1 and S2, or nil if none.Ffill-context-prefix
Compute a fill prefix from the text between FROM and TO.
This uses the variables `adaptive-fill-regexp' and `adaptive-fill-function'
and `adaptive-fill-first-line-regexp'.  `paragraph-start' also plays a role;
we reject a prefix based on a one-line paragraph if that prefix would
act as a paragraph-separator.Ffill-single-word-nobreak-p
Don't break a line after the first or before the last word of a sentence.Ffill-french-nobreak-p
Return nil if French style allows breaking the line at point.
This is used in `fill-nobreak-predicate' to prevent breaking lines just
after an opening paren or just before a closing paren or a punctuation
mark such as `?' or `:'.  It is common in French writing to put a space
at such places, which would normally allow breaking the line at those
places.Ffill-nobreak-p
Return nil if breaking the line at point is allowed.
Can be customized with the variables `fill-nobreak-predicate'
and `fill-nobreak-invisible'.Vfill-find-break-point-function-table
Char-table of special functions to find line breaking point.Vfill-nospace-between-words-table
Char-table of characters that don't use space between words.Ffill-find-break-point
Move point to a proper line breaking position of the current line.
Don't move back past the buffer position LIMIT.

This function is called when we are going to break the current line
after or before a non-ASCII character.  If the charset of the
character has the property `fill-find-break-point-function', this
function calls the property value as a function with one arg LIMIT.
If the charset has no such property, do nothing.Ffill-delete-prefix
Delete the fill prefix from every line except the first.
The first line may not even have a fill prefix.
Point is moved to just past the fill prefix on the first line.Ffill-move-to-break-point
Move to the position where the line should be broken.
The break position will be always after LINEBEG and generally before point.Ffill-indent-to-left-margin
Indent current line to the column given by `current-left-margin'.Ffill-region-as-paragraph
Fill the region as one paragraph.
It removes any paragraph breaks in the region and extra newlines at the end,
indents and fills lines between the margins given by the
`current-left-margin' and `current-fill-column' functions.
(In most cases, the variable `fill-column' controls the width.)
It leaves point at the beginning of the line following the paragraph.

Normally performs justification according to the `current-justification'
function, but with a prefix arg, does full justification instead.

From a program, optional third arg JUSTIFY can specify any type of
justification.  Fourth arg NOSQUEEZE non-nil means not to make spaces
between words canonical before filling.  Fifth arg SQUEEZE-AFTER, if non-nil,
means don't canonicalize spaces before that position.

Return the `fill-prefix' used for filling.

If `sentence-end-double-space' is non-nil, then period followed by one
space does not end a sentence, so don't break a line there.Fskip-line-prefix
If point is inside the string PREFIX at the beginning of line, move past it.Ffill-minibuffer-function
Fill a paragraph in the minibuffer, ignoring the prompt.Vfill-forward-paragraph-function
Function to move over paragraphs used by the filling code.
It is called with a single argument specifying the number of paragraphs to move.
Just like `forward-paragraph', it should return the number of paragraphs
left to move.Ffill-paragraph
Fill paragraph at or after point.

If JUSTIFY is non-nil (interactively, with prefix argument), justify as well.
If `sentence-end-double-space' is non-nil, then period followed by one
space does not end a sentence, so don't break a line there.
The variable `fill-column' controls the width for filling.

If `fill-paragraph-function' is non-nil, we call it (passing our
argument to it), and if it returns non-nil, we simply return its value.

If `fill-paragraph-function' is nil, return the `fill-prefix' used for filling.

The REGION argument is non-nil if called interactively; in that
case, if Transient Mark mode is enabled and the mark is active,
call `fill-region' to fill each of the paragraphs in the active
region, instead of just filling the current paragraph.Ffill-comment-paragraph
Fill current comment.
If we're not in a comment, just return nil so that the caller
can take care of filling.  JUSTIFY is used as in `fill-paragraph'.Ffill-region
Fill each of the paragraphs in the region.
A prefix arg means justify as well.
The `fill-column' variable controls the width.

Noninteractively, the third argument JUSTIFY specifies which
kind of justification to do: `full', `left', `right', `center',
or `none' (equivalent to nil).  A value of t means handle each
paragraph as specified by its text properties.

The fourth arg NOSQUEEZE non-nil means to leave whitespace other
than line breaks untouched, and fifth arg TO-EOP non-nil means
to keep filling to the end of the paragraph (or next hard newline,
if variable `use-hard-newlines' is on).

Return the fill-prefix used for filling the last paragraph.

If `sentence-end-double-space' is non-nil, then period followed by one
space does not end a sentence, so don't break a line there.Fcurrent-justification
How should we justify this line?
This returns the value of the text-property `justification',
or the variable `default-justification' if there is no text-property.
However, it returns nil rather than `none' to mean "don't justify".Fset-justification
Set the region's justification style to STYLE.
This commands prompts for the kind of justification to use.
If the mark is not active, this command operates on the current paragraph.
If the mark is active, it operates on the region.  However, if the
beginning and end of the region are not at paragraph breaks, they are
moved to the beginning and end (respectively) of the paragraphs they
are in.

If variable `use-hard-newlines' is true, all hard newlines are
taken to be paragraph breaks.

When calling from a program, operates just on region between BEGIN and END,
unless optional fourth arg WHOLE-PAR is non-nil.  In that case bounds are
extended to include entire paragraphs as in the interactive command.Fset-justification-none
Disable automatic filling for paragraphs in the region.
If the mark is not active, this applies to the current paragraph.Fset-justification-left
Make paragraphs in the region left-justified.
This means they are flush at the left margin and ragged on the right.
This is usually the default, but see the variable `default-justification'.
If the mark is not active, this applies to the current paragraph.Fset-justification-right
Make paragraphs in the region right-justified.
This means they are flush at the right margin and ragged on the left.
If the mark is not active, this applies to the current paragraph.Fset-justification-full
Make paragraphs in the region fully justified.
This makes lines flush on both margins by inserting spaces between words.
If the mark is not active, this applies to the current paragraph.Fset-justification-center
Make paragraphs in the region centered.
If the mark is not active, this applies to the current paragraph.Fjustify-current-line
Do some kind of justification on this line.
Normally does full justification: adds spaces to the line to make it end at
the column given by `current-fill-column'.
Optional first argument HOW specifies alternate type of justification:
it can be `left', `right', `full', `center', or `none'.
If HOW is t, will justify however the `current-justification' function says to.
If HOW is nil or missing, full justification is done by default.
Second arg EOP non-nil means that this is the last line of the paragraph, so
it will not be stretched by full justification.
Third arg NOSQUEEZE non-nil means to leave interior whitespace unchanged,
otherwise it is made canonical.Funjustify-current-line
Remove justification whitespace from current line.
If the line is centered or right-justified, this function removes any
indentation past the left margin.  If the line is full-justified, it removes
extra spaces between words.  It does nothing in other justification modes.Funjustify-region
Remove justification whitespace from region.
For centered or right-justified regions, this function removes any indentation
past the left margin from each line.  For full-justified lines, it removes
extra spaces between words.  It does nothing in other justification modes.
Arguments BEGIN and END are optional; default is the whole buffer.Ffill-nonuniform-paragraphs
Fill paragraphs within the region, allowing varying indentation within each.
This command divides the region into "paragraphs",
only at paragraph-separator lines, then fills each paragraph
using as the fill prefix the smallest indentation of any line
in the paragraph.

When calling from a program, pass range to fill as first two arguments.

Optional third and fourth arguments JUSTIFYP and CITATION-REGEXP:
JUSTIFYP to justify paragraphs (prefix arg).
When filling a mail message, pass a regexp for CITATION-REGEXP
which will match the prefix of a line which is a citation marker
plus whitespace, but no other kind of prefix.
Also, if CITATION-REGEXP is non-nil, don't fill header lines.Ffill-individual-paragraphs
Fill paragraphs of uniform indentation within the region.
This command divides the region into "paragraphs",
treating every change in indentation level or prefix as a paragraph boundary,
then fills each paragraph using its indentation level as the fill prefix.

There is one special case where a change in indentation does not start
a new paragraph.  This is for text of this form:

   foo>    This line with extra indentation starts
   foo> a paragraph that continues on more lines.

These lines are filled together.

When calling from a program, pass the range to fill
as the first two arguments.

Optional third and fourth arguments JUSTIFY and CITATION-REGEXP:
JUSTIFY to justify paragraphs (prefix arg).
When filling a mail message, pass a regexp for CITATION-REGEXP
which will match the prefix of a line which is a citation marker
plus whitespace, but no other kind of prefix.
Also, if CITATION-REGEXP is non-nil, don't fill header lines.Snewcomment.elc
Vcomment-use-syntax
Non-nil if syntax-tables can be used instead of regexps.
Can also be `undecided' which means that a somewhat expensive test will
be used to try to determine whether syntax-tables should be trusted
to understand comments or not in the given buffer.
Major modes should set this variable.Vcomment-start
String to insert to start a new comment, or nil if no comment syntax.Vcomment-start-skip
Regexp to match the start of a comment plus everything up to its body.
If there are any \(...\) pairs, the comment delimiter text is held to begin
at the place matched by the close of the first pair.Vcomment-end-skip
Regexp to match the end of a comment plus everything back to its body.Vcomment-end
String to insert to end a new comment.
Should be an empty string if comments are terminated by end-of-line.Vcomment-indent-function
Function to compute desired indentation for a comment.
This function is called with no args with point at the beginning of
the comment's starting delimiter and should return either the desired
column indentation or nil.
If nil is returned, indentation is delegated to `indent-according-to-mode'.Vcomment-insert-comment-function
Function to insert a comment when a line doesn't contain one.
The function has no args.

Applicable at least in modes for languages like fixed-format Fortran where
comments always start in column zero.Vcomment-region-function
Function to comment a region.
Its args are the same as those of `comment-region', but BEG and END are
guaranteed to be correctly ordered.  It is called within `save-excursion'.

Applicable at least in modes for languages like fixed-format Fortran where
comments always start in column zero.Vuncomment-region-function
Function to uncomment a region.
Its args are the same as those of `uncomment-region', but BEG and END are
guaranteed to be correctly ordered.  It is called within `save-excursion'.

Applicable at least in modes for languages like fixed-format Fortran where
comments always start in column zero.Vcomment-quote-nested
Non-nil if nested comments should be quoted.
This should be locally set by each major mode if needed.Vcomment-continue
Continuation string to insert for multiline comments.
This string will be added at the beginning of each line except the very
first one when commenting a region with a commenting style that allows
comments to span several lines.
It should generally have the same length as `comment-start' in order to
preserve indentation.
If it is nil a value will be automatically derived from `comment-start'
by replacing its first character with a space.Vcomment-add
How many more comment chars should be inserted by `comment-region'.
This determines the default value of the numeric argument of `comment-region'.
The `plain' comment style doubles this value.

This should generally stay 0, except for a few modes like Lisp where
it is 1 so that regions are commented with two or three semi-colons.Vcomment-styles
Comment region style definitions.
Each style is defined with a form (STYLE . (MULTI ALIGN EXTRA INDENT DOC)).
DOC should succinctly describe the style.
STYLE should be a mnemonic symbol.
MULTI specifies that comments are allowed to span multiple lines.
  e.g. in C it comments regions as
     /* blabla
      * bli */
  rather than
     /* blabla */
     /* bli */
  if `comment-end' is empty, this has no effect.

ALIGN specifies that the `comment-end' markers should be aligned.
  e.g. in C it comments regions as
     /* blabla */
     /* bli    */
  rather than
     /* blabla */
     /* bli */
  if `comment-end' is empty, this has no effect, unless EXTRA is also set,
  in which case the comment gets wrapped in a box.

EXTRA specifies that an extra line should be used before and after the
  region to comment (to put the `comment-end' and `comment-start').
  e.g. in C it comments regions as
     /*
      * blabla
      * bli
      */
  rather than
     /* blabla
      * bli */
  if the comment style is not multi line, this has no effect, unless ALIGN
  is also set, in which case the comment gets wrapped in a box.

INDENT specifies that the `comment-start' markers should not be put at the
  left margin but at the current indentation of the region to comment.
If INDENT is `multi-char', that means indent multi-character
  comment starters, but not one-character comment starters.Fcomment-string-strip
Strip STR of any leading (if BEFOREP) and/or trailing (if AFTERP) space.

(fn STR BEFOREP AFTERP)Fcomment-string-reverse
Return the mirror image of string S, without any trailing space.

(fn S)Fcomment-normalize-vars
Check and set up variables needed by other commenting functions.
All the `comment-*' commands call this function to set up various
variables, like `comment-start', to ensure that the commenting
functions work correctly.  Lisp callers of any other `comment-*'
function should first call this function explicitly.

(fn &optional NOERROR)Fcomment-quote-nested
Quote or unquote nested comments.
If UNP is non-nil, unquote nested comment markers.

(fn CS CE UNP)Vcomment-use-global-state
Non-nil means that the global syntactic context is used.
More specifically, it means that `syntax-ppss' is used to find out whether
point is within a string or not.  Major modes whose syntax is faithfully
described by the syntax-tables can set this to non-nil so comment markers
in strings will not confuse Emacs.Fcomment-search-forward
Find a comment start between point and LIMIT.
Moves point to inside the comment and returns the position of the
comment-starter.  If no comment is found, moves point to LIMIT
and raises an error or returns nil if NOERROR is non-nil.

(fn LIMIT &optional NOERROR)Fcomment-search-backward
Find a comment start between LIMIT and point.
Moves point to inside the comment and returns the position of the
comment-starter.  If no comment is found, moves point to LIMIT
and raises an error or returns nil if NOERROR is non-nil.

(fn &optional LIMIT NOERROR)Fcomment-beginning
Find the beginning of the enclosing comment.
Returns nil if not inside a comment, else moves point and returns
the same as `comment-search-backward'.

(fn)Fcomment-forward
Skip forward over N comments.
Just like `forward-comment' but only for positive N
and can use regexps instead of syntax.

(fn &optional N)Fcomment-enter-backward
Move from the end of a comment to the end of its content.
Point is assumed to be just at the end of a comment.

(fn)Fcomment-indent-default
Default for `comment-indent-function'.

(fn)Fcomment-choose-indent
Choose the indentation to use for a right-hand-side comment.
The criteria are (in this order):
- try to keep the comment's text within `comment-fill-column'.
- try to align with surrounding comments.
- prefer INDENT (or `comment-column' if nil).
Point is expected to be at the start of the comment.

(fn &optional INDENT)Fcomment-indent
Indent this line's comment to `comment-column', or insert an empty comment.
If CONTINUE is non-nil, use the `comment-continue' markers if any.

(fn &optional CONTINUE)Fcomment-set-column
Set the comment column based on point.
With no ARG, set the comment column to the current column.
With just minus as arg, kill any comment on this line.
With any other arg, set comment column to indentation of the previous comment
 and then align or create a comment on this line at that column.

(fn ARG)Fcomment-kill
Kill the first comment on this line, if any.
With prefix ARG, kill comments on that many lines starting with this one.

(fn ARG)Fcomment-padright
Construct a string composed of STR plus `comment-padding'.
It also adds N copies of the last non-whitespace chars of STR.
If STR already contains padding, the corresponding amount is
ignored from `comment-padding'.
N defaults to 0.
If N is `re', a regexp is returned instead, that would match
the string for any N.

(fn STR &optional N)Fcomment-padleft
Construct a string composed of `comment-padding' plus STR.
It also adds N copies of the first non-whitespace chars of STR.
If STR already contains padding, the corresponding amount is
ignored from `comment-padding'.
N defaults to 0.
If N is `re', a regexp is returned instead, that would match
  the string for any N.

(fn STR &optional N)Funcomment-region
Uncomment each line in the BEG .. END region.
The numeric prefix ARG can specify a number of chars to remove from the
comment markers.

(fn BEG END &optional ARG)Funcomment-region-default
Uncomment each line in the BEG .. END region.
The numeric prefix ARG can specify a number of chars to remove from the
comment markers.

(fn BEG END &optional ARG)Fcomment-make-extra-lines
Make the leading and trailing extra lines.
This is used for `extra-line' style (or `box' style if BLOCK is specified).

(fn CS CE CCS CCE MIN-INDENT MAX-INDENT &optional BLOCK)Fcomment-with-narrowing
Execute BODY with BEG..END narrowing.
Space is added (and then removed) at the beginning for the text's
indentation to be kept as it was before narrowing.

(fn BEG END &rest BODY)Fcomment-add
Compute the number of extra comment starter characters.
(Extra semicolons in Lisp mode, extra stars in C mode, etc.)
If ARG is non-nil, just follow ARG.
If the comment starter is multi-char, just follow ARG.
Otherwise obey `comment-add'.

(fn ARG)Fcomment-region-internal
Comment region BEG .. END.
CS and CE are the comment start string and comment end string,
respectively.  CCS and CCE are the comment continuation strings
for the start and end of lines, respectively (default to CS and CE).
BLOCK indicates that end of lines should be marked with either CCE,
CE or CS (if CE is empty) and that those markers should be aligned.
LINES indicates that an extra lines will be used at the beginning
and end of the region for CE and CS.
INDENT indicates to put CS and CCS at the current indentation of
the region rather than at left margin.

(fn BEG END CS CE &optional CCS CCE BLOCK LINES INDENT)Fcomment-region
Comment or uncomment each line in the region.
With just \[universal-argument] prefix arg, uncomment each line in region BEG .. END.
Numeric prefix ARG means use ARG comment characters.
If ARG is negative, delete that many comment characters instead.

The strings used as comment starts are built from `comment-start'
and `comment-padding'; the strings used as comment ends are built
from `comment-end' and `comment-padding'.

By default, the `comment-start' markers are inserted at the
current indentation of the region, and comments are terminated on
each line (even for syntaxes in which newline does not end the
comment and blank lines do not get comments).  This can be
changed with `comment-style'.

(fn BEG END &optional ARG)Fcomment-box
Comment out the BEG .. END region, putting it inside a box.
The numeric prefix ARG specifies how many characters to add to begin- and
end- comment markers additionally to what `comment-add' already specifies.

(fn BEG END &optional ARG)Fcomment-only-p
Return non-nil if the text between BEG and END is all comments.

(fn BEG END)Fcomment-or-uncomment-region
Call `comment-region', unless the region only consists of comments,
in which case call `uncomment-region'.  If a prefix arg is given, it
is passed on to the respective function.

(fn BEG END &optional ARG)Fcomment-dwim
Call the comment command you want (Do What I Mean).
If the region is active and `transient-mark-mode' is on, call
`comment-region' (unless it only consists of comments, in which
case it calls `uncomment-region').
Else, if the current line is empty, call `comment-insert-comment-function'
if it is defined, otherwise insert a comment and indent it.
Else if a prefix ARG is specified, call `comment-kill'.
Else, call `comment-indent'.
You can configure `comment-style' to change the way regions are commented.

(fn ARG)Fcomment-valid-prefix-p
Check that the adaptive fill prefix is consistent with the context.
PREFIX is the prefix (presumably guessed by `adaptive-fill-mode').
COMPOS is the position of the beginning of the comment we're in, or nil
if we're not inside a comment.

(fn PREFIX COMPOS)Fcomment-indent-new-line
Break line at point and indent, continuing comment if within one.
This indents the body of the continued comment
under the previous comment line.

This command is intended for styles where you write a comment per line,
starting a new comment (and terminating it if necessary) on each line.
If you want to continue one comment across several lines, use \[newline-and-indent].

If a fill column is specified, it overrides the use of the comment column
or comment indentation.

The inserted newline is marked hard if variable `use-hard-newlines' is true,
unless optional argument SOFT is non-nil.

(fn &optional SOFT)Sreplace.elc
Vquery-replace-history
Default history list for query-replace commands.
See `query-replace-from-history-variable' and
`query-replace-to-history-variable'.Vquery-replace-defaults
Default values of FROM-STRING and TO-STRING for `query-replace'.
This is a cons cell (FROM-STRING . TO-STRING), or nil if there is
no default value.Vquery-replace-interactive
Non-nil means `query-replace' uses the last search string.
That becomes the "string to replace".Vreplace-count
Number of replacements done so far.
See `replace-regexp' and `query-replace-regexp-eval'.Fquery-replace-read-from
Query and return the `from' argument of a query-replace operation.
The return value can also be a pair (FROM . TO) indicating that the user
wants to replace FROM with TO.Fquery-replace-compile-replacement
Maybe convert a regexp replacement TO to Lisp.
Returns a list suitable for `perform-replace' if necessary,
the original string if not.Fquery-replace-read-to
Query and return the `to' argument of a query-replace operation.Fquery-replace
Replace some occurrences of FROM-STRING with TO-STRING.
As each match is found, the user must type a character saying
what to do with it.  For directions, type \[help-command] at that time.

In Transient Mark mode, if the mark is active, operate on the contents
of the region.  Otherwise, operate from point to the end of the buffer.

Use \<minibuffer-local-map>\[next-history-element] to pull the last incremental search string to the minibuffer
that reads FROM-STRING, or invoke replacements from
incremental search with a key sequence like `C-s C-s M-%'
to use its current search string as the string to replace.

Matching is independent of case if `case-fold-search' is non-nil and
FROM-STRING has no uppercase letters.  Replacement transfers the case
pattern of the old text to the new text, if `case-replace' and
`case-fold-search' are non-nil and FROM-STRING has no uppercase
letters.  (Transferring the case pattern means that if the old text
matched is all caps, or capitalized, then its replacement is upcased
or capitalized.)

If `replace-lax-whitespace' is non-nil, a space or spaces in the string
to be replaced will match a sequence of whitespace chars defined by the
regexp in `search-whitespace-regexp'.

Third arg DELIMITED (prefix arg if interactive), if non-nil, means replace
only matches surrounded by word boundaries.
Fourth and fifth arg START and END specify the region to operate on.

To customize possible responses, change the "bindings" in `query-replace-map'.Fquery-replace-regexp
Replace some things after point matching REGEXP with TO-STRING.
As each match is found, the user must type a character saying
what to do with it.  For directions, type \[help-command] at that time.

In Transient Mark mode, if the mark is active, operate on the contents
of the region.  Otherwise, operate from point to the end of the buffer.

Use \<minibuffer-local-map>\[next-history-element] to pull the last incremental search regexp to the minibuffer
that reads REGEXP, or invoke replacements from
incremental search with a key sequence like `C-M-s C-M-s C-M-%'
to use its current search regexp as the regexp to replace.

Matching is independent of case if `case-fold-search' is non-nil and
REGEXP has no uppercase letters.  Replacement transfers the case
pattern of the old text to the new text, if `case-replace' and
`case-fold-search' are non-nil and REGEXP has no uppercase letters.
(Transferring the case pattern means that if the old text matched is
all caps, or capitalized, then its replacement is upcased or
capitalized.)

If `replace-regexp-lax-whitespace' is non-nil, a space or spaces in the regexp
to be replaced will match a sequence of whitespace chars defined by the
regexp in `search-whitespace-regexp'.

Third arg DELIMITED (prefix arg if interactive), if non-nil, means replace
only matches surrounded by word boundaries.
Fourth and fifth arg START and END specify the region to operate on.

In TO-STRING, `\&' stands for whatever matched the whole of REGEXP,
and `\=\N' (where N is a digit) stands for
whatever what matched the Nth `\(...\)' in REGEXP.
`\?' lets you edit the replacement text in the minibuffer
at the given position for each replacement.

In interactive calls, the replacement text can contain `\,'
followed by a Lisp expression.  Each
replacement evaluates that expression to compute the replacement
string.  Inside of that expression, `\&' is a string denoting the
whole match as a string, `\N' for a partial match, `\#&' and `\#N'
for the whole or a partial match converted to a number with
`string-to-number', and `\#' itself for the number of replacements
done so far (starting with zero).

If the replacement expression is a symbol, write a space after it
to terminate it.  One space there, if any, will be discarded.

When using those Lisp features interactively in the replacement
text, TO-STRING is actually made a list instead of a string.
Use \[repeat-complex-command] after this command for details.Fquery-replace-regexp-eval
Replace some things after point matching REGEXP with the result of TO-EXPR.

Interactive use of this function is deprecated in favor of the
`\,' feature of `query-replace-regexp'.  For non-interactive use, a loop
using `search-forward-regexp' and `replace-match' is preferred.

As each match is found, the user must type a character saying
what to do with it.  For directions, type \[help-command] at that time.

TO-EXPR is a Lisp expression evaluated to compute each replacement.  It may
reference `replace-count' to get the number of replacements already made.
If the result of TO-EXPR is not a string, it is converted to one using
`prin1-to-string' with the NOESCAPE argument (which see).

For convenience, when entering TO-EXPR interactively, you can use `\&' or
`\0' to stand for whatever matched the whole of REGEXP, and `\N' (where
N is a digit) to stand for whatever matched the Nth `\(...\)' in REGEXP.
Use `\#&' or `\#N' if you want a number instead of a string.
In interactive use, `\#' in itself stands for `replace-count'.

In Transient Mark mode, if the mark is active, operate on the contents
of the region.  Otherwise, operate from point to the end of the buffer.

Use \<minibuffer-local-map>\[next-history-element] to pull the last incremental search regexp to the minibuffer
that reads REGEXP.

Preserves case in each replacement if `case-replace' and `case-fold-search'
are non-nil and REGEXP has no uppercase letters.

If `replace-regexp-lax-whitespace' is non-nil, a space or spaces in the regexp
to be replaced will match a sequence of whitespace chars defined by the
regexp in `search-whitespace-regexp'.

Third arg DELIMITED (prefix arg if interactive), if non-nil, means replace
only matches that are surrounded by word boundaries.
Fourth and fifth arg START and END specify the region to operate on.Fmap-query-replace-regexp
Replace some matches for REGEXP with various strings, in rotation.
The second argument TO-STRINGS contains the replacement strings, separated
by spaces.  This command works like `query-replace-regexp' except that
each successive replacement uses the next successive replacement string,
wrapping around from the last such string to the first.

In Transient Mark mode, if the mark is active, operate on the contents
of the region.  Otherwise, operate from point to the end of the buffer.

Non-interactively, TO-STRINGS may be a list of replacement strings.

Use \<minibuffer-local-map>\[next-history-element] to pull the last incremental search regexp to the minibuffer
that reads REGEXP.

A prefix argument N says to use each replacement string N times
before rotating to the next.
Fourth and fifth arg START and END specify the region to operate on.Freplace-string
Replace occurrences of FROM-STRING with TO-STRING.
Preserve case in each match if `case-replace' and `case-fold-search'
are non-nil and FROM-STRING has no uppercase letters.
(Preserving case means that if the string matched is all caps, or capitalized,
then its replacement is upcased or capitalized.)

If `replace-lax-whitespace' is non-nil, a space or spaces in the string
to be replaced will match a sequence of whitespace chars defined by the
regexp in `search-whitespace-regexp'.

In Transient Mark mode, if the mark is active, operate on the contents
of the region.  Otherwise, operate from point to the end of the buffer.

Third arg DELIMITED (prefix arg if interactive), if non-nil, means replace
only matches surrounded by word boundaries.
Fourth and fifth arg START and END specify the region to operate on.

Use \<minibuffer-local-map>\[next-history-element] to pull the last incremental search string to the minibuffer
that reads FROM-STRING.

This function is usually the wrong thing to use in a Lisp program.
What you probably want is a loop like this:
  (while (search-forward FROM-STRING nil t)
    (replace-match TO-STRING nil t))
which will run faster and will not set the mark or print anything.
(You may need a more complex loop if FROM-STRING can match the null string
and TO-STRING is also null.)Freplace-regexp
Replace things after point matching REGEXP with TO-STRING.
Preserve case in each match if `case-replace' and `case-fold-search'
are non-nil and REGEXP has no uppercase letters.

If `replace-regexp-lax-whitespace' is non-nil, a space or spaces in the regexp
to be replaced will match a sequence of whitespace chars defined by the
regexp in `search-whitespace-regexp'.

In Transient Mark mode, if the mark is active, operate on the contents
of the region.  Otherwise, operate from point to the end of the buffer.

Third arg DELIMITED (prefix arg if interactive), if non-nil, means replace
only matches surrounded by word boundaries.
Fourth and fifth arg START and END specify the region to operate on.

In TO-STRING, `\&' stands for whatever matched the whole of REGEXP,
and `\=\N' (where N is a digit) stands for
whatever what matched the Nth `\(...\)' in REGEXP.
`\?' lets you edit the replacement text in the minibuffer
at the given position for each replacement.

In interactive calls, the replacement text may contain `\,'
followed by a Lisp expression used as part of the replacement
text.  Inside of that expression, `\&' is a string denoting the
whole match, `\N' a partial match, `\#&' and `\#N' the respective
numeric values from `string-to-number', and `\#' itself for
`replace-count', the number of replacements occurred so far.

If your Lisp expression is an identifier and the next letter in
the replacement string would be interpreted as part of it, you
can wrap it with an expression like `\,(or \#)'.  Incidentally,
for this particular case you may also enter `\#' in the
replacement text directly.

When using those Lisp features interactively in the replacement
text, TO-STRING is actually made a list instead of a string.
Use \[repeat-complex-command] after this command for details.

Use \<minibuffer-local-map>\[next-history-element] to pull the last incremental search regexp to the minibuffer
that reads REGEXP.

This function is usually the wrong thing to use in a Lisp program.
What you probably want is a loop like this:
  (while (re-search-forward REGEXP nil t)
    (replace-match TO-STRING nil nil))
which will run faster and will not set the mark or print anything.Vregexp-history
History list for some commands that read regular expressions.

Maximum length of the history list is determined by the value
of `history-length', which see.Voccur-collect-regexp-history
History of regexp for occur's collect operationFread-regexp
Read and return a regular expression as a string.
When PROMPT doesn't end with a colon and space, it adds a final ": ".
If DEFAULTS is non-nil, it displays the first default in the prompt.

Non-nil optional arg DEFAULTS is a string or a list of strings that
are prepended to a list of standard default values, which include the
string at point, the last isearch regexp, the last isearch string, and
the last replacement regexp.

Non-nil HISTORY is a symbol to use for the history list.
If HISTORY is nil, `regexp-history' is used.Fkeep-lines-read-args
Read arguments for `keep-lines' and friends.
Prompt for a regexp with PROMPT.
Value is a list, (REGEXP).Fkeep-lines
Delete all lines except those containing matches for REGEXP.
A match split across lines preserves all the lines it lies in.
When called from Lisp (and usually interactively as well, see below)
applies to all lines starting after point.

If REGEXP contains upper case characters (excluding those preceded by `\')
and `search-upper-case' is non-nil, the matching is case-sensitive.

Second and third arg RSTART and REND specify the region to operate on.
This command operates on (the accessible part of) all lines whose
accessible part is entirely contained in the region determined by RSTART
and REND.  (A newline ending a line counts as part of that line.)

Interactively, in Transient Mark mode when the mark is active, operate
on all lines whose accessible part is entirely contained in the region.
Otherwise, the command applies to all lines starting after point.
When calling this function from Lisp, you can pretend that it was
called interactively by passing a non-nil INTERACTIVE argument.

This function starts looking for the next match from the end of
the previous match.  Hence, it ignores matches that overlap
a previously found match.Fflush-lines
Delete lines containing matches for REGEXP.
When called from Lisp (and usually when called interactively as
well, see below), applies to the part of the buffer after point.
The line point is in is deleted if and only if it contains a
match for regexp starting after point.

If REGEXP contains upper case characters (excluding those preceded by `\')
and `search-upper-case' is non-nil, the matching is case-sensitive.

Second and third arg RSTART and REND specify the region to operate on.
Lines partially contained in this region are deleted if and only if
they contain a match entirely contained in it.

Interactively, in Transient Mark mode when the mark is active, operate
on the contents of the region.  Otherwise, operate from point to the
end of (the accessible portion of) the buffer.  When calling this function
from Lisp, you can pretend that it was called interactively by passing
a non-nil INTERACTIVE argument.

If a match is split across lines, all the lines it lies in are deleted.
They are deleted _before_ looking for the next match.  Hence, a match
starting on the same line at which another match ended is ignored.Fhow-many
Print and return number of matches for REGEXP following point.
When called from Lisp and INTERACTIVE is omitted or nil, just return
the number, do not print it; if INTERACTIVE is t, the function behaves
in all respects as if it had been called interactively.

If REGEXP contains upper case characters (excluding those preceded by `\')
and `search-upper-case' is non-nil, the matching is case-sensitive.

Second and third arg RSTART and REND specify the region to operate on.

Interactively, in Transient Mark mode when the mark is active, operate
on the contents of the region.  Otherwise, operate from point to the
end of (the accessible portion of) the buffer.

This function starts looking for the next match from the end of
the previous match.  Hence, it ignores matches that overlap
a previously found match.Voccur-menu-map
Menu keymap for `occur-mode'.Voccur-mode-map
Keymap for `occur-mode'.Voccur-revert-arguments
Arguments to pass to `occur-1' to revert an Occur mode buffer.
See `occur-revert-function'.Foccur-mode
Major mode for output from \[occur].
\<occur-mode-map>Move point to one of the items in this buffer, then use
\[occur-mode-goto-occurrence] to go to the occurrence that the item refers to.
Alternatively, click \[occur-mode-mouse-goto] on an item to go to it.

\{occur-mode-map}

In addition to any hooks its parent mode `special-mode' might have run,
this mode runs the hook `occur-mode-hook', as the final step
during initialization.Voccur-edit-mode-map
Keymap for `occur-edit-mode'.Foccur-edit-mode
Major mode for editing *Occur* buffers.
In this mode, changes to the *Occur* buffer are also applied to
the originating buffer.

To return to ordinary Occur mode, use \[occur-cease-edit].

In addition to any hooks its parent mode `occur-mode' might have run,
this mode runs the hook `occur-edit-mode-hook', as the final step
during initialization.Foccur-cease-edit
Switch from Occur Edit mode to Occur mode.Foccur-revert-function
Handle `revert-buffer' for Occur mode buffers.Foccur-mode-goto-occurrence
Go to the occurrence on the current line.Foccur-mode-goto-occurrence-other-window
Go to the occurrence the current line describes, in another window.Foccur-mode-display-occurrence
Display in another window the occurrence the current line describes.Foccur-next
Move to the Nth (default 1) next match in an Occur mode buffer.Foccur-prev
Move to the Nth (default 1) previous match in an Occur mode buffer.Foccur-next-error
Move to the Nth (default 1) next match in an Occur mode buffer.
Compatibility function for \[next-error] invocations.Foccur-rename-buffer
Rename the current *Occur* buffer to *Occur: original-buffer-name*.
Here `original-buffer-name' is the buffer name where Occur was originally run.
When given the prefix argument, or called non-interactively, the renaming
will not clobber the existing buffer(s) of that name, but use
`generate-new-buffer-name' instead.  You can add this to `occur-hook'
if you always want a separate *Occur* buffer for each buffer where you
invoke `occur'.Foccur
Show all lines in the current buffer containing a match for REGEXP.
If a match spreads across multiple lines, all those lines are shown.

Each line is displayed with NLINES lines before and after, or -NLINES
before if NLINES is negative.
NLINES defaults to `list-matching-lines-default-context-lines'.
Interactively it is the prefix arg.

The lines are shown in a buffer named `*Occur*'.
It serves as a menu to find any of the occurrences in this buffer.
\<occur-mode-map>\[describe-mode] in that buffer will explain how.

If REGEXP contains upper case characters (excluding those preceded by `\')
and `search-upper-case' is non-nil, the matching is case-sensitive.

When NLINES is a string or when the function is called
interactively with prefix argument without a number (`C-u' alone
as prefix) the matching strings are collected into the `*Occur*'
buffer by using NLINES as a replacement regexp.  NLINES may
contain \& and \N which convention follows `replace-match'.
For example, providing "defun\s +\(\S +\)" for REGEXP and
"\1" for NLINES collects all the function names in a lisp
program.  When there is no parenthesized subexpressions in REGEXP
the entire match is collected.  In any case the searched buffer
is not modified.Fmulti-occur
Show all lines in buffers BUFS containing a match for REGEXP.
This function acts on multiple buffers; otherwise, it is exactly like
`occur'.  When you invoke this command interactively, you must specify
the buffer names that you want, one by one.
See also `multi-occur-in-matching-buffers'.Fmulti-occur-in-matching-buffers
Show all lines matching REGEXP in buffers specified by BUFREGEXP.
Normally BUFREGEXP matches against each buffer's visited file name,
but if you specify a prefix argument, it matches against the buffer name.
See also `multi-occur'.Vquery-replace-help
Help message while in `query-replace'.Vquery-replace-map
Keymap of responses to questions posed by commands like `query-replace'.
The "bindings" in this map are not commands; they are answers.
The valid answers include `act', `skip', `act-and-show',
`act-and-exit', `exit', `exit-prefix', `recenter', `scroll-up',
`scroll-down', `scroll-other-window', `scroll-other-window-down',
`edit', `edit-replacement', `delete-and-edit', `automatic',
`backup', `quit', and `help'.

This keymap is used by `y-or-n-p' as well as `query-replace'.Vmulti-query-replace-map
Keymap that defines additional bindings for multi-buffer replacements.
It extends its parent map `query-replace-map' with new bindings to
operate on a set of buffers/files.  The difference with its parent map
is the additional answers `automatic-all' to replace all remaining
matches in all remaining buffers with no more questions, and
`exit-current' to skip remaining matches in the current buffer
and to continue with the next buffer in the sequence.Freplace-match-string-symbols
Process a list (and any sub-lists), expanding certain symbols.
Symbol  Expands To
N     (match-string N)           (where N is a string of digits)
#N    (string-to-number (match-string N))
&     (match-string 0)
#&    (string-to-number (match-string 0))
#     replace-count

Note that these symbols must be preceded by a backslash in order to
type them using Lisp syntax.Freplace-quote
Quote a replacement string.
This just doubles all backslashes in REPLACEMENT and
returns the resulting string.  If REPLACEMENT is not
a string, it is first passed through `prin1-to-string'
with the `noescape' argument set.

`match-data' is preserved across the call.Freplace-match-data
Like `match-data', but markers in REUSE get invalidated.
If NEW is non-nil, it is set and returned instead of fresh data,
but coerced to the correct value of INTEGERS.Freplace-match-maybe-edit
Make a replacement with `replace-match', editing `\?'.
NEWTEXT, FIXEDCASE, LITERAL are just passed on.  If NOEDIT is true, no
check for `\?' is made to save time.  MATCH-DATA is used for the
replacement.  In case editing is done, it is changed to use markers.

The return value is non-nil if there has been no `\?' or NOEDIT was
passed in.  If LITERAL is set, no checking is done, anyway.Vreplace-search-function
Function to use when searching for strings to replace.
It is used by `query-replace' and `replace-string', and is called
with three arguments, as if it were `search-forward'.Vreplace-re-search-function
Function to use when searching for regexps to replace.
It is used by `query-replace-regexp', `replace-regexp',
`query-replace-regexp-eval', and `map-query-replace-regexp'.
It is called with three arguments, as if it were
`re-search-forward'.Fperform-replace
Subroutine of `query-replace'.  Its complexity handles interactive queries.
Don't use this in your own program unless you want to query and set the mark
just as `query-replace' does.  Instead, write a simple loop like this:

  (while (re-search-forward "foo[ \t]+bar" nil t)
    (replace-match "foobar" nil nil))

which will run faster and probably do exactly what you want.  Please
see the documentation of `replace-match' to find out how to simulate
`case-replace'.

This function returns nil if and only if there were no matches to
make, or the user didn't cancel the call.Stabulated-list.elc
Vtabulated-list-format
The format of the current Tabulated List mode buffer.
This should be a vector of elements (NAME WIDTH SORT . PROPS),
where:
 - NAME is a string describing the column.
   This is the label for the column in the header line.
   Different columns must have non-`equal' names.
 - WIDTH is the width to reserve for the column.
   For the final element, its numerical value is ignored.
 - SORT specifies how to sort entries by this column.
   If nil, this column cannot be used for sorting.
   If t, sort by comparing the string value printed in the column.
   Otherwise, it should be a predicate function suitable for
   `sort', accepting arguments with the same form as the elements
   of `tabulated-list-entries'.
 - PROPS is a plist of additional column properties.
   Currently supported properties are:
   - `:right-align': if non-nil, the column should be right-aligned.
   - `:pad-right': Number of additional padding spaces to the
     right of the column (defaults to 1 if omitted).Vtabulated-list-use-header-line
Whether the Tabulated List buffer should use a header line.Vtabulated-list-entries
Entries displayed in the current Tabulated List buffer.
This should be either a function, or a list.
If a list, each element has the form (ID [DESC1 ... DESCN]),
where:
 - ID is nil, or a Lisp object uniquely identifying this entry,
   which is used to keep the cursor on the "same" entry when
   rearranging the list.  Comparison is done with `equal'.

 - Each DESC is a column descriptor, one for each column
   specified in `tabulated-list-format'.  A descriptor is either
   a string, which is printed as-is, or a list (LABEL . PROPS),
   which means to use `insert-text-button' to insert a text
   button with label LABEL and button properties PROPS.
   The string, or button label, must not contain any newline.

If `tabulated-list-entries' is a function, it is called with no
arguments and must return a list of the above form.Vtabulated-list-padding
Number of characters preceding each Tabulated List mode entry.
By default, lines are padded with spaces, but you can use the
function `tabulated-list-put-tag' to change this.Vtabulated-list-revert-hook
Hook run before reverting a Tabulated List buffer.
This is commonly used to recompute `tabulated-list-entries'.Vtabulated-list-printer
Function for inserting a Tabulated List entry at point.
It is called with two arguments, ID and COLS.  ID is a Lisp
object identifying the entry, and COLS is a vector of column
descriptors, as documented in `tabulated-list-entries'.Vtabulated-list-sort-key
Sort key for the current Tabulated List mode buffer.
If nil, no additional sorting is performed.
Otherwise, this should be a cons cell (NAME . FLIP).
NAME is a string matching one of the column names in
`tabulated-list-format' (the corresponding SORT entry in
`tabulated-list-format' then specifies how to sort).  FLIP, if
non-nil, means to invert the resulting sort.Ftabulated-list-get-id
Return the entry ID of the Tabulated List entry at POS.
The value is an ID object from `tabulated-list-entries', or nil.
POS, if omitted or nil, defaults to point.

(fn &optional POS)Ftabulated-list-get-entry
Return the Tabulated List entry at POS.
The value is a vector of column descriptors, or nil if there is
no entry at POS.  POS, if omitted or nil, defaults to point.

(fn &optional POS)Ftabulated-list-put-tag
Put TAG in the padding area of the current line.
TAG should be a string, with length <= `tabulated-list-padding'.
If ADVANCE is non-nil, move forward by one line afterwards.

(fn TAG &optional ADVANCE)Vtabulated-list-mode-map
Local keymap for `tabulated-list-mode' buffers.Vtabulated-list-sort-button-map
Local keymap for `tabulated-list-mode' sort buttons.Vtabulated-list-glyphless-char-display
The `glyphless-char-display' table in Tabulated List buffers.Ftabulated-list-init-header
Set up header line for the Tabulated List buffer.

(fn)Ftabulated-list-print-fake-header
Insert a fake Tabulated List "header line" at the start of the buffer.

(fn)Ftabulated-list-revert
The `revert-buffer-function' for `tabulated-list-mode'.
It runs `tabulated-list-revert-hook', then calls `tabulated-list-print'.

(fn &rest IGNORED)Ftabulated-list-print
Populate the current Tabulated List mode buffer.
This sorts the `tabulated-list-entries' list if sorting is
specified by `tabulated-list-sort-key'.  It then erases the
buffer and inserts the entries with `tabulated-list-printer'.

Optional argument REMEMBER-POS, if non-nil, means to move point
to the entry with the same ID element as the current line.

(fn &optional REMEMBER-POS)Ftabulated-list-print-entry
Insert a Tabulated List entry at point.
This is the default `tabulated-list-printer' function.  ID is a
Lisp object identifying the entry to print, and COLS is a vector
of column descriptors.

(fn ID COLS)Ftabulated-list-print-col
Insert a specified Tabulated List entry at point.
N is the column number, COL-DESC is a column descriptor (see
`tabulated-list-entries'), and X is the column number at point.
Return the column number after insertion.

(fn N COL-DESC X)Ftabulated-list-delete-entry
Delete the Tabulated List entry at point.
Return a list (ID COLS), where ID is the ID of the deleted entry
and COLS is a vector of its column descriptors.  Move point to
the beginning of the deleted entry.  Return nil if there is no
entry at point.

This function only changes the buffer contents; it does not alter
`tabulated-list-entries'.

(fn)Ftabulated-list-set-col
Change the Tabulated List entry at point, setting COL to DESC.
COL is the column number to change, or the name of the column to change.
DESC is the new column descriptor, which is inserted via
`tabulated-list-print-col'.

If CHANGE-ENTRY-DATA is non-nil, modify the underlying entry data
by setting the appropriate slot of the vector originally used to
print this entry.  If `tabulated-list-entries' has a list value,
this is the vector stored within it.

(fn COL DESC &optional CHANGE-ENTRY-DATA)Ftabulated-list-col-sort
Sort Tabulated List entries by the column of the mouse click E.

(fn &optional E)Ftabulated-list-sort
Sort Tabulated List entries by the column at point.
With a numeric prefix argument N, sort the Nth column.

(fn &optional N)Ftabulated-list-mode
Generic major mode for browsing a list of items.
This mode is usually not used directly; instead, other major
modes are derived from it, using `define-derived-mode'.

In this major mode, the buffer is divided into multiple columns,
which are labeled using the header line.  Each non-empty line
belongs to one "entry", and the entries can be sorted according
to their column values.

An inheriting mode should usually do the following in their body:

 - Set `tabulated-list-format', specifying the column format.
 - Set `tabulated-list-revert-hook', if the buffer contents need
   to be specially recomputed prior to `revert-buffer'.
 - Maybe set a `tabulated-list-entries' function (see below).
 - Maybe set `tabulated-list-printer' (see below).
 - Maybe set `tabulated-list-padding'.
 - Call `tabulated-list-init-header' to initialize `header-line-format'
   according to `tabulated-list-format'.

An inheriting mode is usually accompanied by a "list-FOO"
command (e.g. `list-packages', `list-processes').  This command
creates or switches to a buffer and enables the major mode in
that buffer.  If `tabulated-list-entries' is not a function, the
command should initialize it to a list of entries for displaying.
Finally, it should call `tabulated-list-print'.

`tabulated-list-print' calls the printer function specified by
`tabulated-list-printer', once for each entry.  The default
printer is `tabulated-list-print-entry', but a mode that keeps
data in an ewoc may instead specify a printer function (e.g., one
that calls `ewoc-enter-last'), with `tabulated-list-print-entry'
as the ewoc pretty-printer.

In addition to any hooks its parent mode `special-mode' might have run,
this mode runs the hook `tabulated-list-mode-hook', as the final step
during initialization.

\{tabulated-list-mode-map}

(fn)Sbuff-menu.elc
VBuffer-menu-files-only
Non-nil if the current Buffer Menu lists only file buffers.
This is set by the prefix argument to `buffer-menu' and related
commands.VBuffer-menu-mode-map
Local keymap for `Buffer-menu-mode' buffers.FBuffer-menu-mode
Major mode for Buffer Menu buffers.
The Buffer Menu is invoked by the commands \[list-buffers],
\[buffer-menu], and \[buffer-menu-other-window].
See `buffer-menu' for a description of its contents.

In Buffer Menu mode, the following commands are defined:
\<Buffer-menu-mode-map>
\[quit-window]    Remove the Buffer Menu from the display.
\[Buffer-menu-this-window]  Select current line's buffer in place of the buffer menu.
\[Buffer-menu-other-window]    Select that buffer in another window,
     so the Buffer Menu remains visible in its window.
\[Buffer-menu-view]    Select current line's buffer, in View mode.
\[Buffer-menu-view-other-window]  Select that buffer in
     another window, in view-mode.
\[Buffer-menu-switch-other-window]  Make another window display that buffer.
\[Buffer-menu-mark]    Mark current line's buffer to be displayed.
\[Buffer-menu-select]    Select current line's buffer.
     Also show buffers marked with m, in other windows.
\[Buffer-menu-1-window]    Select that buffer in full-frame window.
\[Buffer-menu-2-window]    Select that buffer in one window, together with the
     buffer selected before this one in another window.
\[Buffer-menu-isearch-buffers]    Incremental search in the marked buffers.
\[Buffer-menu-isearch-buffers-regexp]  Isearch for regexp in the marked buffers.
\[Buffer-menu-visit-tags-table]    visit-tags-table this buffer.
\[Buffer-menu-not-modified]    Clear modified-flag on that buffer.
\[Buffer-menu-save]    Mark that buffer to be saved, and move down.
\[Buffer-menu-delete]  Mark that buffer to be deleted, and move down.
\[Buffer-menu-delete-backwards]  Mark that buffer to be deleted, and move up.
\[Buffer-menu-execute]    Delete or save marked buffers.
\[Buffer-menu-unmark]    Remove all marks from current line.
     With prefix argument, also move up one line.
\[Buffer-menu-backup-unmark]  Back up a line and remove marks.
\[Buffer-menu-toggle-read-only]    Toggle read-only status of buffer on this line.
\[revert-buffer]    Update the list of buffers.
\[Buffer-menu-toggle-files-only]    Toggle whether the menu displays only file buffers.
\[Buffer-menu-bury]    Bury the buffer listed on this line.

In addition to any hooks its parent mode `tabulated-list-mode' might have run,
this mode runs the hook `Buffer-menu-mode-hook', as the final step
during initialization.Fbuffer-menu
Switch to the Buffer Menu.
By default, the Buffer Menu lists all buffers except those whose
names start with a space (which are for internal use).  With
prefix argument ARG, show only buffers that are visiting files.

In the Buffer Menu, the first column (denoted "C") shows "."
for the buffer from which you came, ">" for buffers you mark to
be displayed, and "D" for those you mark for deletion.

The "R" column has a "%" if the buffer is read-only.
The "M" column has a "*" if it is modified, or "S" if you
have marked it for saving.

The remaining columns show the buffer name, the buffer size in
characters, its major mode, and the visited file name (if any).

See `Buffer-menu-mode' for the keybindings available the Buffer
Menu.Fbuffer-menu-other-window
Display the Buffer Menu in another window.
See `buffer-menu' for a description of the Buffer Menu.

By default, all buffers are listed except those whose names start
with a space (which are for internal use).  With prefix argument
ARG, show only buffers that are visiting files.Flist-buffers
Display a list of existing buffers.
The list is displayed in a buffer named "*Buffer List*".
See `buffer-menu' for a description of the Buffer Menu.

By default, all buffers are listed except those whose names start
with a space (which are for internal use).  With prefix argument
ARG, show only buffers that are visiting files.FBuffer-menu-toggle-files-only
Toggle whether the current buffer-menu displays only file buffers.
With a positive ARG, display only file buffers.  With zero or
negative ARG, display other buffers as well.FBuffer-menu-buffer
Return the buffer described by the current Buffer Menu line.
If there is no buffer here, return nil if ERROR-IF-NON-EXISTENT-P
is nil or omitted, and signal an error otherwise.FBuffer-menu-mark
Mark the Buffer menu entry at point for later display.
It will be displayed by the \<Buffer-menu-mode-map>\[Buffer-menu-select] command.FBuffer-menu-unmark
Cancel all requested operations on buffer on this line and move down.
Optional prefix arg means move up.FBuffer-menu-backup-unmark
Move up and cancel all requested operations on buffer on line above.FBuffer-menu-delete
Mark the buffer on this Buffer Menu buffer line for deletion.
A subsequent \<Buffer-menu-mode-map>`\[Buffer-menu-execute]' command
will delete it.

If prefix argument ARG is non-nil, it specifies the number of
buffers to delete; a negative ARG means to delete backwards.FBuffer-menu-delete-backwards
Mark the buffer on this Buffer Menu line for deletion, and move up.
A subsequent \<Buffer-menu-mode-map>`\[Buffer-menu-execute]'
command will delete the marked buffer.  Prefix ARG means move
that many lines.FBuffer-menu-save
Mark the buffer on this Buffer Menu line for saving.
A subsequent \<Buffer-menu-mode-map>`\[Buffer-menu-execute]' command
will save it.FBuffer-menu-not-modified
Mark the buffer on this line as unmodified (no changes to save).
If ARG is non-nil (interactively, with a prefix argument), mark
it as modified.FBuffer-menu-execute
Save and/or delete marked buffers in the Buffer Menu.
Buffers marked with \<Buffer-menu-mode-map>`\[Buffer-menu-save]' are saved.
Buffers marked with \<Buffer-menu-mode-map>`\[Buffer-menu-delete]' are deleted.FBuffer-menu-select
Select this line's buffer; also, display buffers marked with `>'.
You can mark buffers with the \<Buffer-menu-mode-map>`\[Buffer-menu-mark]' command.
This command deletes and replaces all the previously existing windows
in the selected frame.FBuffer-menu-marked-buffers
Return the list of buffers marked with `Buffer-menu-mark'.
If UNMARK is non-nil, unmark them.FBuffer-menu-isearch-buffers
Search for a string through all marked buffers using Isearch.FBuffer-menu-isearch-buffers-regexp
Search for a regexp through all marked buffers using Isearch.FBuffer-menu-visit-tags-table
Visit the tags table in the buffer on this line.  See `visit-tags-table'.FBuffer-menu-1-window
Select this line's buffer, alone, in full frame.FBuffer-menu-this-window
Select this line's buffer in this window.FBuffer-menu-other-window
Select this line's buffer in other window, leaving buffer menu visible.FBuffer-menu-switch-other-window
Make the other window select this line's buffer.
The current window remains selected.FBuffer-menu-2-window
Select this line's buffer, with previous buffer in second window.FBuffer-menu-toggle-read-only
Toggle read-only status of buffer on this line.
This behaves like invoking \[toggle-read-only] in that buffer.FBuffer-menu-bury
Bury the buffer listed on this line.FBuffer-menu-view
View this line's buffer in View mode.FBuffer-menu-view-other-window
View this line's buffer in View mode in another window.Flist-buffers-noselect
Create and return a Buffer Menu buffer.
This is called by `buffer-menu' and others as a subroutine.

If FILES-ONLY is non-nil, show only file-visiting buffers.
If BUFFER-LIST is non-nil, it should be a list of buffers; it
means list those buffers and no others.FBuffer-menu-mouse-select
Select the buffer whose line you click on.Sfringe.elc
Ffringe-bitmap-p
Return non-nil if SYMBOL is a fringe bitmap.Vfringe-mode-explicit
Non-nil means `set-fringe-mode' should really do something.
This is nil while loading `fringe.el', and t afterward.Fset-fringe-mode-1
Call `set-fringe-mode' with VALUE.
See `fringe-mode' for valid values and their effect.
This is usually invoked when setting `fringe-mode' via customize.Fset-fringe-mode
Set `fringe-mode' to VALUE and put the new value into effect.
See `fringe-mode' for possible values and their effect.Vfringe-styles
Alist mapping fringe mode names to fringe widths.
Each list element has the form (NAME . WIDTH), where NAME is a
mnemonic fringe mode name (a symbol) and WIDTH is one of the
following:
- nil, which means the default width (8 pixels).
- a cons cell (LEFT . RIGHT), where LEFT and RIGHT are
  respectively the left and right fringe widths in pixels, or
  nil (meaning to disable that fringe).
- a single integer, which specifies the pixel widths of both
  fringes.Ffringe-query-style
Query user for fringe style.
Returns values suitable for left-fringe and right-fringe frame parameters.
If ALL-FRAMES, the negation of the fringe values in
`default-frame-alist' is used when user enters the empty string.
Otherwise the negation of the fringe value in the currently selected
frame parameter is used.Ffringe-mode
Set the default appearance of fringes on all frames.
When called interactively, query the user for MODE; valid values
are `no-fringes', `default', `left-only', `right-only', `minimal'
and `half-width'.  See `fringe-styles'.

When used in a Lisp program, MODE should be one of these:
- nil, which means the default width (8 pixels).
- a cons cell (LEFT . RIGHT), where LEFT and RIGHT are
  respectively the left and right fringe widths in pixels, or
  nil (meaning to disable that fringe).
- a single integer, which specifies the pixel widths of both
  fringes.
This command may round up the left and right width specifications
to ensure that their sum is a multiple of the character width of
a frame.  It never rounds up a fringe width of 0.

Fringe widths set by `set-window-fringes' override the default
fringe widths set by this command.  This command applies to all
frames that exist and frames to be created in the future.  If you
want to set the default appearance of fringes on the selected
frame only, see the command `set-fringe-style'.Fset-fringe-style
Set the default appearance of fringes on the selected frame.
When called interactively, query the user for MODE; valid values
are `no-fringes', `default', `left-only', `right-only', `minimal'
and `half-width'.  See `fringe-styles'.

When used in a Lisp program, MODE should be one of these:
- nil, which means the default width (8 pixels).
- a cons cell (LEFT . RIGHT), where LEFT and RIGHT are
  respectively the left and right fringe widths in pixels, or
  nil (meaning to disable that fringe).
- a single integer, which specifies the pixel widths of both
  fringes.
This command may round up the left and right width specifications
to ensure that their sum is a multiple of the character width of
a frame.  It never rounds up a fringe width of 0.

Fringe widths set by `set-window-fringes' override the default
fringe widths set by this command.  If you want to set the
default appearance of fringes on all frames, see the command
`fringe-mode'.Ffringe-columns
Return the width, measured in columns, of the fringe area on SIDE.
If optional argument REAL is non-nil, return a real floating point
number instead of a rounded integer value.
SIDE must be the symbol `left' or `right'.Sregexp-opt.elc
Fregexp-opt
Return a regexp to match a string in the list STRINGS.
Each string should be unique in STRINGS and should not contain any regexps,
quoted or not.  If optional PAREN is non-nil, ensure that the returned regexp
is enclosed by at least one regexp grouping construct.
The returned regexp is typically more efficient than the equivalent regexp:

 (let ((open (if PAREN "\\(" "")) (close (if PAREN "\\)" "")))
   (concat open (mapconcat 'regexp-quote STRINGS "\\|") close))

If PAREN is `words', then the resulting regexp is additionally surrounded
by \=\< and \>.
If PAREN is `symbols', then the resulting regexp is additionally surrounded
by \=\_< and \_>.Fregexp-opt-depth
Return the depth of REGEXP.
This means the number of non-shy regexp grouping constructs
(parenthesized expressions) in REGEXP.Fregexp-opt-group
Return a regexp to match a string in the sorted list STRINGS.
If PAREN non-nil, output regexp parentheses around returned regexp.
If LAX non-nil, don't output parentheses if it doesn't require them.
Merges keywords to avoid backtracking in Emacs's regexp matcher.Fregexp-opt-charset
Return a regexp to match a character in CHARS.
CHARS should be a list of characters.Simage.elc
Vimage-type-header-regexps
Alist of (REGEXP . IMAGE-TYPE) pairs used to auto-detect image types.
When the first bytes of an image file match REGEXP, it is assumed to
be of image type IMAGE-TYPE if IMAGE-TYPE is a symbol.  If not a symbol,
IMAGE-TYPE must be a pair (PREDICATE . TYPE).  PREDICATE is called
with one argument, a string containing the image data.  If PREDICATE returns
a non-nil value, TYPE is the image's type.Vimage-type-file-name-regexps
Alist of (REGEXP . IMAGE-TYPE) pairs used to identify image files.
When the name of an image file match REGEXP, it is assumed to
be of image type IMAGE-TYPE.Vimage-type-auto-detectable
Alist of (IMAGE-TYPE . AUTODETECT) pairs used to auto-detect image files.
(See `image-type-auto-detected-p').

AUTODETECT can be
 - t      always auto-detect.
 - nil    never auto-detect.
 - maybe  auto-detect only if the image type is available
	    (see `image-type-available-p').Vimage-load-path
List of locations in which to search for image files.
If an element is a string, it defines a directory to search.
If an element is a variable symbol whose value is a string, that
value defines a directory to search.
If an element is a variable symbol whose value is a list, the
value is used as a list of directories to search.Fimage-load-path-for-library
Return a suitable search path for images used by LIBRARY.

It searches for IMAGE in `image-load-path' (excluding
"`data-directory'/images") and `load-path', followed by a path
suitable for LIBRARY, which includes "../../etc/images" and
"../etc/images" relative to the library file itself, and then
in "`data-directory'/images".

Then this function returns a list of directories which contains
first the directory in which IMAGE was found, followed by the
value of `load-path'.  If PATH is given, it is used instead of
`load-path'.

If NO-ERROR is non-nil and a suitable path can't be found, don't
signal an error.  Instead, return a list of directories as before,
except that nil appears in place of the image directory.

Here is an example that uses a common idiom to provide
compatibility with versions of Emacs that lack the variable
`image-load-path':

    ;; Shush compiler.
    (defvar image-load-path)

    (let* ((load-path (image-load-path-for-library "mh-e" "mh-logo.xpm"))
           (image-load-path (cons (car load-path)
                                  (when (boundp 'image-load-path)
                                    image-load-path))))
      (mh-tool-bar-folder-buttons-init))Fimage-jpeg-p
Value is non-nil if DATA, a string, consists of JFIF image data.
We accept the tag Exif because that is the same format.Fimage-type-from-data
Determine the image type from image data DATA.
Value is a symbol specifying the image type or nil if type cannot
be determined.Fimage-type-from-buffer
Determine the image type from data in the current buffer.
Value is a symbol specifying the image type or nil if type cannot
be determined.Fimage-type-from-file-header
Determine the type of image file FILE from its first few bytes.
Value is a symbol specifying the image type, or nil if type cannot
be determined.Fimage-type-from-file-name
Determine the type of image file FILE from its name.
Value is a symbol specifying the image type, or nil if type cannot
be determined.Fimage-type
Determine and return image type.
SOURCE is an image file name or image data.
Optional TYPE is a symbol describing the image type.  If TYPE is omitted
or nil, try to determine the image type from its first few bytes
of image data.  If that doesn't work, and SOURCE is a file name,
use its file extension as image type.
Optional DATA-P non-nil means SOURCE is a string containing image data.Fimage-type-available-p
Return non-nil if image type TYPE is available.
Image types are symbols like `xbm' or `jpeg'.Fimage-type-auto-detected-p
Return t if the current buffer contains an auto-detectable image.
This function is intended to be used from `magic-fallback-mode-alist'.

The buffer is considered to contain an auto-detectable image if
its beginning matches an image type in `image-type-header-regexps',
and that image type is present in `image-type-auto-detectable' with a
non-nil value.  If that value is non-nil, but not t, then the image type
must be available.Fcreate-image
Create an image.
FILE-OR-DATA is an image file name or image data.
Optional TYPE is a symbol describing the image type.  If TYPE is omitted
or nil, try to determine the image type from its first few bytes
of image data.  If that doesn't work, and FILE-OR-DATA is a file name,
use its file extension as image type.
Optional DATA-P non-nil means FILE-OR-DATA is a string containing image data.
Optional PROPS are additional image attributes to assign to the image,
like, e.g. `:mask MASK'.
Value is the image created, or nil if images of type TYPE are not supported.

Images should not be larger than specified by `max-image-size'.

Image file names that are not absolute are searched for in the
"images" sub-directory of `data-directory' and
`x-bitmap-file-path' (in that order).Fput-image
Put image IMAGE in front of POS in the current buffer.
IMAGE must be an image created with `create-image' or `defimage'.
IMAGE is displayed by putting an overlay into the current buffer with a
`before-string' STRING that has a `display' property whose value is the
image.  STRING is defaulted if you omit it.
The overlay created will have the `put-image' property set to t.
POS may be an integer or marker.
AREA is where to display the image.  AREA nil or omitted means
display it in the text area, a value of `left-margin' means
display it in the left marginal area, a value of `right-margin'
means display it in the right marginal area.Finsert-image
Insert IMAGE into current buffer at point.
IMAGE is displayed by inserting STRING into the current buffer
with a `display' property whose value is the image.  STRING
defaults to a single space if you omit it.
AREA is where to display the image.  AREA nil or omitted means
display it in the text area, a value of `left-margin' means
display it in the left marginal area, a value of `right-margin'
means display it in the right marginal area.
SLICE specifies slice of IMAGE to insert.  SLICE nil or omitted
means insert whole image.  SLICE is a list (X Y WIDTH HEIGHT)
specifying the X and Y positions and WIDTH and HEIGHT of image area
to insert.  A float value 0.0 - 1.0 means relative to the width or
height of the image; integer values are taken as pixel values.Finsert-sliced-image
Insert IMAGE into current buffer at point.
IMAGE is displayed by inserting STRING into the current buffer
with a `display' property whose value is the image.  The default
STRING is a single space.
AREA is where to display the image.  AREA nil or omitted means
display it in the text area, a value of `left-margin' means
display it in the left marginal area, a value of `right-margin'
means display it in the right marginal area.
The image is automatically split into ROWS x COLS slices.Fremove-images
Remove images between START and END in BUFFER.
Remove only images that were put in BUFFER with calls to `put-image'.
BUFFER nil or omitted means use the current buffer.Ffind-image
Find an image, choosing one of a list of image specifications.

SPECS is a list of image specifications.

Each image specification in SPECS is a property list.  The contents of
a specification are image type dependent.  All specifications must at
least contain the properties `:type TYPE' and either `:file FILE' or
`:data DATA', where TYPE is a symbol specifying the image type,
e.g. `xbm', FILE is the file to load the image from, and DATA is a
string containing the actual image data.  The specification whose TYPE
is supported, and FILE exists, is used to construct the image
specification to be returned.  Return nil if no specification is
satisfied.

The image is looked for in `image-load-path'.

Image files should not be larger than specified by `max-image-size'.Fdefimage
Define SYMBOL as an image.

SPECS is a list of image specifications.  DOC is an optional
documentation string.

Each image specification in SPECS is a property list.  The contents of
a specification are image type dependent.  All specifications must at
least contain the properties `:type TYPE' and either `:file FILE' or
`:data DATA', where TYPE is a symbol specifying the image type,
e.g. `xbm', FILE is the file to load the image from, and DATA is a
string containing the actual image data.  The first image
specification whose TYPE is supported, and FILE exists, is used to
define SYMBOL.

Example:

   (defimage test-image ((:type xpm :file "~/test1.xpm")
                         (:type xbm :file "~/test1.xbm")))Vimage-animated-types
List of supported animated image types.Fimage-animated-p
Return non-nil if IMAGE can be animated.
To be capable of being animated, an image must be of a type
listed in `image-animated-types', and contain more than one
sub-image, with a specified animation delay.  The actual return
value is a cons (NIMAGES . DELAY), where NIMAGES is the number
of sub-images in the animated image and DELAY is the delay in
seconds until the next sub-image should be displayed.Fimage-animate
Start animating IMAGE.
Animation occurs by destructively altering the IMAGE spec list.

With optional INDEX, begin animating from that animation frame.
LIMIT specifies how long to animate the image.  If omitted or
nil, play the animation until the end.  If t, loop forever.  If a
number, play until that number of seconds has elapsed.Fimage-animate-timer
Return the animation timer for image IMAGE.Fimage-animate-timeout
Display animation frame N of IMAGE.
N=0 refers to the initial animation frame.
COUNT is the total number of frames in the animation.
TIME-ELAPSED is the total time that has elapsed since
`image-animate-start' was called.
LIMIT determines when to stop.  If t, loop forever.  If nil, stop
 after displaying the last animation frame.  Otherwise, stop
 after LIMIT seconds have elapsed.
The minimum delay between successive frames is 0.01s.Fimagemagick-filter-types
Return a list of the ImageMagick types to be treated as images, or nil.
This is the result of `imagemagick-types', including only elements
that match `imagemagick-enabled-types' and do not match
`imagemagick-types-inhibit'.Vimagemagick--file-regexp
File extension regexp for ImageMagick files, if any.
This is the extension installed into `auto-mode-alist' and
`image-type-file-name-regexps' by `imagemagick-register-types'.Fimagemagick-register-types
Register file types that can be handled by ImageMagick.
This function is called at startup, after loading the init file.
It registers the ImageMagick types returned by `imagemagick-filter-types'.

Registered image types are added to `auto-mode-alist', so that
Emacs visits them in Image mode.  They are also added to
`image-type-file-name-regexps', so that the `image-type' function
recognizes these files as having image type `imagemagick'.

If Emacs is compiled without ImageMagick support, this does nothing.Sfontset.elc
Fsetup-default-fontset
Setup the default fontset.Fcreate-default-fontset
Create the default fontset.
Internal use only.  Should be called at startup time.Fset-font-encoding
Set arguments in `font-encoding-alist' (which see).Vx-font-name-charset-alist
This variable has no meaning now.  Just kept for backward compatibility.Fx-decompose-font-name
Decompose PATTERN into XLFD fields and return a vector of the fields.
The length of the vector is 12.
The FOUNDRY and FAMILY fields are concatenated and stored in the first
element of the vector.
The REGISTRY and ENCODING fields are concatenated and stored in the last
element of the vector.

Return nil if PATTERN doesn't conform to XLFD.Fx-compose-font-name
Compose X fontname from FIELDS.
FIELDS is a vector of XLFD fields, of length 12.
If a field is nil, wild-card letter `*' is embedded.
Optional argument REDUCE exists just for backward compatibility,
and is always ignored.Fx-must-resolve-font-name
Like `x-resolve-font-name', but always return a font name.
XLFD-FIELDS is a vector of XLFD (X Logical Font Description) fields.
If no font matching XLFD-FIELDS is available, successively replace
parts of the font name pattern with "*" until some font is found.
Value is name of that font.Fx-complement-fontset-spec
Complement elements of FONTLIST based on DEFAULT-SPEC.
DEFAULT-SPEC is a font-spec object providing default font properties.
FONTLIST is an alist of script names vs the corresponding font names.

The font names are parsed and unspecified font properties are
given from DEFAULT-SPEC.Ffontset-name-p
Return non-nil if FONTSET is valid as fontset name.
A valid fontset name should conform to XLFD (X Logical Font Description)
with "fontset" in `<CHARSET_REGISTRY>' field.Fgenerate-fontset-menu
Return list to be appended to `x-fixed-font-alist'.
Done when `mouse-set-font' is called.Ffontset-plain-name
Return a plain and descriptive name of FONTSET.Vcharset-script-alist
Alist of charsets vs the corresponding most appropriate scripts.

This alist is used by the function `create-fontset-from-fontset-spec'
to map charsets to scripts.Fcreate-fontset-from-fontset-spec
Create a fontset from fontset specification string FONTSET-SPEC.
FONTSET-SPEC is a string of the format:
	FONTSET-NAME,SCRIPT-NAME0:FONT-NAME0,SCRIPT-NAME1:FONT-NAME1, ...
Any number of SPACE, TAB, and NEWLINE can be put before and after commas.

When a frame uses the fontset as the `font' parameter, the frame's
default font name is derived from FONTSET-NAME by substituting
"iso8859-1" for the tail part "fontset-XXX".  But, if SCRIPT-NAMEn
is "ascii", use the corresponding FONT-NAMEn as the default font
name.

Optional 2nd and 3rd arguments exist just for backward compatibility,
and are ignored.

It returns a name of the created fontset.

For backward compatibility, SCRIPT-NAME may be a charset name, in
which case, the corresponding script is decided by the variable
`charset-script-alist' (which see).Fcreate-fontset-from-ascii-font
Create a fontset from an ASCII font FONT.

Optional 2nd arg RESOLVED-FONT is a resolved name of FONT.
If omitted, `x-resolve-font-name' is called to get the resolved name.
At this time, if FONT is not available, an error is signaled.

Optional 3rd arg FONTSET-NAME is a string to be used in
`<CHARSET_ENCODING>' fields of a new fontset name.  If it is omitted,
an appropriate name is generated automatically.

It returns a name of the created fontset.Vstandard-fontset-spec
String of fontset spec of the standard fontset.
You have the biggest chance to display international characters
with correct glyphs by using the standard fontset.
See the documentation of `create-fontset-from-fontset-spec' for the format.Sdnd.elc
Fdnd-handle-one-url
Handle one dropped url by calling the appropriate handler.
The handler is first located by looking at `dnd-protocol-alist'.
If no match is found here, and the value of `browse-url-browser-function'
is a pair of (REGEXP . FUNCTION), those regexps are tried for a match.
If no match is found, just call `dnd-insert-text'.
WINDOW is where the drop happened, ACTION is the action for the drop,
URL is what has been dropped.
Returns ACTION.Fdnd-get-local-file-uri
Return an uri converted to file:/// syntax if uri is a local file.
Return nil if URI is not a local file.Fdnd-get-local-file-name
Return file name converted from file:/// or file: syntax.
URI is the uri for the file.  If MUST-EXIST is given and non-nil,
only return non-nil if the file exists.
Return nil if URI is not a local file.Fdnd-open-local-file
Open a local file.
The file is opened in the current window, or a new window if
`dnd-open-file-other-window' is set.  URI is the url for the file,
and must have the format file:file-name or file:///file-name.
The last / in file:/// is part of the file name.  If the system
natively supports unc file names, then remote urls of the form
file://server-name/file-name will also be handled by this function.
An alternative for systems that do not support unc file names is
`dnd-open-remote-url'. ACTION is ignored.Fdnd-open-remote-url
Open a remote file with `find-file' and `url-handler-mode'.
Turns `url-handler-mode' on if not on before.  The file is opened in the
current window, or a new window if `dnd-open-file-other-window' is set.
URI is the url for the file.  ACTION is ignored.Fdnd-open-file
Open a local or remote file.
The file is opened in the current window, or a new window if
`dnd-open-file-other-window' is set.  URI is the url for the file,
and must have the format file://hostname/file-name.  ACTION is ignored.
The last / in file://hostname/ is part of the file name.Fdnd-insert-text
Insert text at point or push to the kill ring if buffer is read only.
TEXT is the text as a string, WINDOW is the window where the drop happened.Stool-bar.elc
Ftool-bar-mode
Toggle the tool bar in all graphical frames (Tool Bar mode).
With a prefix argument ARG, enable Tool Bar mode if ARG is
positive, and disable it otherwise.  If called from Lisp, enable
Tool Bar mode if ARG is omitted or nil.

See `tool-bar-add-item' and `tool-bar-add-item-from-menu' for
conveniently adding tool bar items.Ftoggle-tool-bar-mode-from-frame
Toggle tool bar on or off, based on the status of the current frame.
See `tool-bar-mode' for more information.Vtool-bar-map
Keymap for the tool bar.
Define this locally to override the global tool bar.Ftool-bar-make-keymap
Generate an actual keymap from `tool-bar-map'.
Its main job is to figure out which images to use based on the display's
color capability and based on the available image libraries.Ftool-bar-make-keymap-1
Generate an actual keymap from `tool-bar-map', without caching.Ftool-bar-add-item
Add an item to the tool bar.
ICON names the image, DEF is the key definition and KEY is a symbol
for the fake function key in the menu keymap.  Remaining arguments
PROPS are additional items to add to the menu item specification.  See
Info node `(elisp)Tool Bar'.  Items are added from left to right.

ICON is the base name of a file containing the image to use.  The
function will first try to use low-color/ICON.xpm if `display-color-cells'
is less or equal to 256, then ICON.xpm, then ICON.pbm, and finally
ICON.xbm, using `find-image'.

Use this function only to make bindings in the global value of `tool-bar-map'.
To define items in any other map, use `tool-bar-local-item'.Ftool-bar--image-expression
Return an expression that evaluates to an image spec for ICON.Ftool-bar-local-item
Add an item to the tool bar in map MAP.
ICON names the image, DEF is the key definition and KEY is a symbol
for the fake function key in the menu keymap.  Remaining arguments
PROPS are additional items to add to the menu item specification.  See
Info node `(elisp)Tool Bar'.  Items are added from left to right.

ICON is the base name of a file containing the image to use.  The
function will first try to use low-color/ICON.xpm if `display-color-cells'
is less or equal to 256, then ICON.xpm, then ICON.pbm, and finally
ICON.xbm, using `find-image'.Ftool-bar-add-item-from-menu
Define tool bar binding for COMMAND in keymap MAP using the given ICON.
This makes a binding for COMMAND in `tool-bar-map', copying its
binding from the menu bar in MAP (which defaults to `global-map'), but
modifies the binding by adding an image specification for ICON.  It
finds ICON just like `tool-bar-add-item'.  PROPS are additional
properties to add to the binding.

MAP must contain appropriate binding for `[menu-bar]' which holds a keymap.

Use this function only to make bindings in the global value of `tool-bar-map'.
To define items in any other map, use `tool-bar-local-item-from-menu'.Ftool-bar-local-item-from-menu
Define local tool bar binding for COMMAND using the given ICON.
This makes a binding for COMMAND in IN-MAP, copying its binding from
the menu bar in FROM-MAP (which defaults to `global-map'), but
modifies the binding by adding an image specification for ICON.  It
finds ICON just like `tool-bar-add-item'.  PROPS are additional
properties to add to the binding.

FROM-MAP must contain appropriate binding for `[menu-bar]' which
holds a keymap.Sdynamic-setting.elc
Ffont-setting-change-default-font
Change font and/or font settings for frames on display DISPLAY-OR-FRAME.
If DISPLAY-OR-FRAME is a frame, the display is the one for that frame.

If SET-FONT is non-nil, change the font for frames.  Otherwise re-apply the
current form for the frame (i.e. hinting or somesuch changed).Fdynamic-setting-handle-config-changed-event
Handle config-changed-event on the display in EVENT.
Changes can be
  The monospace font. If `font-use-system-font' is nil, the font
    is not changed.
  The normal font.
  Xft parameters, like DPI and hinting.
  The Gtk+ theme name.
  The tool bar style.Sx-dnd.elc
Vx-dnd-current-state
The current state for a drop.
This is an alist with one entry for each display.  The value for each display
is a vector that contains the state for drag and drop for that display.
Elements in the vector are:
Last buffer drag was in,
last window drag was in,
types available for drop,
the action suggested by the source,
the type we want for the drop,
the action we want for the drop,
any protocol specific data.Fx-dnd-init-frame
Setup drag and drop for FRAME (i.e. create appropriate properties).Fx-dnd-get-state-cons-for-frame
Return the entry in `x-dnd-current-state' for a frame or window.Fx-dnd-get-state-for-frame
Return the state in `x-dnd-current-state' for a frame or window.Fx-dnd-default-test-function
The default test function for drag and drop.
WINDOW is where the mouse is when this function is called.  It may be
a frame if the mouse is over the menu bar, scroll bar or tool bar.
ACTION is the suggested action from the source, and TYPES are the
types the drop data can have.  This function only accepts drops with
types in `x-dnd-known-types'.  It always returns the action private.Fx-dnd-current-type
Return the type we want the DND data to be in for the current drop.
FRAME-OR-WINDOW is the frame or window that the mouse is over.Fx-dnd-forget-drop
Remove all state for the last drop.
FRAME-OR-WINDOW is the frame or window that the mouse is over.Fx-dnd-maybe-call-test-function
Call `x-dnd-test-function' if something has changed.
WINDOW is the window the mouse is over.  ACTION is the suggested
action from the source.  If nothing has changed, return the last
action and type we got from `x-dnd-test-function'.Fx-dnd-save-state
Save the state of the current drag and drop.
WINDOW is the window the mouse is over.  ACTION is the action suggested
by the source.  ACTION-TYPE is the result of calling `x-dnd-test-function'.
If given, TYPES are the types for the drop data that the source supports.
EXTRA-DATA is data needed for a specific protocol.Fx-dnd-handle-moz-url
Handle one item of type text/x-moz-url.
WINDOW is the window where the drop happened.  ACTION is ignored.
DATA is the moz-url, which is formatted as two strings separated by \r\n.
The first string is the URL, the second string is the title of that URL.
DATA is encoded in utf-16.  Decode the URL and call `x-dnd-handle-uri-list'.Fx-dnd-insert-utf8-text
Decode the UTF-8 text and insert it at point.
TEXT is the text as a string, WINDOW is the window where the drop happened.Fx-dnd-insert-utf16-text
Decode the UTF-16 text and insert it at point.
TEXT is the text as a string, WINDOW is the window where the drop happened.Fx-dnd-insert-ctext
Decode the compound text and insert it at point.
TEXT is the text as a string, WINDOW is the window where the drop happened.Fx-dnd-handle-uri-list
Split an uri-list into separate URIs and call `dnd-handle-one-url'.
WINDOW is the window where the drop happened.
STRING is the uri-list as a string.  The URIs are separated by \r\n.Fx-dnd-handle-file-name
Convert file names to URLs and call `dnd-handle-one-url'.
WINDOW is the window where the drop happened.
STRING is the file names as a string, separated by nulls.Fx-dnd-choose-type
Choose which type we want to receive for the drop.
TYPES are the types the source of the drop offers, a vector of type names
as strings or symbols.  Select among the types in `x-dnd-known-types' or
KNOWN-TYPES if given, and return that type name.
If no suitable type is found, return nil.Fx-dnd-drop-data
Drop one data item onto a frame.
EVENT is the client message for the drop, FRAME is the frame the drop
occurred on.  WINDOW is the window of FRAME where the drop happened.
DATA is the data received from the source, and type is the type for DATA,
see `x-dnd-types-alist').

Returns the action used (move, copy, link, private) if drop was successful,
nil if not.Fx-dnd-handle-drag-n-drop-event
Receive drag and drop events (X client messages).
Currently XDND, Motif and old KDE 1.x protocols are recognized.Fx-dnd-handle-old-kde
Open the files in a KDE 1.x drop.Vx-dnd-xdnd-to-action
Mapping from XDND action types to lisp symbols.Fx-dnd-init-xdnd-for-frame
Set the XdndAware property for FRAME to indicate that we do XDND.Fx-dnd-get-drop-width-height
Return the width/height to be sent in a XDndStatus message.
FRAME is the frame and W is the window where the drop happened.
If ACCEPT is nil return 0 (empty rectangle),
otherwise if W is a window, return its width/height,
otherwise return the frame width/height.Fx-dnd-get-drop-x-y
Return the x/y coordinates to be sent in a XDndStatus message.
Coordinates are required to be absolute.
FRAME is the frame and W is the window where the drop happened.
If W is a window, return its absolute coordinates,
otherwise return the frame coordinates.Fx-dnd-version-from-flags
Return the version byte from the 32 bit FLAGS in an XDndEnter messageFx-dnd-more-than-3-from-flags
Return the nmore-than3 bit from the 32 bit FLAGS in an XDndEnter messageFx-dnd-handle-xdnd
Receive one XDND event (client message) and send the appropriate reply.
EVENT is the client message.  FRAME is where the mouse is now.
WINDOW is the window within FRAME where the mouse is now.
FORMAT is 32 (not used).  MESSAGE is the data part of an XClientMessageEvent.Fx-dnd-init-motif-for-frame
Set _MOTIF_DRAG_RECEIVER_INFO for FRAME to indicate that we do Motif DND.Vx-dnd-motif-message-types
Mapping from numbers to Motif DND message types.Vx-dnd-motif-to-action
Mapping from number to operation for Motif DND.Scommon-win.elc
Vx-select-enable-clipboard
Non-nil means cutting and pasting uses the clipboard.
This is in addition to, but in preference to, the primary selection.

Note that MS-Windows does not support selection types other than the
clipboard.  (The primary selection that is set by Emacs is not
accessible to other programs on MS-Windows.)

This variable is not used by the Nextstep port.Fx-select-text
Select TEXT, a string, according to the window system.

On X, if `x-select-enable-clipboard' is non-nil, copy TEXT to the
clipboard.  If `x-select-enable-primary' is non-nil, put TEXT in
the primary selection.

On MS-Windows, make TEXT the current selection.  If
`x-select-enable-clipboard' is non-nil, copy the text to the
clipboard as well.

On Nextstep, put TEXT in the pasteboard (`x-select-enable-clipboard'
is not used).Vx-alternatives-map
Keymap of possible alternative meanings for some keys.Fx-setup-function-keys
Set up `function-key-map' on the graphical frame FRAME.Vx-display-name
The name of the window display on which Emacs was started.
On X, the display name of individual X frames is recorded in the
`display' frame parameter.Fx-handle-display
Handle -display DISPLAY option.Fx-handle-args
Process the X (or Nextstep) related command line options in ARGS.
This is done before the user's startup file is loaded.
Copies the options in ARGS to `x-invocation-args'.  It then extracts
the X (or Nextstep) options according to the handlers defined in
`command-line-x-option-alist' (or `command-line-ns-option-alist').
For example, `x-handle-switch' handles a switch like "-fg" and its
value "black".  This function returns ARGS minus the arguments that
have been processed.Vx-colors
List of basic colors available on color displays.
For X, the list comes from the `rgb.txt' file,v 10.41 94/02/20.
For Nextstep, this is a list of non-PANTONE colors returned by
the operating system.Fxw-defined-colors
Internal function called by `defined-colors', which see.Sx-win.elc
Vemacs-save-session-functions
Special hook run when a save-session event occurs.
The functions do not get any argument.
Functions can return non-nil to inform the session manager that the
window system shutdown should be aborted.

See also `emacs-session-save'.Femacs-session-filename
Construct a filename to save the session in based on SESSION-ID.
If the directory ~/.emacs.d exists, we make a filename in there, otherwise
a file in the home directory.Femacs-session-save
This function is called when the window system is shutting down.
If this function returns non-nil, the window system shutdown is canceled.

When a session manager tells Emacs that the window system is shutting
down, this function is called.  It calls the functions in the hook
`emacs-save-session-functions'.  Functions are called with the current
buffer set to a temporary buffer.  Functions should use `insert' to insert
lisp code to save the session state.  The buffer is saved in a file in the
home directory of the user running Emacs.  The file is evaluated when
Emacs is restarted by the session manager.

If any of the functions returns non-nil, no more functions are called
and this function returns non-nil.  This will inform the session manager
that it should abort the window system shutdown.Femacs-session-restore
Restore the Emacs session if started by a session manager.
The file saved by `emacs-session-save' is evaluated and deleted if it
exists.Fvendor-specific-keysyms
Return the appropriate value of `system-key-alist' for VENDOR.
VENDOR is a string containing the name of the X Server's vendor,
as returned by `x-server-vendor'.Vx-last-selected-text-clipboard
The value of the CLIPBOARD X selection last time we selected or
pasted text.Vx-last-selected-text-primary
The value of the PRIMARY X selection last time we selected or
pasted text.Fx-get-selection-value
Get the current value of the PRIMARY selection.
Request data types in the order specified by `x-select-request-type'.Fx-clipboard-yank
Insert the clipboard contents, or the last stretch of killed text.Fx-menu-bar-open
Open the menu bar if it is shown.
`popup-menu' is used if it is off.Vx-initialized
Non-nil if the X window system has been initialized.Fx-initialize-window-system
Initialize Emacs for X frames and open the first connection to an X server.Fx-gtk-map-stock
Map icon with file name FILE to a Gtk+ stock name.
This uses `icon-map-list' to map icon file names to stock icon names.Sw32-vars.elc
Vw32-list-proportional-fonts
Include proportional fonts in the default font dialog.Sw32-win.elc
Fw32-drag-n-drop
Edit the files listed in the drag-n-drop EVENT.
Switch to a buffer editing the last file dropped.

(fn EVENT &optional NEW-FRAME)Fw32-drag-n-drop-other-frame
Edit the files listed in the drag-n-drop EVENT, in other frames.
May create new frames, or reuse existing ones.  The frame editing
the last file dropped is selected.

(fn EVENT)Fw32-menu-bar-open
Start key navigation of the menu bar in FRAME.

This initially activates the first menu-bar item, and you can then navigate
with the arrow keys, select a menu entry with the Return key or cancel with
the Escape key.  If FRAME has no menu bar, this function does nothing.

If FRAME is nil or not given, use the selected frame.
If FRAME does not have the menu bar enabled, display a text menu using
`tmm-menubar'.

(fn &optional FRAME)Vw32-standard-fontset-spec
String of fontset spec of the standard fontset.
This defines a fontset consisting of the Courier New variations for
European languages which are distributed with Windows as
"Multilanguage Support".

See the documentation of `create-fontset-from-fontset-spec' for the format.Fx-win-suspend-error
Report an error when a suspend is attempted.

(fn)Vw32-initialized
Non-nil if the w32 window system has been initialized.Fw32-initialize-window-system
Initialize Emacs for W32 GUI frames.

(fn)Sls-lisp.elc
Fls-lisp-set-options
Reset the ls-lisp options that depend on `ls-lisp-emulation'.Voriginal-insert-directory
This holds the original function definition of `insert-directory'.Vls-lisp-uid-d-fmt
Format to display integer UIDs.Vls-lisp-uid-s-fmt
Format to display user names.Vls-lisp-gid-d-fmt
Format to display integer GIDs.Vls-lisp-gid-s-fmt
Format to display user group names.Vls-lisp-filesize-d-fmt
Format to display integer file sizes.Vls-lisp-filesize-f-fmt
Format to display float file sizes.Finsert-directory
Insert directory listing for FILE, formatted according to SWITCHES.
Leaves point after the inserted text.
SWITCHES may be a string of options, or a list of strings.
Optional third arg WILDCARD means treat FILE as shell wildcard.
Optional fourth arg FULL-DIRECTORY-P means file is a directory and
switches do not contain `d', so that a full listing is expected.

This version of the function comes from `ls-lisp.el'.
If the value of `ls-lisp-use-insert-directory-program' is non-nil then
it works exactly like the version from `files.el' and runs a directory
listing program whose name is in the variable
`insert-directory-program'; if also WILDCARD is non-nil then it runs
the shell specified by `shell-file-name'.  If the value of
`ls-lisp-use-insert-directory-program' is nil then it runs a Lisp
emulation.

The Lisp emulation does not run any external programs or shells.  It
supports ordinary shell wildcards if `ls-lisp-support-shell-wildcards'
is non-nil; otherwise, it interprets wildcards as regular expressions
to match file names.  It does not support all `ls' switches -- those
that work are: A a B C c F G g h i n R r S s t U u X.  The l switch
is assumed to be always present and cannot be turned off.Fls-lisp-insert-directory
Insert directory listing for FILE, formatted according to SWITCHES.
Leaves point after the inserted text.  This is an internal function
optionally called by the `ls-lisp.el' version of `insert-directory'.
It is called recursively if the -R switch is used.
SWITCHES is a *list* of characters.  TIME-INDEX is the time index into
file-attributes according to SWITCHES.  WILDCARD-REGEXP is nil or an *Emacs
regexp*.  FULL-DIRECTORY-P means file is a directory and SWITCHES does
not contain `d', so that a full listing is expected.Fls-lisp-sanitize
Sanitize the elements in FILE-ALIST.
Fixes any elements in the alist for directory entries whose file
attributes are nil (meaning that `file-attributes' failed for
them).  This is known to happen for some network shares, in
particular for the ".." directory entry.

If the ".." directory entry has nil attributes, the attributes
are copied from the "." entry, if they are non-nil.  Otherwise,
the offending element is removed from the list, as are any
elements for other directory entries with nil attributes.Fls-lisp-column-format
Insert the file names (only) in FILE-ALIST into the current buffer.
Format in columns, sorted vertically, following GNU ls -C.
Responds to the window width as ls should but may not!Fls-lisp-delete-matching
Delete all elements matching REGEXP from LIST, return new list.Fls-lisp-string-lessp
Return t if string S1 is less than string S2 in lexicographic order.
Case is significant if `ls-lisp-ignore-case' is nil.
Unibyte strings are converted to multibyte for comparison.Fls-lisp-handle-switches
Return new FILE-ALIST sorted according to SWITCHES.
SWITCHES is a list of characters.  Default sorting is alphabetic.Fls-lisp-classify-file
Append a character to FILENAME indicating the file type.

FATTR is the file attributes returned by `file-attributes' for the file.
The file type indicators are `/' for directories, `@' for symbolic
links, `|' for FIFOs, `=' for sockets, `*' for regular files that
are executable, and nothing for other types of files.Fls-lisp-classify
Append a character to file name in FILEDATA indicating the file type.

FILEDATA has the form (FILENAME . ATTRIBUTES), where ATTRIBUTES is the
structure returned by `file-attributes' for that file.

The file type indicators are `/' for directories, `@' for symbolic
links, `|' for FIFOs, `=' for sockets, `*' for regular files that
are executable, and nothing for other types of files.Fls-lisp-extension
Return extension of FILENAME (ignoring any version extension)
FOLLOWED by null and full filename, SOLELY for full alpha sort.Fls-lisp-format
Format one line of long ls output for file FILE-NAME.
FILE-ATTR and FILE-SIZE give the file's attributes and size.
SWITCHES and TIME-INDEX give the full switch list and time data.Fls-lisp-time-index
Return time index into file-attributes according to ls SWITCHES list.
Return nil if no time switch found.Fls-lisp-format-time
Format time for file with attributes FILE-ATTR according to TIME-INDEX.
Use the same method as ls to decide whether to show time-of-day or year,
depending on distance between file date and the current time.
All ls time options, namely c, t and u, are handled.Sdisp-table.elc
Fmake-display-table
Return a new, empty display table.Fdisplay-table-slot
Return the value of the extra slot in DISPLAY-TABLE named SLOT.
SLOT may be a number from 0 to 5 inclusive, or a slot name (symbol).
Valid symbols are `truncation', `wrap', `escape', `control',
`selective-display', and `vertical-border'.Fset-display-table-slot
Set the value of the extra slot in DISPLAY-TABLE named SLOT to VALUE.
SLOT may be a number from 0 to 5 inclusive, or a name (symbol).
Valid symbols are `truncation', `wrap', `escape', `control',
`selective-display', and `vertical-border'.Fdescribe-display-table
Describe the display table DT in a help buffer.Fdescribe-current-display-table
Describe the display table in use in the selected window and buffer.Fstandard-display-8bit
Display characters representing raw bytes in the range L to H literally.

On a terminal display, each character in the range is displayed
by sending the corresponding byte directly to the terminal.

On a graphic display, each character in the range is displayed
using the default font by a glyph whose code is the corresponding
byte.

Note that ASCII printable characters (SPC to TILDA) are displayed
in the default way after this call.Fstandard-display-default
Display characters in the range L to H using the default notation.Fstandard-display-ascii
Display character C using printable string S.Fstandard-display-g1
Display character C as character SC in the g1 character set.
This function assumes that your terminal uses the SO/SI characters;
it is meaningless for an X frame.Fstandard-display-graphic
Display character C as character GC in graphics character set.
This function assumes VT100-compatible escapes; it is meaningless for an
X frame.Fstandard-display-underline
Display character C as character UC plus underlining.Fcreate-glyph
Allocate a glyph code to display by sending STRING to the terminal.Fmake-glyph-code
Return a glyph code representing char CHAR with face FACE.Fglyph-char
Return the character of glyph code GLYPH.Fglyph-face
Return the face of glyph code GLYPH, or nil if glyph has default face.Fstandard-display-european
Semi-obsolete way to toggle display of ISO 8859 European characters.

This function is semi-obsolete; you probably don't need it, or else you
probably should use `set-language-environment' or `set-locale-environment'.

This function enables European character display if ARG is positive,
disables it if negative.  Otherwise, it toggles European character display.

When this mode is enabled, characters in the range of 160 to 255
display not as octal escapes, but as accented characters.  Codes 146
and 160 display as apostrophe and space, even though they are not the
ASCII codes for apostrophe and space.

Enabling European character display with this command noninteractively
from Lisp code also selects Latin-1 as the language environment.
This provides increased compatibility for users who call this function
in `.emacs'.Sdos-w32.elc
Ffind-buffer-file-type-coding-system
Choose a coding system for a file operation in COMMAND.
COMMAND is a list that specifies the operation, an I/O primitive, as its
CAR, and the arguments that might be given to that operation as its CDR.
If operation is `insert-file-contents', the coding system is chosen based
upon the filename (the CAR of the arguments beyond the operation), the contents
of `untranslated-filesystem-list' and `file-name-buffer-file-type-alist',
and whether the file exists:

  If it matches in `untranslated-filesystem-list':
    If the file exists:					`undecided'
    If the file does not exist:				`undecided-unix'
  If it matches in `file-name-buffer-file-type-alist':
    If the match is t (for binary):			`no-conversion'
    If the match is nil (for dos-text):			`undecided-dos'
  Otherwise:
    If the file exists:					`undecided'
    If the file does not exist   default value of `buffer-file-coding-system'

Note that the CAR of arguments to `insert-file-contents' operation could
be a cons cell of the form (FILENAME . BUFFER), where BUFFER is a buffer
into which the file's contents were already read, but not yet decoded.

If operation is `write-region', the coding system is chosen based upon
the value of `buffer-file-coding-system' and `buffer-file-type'. If
`buffer-file-coding-system' is non-nil, its value is used.  If it is
nil and `buffer-file-type' is t, the coding system is `no-conversion'.
Otherwise, it is `undecided-dos'.

The two most common situations are when DOS and Unix files are read
and written, and their names do not match in
`untranslated-filesystem-list' and `file-name-buffer-file-type-alist'.
In these cases, the coding system initially will be `undecided'.  As
the file is read in the DOS case, the coding system will be changed to
`undecided-dos' as CR/LFs are detected.  As the file is read in the
Unix case, the coding system will be changed to `undecided-unix' as
LFs are detected.  In both cases, `buffer-file-coding-system' will be
set to the appropriate coding system, and the value of
`buffer-file-coding-system' will be used when writing the file.Ffind-file-binary
Visit file FILENAME and treat it as binary.Ffind-file-text
Visit file FILENAME and treat it as a text file.Vuntranslated-filesystem-list
List of filesystems that require no CR/LF translation when reading
and writing files.  Each filesystem in the list is a string naming
the directory prefix corresponding to the filesystem.Funtranslated-canonical-name
Return FILENAME in a canonicalized form for use with the functions
dealing with untranslated filesystems.Funtranslated-file-p
Return t if FILENAME is on a filesystem that does not require
CR/LF translation, and nil otherwise.Fadd-untranslated-filesystem
Add FILESYSTEM to the list of filesystems that do not require
CR/LF translation.  FILESYSTEM is a string containing the directory
prefix corresponding to the filesystem.  For example, for a Unix
filesystem mounted on drive Z:, FILESYSTEM could be "Z:".Fremove-untranslated-filesystem
Remove FILESYSTEM from the list of filesystems that do not require
CR/LF translation.  FILESYSTEM is a string containing the directory
prefix corresponding to the filesystem.  For example, for a Unix
filesystem mounted on drive Z:, FILESYSTEM could be "Z:".Vdirect-print-region-use-command-dot-com
If non-nil, use command.com to print on Windows 9x.Fdirect-print-region-function
DOS/Windows-specific function to print the region on a printer.
Writes the region to the device or file which is a value of
`printer-name' (which see), unless the value of `lpr-command'
indicates a specific program should be invoked.Fdirect-ps-print-region-function
DOS/Windows-specific function to print the region on a PostScript printer.
Writes the region to the device or file which is a value of
`ps-printer-name' (which see), unless the value of `ps-lpr-command'
indicates a specific program should be invoked.Sw32-fns.elc
Fw32-shell-name
Return the name of the shell being used.Fw32-shell-dos-semantics
Return non-nil if the interactive shell being used expects MS-DOS shell semantics.Fw32-check-shell-configuration
Check the configuration of shell variables on Windows.
This function is invoked after loading the init files and processing
the command line arguments.  It issues a warning if the user or site
has configured the shell with inappropriate settings.Vw32-valid-locales
List of locale ids known to be supported.Fw32-list-locales
List the name and id of all locales supported by Windows.Fw32-convert-standard-filename
Convert a standard file's name to something suitable for MS-Windows.
This means to guarantee valid names and perhaps to canonicalize
certain patterns.

This function is called by `convert-standard-filename'.

Replace invalid characters and turn Cygwin names into native
names, and also turn slashes into backslashes if the shell
requires it (see `w32-shell-dos-semantics').Fset-w32-system-coding-system
Set the coding system used by the Windows system to CODING-SYSTEM.
This is used for things like passing font names with non-ASCII
characters in them to the system.  For a list of possible values of
CODING-SYSTEM, use \[list-coding-systems].

This function is provided for backward compatibility, since
`w32-system-coding-system' is now an alias for `locale-coding-system'.Fw32-add-charset-info
Function to add character sets to display with Windows fonts.
Creates entries in `w32-charset-info-alist'.
XLFD-CHARSET is a string which will appear in the XLFD font name to
identify the character set.  WINDOWS-CHARSET is a symbol identifying
the Windows character set this maps to.  For the list of possible
values, see the documentation for `w32-charset-info-alist'.  CODEPAGE
can be a numeric codepage that Windows uses to display the character
set, t for Unicode output with no codepage translation or nil for 8
bit output with no translation.Fw32-batch-update-autoloads
Like `batch-update-autoloads', but takes the name of the autoloads file
from the command line.

This is required because some Windows build environments, such as MSYS,
munge command-line arguments that include file names to a horrible mess
that Emacs is unable to cope with.Fw32-append-code-lines
Append non-empty non-comment lines in the file EXTRA to the file ORIG.

This function saves all buffers and kills the Emacs session, without asking
for any permissions.

This is required because the Windows build environment is not required
to include Sed, which is used by leim/Makefile.in to do the job.Sdos-fns.elc
Fdos-convert-standard-filename
Convert a standard file's name to something suitable for MS-DOS.
This means to guarantee valid names and perhaps to canonicalize
certain patterns.

This function is called by `convert-standard-filename'.

On Windows and DOS, replace invalid characters.  On DOS, make
sure to obey the 8.3 limitations.Fdos-8+3-filename
Truncate FILENAME to DOS 8+3 limits.Fdosified-file-name
Return a variant of FILE-NAME that is valid on MS-DOS filesystems.

This function is for those rare cases where `dos-convert-standard-filename'
does not do a job that is good enough, e.g. if you need to preserve the
file-name extension.  It recognizes only certain specific file names
that are used in Emacs Lisp sources; any other file name will be
returned unaltered.Fdos-intdos
Issue the DOS Int 21h with registers REGS.

REGS should be a vector produced by `dos-make-register'
and `dos-set-register-value', which see.Fdos-mode25
Changes the number of screen rows to 25.Fdos-mode4350
Changes the number of rows to 43 or 50.
Emacs always tries to set the screen height to 50 rows first.
If this fails, it will try to set it to 43 rows, on the assumption
that your video hardware might not support 50-line mode.Sdos-vars.elc
Spc-win.elc
Vmsdos-color-values
A list of MS-DOS console colors, their indices and 16-bit RGB values.Fmsdos-face-setup
Initial setup of faces for the MS-DOS display.Fmsdos-handle-reverse-video
Handle the reverse-video frame parameter on MS-DOS frames.Fmsdos-create-frame-with-faces
Create a frame on MS-DOS display.
Optional frame parameters PARAMETERS specify the frame parameters.
Parameters not specified by PARAMETERS are taken from
`default-frame-alist'.  If either PARAMETERS or `default-frame-alist'
contains a `reverse' parameter, handle that.  Value is the new frame
created.Vx-display-name
The name of the window display on which Emacs was started.
On X, the display name of individual X frames is recorded in the
`display' frame parameter.Vx-colors
List of basic colors available on color displays.
For X, the list comes from the `rgb.txt' file,v 10.41 94/02/20.
For Nextstep, this is a list of non-PANTONE colors returned by
the operating system.Vx-select-enable-clipboard
Non-nil means cutting and pasting uses the clipboard.
This is in addition to, but in preference to, the primary selection.

Note that MS-Windows does not support selection types other than the
clipboard.  (The primary selection that is set by Emacs is not
accessible to other programs on MS-Windows.)

This variable is not used by the Nextstep port.Fx-select-text
Select TEXT, a string, according to the window system.

On X, if `x-select-enable-clipboard' is non-nil, copy TEXT to the
clipboard.  If `x-select-enable-primary' is non-nil, put TEXT in
the primary selection.

On MS-Windows, make TEXT the current selection.  If
`x-select-enable-clipboard' is non-nil, copy the text to the
clipboard as well.

On Nextstep, put TEXT in the pasteboard (`x-select-enable-clipboard'
is not used).Fx-selection-owner-p
Whether the current Emacs process owns the given X Selection.
The arg should be the name of the selection in question, typically one of
the symbols `PRIMARY', `SECONDARY', or `CLIPBOARD'.
(Those are literal upper-case symbol names, since that's what X expects.)
For convenience, the symbol nil is the same as `PRIMARY',
and t is the same as `SECONDARY'.

TERMINAL should be a terminal object or a frame specifying the X
server to query.  If omitted or nil, that stands for the selected
frame's display, or the first available X display.

On Nextstep, TERMINAL is unused.

(fn &optional SELECTION TERMINAL)Fx-own-selection-internal
Assert an X selection of the type SELECTION with and value VALUE.
SELECTION is a symbol, typically `PRIMARY', `SECONDARY', or `CLIPBOARD'.
(Those are literal upper-case symbol names, since that's what X expects.)
VALUE is typically a string, or a cons of two markers, but may be
anything that the functions on `selection-converter-alist' know about.

FRAME should be a frame that should own the selection.  If omitted or
nil, it defaults to the selected frame.

On Nextstep, FRAME is unused.

(fn SELECTION VALUE &optional FRAME)Fx-disown-selection-internal
If we own the selection SELECTION, disown it.
Disowning it means there is no such selection.

Sets the last-change time for the selection to TIME-OBJECT (by default
the time of the last event).

TERMINAL should be a terminal object or a frame specifying the X
server to query.  If omitted or nil, that stands for the selected
frame's display, or the first available X display.

On Nextstep, the TIME-OBJECT and TERMINAL arguments are unused.
On MS-DOS, all this does is return non-nil if we own the selection.

(fn SELECTION &optional TIME-OBJECT TERMINAL)Fx-get-selection-internal
Return text selected from some X window.
SELECTION-SYMBOL is typically `PRIMARY', `SECONDARY', or `CLIPBOARD'.
(Those are literal upper-case symbol names, since that's what X expects.)
TARGET-TYPE is the type of data desired, typically `STRING'.

TIME-STAMP is the time to use in the XConvertSelection call for foreign
selections.  If omitted, defaults to the time for the last event.

TERMINAL should be a terminal object or a frame specifying the X
server to query.  If omitted or nil, that stands for the selected
frame's display, or the first available X display.

On Nextstep, TIME-STAMP and TERMINAL are unused.

(fn SELECTION-SYMBOL TARGET-TYPE &optional TIME-STAMP TERMINAL)Vmsdos-last-help-message
The last help message received via `show-help-function'.
This is used by `msdos-show-help'.Vmsdos-previous-message
The content of the echo area before help echo was displayed.Fmsdos-show-help
Function installed as `show-help-function' on MS-DOS frames.Fterminal-init-internal
Terminal initialization function for the MS-DOS "internal" terminal.
Errors out because it is not supposed to be called, ever.Fmsdos-initialize-window-system
Initialization function for the `pc' "window system".Sinternal.elc
Vmsdos-key-remapping-map
Keymap for remapping special keys on MS-DOS keyboard.Fmsdos-setup-keyboard
Setup `local-function-key-map' for MS-DOS keyboard.VIT-unicode-translations
A list of strings that should be used to represent Unicode
characters on a DOS terminal which does not have corresponding
glyphs built into the installed codepage.FIT-setup-unicode-display
Set up display table TABLE for displaying mule-unicode-* characters
on a DOS terminal whose codepage provides the coding-system CODING.
If TABLE is nil or omitted, `standard-display-table' is used.Vdos-locale-alist
Alist of MS-DOS country codes and the corresponding locale names.Fdos-codepage-setup
Set up multilingual environment for the installed DOS codepage.

This function sets coding systems, display tables, and the language
environment options as appropriate for the current value of `dos-codepage'.

This function is automatically run at startup via the `after-init-hook'
list.  You can (and should) also run it if and when the value of
`dos-codepage' changes.Sns-win.elc
Fns-parse-geometry
Parse a Nextstep-style geometry string GEOM.
Returns an alist of the form ((top . TOP), (left . LEFT) ... ).
The properties returned may include `top', `left', `height', and `width'.

(fn GEOM)Fns-spi-service-call
Respond to a service request.

(fn)Vns-working-overlay
Overlay used to highlight working text during compose sequence insert.
When text is in th echo area, this just stores the length of the working text.Fns-in-echo-area
Whether, for purposes of inserting working composition text, the minibuffer
is currently being used.

(fn)Fns-insert-working-text
Insert contents of `ns-working-text' as UTF-8 string and mark with
`ns-working-overlay'.  Any previously existing working text is cleared first.
The overlay is assigned the face `ns-working-text-face'.

(fn)Fns-echo-working-text
Echo contents of `ns-working-text' in message display area.
See `ns-insert-working-text'.

(fn)Fns-delete-working-text
Delete working text and clear `ns-working-overlay'.

(fn)Fns-insert-text
Insert contents of `ns-input-text' at point.

(fn)Fns-insert-file
Insert contents of file `ns-input-file' like insert-file but with less
prompting.  If file is a directory perform a `find-file' on it.

(fn)Vns-select-overlay
Overlay used to highlight areas in files requested by Nextstep apps.Fns-open-file-select-line
Open a buffer containing the file `ns-input-file'.
Lines are highlighted according to `ns-input-line'.

(fn)Fns-unselect-line
Removes any Nextstep highlight a buffer may contain.

(fn)Fx-file-dialog
Read file name, prompting with PROMPT in directory DIR.
Use a file selection dialog.  Select DEFAULT-FILENAME in the dialog's file
selection box, if specified.  If MUSTMATCH is non-nil, the returned file
or directory must exist.

This function is only defined on NS, MS Windows, and X Windows with the
Motif or Gtk toolkits.  With the Motif toolkit, ONLY-DIR-P is ignored.
Otherwise, if ONLY-DIR-P is non-nil, the user can only select directories.

(fn PROMPT DIR DEFAULT_FILENAME MUSTMATCH ONLY_DIR_P)Fns-open-file-using-panel
Pop up open-file panel, and load the result in a buffer.

(fn)Fns-write-file-using-panel
Pop up save-file panel, and save buffer in resulting name.

(fn)Fns-find-file
Do a `find-file' with the `ns-input-file' as argument.

(fn)Fns-next-frame
Switch to next visible frame.

(fn)Fns-prev-frame
Switch to previous visible frame.

(fn)Fns-toggle-toolbar
Switches the tool bar on and off in frame FRAME.
 If FRAME is nil, the change applies to the selected frame.

(fn &optional FRAME)Fns-print-buffer
Interactive front-end to `print-buffer': asks for user confirmation first.

(fn)Fns-respond-to-change-font
Respond to changeFont: event, expecting `ns-input-font' and
`ns-input-fontsize' of new font.

(fn)Vns-standard-fontset-spec
String of fontset spec of the standard fontset.
This defines a fontset consisting of the Courier and other fonts that
come with OS X.
See the documentation of `create-fontset-from-fontset-spec' for the format.Fns-get-pasteboard
Returns the value of the pasteboard.

(fn)Fns-set-pasteboard
Store STRING into the pasteboard of the Nextstep display server.

(fn STRING)Fns-scroll-bar-move
Scroll the frame according to a Nextstep scroller event.

(fn EVENT)Fns-handle-scroll-bar-event
Handle scroll bar EVENT to emulate Nextstep style scrolling.

(fn EVENT)Fns-set-foreground-at-mouse
Set the foreground color at the mouse location to `ns-input-color'.

(fn)Fns-set-background-at-mouse
Set the background color at the mouse location to `ns-input-color'.

(fn)Vns-initialized
Non-nil if Nextstep windowing has been initialized.Fns-initialize-window-system
Initialize Emacs for Nextstep (Cocoa / GNUstep) windowing.

(fn)Smwheel.elc
Vmwheel-inhibit-click-event-timer
Timer running while mouse wheel click event is inhibited.Fmwheel-inhibit-click-timeout
Handler for `mwheel-inhibit-click-event-timer'.Fmwheel-filter-click-events
Discard `mouse-wheel-click-event' while scrolling the mouse.Vmwheel-scroll-up-function
Function that does the job of scrolling upward.Vmwheel-scroll-down-function
Function that does the job of scrolling downward.Fmwheel-scroll
Scroll up or down according to the EVENT.
This should only be bound to mouse buttons 4 and 5.Vmouse-wheel-mode
Non-nil if Mouse-Wheel mode is enabled.
See the command `mouse-wheel-mode' for a description of this minor mode.
Setting this variable directly does not take effect;
either customize it (see the info node `Easy Customization')
or call the function `mouse-wheel-mode'.Fmouse-wheel-mode
Toggle mouse wheel support (Mouse Wheel mode).
With a prefix argument ARG, enable Mouse Wheel mode if ARG is
positive, and disable it otherwise.  If called from Lisp, enable
the mode if ARG is omitted or nil.Fmwheel-install
Enable mouse wheel support.Sfloat-sup.elc
Vfloat-pi
The value of Pi (3.1415926...).Vpi
Obsolete since Emacs-23.3.  Use `float-pi' instead.Vfloat-e
The value of e (2.7182818...).Vdegrees-to-radians
Degrees to radian conversion constant.Vradians-to-degrees
Radian to degree conversion constant.Fdegrees-to-radians
Convert X from degrees to radians.Fradians-to-degrees
Convert X from radians to degrees.Svc-hooks.elc
Fvc-mistrust-permissions
Internal access function to variable `vc-mistrust-permissions' for FILE.Vvc-stay-local
Non-nil means use local operations when possible for remote repositories.
This avoids slow queries over the network and instead uses heuristics
and past information to determine the current status of a file.

If value is the symbol `only-file' `vc-dir' will connect to the
server, but heuristics will be used to determine the status for
all other VC operations.

The value can also be a regular expression or list of regular
expressions to match against the host name of a repository; then VC
only stays local for hosts that match it.  Alternatively, the value
can be a list of regular expressions where the first element is the
symbol `except'; then VC always stays local except for hosts matched
by these regular expressions.Fvc-stay-local-p
Return non-nil if VC should stay local when handling FILE.
This uses the `repository-hostname' backend operation.
If FILE is a list of files, return non-nil if any of them
individually should stay local.Fvc-mode
Version Control minor mode.
This minor mode is automatically activated whenever you visit a file under
control of one of the revision control systems in `vc-handled-backends'.
VC commands are globally reachable under the prefix `\[vc-prefix-map]':
\{vc-prefix-map}Vvc-file-prop-obarray
Obarray for per-file properties.Fvc-file-setprop
Set per-file VC PROPERTY for FILE to VALUE.Fvc-file-getprop
Get per-file VC PROPERTY for FILE.Fvc-file-clearprops
Clear all VC properties of FILE.Fvc-make-backend-sym
Return BACKEND-specific version of VC symbol SYM.Fvc-find-backend-function
Return BACKEND-specific implementation of FUN.
If there is no such implementation, return the default implementation;
if that doesn't exist either, return nil.Fvc-call-backend
Call for BACKEND the implementation of FUNCTION-NAME with the given ARGS.
Calls

    (apply 'vc-BACKEND-FUN ARGS)

if vc-BACKEND-FUN exists (after trying to find it in vc-BACKEND.el)
and else calls

    (apply 'vc-default-FUN BACKEND ARGS)

It is usually called via the `vc-call' macro.Fvc-call
A convenience macro for calling VC backend functions.
Functions called by this macro must accept FILE as the first argument.
ARGS specifies any additional arguments.  FUN should be unquoted.
BEWARE!! FILE is evaluated twice!!Fvc-parse-buffer
Find PATTERN in the current buffer and return its Ith submatch.Fvc-insert-file
Insert the contents of FILE into the current buffer.

Optional argument LIMIT is a regexp.  If present, the file is inserted
in chunks of size BLOCKSIZE (default 8 kByte), until the first
occurrence of LIMIT is found.  Anything from the start of that occurrence
to the end of the buffer is then deleted.  The function returns
non-nil if FILE exists and its contents were successfully inserted.Fvc-find-root
Find the root of a checked out project.
The function walks up the directory tree from FILE looking for WITNESS.
If WITNESS if not found, return nil, otherwise return the root.Fvc-registered
Return non-nil if FILE is registered in a version control system.

This function performs the check each time it is called.  To rely
on the result of a previous call, use `vc-backend' instead.  If the
file was previously registered under a certain backend, then that
backend is tried first.Fvc-backend
Return the version control type of FILE-OR-LIST, nil if it's not registered.
If the argument is a list, the files must all have the same back end.Fvc-backend-subdirectory-name
Return where the repository for the current directory is kept.Fvc-name
Return the master name of FILE.
If the file is not registered, or the master name is not known, return nil.Fvc-checkout-model
Indicate how FILES are checked out.

If FILES are not registered, this function always returns nil.
For registered files, the possible values are:

  'implicit   FILES are always writable, and checked out `implicitly'
              when the user saves the first changes to the file.

  'locking    FILES are read-only if up-to-date; user must type
              \[vc-next-action] before editing.  Strict locking
              is assumed.

  'announce   FILES are read-only if up-to-date; user must type
              \[vc-next-action] before editing.  But other users
              may be editing at the same time.Fvc-user-login-name
Return the name under which the user accesses the given FILE.Fvc-state
Return the version control state of FILE.

A return of nil from this function means we have no information on the
status of this file.  Otherwise, the value returned is one of:

  'up-to-date        The working file is unmodified with respect to the
                     latest version on the current branch, and not locked.

  'edited            The working file has been edited by the user.  If
                     locking is used for the file, this state means that
                     the current version is locked by the calling user.
                     This status should *not* be reported for files
                     which have a changed mtime but the same content
                     as the repo copy.

  USER               The current version of the working file is locked by
                     some other USER (a string).

  'needs-update      The file has not been edited by the user, but there is
                     a more recent version on the current branch stored
                     in the repository.

  'needs-merge       The file has been edited by the user, and there is also
                     a more recent version on the current branch stored in
                     the repository.  This state can only occur if locking
                     is not used for the file.

  'unlocked-changes  The working version of the file is not locked,
                     but the working file has been changed with respect
                     to that version.  This state can only occur for files
                     with locking; it represents an erroneous condition that
                     should be resolved by the user (vc-next-action will
                     prompt the user to do it).

  'added             Scheduled to go into the repository on the next commit.
                     Often represented by vc-working-revision = "0" in VCSes
                     with monotonic IDs like Subversion and Mercurial.

  'removed           Scheduled to be deleted from the repository on next commit.

  'conflict          The file contains conflicts as the result of a merge.
                     For now the conflicts are text conflicts.  In the
                     future this might be extended to deal with metadata
                     conflicts too.

  'missing           The file is not present in the file system, but the VC
                     system still tracks it.

  'ignored           The file showed up in a dir-status listing with a flag
                     indicating the version-control system is ignoring it,
                     Note: This property is not set reliably (some VCSes
                     don't have useful directory-status commands) so assume
                     that any file with vc-state nil might be ignorable
                     without VC knowing it.

  'unregistered      The file is not under version control.Fvc-state-refresh
Quickly recompute the `state' of FILE.Fvc-up-to-date-p
Convenience function that checks whether `vc-state' of FILE is `up-to-date'.Fvc-default-state-heuristic
Default implementation of vc-BACKEND-state-heuristic.
It simply calls the real state computation function `vc-BACKEND-state'
and does not employ any heuristic at all.Fvc-workfile-unchanged-p
Return non-nil if FILE has not changed since the last checkout.Fvc-default-workfile-unchanged-p
Check if FILE is unchanged by diffing against the repository version.
Return non-nil if FILE is unchanged.Fvc-working-revision
Return the repository version from which FILE was checked out.
If FILE is not registered, this function always returns nil.Fvc-default-registered
Check if FILE is registered in BACKEND using vc-BACKEND-master-templates.Fvc-check-master-templates
Return non-nil if there is a master corresponding to FILE.

TEMPLATES is a list of strings or functions.  If an element is a
string, it must be a control string as required by `format', with two
string placeholders, such as "%sRCS/%s,v".  The directory part of
FILE is substituted for the first placeholder, the basename of FILE
for the second.  If a file with the resulting name exists, it is taken
as the master of FILE, and returned.

If an element of TEMPLATES is a function, it is called with the
directory part and the basename of FILE as arguments.  It should
return non-nil if it finds a master; that value is then returned by
this function.Fvc-default-make-version-backups-p
Return non-nil if unmodified versions should be backed up locally.
The default is to switch off this feature.Fvc-version-backup-file-name
Return a backup file name for REV or the current version of FILE.
If MANUAL is non-nil it means that a name for backups created by
the user should be returned; if REGEXP is non-nil that means to return
a regexp for matching all such backup files, regardless of the version.Fvc-delete-automatic-version-backups
Delete all existing automatic version backups for FILE.Fvc-make-version-backup
Make a backup copy of FILE, which is assumed in sync with the repository.
Before doing that, check if there are any old backups and get rid of them.Fvc-before-save
Function to be called by `basic-save-buffer' (in files.el).Vvc-dir-buffers
List of vc-dir buffers.Fvc-after-save
Function to be called by `basic-save-buffer' (in files.el).Fvc-mode-line
Set `vc-mode' to display type of version control for FILE.
The value is set in the current buffer, which should be the buffer
visiting FILE.
If BACKEND is passed use it as the VC backend when computing the result.Fvc-default-mode-line-string
Return a string for `vc-mode-line' to put in the mode line for FILE.
Format:

  "BACKEND-REV"        if the file is up-to-date
  "BACKEND:REV"        if the file is edited (or locked by the calling user)
  "BACKEND:LOCKER:REV" if the file is locked by somebody else
  "BACKEND@REV"        if the file was locally added
  "BACKEND!REV"        if the file contains conflicts or was removed
  "BACKEND?REV"        if the file is under VC, but is missing

This function assumes that the file is registered.Fvc-follow-link
If current buffer visits a symbolic link, visit the real file.
If the real file is already visited in another buffer, make that buffer
current, and kill the buffer that visits the link.Fvc-find-file-hook
Function for `find-file-hook' activating VC mode if appropriate.Fvc-kill-buffer-hook
Discard VC info about a file when we kill its buffer.Sediff-hook.elc
Stooltip.elc
Ftooltip-mode
Toggle Tooltip mode.
With a prefix argument ARG, enable Tooltip mode if ARG is positive,
and disable it otherwise.  If called from Lisp, enable the mode
if ARG is omitted or nil.

When this global minor mode is enabled, Emacs displays help
text (e.g. for buttons and menu items that you put the mouse on)
in a pop-up window.

When Tooltip mode is disabled, Emacs displays help text in the
echo area, instead of making a pop-up window.Vtooltip-functions
Functions to call to display tooltips.
Each function is called with one argument EVENT which is a copy
of the last mouse movement event that occurred.  If one of these
functions displays the tooltip, it should return non-nil and the
rest are not called.Vtooltip-timeout-id
The id of the timeout started when Emacs becomes idle.Vtooltip-last-mouse-motion-event
A copy of the last mouse motion event seen.Vtooltip-hide-time
Time when the last tooltip was hidden.Ftooltip-event-buffer
Return the buffer over which event EVENT occurred.
This might return nil if the event did not occur over a buffer.Ftooltip-delay
Return the delay in seconds for the next tooltip.Ftooltip-cancel-delayed-tip
Disable the tooltip timeout.Ftooltip-start-delayed-tip
Add a one-shot timeout to call function `tooltip-timeout'.Ftooltip-timeout
Function called when timer with id `tooltip-timeout-id' fires.Ftooltip-set-param
Change the value of KEY in alist ALIST to VALUE.
If there's no association for KEY in ALIST, add one, otherwise
change the existing association.  Value is the resulting alist.Ftooltip-show
Show a tooltip window displaying TEXT.

Text larger than `x-max-tooltip-size' is clipped.

If the alist in `tooltip-frame-parameters' includes `left' and `top'
parameters, they determine the x and y position where the tooltip
is displayed.  Otherwise, the tooltip pops at offsets specified by
`tooltip-x-offset' and `tooltip-y-offset' from the current mouse
position.

Optional second arg USE-ECHO-AREA non-nil means to show tooltip
in echo area.Ftooltip-hide
Hide a tooltip, if one is displayed.
Value is non-nil if tooltip was open.Ftooltip-identifier-from-point
Extract the identifier at POINT, if any.
Value is nil if no identifier exists at point.  Identifier extraction
is based on the current syntax table.Ftooltip-region-active-p
Value is non-nil if the region should override command actions.Ftooltip-expr-to-print
Return an expression that should be printed for EVENT.
If a region is active and the mouse is inside the region, print
the region.  Otherwise, figure out the identifier around the point
where the mouse is.Ftooltip-process-prompt-regexp
Return regexp matching the prompt of PROCESS at the end of a string.
The prompt is taken from the value of `comint-prompt-regexp' in
the buffer of PROCESS.Ftooltip-strip-prompt
Return OUTPUT with any prompt of PROCESS stripped from its end.Vtooltip-help-message
The last help message received via `show-help-function'.
This is used by `tooltip-show-help' and
`tooltip-show-help-non-mode'.Vtooltip-previous-message
The previous content of the echo area.Ftooltip-show-help-non-mode
Function installed as `show-help-function' when Tooltip mode is off.
It is also called if Tooltip mode is on, for text-only displays.Ftooltip-show-help
Function installed as `show-help-function'.
MSG is either a help string to display, or nil to cancel the display.Ftooltip-help-tips
Hook function to display a help tooltip.
This is installed on the hook `tooltip-functions', which
is run when the timer with id `tooltip-timeout-id' fires.
Value is non-nil if this function handled the tip.

bypass 1.0, Devloped By El Moujahidin (the source has been moved and devloped)
Email: contact@elmoujehidin.net