setup
Fsun-window-init One time setup for using Sun Windows with mouse.
Unless optional argument FORCE is non-nil, is a  noop  after  its
first call.  Returns a number representing the file descriptor of
the open Sun Window, or -1 if can not open it.

(sun-window-init &optional FORCE)Fsit-for-millisecs Like sit-for,
but  ARG  is  milliseconds.  Perform redisplay, then wait for ARG
milliseconds or until input is available.  Returns t if wait com-
pleted  with  no  input.   Redisplay  does not happen if input is
available before it starts.

(sit-for-millisecs N)Fsleep-for-millisecs Pause, without updating
display, for ARG milliseconds.

(sleep-for-millisecs N)Fupdate-display Perform redisplay.

(update-display)Fsun-change-cursor-icon Change the Sun mouse cur-
sor icon.  ICON is a lisp vector whose 1st element is the X  off-
set of the cursor hot-point, whose 2nd element is the Y offset of
the cursor hot-point and whose 3rd element is  the  cursor  pixel
data expressed as a string.  If ICON is nil then the original ar-
row cursor is used

(sun-change-cursor-icon ICON)Fsun-set-selection Set  the  current
sunwindow selection to STRING.

(sun-set-selection STR)Fsun-get-selection Return the current sun-
windows selection as a string.

(sun-get-selection)Fsun-menu-internal Set  up  a  SunView  pop-up
menu  and return the user's choice.  Arguments WINDOW, X, Y, BUT-
TON, and MENU.  *** User code should generally use sun-menu-eval-
uate ***

Arguments  WINDOW, X, Y, BUTTON, and MENU.  Put MENU up in WINDOW
at position X, Y.  The BUTTON argument specifies the button to be
released that selects an item:
   1 = LEFT BUTTON
   2 = MIDDLE BUTTON
   4  =  RIGHT  BUTTON  The  MENU argument is a vector containing
(STRING . VALUE) pairs.  The VALUE of the selected  item  is  re-
turned.   If  the  VALUE of the first pair is nil, then the first
STRING will be used as a menu label.

(sun-menu-internal   WINDOW    X-POSITION    Y-POSITION    BUTTON
MENU)Fint86  Call  specific MSDOS 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'.

(int86 INTERRUPT REGISTERS)Fmsdos-memget Read DOS memory at  off-
set ADDRESS into VECTOR.  Return the updated VECTOR.

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

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

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

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

(msdos-mouse-init)Fmsdos-mouse-enable Enable mouse if  available.

(msdos-mouse-enable)Fmsdos-mouse-disable  Disable mouse if avail-
able.

(msdos-mouse-disable)Finsert-startup-screen Insert copy of screen
contents  prior  to starting emacs.  Return nil if startup screen
is not available.

(insert-startup-screen)Vdos-country-code  The  country  code  re-
turned by Dos when Emacs was started.  Usually this is the inter-
national 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  ses-
sion on MS-Windows.Vdos-display-scancodes *When non-nil, the key-
board scan-codes are displayed at the bottom right corner of  the
display (typically at the end of the mode line).  The output for-
mat 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 mod-
ifier 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  key-
board  layout.  Use msdos-set-keyboard to select another keyboard
layout.Vdos-decimal-point If non-zero, it 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.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.

(recent-doskeys)Fmsdos-long-file-names  Return  non-nil  if  long
file names are supported on MSDOS.

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

(msdos-downcase-filename FILENAME)Vx-bitmap-file-path List of di-
rectories to search for bitmap files for X.Vdos-unsupported-char-
glyph *Glyph to display instead of chars not supported by current
codepage.

This variable is used only by MSDOS terminals.Vdelete-exited-pro-
cesses  *Non-nil means delete processes immediately when they ex-
it.  nil  means  don't  delete  them  until  `list-processes'  is
run.Ftext-properties-at  Return  the  list  of  properties of the
character at POSITION in OBJECT.  OBJECT is the string or  buffer
to  look for the properties in; nil means the current buffer.  If
POSITION is at the end of OBJECT, the value is nil.

(text-properties-at POSITION &optional  OBJECT)Fget-text-property
Return  the value of POSITION's property PROP, in OBJECT.  OBJECT
is optional and defaults to the current buffer.  If  POSITION  is
at the end of OBJECT, the value is nil.

(get-text-property POSITION PROP &optional OBJECT)Fget-char-prop-
erty Return the value of POSITION's  property  PROP,  in  OBJECT.
OBJECT  is optional and defaults to the current buffer.  If POSI-
TION 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.

(get-char-property  POSITION  PROP  &optional  OBJECT)Fnext-char-
property-change  Return  the  position  of  next text property or
overlay change.  This scans characters forward from  POSITION  in
OBJECT  till  it finds a change in some text property, or the be-
ginning or end of an overlay, and returns the position  of  that.
If none is found, the function returns (point-max).

If  the  optional  third  argument LIMIT is non-nil, don't search
past position LIMIT; return LIMIT if nothing is found before LIM-
IT.

(next-char-property-change  POSITION  &optional  LIMIT)Fprevious-
char-property-change Return the position of previous text proper-
ty or overlay change.  Scans characters backward from POSITION in
OBJECT till it finds a change in some text property, or  the  be-
ginning  or  end of an overlay, and returns the position of that.
If none is found, the function returns (point-max).

If the optional third argument LIMIT  is  non-nil,  don't  search
past position LIMIT; return LIMIT if nothing is found before LIM-
IT.

(previous-char-property-change  POSITION  &optional  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.  The optional second argument OBJECT  is  the  string  or
buffer  to  scan.  Return nil if the property is constant all the
way to the end of OBJECT.  If the value is non-nil, it is a posi-
tion 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 LIM-
IT.

(next-property-change  POSITION &optional OBJECT LIMIT)Fnext-sin-
gle-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 po-
sition  of the change.  The optional third argument OBJECT is the
string or buffer to scan.  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 LIM-
IT.

(next-single-property-change  POSITION PROP &optional OBJECT LIM-
IT)Fprevious-property-change  Return  the  position  of  previous
property change.  Scans characters backwards from POSITION in OB-
JECT till it finds a change in some text property,  then  returns
the  position of the change.  The optional second argument OBJECT
is the string or buffer to scan.  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.

(previous-property-change POSITION &optional OBJECT LIMIT)Fprevi-
ous-single-property-change  Return the position of previous prop-
erty 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.  The optional third  argument
OBJECT  is the string or buffer to scan.  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.

(previous-single-property-change 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  speci-
fying  the property values to add.  The optional fourth argument,
OBJECT, is the string or buffer containing the text.  Return t if
any property value actually changed, nil otherwise.

(add-text-properties  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.  The optional fifth  argument,  OBJECT,  is  the
string or buffer containing the text.

(put-text-property   START   END  PROPERTY  VALUE  &optional  OB-
JECT)Fset-text-properties Completely replace properties  of  text
from  START  to  END.   The  third argument PROPERTIES is the new
property list.  The optional  fourth  argument,  OBJECT,  is  the
string or buffer containing the text.

(set-text-properties  START  END PROPERTIES &optional OBJECT)Fre-
move-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.)  The optional fourth argument,
OBJECT, is the string or buffer containing the text.  Return t if
any property was actually removed, nil otherwise.

(remove-text-properties   START   END  PROPERTIES  &optional  OB-
JECT)Ftext-property-any Check text from START to END for property
PROPERTY  equalling  VALUE.   If  so,  return the position of the
first character whose property PROPERTY is `eq' to VALUE.  Other-
wise  return  nil.   The  optional fifth argument, OBJECT, is the
string or buffer containing the text.

(text-property-any  START  END  PROPERTY  VALUE   &optional   OB-
JECT)Ftext-property-not-all  Check  text  from  START  to END for
property PROPERTY not equalling VALUE.  If so, return  the  posi-
tion  of  the first character whose property PROPERTY is not `eq'
to VALUE.  Otherwise, return nil.  The optional  fifth  argument,
OBJECT, is the string or buffer containing the text.

(text-property-not-all  START  END  PROPERTY  VALUE &optional OB-
JECT)Vdefault-text-properties Property-list used as default  val-
ues.   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.Vinhibit-point-motion-hooks   If   non-nil,   don't  run
`point-left' and `point-entered' text properties.  This also  in-
hibits  the use of the `intangible' text property.Fx-get-resource
Return the value of ATTRIBUTE, of class CLASS,  from  the  X  de-
faults  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 nei-
ther.  If you specify them, the  key  is  `INSTANCE.COMPONENT.AT-
TRIBUTE' and the class is `Emacs.CLASS.SUBCLASS'.

(x-get-resource  ATTRIBUTE CLASS &optional COMPONENT SUBCLASS)Fx-
parse-geometry Parse an X-style geometry string STRING.   Returns
an  alist  of  the  form  ((top . TOP), (left . LEFT) ... ).  The
properties returned may  include  `top',  `left',  `height',  and
`width'.   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.

(x-parse-geometry  STRING)Fx-create-frame  Make  a  new X window,
which is called a "frame" in Emacs terms.  Returns an Emacs frame
object.   ALIST  is an alist of frame parameters.  If the parame-
ters 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.

(x-create-frame PARMS)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 is a string, perhaps with wildcard characters;
  the * character matches any substring, and
  the ? character matches any single character.
  PATTERN is case-insensitive.  FACE is a face name--a symbol.

The  return  value is a list of strings, suitable as arguments to
set-face-font.

Fonts Emacs can't use (i.e. proportional fonts) 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.

(x-list-fonts PATTERN &optional FACE  FRAME  MAXIMUM)Fx-color-de-
fined-p  Return  non-nil  if  color  COLOR  is supported on frame
FRAME.  If FRAME is omitted or nil, use the selected frame.

(x-color-defined-p COLOR &optional FRAME)Fx-color-values Return a
description  of  the color named COLOR on frame FRAME.  The value
is a list of integer RGB values--(RED GREEN BLUE).  These  values
appear  to  range from 0 to 65280 or 65535, depending on the sys-
tem; white is (65280 65280 65280) or  (65535  65535  65535).   If
FRAME is omitted or nil, use the selected frame.

(x-color-values COLOR &optional FRAME)Fx-display-color-p Return t
if the X 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.

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

(x-display-grayscale-p  &optional  DISPLAY)Fx-display-pixel-width
Returns  the  width  in pixels of the X display DISPLAY.  The op-
tional 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.

(x-display-pixel-width  &optional DISPLAY)Fx-display-pixel-height
Returns the height in pixels of the X display DISPLAY.   The  op-
tional  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.

(x-display-pixel-height &optional  DISPLAY)Fx-display-planes  Re-
turns  the number of bitplanes of the X display DISPLAY.  The op-
tional 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.

(x-display-planes  &optional  DISPLAY)Fx-display-color-cells  Re-
turns the number of color cells of the X  display  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.

(x-display-color-cells  &optional  DISPLAY)Fx-server-max-request-
size  Returns the maximum request size of the X server of display
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.

(x-server-max-request-size &optional DISPLAY)Fx-server-vendor Re-
turns the vendor ID string of the X server  of  display  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.

(x-server-vendor &optional DISPLAY)Fx-server-version Returns  the
version numbers of the X server of display DISPLAY.  The value is
a list of three integers: the major and minor version numbers  of
the  X  Protocol  in use, and the vendor-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.

(x-server-version  &optional  DISPLAY)Fx-display-screens  Returns
the number of screens on the X server of  display  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.

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

(x-display-mm-height  &optional  DISPLAY)Fx-display-mm-width  Re-
turns the width in millimeters of the X display DISPLAY.  The op-
tional 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.

(x-display-mm-width   &optional  DISPLAY)Fx-display-backing-store
Returns an indication of whether X display DISPLAY  does  backing
store.   The  value  may be `always', `when-mapped', or `not-use-
ful'.  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.

(x-display-backing-store   &optional   DISPLAY)Fx-display-visual-
class Returns the visual class of the  X  display  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.

(x-display-visual-class  &optional  DISPLAY)Fx-display-save-under
Returns t if the X display DISPLAY supports the  save-under  fea-
ture.   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.

(x-display-save-under &optional DISPLAY)Fx-draw-rectangle Draw  a
rectangle  on  FRAME between coordinates specified by numbers X0,
Y0, X1, Y1 in the cursor pixel.

(x-draw-rectangle FRAME X0 Y0  X1  Y1)Fx-erase-rectangle  Draw  a
rectangle  drawn  on  FRAME between coordinates X0, Y0, X1, Y1 in
the regular background-pixel.

(x-erase-rectangle FRAME X0 Y0 X1 Y1)Fx-contour-region  Highlight
the  region  between  point and the character under the mouse se-
lected frame.

(x-contour-region EVENT)Fx-uncontour-region Erase any  highlight-
ing  of the region between point and the character at X, Y on the
selected frame.

(x-uncontour-region EVENT)Fx-select-region


(x-select-region EVENT)Fx-horizontal-line


(x-horizontal-line EVENT)Fx-track-pointer Track the pointer.

(x-track-pointer)Fx-track-pointer Draw rectangle around character
under mouse pointer, if there is one.

(x-track-pointer EVENT)Fx-rebind-key Rebind X keysym KEYSYM, with
MODIFIERS, to generate NEWSTRING.  KEYSYM is a string which  con-
forms  to the X keysym definitions found in X11/keysymdef.h, sans
the initial XK_. MODIFIERS is nil or a list of strings specifying
modifier keys such as Control_L, which must also be depressed for
NEWSTRING to appear.

(x-rebind-key X-KEYSYM MODIFIERS NEWSTRING)Fx-rebind-keys  Rebind
KEYCODE  to list of strings STRINGS.  STRINGS should be a list of
16 elements, one for each  shift  combination.   nil  as  element
means  don't change.  See the documentation of `x-rebind-key' for
more information.

(x-rebind-keys KEYCODE STRINGS)Fx-open-connection Open a  connec-
tion  to an X server.  DISPLAY is the name of the display to con-
nect 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.

(x-open-connection DISPLAY &optional XRM-STRING  MUST-SUCCEED)Fx-
close-connection Close the connection to DISPLAY's X 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.

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

(x-display-list)Fx-synchronize If ON is non-nil, report X  errors
as  soon  as  the  erring  request  is made.  If ON is nil, allow
buffering of requests.  Turning on synchronization prohibits  the
Xlib routines from buffering requests and seriously degrades per-
formance, but makes debugging much easier.  The  optional  second
argument  DISPLAY  specifies  which  display  to act on.  DISPLAY
should be either a frame or a display name (a string).   If  DIS-
PLAY is omitted or nil, that stands for the selected frame's dis-
play.

(x-synchronize ON &optional DISPLAY)Vx-bitmap-file-path  List  of
directories to search for bitmap files for X.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-re-
source-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-re-
source-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-re-
source'  is a reasonabvle practice.  See also the variable `x-re-
source-name'.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-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  ef-
fect  when  you create a new frame or when you set the mouse col-
or.Vx-cursor-fore-pixel A string indicating the foreground  color
of  the  cursor  box.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.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 po-
sitions in pixels from the top left  corner  of  WINDOW's  frame.
(WINDOW  may  be  a frame object instead of a window.)  This con-
trols the position of the center of the first line in  the  first
pane  of  the  menu, not 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-lev-
el element.

If  REAL-DEFINITION  is  nil, that puts a nonselectable string in
the menu.  Otherwise, REAL-DEFINITION should be a valid key bind-
ing 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 a list 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 precalcu-
late the cached information about equivalent key sequences.

(x-popup-menu  POSITION  MENU)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.)

(x-popup-dialog POSITION CONTENTS)Vmenu-updating-frame Frame  for
which  we  are  updating a menu.  The enable predicate for a menu
command should check this variable.Fx-own-selection-internal  As-
sert an X selection of the given TYPE with the given VALUE.  TYPE
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.

(x-own-selection-internal SELECTION-NAME  SELECTION-VALUE)Fx-get-
selection-internal  Return text selected from some X window.  SE-
LECTION is a symbol, typically `PRIMARY', `SECONDARY', or  `CLIP-
BOARD'.  (Those are literal upper-case symbol names, since that's
what X expects.)  TYPE is the type  of  data  desired,  typically
`STRING'.

(x-get-selection-internal SELECTION-SYMBOL TARGET-TYPE)Fx-disown-
selection-internal If we own the selection SELECTION, disown  it.
Disowning it means there is no such selection.

(x-disown-selection-internal  SELECTION  &optional TIME)Fx-selec-
tion-owner-p Whether the current Emacs process owns the  given  X
Selection.   The arg should be the name of the selection in ques-
tion, 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'.)

(x-selection-owner-p   &optional  SELECTION)Fx-selection-exists-p
Whether there is an owner for 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'.)

(x-selection-exists-p  &optional  SELECTION)Fx-get-cut-buffer-in-
ternal Returns the value  of  the  named  cut  buffer  (typically
CUT_BUFFER0).

(x-get-cut-buffer-internal    BUFFER)Fx-store-cut-buffer-internal
Sets the value of the named cut buffer (typically CUT_BUFFER0).

(x-store-cut-buffer-internal BUFFER STRING)Fx-rotate-cut-buffers-
internal Rotate the values of the cut buffers by the given number
of step.  Positive means shift the values forward, negative means
backward.

(x-rotate-cut-buffers-internal   N)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',  `SEC-
ONDARY',  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  con-
version  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-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, typi-
cally `PRIMARY', `SECONDARY', or  `CLIPBOARD').Vx-sent-selection-
hooks  A  list of functions to be called when Emacs answers a se-
lection 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-coding-system Cod-
ing  system for communicating with other X clients.  When sending
or receiving text via cut_buffer, selection, and  clipboard,  the
text  is  encoded  or decoded by this coding system.  The default
value  is  `compound-text'.Vnext-selection-coding-system   Coding
system for the next communication with other X clients.  Usually,
`selection-coding-system' is used for communicating with other  X
clients.    But, if this variable is set, it is used for the next
communication only.   After the communication, this  variable  is
set  to  nil.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 neces-
sary.  This  is  initialized  from  the  "*selectionTimeout"  re-
source.Fredraw-frame  Clear  frame FRAME and output again what is
supposed to appear on it.

(redraw-frame FRAME)Fredraw-display Clear and redisplay all visi-
ble frames.

(redraw-display)Fframe-or-buffer-changed-p  Return non-nil if the
frame and buffer state appears to have changed.  The state  vari-
able  is  an  internal  vector containing all frames and buffers,
aside from buffers whose names start with space, along  with  the
buffers'  read-only and modified flags, which allows a fast check
to see whether the menu bars might need  to  be  recomputed.   If
this  function returns non-nil, it updates the internal vector to
reflect the current state.


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

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

(send-string-to-terminal STRING)Fding Beep, or flash the  screen.
Also,  unless  an argument is given, terminate any keyboard macro
currently executing.

(ding &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 may be useful if your Emacs was built  without
floating point support.  (Not all operating systems support wait-
ing for a fraction of a second.)

(sleep-for SECONDS &optional MILLISECONDS)Fsit-for Perform redis-
play,  then wait for SECONDS seconds or until input is available.
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 may be
useful  if  your  Emacs was built without floating point support.
(Not all operating systems support waiting for a  fraction  of  a
second.)   Optional  third  arg NODISP non-nil means don't redis-
play, just wait for input.  Redisplay is preempted as  always  if
input  arrives,  and does not happen if input is available before
it starts.  Value is t if waited the full time with no input  ar-
riving.

(sit-for  SECONDS  &optional  MILLISECONDS NODISP)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 in-
vert  the  entire frame display.  This means everything is in in-
verse video which otherwise would not  be.Vvisible-bell  *Non-nil
means  try  to flash the frame to represent a bell.Vno-redraw-on-
reenter *Non-nil means no need to redraw entire frame after  sus-
pending.  A non-nil value is useful if the terminal can automati-
cally preserve Emacs's frame display when you reenter Emacs.   It
is  up  to  you  to  set  this  variable  if your terminal can do
that.Vwindow-system A symbol naming the window-system under which
Emacs  is running (such as `x'), or nil if emacs is running on an
ordinary terminal.Vwindow-system-version The  version  number  of
the  window system in use.  For X windows, this is 10 or 11.Vcur-
sor-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 win-
dows).
 nil: this glyph mod 256 is char code to output,
    and this glyph / 256 is face code for X windows  (see  `face-
id').Vstandard-display-table  Display  table  to  use for buffers
that specify none.  See `buffer-display-table' for more  informa-
tion.Vdefault-frame-alist  Alist of default values for frame cre-
ation.  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 con-
figuration data,
 including X Windows' defaults database.  For values specific  to
the  first  Emacs  frame,  see `initial-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 ele-
ment.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, `pc' for a direct-write  MS-DOS
frame.  See also `frame-live-p'.

(framep  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 output device it is displayed on.  Value is t for  a
termcap frame (a character-only terminal), `x' for an Emacs frame
being displayed in an X window.

(frame-live-p OBJECT)Fmake-terminal-frame  Create  an  additional
terminal  frame.   You  can create multiple frames on a text-only
terminal in this way.  Only the selected terminal frame is  actu-
ally displayed.  This function takes one argument, an alist spec-
ifying frame parameters.  In practice, generally you  don't  need
to  specify  any  parameters.  Note that changing the size of one
terminal frame automatically affects all.

(make-terminal-frame PARMS)Fselect-frame Select the frame  FRAME.
Subsequent  editing  commands  apply to its selected window.  The
selection of FRAME lasts until the next time the user does  some-
thing  to  select  a different frame, or until the next time this
function is called.

(select-frame FRAME &optional NO-ENTER)Fhandle-switch-frame  Han-
dle  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 di-
rected to the frame mentioned in the event.   This  function  se-
lects 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.

(handle-switch-frame EVENT  &optional  NO-ENTER)Fignore-event  Do
nothing,  but  preserve  any  prefix  argument already specified.
This is a suitable binding for iconify-frame and make-frame-visi-
ble.

(ignore-event)Fselected-frame  Return  the  frame that is now se-
lected.

(selected-frame)Fwindow-frame Return the frame object that window
WINDOW is on.

(window-frame  WINDOW)Fframe-first-window  Returns  the  topmost,
leftmost window of FRAME.  If omitted, FRAME defaults to the cur-
rently selected frame.

(frame-first-window &optional FRAME)Factive-minibuffer-window Re-
turn the currently active minibuffer window, or nil if none.

(active-minibuffer-window)Fframe-root-window  Returns  the  root-
window of FRAME.  If omitted, FRAME defaults to the currently se-
lected frame.

(frame-root-window &optional FRAME)Fframe-selected-window  Return
the selected window of frame object FRAME.  If omitted, FRAME de-
faults to the currently selected frame.

(frame-selected-window &optional FRAME)Fset-frame-selected-window
Set  the  selected  window  of  frame object FRAME to WINDOW.  If
FRAME is nil, the selected frame is used.  If FRAME  is  the  se-
lected frame, this makes WINDOW the selected window.

(set-frame-selected-window FRAME WINDOW)Fframe-list Return a list
of all frames.

(frame-list)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',  in-
clude all visible frames.  If MINIFRAME is 0, include all visible
and iconified frames.  Otherwise, include all frames.

(next-frame &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 se-
lected 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.

(previous-frame  &optional  FRAME  MINIFRAME)Fdelete-frame Delete
FRAME, permanently eliminating it from use.   If  omitted,  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 sec-
ond optional argument FORCE is non-nil, you may do so.

(delete-frame &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.   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.

(mouse-position)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.  If
Emacs is running on a mouseless  terminal  or  hasn't  been  pro-
grammed to read the mouse position, it returns the selected frame
for FRAME and nil for X and Y.

(mouse-pixel-position)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.

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))

(set-mouse-position FRAME X Y)Fset-mouse-pixel-position Move  the
mouse  pointer to pixel position (X,Y) in FRAME.  Note, this is a
no-op for an X frame that is not visible.  If you have just  cre-
ated a frame, you must wait for it to become visible before call-
ing this function on it, like this.
  (while (not (frame-visible-p frame)) (sleep-for .5))

(set-mouse-pixel-position 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.

(make-frame-visible  &optional  FRAME)Fmake-frame-invisible  Make
the frame FRAME invisible (assuming it is an X-window).  If omit-
ted, FRAME defaults to the currently  selected  frame.   Normally
you  may not make FRAME invisible if all other frames are invisi-
ble, but if the second optional argument FORCE  is  non-nil,  you
may do so.

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

(iconify-frame &optional FRAME)Fframe-visible-p Return t if FRAME
is now "visible" (actually in use for display).  A frame that  is
not  "visible"  is  not updated and, if it works through a window
system, it may not show at all.   Return  the  symbol  `icon'  if
frame is visible only as an icon.

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

(visible-frame-list)Fraise-frame Bring FRAME to the front, so  it
occludes  any frames it overlaps.  If FRAME is invisible, 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 does nothing.

(raise-frame &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 dis-
playing on an  ordinary  terminal  or  some  other  device  which
doesn't  support  multiple overlapping frames, this function does
nothing.

(lower-frame &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 omitted or nil,  any  existing  redirection  is
cancelled, 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  select-
ed,  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.

(redirect-frame-focus  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'.

(frame-focus  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.

(frame-parameters &optional FRAME)Fmodify-frame-parameters Modify
the parameters of frame FRAME according to ALIST.   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.

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

(frame-char-height  &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.  The width is the  same  for
all characters, because currently Emacs supports only fixed-width
fonts.  For a terminal screen, the value is always 1.

(frame-char-width &optional  FRAME)Fframe-pixel-height  Return  a
FRAME's  height in pixels.  This counts only the height available
for text lines, not menu bars on window-system Emacs frames.  For
a  terminal  frame, the result really gives the height in charac-
ters.  If FRAME is omitted, the selected frame is used.

(frame-pixel-height  &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.

(frame-pixel-width &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.

(set-frame-height 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.

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

(set-frame-size 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).

(set-frame-position  FRAME  XOFFSET  YOFFSET)Vterminal-frame  The
initial frame-object,  which  represents  Emacs's  stdout.Vemacs-
iconified  Non-nil if all of emacs is iconified and frame updates
are not  needed.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  cur-
rently being displayed.Vinhibit-redisplay Non-nil means don't ac-
tually do any redisplay.   This  is  used  for  internal  purpos-
es.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.  See  also  `overlay-arrow-position'.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  cen-
tered  instead.   If this is zero, point is always centered after
it moves off frame.Vscroll-conservatively *Scroll up to this many
lines,  to  bring  point back on 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.Vdebug-end-pos  Don't  askVtruncate-partial-
width-windows  *Non-nil  means truncate lines in all windows less
than full frame wide.Vmode-line-inverse-video *Non-nil means  use
inverse video for the mode line.Vline-number-display-limit *Maxi-
mum buffer size (in characters) for line number  display  If  the
buffer  is  bigger  than this, the line number does not appear in
the mode line.Vhighlight-nonselected-windows *Non-nil means high-
light 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  Tem-
plate for displaying the titlebar of visible  frames.   (Assuming
the window manager supports this feature.)  This variable has the
same structure as `mode-line-format' (which see), and is used on-
ly  on frames for which no explicit name has been set (see `modi-
fy-frame-parameters').Vicon-title-format Template for  displaying
the titlebar 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-parame-
ters').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  re-
display,  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 argu-
ments, the window and its new display-start position.  Note  that
the  value  of `window-end' is not valid when these functions are
called.Vminibuffer-scroll-overlap *Number of characters of  over-
lap  when scrolling a one-line window.  This commonly affects the
minibuffer window, hence the name of  the  variable.Vunibyte-dis-
play-via-language-environment *Non-nil means display unibyte text
according to language environment.  Specifically this means  that
unibyte  non-ASCII characters are displayed by converting them to
the equivalent multibyte characters according to the current lan-
guage  environment.  As a result, they are displayed according to
the current fontset.Fwindowp Returns t if OBJECT is a window.

(windowp OBJECT)Fwindow-live-p Returns t if OBJECT  is  a  window
which is currently visible.

(window-live-p OBJECT)Fselected-window Return the window that the
cursor now appears in and commands apply to.

(selected-window)Fminibuffer-window Return the  window  used  now
for  minibuffers.   If  the optional argument FRAME is specified,
return the minibuffer window used by that frame.

(minibuffer-window &optional  FRAME)Fwindow-minibuffer-p  Returns
non-nil if WINDOW is a minibuffer window.

(window-minibuffer-p   &optional  WINDOW)Fpos-visible-in-window-p
Return t if position POS is currently on  the  frame  in  WINDOW.
Returns  nil if that position is scrolled vertically out of view.
POS defaults to point; WINDOW, to the selected window.

(pos-visible-in-window-p &optional POS WINDOW)Fwindow-buffer  Re-
turn the buffer that WINDOW is displaying.

(window-buffer  &optional WINDOW)Fwindow-height Return the number
of lines in WINDOW (including its mode line).

(window-height &optional WINDOW)Fwindow-width Return  the  number
of  display  columns in WINDOW.  This is the width that is usable
columns available for text in WINDOW.  If you want  to  find  out
how  many  columns  WINDOW  takes  up, use  (let ((edges (window-
edges))) (- (nth 2 edges) (nth 0 edges))).

(window-width &optional WINDOW)Fwindow-hscroll Return the  number
of columns by which WINDOW is scrolled from left margin.

(window-hscroll  &optional  WINDOW)Fset-window-hscroll Set number
of columns WINDOW is scrolled from left  margin  to  NCOL.   NCOL
should be zero or positive.

(set-window-hscroll WINDOW NCOL)Fwindow-redisplay-end-trigger Re-
turn WINDOW's redisplay end trigger value.   See  `set-window-re-
display-end-trigger' for more information.

(window-redisplay-end-trigger &optional WINDOW)Fset-window-redis-
play-end-trigger Set WINDOW's redisplay end trigger value to VAL-
UE.   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.

(set-window-redisplay-end-trigger WINDOW VALUE)Fwindow-edges  Re-
turn  a  list of the edge coordinates of WINDOW.  (LEFT TOP RIGHT
BOTTOM), all relative to 0, 0 at top left corner of frame.  RIGHT
is  one more than the rightmost column used by WINDOW, and BOTTOM
is one more than the bottommost row used by WINDOW
 and its mode-line.

(window-edges  &optional  WINDOW)Fcoordinates-in-window-p  Return
non-nil  if  COORDINATES are in WINDOW.  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 on the border between WINDOW and its right sibling,
   `vertical-line' is returned.

(coordinates-in-window-p   COORDINATES  WINDOW)Fwindow-at  Return
window containing coordinates X and  Y  on  FRAME.   If  omitted,
FRAME  defaults  to  the  currently selected frame.  The top left
corner of the frame is considered to be row 0, column 0.

(window-at X Y &optional FRAME)Fwindow-point Return current value
of  point in WINDOW.  For a nonselected window, this is the value
point would have if that window were selected.

Note that, when WINDOW is the selected window and its  buffer  is
also  currently  selected,  the  value  returned  is  the same as
(point).  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.

(window-point &optional WINDOW)Fwindow-start Return  position  at
which display currently starts in WINDOW.  This is updated by re-
display or by calling `set-window-start'.

(window-start &optional  WINDOW)Fwindow-end  Return  position  at
which  display  currently ends in WINDOW.  This is updated by re-
display, when it runs to completion.  Simply changing the  buffer
text  or  setting  `window-start' does not update this value.  If
UP-TO-DATE is non-nil, compute  the  up-to-date  position  if  it
isn't already recorded.

(window-end  &optional WINDOW UPDATE)Fset-window-point Make point
value in WINDOW be at position POS in WINDOW's buffer.

(set-window-point WINDOW POS)Fset-window-start  Make  display  in
WINDOW  start at position POS in WINDOW's buffer.  Optional third
arg NOFORCE non-nil inhibits next redisplay from  overriding  mo-
tion of point in order to display at this exact start.

(set-window-start WINDOW POS &optional NOFORCE)Fwindow-dedicated-
p Return WINDOW's dedicated object, usually t or nil.   See  also
`set-window-dedicated-p'.

(window-dedicated-p     WINDOW)Fset-window-dedicated-p    Control
whether WINDOW is dedicated to the buffer it displays.  If it  is
dedicated,  Emacs  will not automatically change which buffer ap-
pears in it.  The second argument is the new value for the  dedi-
cation flag; non-nil means yes.

(set-window-dedicated-p  WINDOW  ARG)Fwindow-display-table Return
the display-table that WINDOW is using.

(window-display-table &optional  WINDOW)Fset-window-display-table
Set WINDOW's display-table to TABLE.

(set-window-display-table WINDOW TABLE)Fdelete-window Remove WIN-
DOW from the display.  Default is selected window.

(delete-window &optional WINDOW)Fnext-window Return  next  window
after  WINDOW in canonical ordering of windows.  If omitted, WIN-
DOW defaults to the selected window.

Optional second arg MINIBUF t means count the  minibuffer  window
even  if  not  active.   MINIBUF  nil  or omitted means count the
minibuffer iff it is active.  MINIBUF neither t nor nil means not
to count the minibuffer even if it is active.

Several  frames  may share a single minibuffer; if the minibuffer
counts, all windows on all  frames  that  share  that  minibuffer
count  too.   Therefore,  `next-window'  can  be  used to iterate
through the set of windows even when the minibuffer is on another
frame.   If the minibuffer does not count, only windows from WIN-
DOW's frame count.

Optional third arg ALL-FRAMES t  means  include  windows  on  all
frames.   ALL-FRAMES nil or omitted means cycle within the frames
as specified above.  ALL-FRAMES = `visible' means include windows
on  all  visible frames.  ALL-FRAMES = 0 means include windows on
all visible and iconified frames.  If ALL-FRAMES is a frame,  re-
strict  search to windows on that frame.  Anything else means re-
strict to WINDOW's frame.

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

(next-window &optional WINDOW MINIBUF ALL-FRAMES)Fprevious-window
Return  the window preceding WINDOW in canonical ordering of win-
dows.  If omitted, WINDOW defaults to the selected window.

Optional second arg MINIBUF t means count the  minibuffer  window
even  if  not  active.   MINIBUF  nil  or omitted means count the
minibuffer iff it is active.  MINIBUF neither t nor nil means not
to count the minibuffer even if it is active.

Several  frames  may share a single minibuffer; if the minibuffer
counts, all windows on all  frames  that  share  that  minibuffer
count  too.   Therefore, `previous-window' can be used to iterate
through the set of windows even when the minibuffer is on another
frame.   If the minibuffer does not count, only windows from WIN-
DOW's frame count

Optional third arg ALL-FRAMES t  means  include  windows  on  all
frames.   ALL-FRAMES nil or omitted means cycle within the frames
as specified above.  ALL-FRAMES = `visible' means include windows
on  all  visible frames.  ALL-FRAMES = 0 means include windows on
all visible and iconified frames.  If ALL-FRAMES is a frame,  re-
strict  search to windows on that frame.  Anything else means re-
strict to WINDOW's frame.

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

(previous-window &optional WINDOW MINIBUF  ALL-FRAMES)Fother-win-
dow  Select  the ARG'th different window on this frame.  All win-
dows on current frame are arranged in a cyclic order.  This  com-
mand selects the window ARG steps away in that order.  A negative
ARG moves in the opposite order.  If the optional second argument
ALL_FRAMES is non-nil, cycle through all frames.

(other-window ARG &optional ALL-FRAMES)Fget-lru-window Return the
window least recently selected or used for display.  If  optional
argument FRAME is `visible', search all visible frames.  If FRAME
is 0, search all visible and iconified frames.  If  FRAME  is  t,
search  all  frames.   If  FRAME is nil, search only the selected
frame.  If FRAME is a frame, search only that frame.

(get-lru-window &optional  FRAME)Fget-largest-window  Return  the
largest window in area.  If optional argument FRAME is `visible',
search all visible frames.  If FRAME is 0, search all visible and
iconified frames.  If FRAME is t, search all frames.  If FRAME is
nil, search only the selected frame.  If FRAME is a frame, search
only that frame.

(get-largest-window  &optional  FRAME)Fget-buffer-window Return a
window currently displaying BUFFER, or nil if none.  If  optional
argument  FRAME  is `visible', search all visible frames.  If op-
tional argument FRAME is 0,  search  all  visible  and  iconified
frames.   If  FRAME  is  t,  search all frames.  If FRAME is nil,
search only the selected frame.  If FRAME is a frame, search only
that frame.

(get-buffer-window  BUFFER  &optional FRAME)Fdelete-other-windows
Make WINDOW (or the selected window) fill its  frame.   Only  the
frame  WINDOW  is  on is affected.  This function tries 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 rea-
sonable when this function is called.

(delete-other-windows &optional WINDOW)Fdelete-windows-on  Delete
all  windows showing BUFFER.  Optional second argument FRAME con-
trols which frames are affected.  If optional argument  FRAME  is
`visible',  search all visible frames.  If FRAME is 0, search all
visible and iconified  frames.   If  FRAME  is  nil,  search  all
frames.  If FRAME is t, search only the selected frame.  If FRAME
is a frame, search only that frame.

(delete-windows-on BUFFER &optional FRAME)Freplace-buffer-in-win-
dows Replace BUFFER with some other buffer in all windows showing
it.

(replace-buffer-in-windows BUFFER)Fset-window-buffer Make  WINDOW
display BUFFER as its contents.  BUFFER can be a buffer or buffer
name.

(set-window-buffer WINDOW  BUFFER)Fselect-window  Select  WINDOW.
Most editing will apply to WINDOW's buffer.  If WINDOW is not al-
ready selected, also make WINDOW's buffer current.  Note that the
main  editor command loop selects the buffer of the selected win-
dow before each command.

(select-window WINDOW)Fspecial-display-p  Returns  non-nil  if  a
buffer  named  BUFFER-NAME would be created specially.  The value
is actually t if the frame should be called  with  default  frame
parameters,  and  a  list of frame parameters if they were speci-
fied.  See `special-display-buffer-names', and  `special-display-
regexps'.

(special-display-p  BUFFER-NAME)Fsame-window-p Returns non-nil if
a new buffer named BUFFER-NAME would use the  same  window.   See
`same-window-buffer-names' and `same-window-regexps'.

(same-window-p  BUFFER-NAME)Fdisplay-buffer Make BUFFER appear in
some window but don't select it.  BUFFER can be  a  buffer  or  a
buffer name.  If BUFFER is shown already in some window, just use
that one, unless the window is the selected window  and  the  op-
tional second argument NOT-THIS-WINDOW is non-nil (interactively,
with prefix arg).  If `pop-up-frames'  is  non-nil,  make  a  new
frame  if  no window shows BUFFER.  Returns the window displaying
BUFFER.

The variables  `special-display-buffer-names',  `special-display-
regexps',  `same-window-buffer-names',  and `same-window-regexps'
customize how certain buffer names are handled.

If optional argument  FRAME  is  `visible',  search  all  visible
frames.   If FRAME is 0, search all visible and iconified frames.
If FRAME is t, search all frames.  If FRAME is  a  frame,  search
only that frame.  If FRAME is nil, search only the selected frame
 (actually the last nonminibuffer frame),
 unless `pop-up-frames' is non-nil,
 which means search visible and iconified frames.

(display-buffer BUFFER  &optional  NOT-THIS-WINDOW  FRAME)Fsplit-
window Split WINDOW, putting SIZE lines in the first of the pair.
WINDOW defaults to selected one and SIZE to half  its  size.   If
optional third arg HORFLAG is non-nil, split side by side and put
SIZE columns in the first of the pair.  In that  case,  SIZE  in-
cludes  that  window's  scroll  bar, or the divider column to its
right.

(split-window &optional WINDOW SIZE HORFLAG)Fenlarge-window  Make
current  window  ARG lines bigger.  From program, optional second
arg non-nil means grow sideways ARG columns.

(enlarge-window ARG &optional  SIDE)Fshrink-window  Make  current
window ARG lines smaller.  From program, optional second arg non-
nil means shrink sideways arg columns.

(shrink-window ARG &optional SIDE)Fscroll-up Scroll text of  cur-
rent  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.   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 `-'.

(scroll-up &optional ARG)Fscroll-down Scroll text of current win-
dow down ARG lines; or near full screen if no ARG.  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, sup-
ply as argument a number, nil, or `-'.

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

(other-window-for-scrolling)Fscroll-other-window Scroll next win-
dow 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 argu-
ment a number, nil, or `-'.

If in the minibuffer, `minibuffer-scroll-window' if non-nil spec-
ifies the window to scroll.  If  `other-window-scroll-buffer'  is
non-nil,  scroll  the  window  showing  that  buffer, popping the
buffer up if necessary.

(scroll-other-window &optional ARG)Fscroll-left  Scroll  selected
window display ARG columns left.  Default for ARG is window width
minus 2.

(scroll-left &optional ARG)Fscroll-right Scroll  selected  window
display ARG columns right.  Default for ARG is window width minus
2.

(scroll-right &optional ARG)Frecenter Center point in window  and
redisplay  frame.   With ARG, put point on line ARG.  The desired
position of point is always relative to the current window.  Just
C-u  as  prefix  means put point in the center of the window.  If
ARG is omitted or nil, erases the entire frame and  then  redraws
with point in the center of the current window.

(recenter &optional ARG)Fmove-to-window-line Position point rela-
tive to window.  With no argument, position point  at  center  of
window.   An argument specifies vertical position within the win-
dow; zero means top of window, negative means relative to  bottom
of window.

(move-to-window-line  ARG)Fwindow-configuration-p Return t if OB-
JECT is a window-configuration object.

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

(window-configuration-frame  CONFIG)Fset-window-configuration Set
the configuration of windows and buffers as specified by CONFIGU-
RATION.   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.

(set-window-configuration  CONFIGURATION)Fcurrent-window-configu-
ration Return an object representing the current window  configu-
ration  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').

(current-window-configuration &optional FRAME)Fsave-window-excur-
sion Execute body, preserving window sizes and contents.  Restore
which  buffer  appears in which window, where display starts, and
the value of point and mark for each window.  Also restore  which
buffer  is  current.   But  do  not preserve point in the current
buffer.   Does  not  restore  the  value  of  point  in   current
buffer.Fcompare-window-configurations Compare two window configu-
rations as regards the structure of windows.  This  function  ig-
nores  details such as the values of point and mark and scrolling
positions.

(compare-window-configurations   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.Vdis-
play-buffer-function If non-nil, function to call to handle `dis-
play-buffer'.   It  will  receive two args, the buffer and a flag
which if non-nil means
 that the currently selected window is not acceptable.   Commands
such as `switch-to-buffer-other-window' and `find-file-other-win-
dow' work using this  function.Vminibuffer-scroll-window  Non-nil
means   it   is  the  window  that  C-M-v  in  minibuffer  should
scroll.Vother-window-scroll-buffer If non-nil, this is  a  buffer
and  should scroll its window.Vpop-up-frames *Non-nil means `dis-
play-buffer' should make a separate  frame.Vpop-up-frame-function
Function  to  call to handle automatic new frame creation.  It is
called with no arguments and should return a newly created frame.

A  typical value might be `(lambda () (new-frame pop-up-frame-al-
ist))' where `pop-up-frame-alist' would hold  the  default  frame
parameters.Vspecial-display-buffer-names  *List  of  buffer names
that should have their own special frames.  Displaying  a  buffer
whose  name  is  in  this list makes a special frame for it using
`special-display-function'.  See also  `special-display-regexps'.

An  element  of  the list can be a list instead of just a string.
There are two ways to use a list as an element:
  (BUFFER FRAME-PARAMETERS...)   (BUFFER FUNCTION  OTHER-ARGS...)
In the first case, FRAME-PARAMETERS are used to create the frame.
In the latter case, FUNCTION is called with BUFFER as  the  first
argument,  followed  by  OTHER-ARGS--it can display BUFFER in any
way it likes.  All this is done by the function  found  in  `spe-
cial-display-function'.

If this variable appears "not to work", because you add a name to
it but that buffer still appears in the selected window, look  at
the  values of `same-window-buffer-names' and `same-window-regex-
ps'.  Those variables take precedence over this one.Vspecial-dis-
play-regexps  *List  of  regexps saying which buffers should have
their own special frames.  If a buffer name matches one of  these
regexps,  it  gets its own frame.  Displaying a buffer whose name
is in this list makes a special frame for it using  `special-dis-
play-function'.

An  element  of  the list can be a list instead of just a string.
There are two ways to use a list as an element:
  (REGEXP FRAME-PARAMETERS...)   (REGEXP FUNCTION  OTHER-ARGS...)
In the first case, FRAME-PARAMETERS are used to create the frame.
In the latter case, FUNCTION is called with the buffer  as  first
argument,  followed  by  OTHER-ARGS--it can display the buffer in
any way it likes.  All this is done  by  the  function  found  in
`special-display-function'.

If  this variable appears "not to work", because you add a regexp
to it but the matching buffers still appear in the selected  win-
dow,  look at the values of `same-window-buffer-names' and `same-
window-regexps'.   Those  variables  take  precedence  over  this
one.Vspecial-display-function  Function  to  call  to  make a new
frame for a special buffer.  It is called with two arguments, the
buffer  and  optional  buffer  specific data, and should return a
window displaying that buffer.  The default value makes  a  sepa-
rate frame for the buffer, using `special-display-frame-alist' to
specify the frame parameters.

A buffer is special if its is listed in  `special-display-buffer-
names'  or  matches  a regexp in `special-display-regexps'.Vsame-
window-buffer-names *List of buffer names that should  appear  in
the selected window.  Displaying one of these buffers using `dis-
play-buffer' or `pop-to-buffer' switches to it  in  the  selected
window, rather than making it appear in some other window.

An  element  of  the  list  can  be a cons cell instead of just a
string.  Then the car must  be  a  string,  which  specifies  the
buffer  name.   This  is for compatibility with `special-display-
buffer-names'; the cdr of the cons cell is ignored.

See also `same-window-regexps'.Vsame-window-regexps *List of reg-
exps  saying  which buffers should appear in the selected window.
If a buffer name matches one of these regexps, then displaying it
using  `display-buffer'  or `pop-to-buffer' switches to it in the
selected window, rather than making it appear in some other  win-
dow.

An  element  of  the  list  can  be a cons cell instead of just a
string.  Then the car must  be  a  string,  which  specifies  the
buffer  name.   This  is for compatibility with `special-display-
buffer-names'; the cdr of the cons cell is ignored.

See  also   `same-window-buffer-names'.Vpop-up-windows   *Non-nil
means  display-buffer  should  make new windows.Vnext-screen-con-
text-lines *Number of  lines  of  continuity  when  scrolling  by
screenfuls.Vsplit-height-threshold  *display-buffer  would prefer
to split the largest window if this large.  If there is only  one
window,  it  is split regardless of this value.Vwindow-min-height
*Delete any window  less  than  this  tall  (including  its  mode
line).Vwindow-min-width   *Delete   any  window  less  than  this
wide.Vscroll-preserve-screen-position *Nonzero means scroll  com-
mands  move  point to keep its screen line unchanged.Vwindow-con-
figuration-change-hook Functions to call when  window  configura-
tion  changes.  The selected frame is the one whose configuration
has changed.Fdefine-charset Define CHARSET-ID as the  identifica-
tion  number  of CHARSET with INFO-VECTOR.  If CHARSET-ID is nil,
it is decided automatically, which means CHARSET is
 treated as a private charset.  INFO-VECTOR is a  vector  of  the
format:
   [DIMENSION  CHARS  WIDTH DIRECTION ISO-FINAL-CHAR ISO-GRAPHIC-
PLANE
    SHORT-NAME LONG-NAME DESCRIPTION] The meanings of  each  ele-
ments  is  as follows: DIMENSION (integer) is the number of bytes
to represent a character: 1 or 2.  CHARS (integer) is the  number
of  characters  in a dimension: 94 or 96.  WIDTH (integer) is the
number of columns a character in  the  charset  occupies  on  the
screen: one of 0, 1, and 2.

DIRECTION  (integer)  is the rendering direction of characters in
the charset when rendering.  If 0, render  from  left  to  right,
else render from right to left.

ISO-FINAL-CHAR  (character)  is the final character of the corre-
sponding ISO 2022 charset.

ISO-GRAPHIC-PLANE (integer) is the graphic plane  to  be  invoked
while  encoding to variants of ISO 2022 coding system, one of the
following: 0/graphic-plane-left(t), 1/graphic-plane-right(t).

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.

(define-charset CHARSET-ID  CHARSET-SYMBOL  INFO-VECTOR)Fgeneric-
character-list  Return a list of all possible generic characters.
It includes a generic character for a charset not yet defined.

(generic-character-list)Fget-unused-iso-final-char   Return    an
unsed  ISO's  final  char  for a charset of DIMENISION 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.

(get-unused-iso-final-char DIMENSION CHARS)Fdeclare-equiv-charset
Declare a charset of DIMENSION, CHARS, FINAL-CHAR is the same  as
CHARSET.   CHARSET  should be defined by `defined-charset' in ad-
vance.

(declare-equiv-charset DIMENSION  CHARS  FINAL-CHAR  CHARSET-SYM-
BOL)Ffind-charset-region  Return a list of charsets in the region
between BEG and END.  BEG and END are buffer positions.   If  the
region contains any composite character, `composition' is includ-
ed in the returned list.  Optional arg  TABLE  if  non-nil  is  a
translation table to look up.

If the region contains invalid multiybte characters, `unknown' is
included in the returned list.

If the current buffer is  unibyte,  the  returned  list  contains
`ascii'  if  any 7-bit characters are found, and `unknown' if any
8-bit characters are found.

(find-charset-region BEG END &optional TABLE)Ffind-charset-string
Return  a  list  of  charsets in STR.  If the string contains any
composite characters, `composition' is included in  the  returned
list.   Optional  arg  TABLE if non-nil is a translation table to
look up.

If the region contains invalid multiybte characters, `unknown' is
included in the returned list.

If  STR  is  unibyte,  the  returned list contains `ascii' if any
7-bit characters are found, and `unknown' if any 8-bit characters
are found.

(find-charset-string STR &optional TABLE)Fmake-char-internal


(make-char-internal CHARSET &optional CODE1 CODE2)Fsplit-char Re-
turn list of charset and one or two position-codes of  CHAR.   If
CHAR is invalid as a character code, return a list of symbol `un-
known' and CHAR.

(split-char CH)Fchar-charset Return charset of CHAR.

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

(charset-after &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,  where  as
Emacs  distinguishes  them by charset symbol.  See the documenta-
tion of the function `charset-info' for the  meanings  of  DIMEN-
SION, CHARS, and FINAL-CHAR.

(iso-charset DIMENSION CHARS FINAL-CHAR)Fchar-valid-p Return t if
OBJECT is a valid normal character.  If optional arg GENERICP  is
non-nil, also return t if OBJECT is a valid generic character.

(char-valid-p  OBJECT  &optional GENERICP)Funibyte-char-to-multi-
byte Convert the unibyte character  CH  to  multibyte  character.
The  conversion  is  done  based  on `nonascii-translation-table'
(which see)
 or `nonascii-insert-offset' (which see).

(unibyte-char-to-multibyte CH)Fmultibyte-char-to-unibyte  Convert
the  multibyte character CH to unibyte character.  The conversion
is done based on `nonascii-translation-table' (which see)
 or `nonascii-insert-offset' (which see).

(multibyte-char-to-unibyte CH)Fchar-bytes Return 1 regardless  of
the argument CHAR.  This is now an obsolete function.  We keep it
just for backward compatibility.

(char-bytes 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.

(char-width CH)Fstring-width Return width  of  STRING  when  dis-
played  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 con-
sidered; the validity of the following bytes is not checked.

(string-width STR)Fchar-direction Return the direction  of  CHAR.
The  returned  value  is  0 for left-to-right and 1 for right-to-
left.

(char-direction CH)Fchars-in-region Return number  of  characters
between BEG and END.

(chars-in-region  BEG  END)Fstring  Concatenate  all the argument
characters and make the result a string.Fcmpcharp T if CHAR is  a
composite character.

(cmpcharp  CH)Fcomposite-char-component  Return the Nth component
character of composite character CHARACTER.

(composite-char-component  CHARACTER   N)Fcomposite-char-composi-
tion-rule  Return the Nth composition rule of composite character
CHARACTER.  The returned rule is for composing the Nth  component
on  the (N-1)th component.  If CHARACTER should be composed rela-
tively or N is 0, return 255.

(composite-char-composition-rule CHARACTER N)Fcomposite-char-com-
position-rule-p  Return  non-nil if composite character CHARACTER
contains a embedded rule.

(composite-char-composition-rule-p CHARACTER)Fcomposite-char-com-
ponent-count  Return  number  of compoents of composite character
CHARACTER.

(composite-char-component-count CHARACTER)Fcompose-string  Return
one char string composed from all characters in STRING.

(compose-string STR)Fsetup-special-charsets Internal use only.

(setup-special-charsets)Vcharset-list  List  of charsets ever de-
fined.Vtranslation-table-vector Vector of cons cell of  a  symbol
and translation table ever defined.  An ID of a translation table
is an index of this vector.Vleading-code-composition Leading-code
of  composite characters.Vleading-code-private-11 Leading-code of
private TYPE9N charset of column-width 1.Vleading-code-private-12
Leading-code  of  private TYPE9N charset of column-width 2.Vlead-
ing-code-private-21 Leading-code of private TYPE9Nx9N charset  of
column-width  1.Vleading-code-private-22  Leading-code of private
TYPE9Nx9N charset of column-width 2.Vnonascii-insert-offset  Off-
set  for converting non-ASCII unibyte codes 0240...0377 to multi-
byte.  This is used for converting unibyte text to multibyte, and
for inserting character codes specified by number.

This  serves to convert a Latin-1 or similar 8-bit character code
to the corresponding Emacs multibyte character  code.   Typically
the  value  should  be  (-  (make-char  CHARSET 0) 128), for your
choice of character set.  If `nonascii-translation-table' is non-
nil,   it   overrides  this  variable.Vnonascii-translation-table
Translation table to convert non-ASCII unibyte  codes  to  multi-
byte.  This is used for converting unibyte text to multibyte, and
for inserting character codes specified by number.

Conversion is performed only when multibyte  characters  are  en-
abled,  and it serves to convert a Latin-1 or similar 8-bit char-
acter code to the corresponding Emacs character code.

If this is nil, `nonascii-insert-offset' is  used  instead.   See
also  the  docstring  of `make-translation-table'.Vmin-composite-
char Minimum character code of a composite  character.Vauto-fill-
chars  A  char-table  for  characters  which invoke auto-filling.
Such characters has value t in this table.Fcoding-system-p Return
t  if OBJECT is nil or a coding-system.  See the documentation of
`make-coding-system' for information about coding-system objects.

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

(read-non-nil-coding-system  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.

(read-coding-system    PROMPT    &optional    DEFAULT-CODING-SYS-
TEM)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 a symbol with a non-nil `coding-sys-
tem'  property.   The  value  of  property  should be a vector of
length 5.

(check-coding-system  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.

If only ASCII characters are found, 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.

(detect-coding-region 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.

If  only  ASCII characters are found, 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.

(detect-coding-string STRING &optional HIGHEST)Fdecode-coding-re-
gion  Decode the current region by specified coding system.  When
called from a program, takes three  arguments:  START,  END,  and
CODING-SYSTEM.   START  and END are buffer positions.  This func-
tion 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.)  It returns the length  of  the  decoded
text.

(decode-coding-region  START END CODING-SYSTEM)Fencode-coding-re-
gion Encode the current region by specified coding system.   When
called  from  a  program,  takes three arguments: START, END, and
CODING-SYSTEM.  START and END are buffer positions.   This  func-
tion  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.)  It returns the length of the encoded
text.

(encode-coding-region  START  END   CODING-SYSTEM)Fdecode-coding-
string  Decode  STRING which is encoded in CODING-SYSTEM, and re-
turn the result.  Optional arg NOCOPY non-nil means it is  ok  to
return  STRING itself if the decoding operation is trivial.  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.)

(decode-coding-string STRING CODING-SYSTEM &optional  NOCOPY)Fen-
code-coding-string Encode STRING to CODING-SYSTEM, and return the
result.  Optional arg NOCOPY non-nil means it  is  ok  to  return
STRING  itself  if the encoding operation is trivial.  This func-
tion 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.)

(encode-coding-string STRING CODING-SYSTEM &optional  NOCOPY)Fde-
code-sjis-char  Decode  a  Japanese  character  which has CODE in
shift_jis encoding.  Return the corresponding character.

(decode-sjis-char CODE)Fencode-sjis-char Encode a Japanese  char-
acter  CHAR to shift_jis encoding.  Return the corresponding code
in SJIS.

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

(decode-big5-char CODE)Fencode-big5-char Encode the Big5  charac-
ter CHAR to BIG5 coding system.  Return the corresponding charac-
ter code in Big5.

(encode-big5-char CH)Fset-terminal-coding-system-internal


(set-terminal-coding-system-internal CODING-SYSTEM)Fset-safe-ter-
minal-coding-system-internal


(set-safe-terminal-coding-system-internal   CODING-SYSTEM)Ftermi-
nal-coding-system Return coding  system  specified  for  terminal
output.

(terminal-coding-system)Fset-keyboard-coding-system-internal


(set-keyboard-coding-system-internal CODING-SYSTEM)Fkeyboard-cod-
ing-system Return coding system specified for  decoding  keyboard
input.

(keyboard-coding-system)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 . ENCOD-
ING-SYSTEM).  DECODING-SYSTEM is the coding system to use for de-
coding  (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 OPER-
ATION  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.
  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 specified for TARGET  in,  `file-cod-
ing-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.Fup-
date-coding-systems-internal Update internal database for ISO2022
and  CCL based coding systems.  When values of the following cod-
ing categories are changed, you must call this function:
  coding-category-iso-7, coding-category-iso-7-tight,
  coding-category-iso-8-1, coding-category-iso-8-2,
  coding-category-iso-7-else, coding-category-iso-8-else,
  coding-category-ccl

(update-coding-systems-internal)Fset-coding-priority-internal Up-
date internal database for the current value of `coding-category-
list'.  This function is internal use only.

(set-coding-priority-internal)Vcoding-system-list List of  coding
systems.

Do  not alter the value of this variable manually.  This variable
should be updated by the functions `make-coding-system' and  `de-
fine-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 TABLE argu-
ment.

Do not alter the value of this variable manually.  This  variable
should  be updated by the functions `make-coding-system' and `de-
fine-coding-system-alias'.Vcoding-category-list List  of  coding-
categories  (symbols) ordered by 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 op-
eration.   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-cod-
ing-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 val-
ue  of  `buffer-file-coding-system'  is used.Vlast-coding-system-
used Coding system used in the latest file or process I/O.Vinhib-
it-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-pro-
cess-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  filesys-
tem.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  sys-
tems, the car part is used for decoding, and the cdr part is used
for encoding.  If VAL is a function symbol, the function must re-
turn  a  coding system or a cons of coding systems which are used
as above.

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  pro-
gram  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 net-
work 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 sym-
bol, 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'.Veol-mnemon-
ic-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 dis-
played 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 decod-
ing.Vstandard-translation-table-for-decode Table for  translating
characters  while decoding.Vstandard-translation-table-for-encode
Table for translationg characters  while  encoding.Vcharset-revi-
sion-table  Alist  of charsets vs revision numbers.  While encod-
ing, if a charset (car part of an element) is found, designate it
with the escape sequence identifing revision (cdr part of the el-
ement).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  de-
tected  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 ele-
ments has 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 prop-
er coding system which can encode the text in the case that a de-
fault coding system used in each operation can't encode the text.

The   default   value   is   `select-safe-coding-system'   (which
see).Fmake-category-set Return a newly created category-set which
contains CATEGORIES.  CATEGORIES is a string of category  mnemon-
ics.   The value is a bool-vector which has t at the indices cor-
responding to those categories.

(make-category-set CATEGORIES)Fdefine-category Define CHAR  as  a
category  which  is  described  by  DOCSTRING.  CHAR should be an
ASCII printing character in the range ` ' to `~'.  DOCSTRING is a
documentation  string  of  the category.  The category is defined
only in category table TABLE, which defaults to
 the current buffer's category table.

(define-category CATEGORY  DOCSTRING  &optional  TABLE)Fcategory-
docstring Return the documentation string of CATEGORY, as defined
in CATEGORY-TABLE.

(category-docstring CATEGORY &optional TABLE)Fget-unused-category
Return a category which is not yet defined in CATEGORY-TABLE.  If
no category remains available, return nil.  The optional argument
CATEGORY-TABLE  specifies  which category table to modify; it de-
faults to the current buffer's category table.

(get-unused-category &optional TABLE)Fcategory-table-p  Return  t
if ARG is a category table.

(category-table-p ARG)Fcategory-table Return the current category
table.  This is the one specified by the current buffer.

(category-table)Fstandard-category-table Return the standard cat-
egory table.  This is the one used for new buffers.

(standard-category-table)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.

(copy-category-table  &optional TABLE)Fset-category-table Specify
TABLE as the category table for the current buffer.

(set-category-table TABLE)Fchar-category-set Return the  category
set of CHAR.

(char-category-set  CH)Fcategory-set-mnemonics  Return  a  string
containing mnemonics of the categories in CATEGORY-SET.   CATEGO-
RY-SET  is  a  bool-vector,  and the categories "in" it are those
that are indexes where t occurs the bool-vector.  The return val-
ue is a string containing those same categories.

(category-set-mnemonics CATEGORY-SET)Fmodify-category-entry Modi-
fy 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.  If optional fourth argu-
ment RESET is non-nil,
 then delete CATEGORY from the category set instead of adding it.

(modify-category-entry  CHARACTER  CATEGORY  &optional  TABLE RE-
SET)Fdescribe-categories Describe the category specifications  in
the  current  category table.  The descriptions are inserted in a
buffer, which is then displayed.

(describe-categories)Vword-combining-categories  List   of   pair
(cons) of categories to determine word boundary.

Emacs  treats a sequence of word constituent characters as a sin-
gle word (i.e. finds no word boundary between them) iff they  be-
longs  to  the  same charset.  But, exceptions are allowed in the
following cases.

(1) The case that characters are in different  charsets  is  con-
trolled by the variable `word-combining-categories'.

Emacs  finds  no  word  boundary  between characters of different
charsets 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 ASCII characters and  Latin-1  charac-
ters can form a single word, the element `(?l . ?l)' should be in
this list because both characters have the  category  `l'  (Latin
characters).

(2) The case that character are in the same charset is controlled
by the variable `word-separating-categories'.

Emacs find a word boundary between characters of the same charset
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 a word boundary between C1
and C2.

For instance, to  tell  that  there's  a  word  boundary  between
Japanese  Hiragana  and  Japanese  Kanji  (both  are  in the same
charset), the element `(?H . ?C) should be  in  this  list.Vword-
separating-categories List of pair (cons) of categories to deter-
mine word boundary.  See the documentation of the variable `word-
combining-categories'.Fccl-execute  Execute CCL-PROGRAM with reg-
isters initialized by REGISTERS.

CCL-PROGRAM is a symbol registered by register-ccl-program, or  a
compiled  code  generated by `ccl-compile' (for backward compati-
bility, in this case, the execution is slower).  No I/O  commands
should appear in CCL-PROGRAM.

REGISTERS  is  a  vector of [R0 R1 ... R7] where RN is an initial
value
 of Nth register.

As side effect, each element of REGISTERS holds the value of
 corresponding register after the execution.

(ccl-execute CCL-PROG REG)Fccl-execute-on-string Execute CCL-PRO-
GRAM 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  compati-
bility, in this case, the execution is slower).

Read buffer is set to STRING, and write buffer is allocated auto-
matically.

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  opera-
tion  when read buffer is exausted, 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.

(ccl-execute-on-string  CCL-PROG  STATUS  STR  &optional   CONTIN
UNIBYTE-P)Fregister-ccl-program  Register  CCL program PROGRAM of
NAME in `ccl-program-table'.  PROGRAM should be a  compiled  code
of  CCL  program,  or nil.  Return index number of the registered
CCL program.

(register-ccl-program NAME CCL-PROG)Fregister-code-conversion-map
Register  SYMBOL as code conversion map MAP.  Return index number
of the registered map.

(register-code-conversion-map  SYMBOL   MAP)Vcode-conversion-map-
vector Vector of code conversion maps.Vfont-ccl-encoder-alist Al-
ist of fontname patterns vs corresponding CCL program.  Each ele-
ment 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(e)  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.Vsystem-uses-terminfo Non-nil means
the system uses terminfo rather than termcap.  This variable  can
be used by terminal emulator packages.Vring-bell-function Non-nil
means call this function to ring the bell.  The  function  should
accept  no arguments.Fpixmap-spec-p Return t if OBJECT is a valid
pixmap specification.

(pixmap-spec-p  OBJECT)Fmake-face-internal  Create  face   number
FACE-ID on all frames.

(make-face-internal FACE-ID)Fset-face-attribute-internal


(set-face-attribute-internal    FACE-ID    ATTR-NAME   ATTR-VALUE
FRAME)Fframe-face-alist


(frame-face-alist FRAME)Fset-frame-face-alist


(set-frame-face-alist FRAME VALUE)Finternal-next-face-id


(internal-next-face-id)Vregion-face Face number to use  to  high-
light  the  region  The region is highlighted with this face when
Transient Mark mode is enabled and  the  mark  is  active.Fquery-
fontset Return the name of an existing fontset which matches PAT-
TERN.  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.

(query-fontset  PATTERN  &optional  REGEXPP)Fnew-fontset Create a
new fontset NAME which contains fonts in FONTLIST.   FONTLIST  is
an alist of charsets vs corresponding font names.

(new-fontset  NAME  FONTLIST)Fset-fontset-font Set FONTNAME for a
font of CHARSET in fontset NAME on  frame  FRAME.   If  FRAME  is
omitted or nil, all frames are affected.

(set-fontset-font    NAME   CHARSET-SYMBOL   FONTNAME   &optional
FRAME)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,
CHARSET, 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,
  CHARSET is the charset displayed by the font,
  SIZE is the minimum bound width of the font,
  HEIGHT is the height of the font,
  BASELINE-OFFSET is the upward offset pixels  from  ASCII  base-
line,
  RELATIVE-COMPOSE and DEFAULT-ASCENT are the numbers controlling
    how to compose characters.  If the  named  font  is  not  yet
loaded, return nil.

(font-info  NAME &optional FRAME)Ffontset-info Return information
about a fontset named NAME on frame FRAME.  If FRAME  is  omitted
or  nil,  use the selected frame.  The returned value is a vector
of SIZE, HEIGHT, and FONT-LIST, where
  SIZE is the minimum bound width of ASCII font of the fontset,
  HEIGHT is the height of the tallest font in the fontset, and
  FONT-LIST is an alist of the format:
    (CHARSET REQUESTED-FONT-NAME LOADED-FONT-NAME).  LOADED-FONT-
NAME  t  means  the font is not yet loaded, nil means the loading
failed.

(fontset-info NAME &optional FRAME)Vglobal-fontset-alist Internal
data  for fontset.  Not for external use.  This is an alist asso-
ciating fontset names with the lists of fonts
 contained in them.  Newly created frames make their own  fontset
database  from  here.Vfont-encoding-alist  Alist of fontname pat-
terns vs corresponding encoding info.  Each  element  looks  like
(REGEXP . ENCODING-INFO),
 where  ENCODING-INFO is an alist of CHARSET vs ENCODING.  ENCOD-
ING is one of the following integer values:      0:  code  points
0x20..0x7F  or  0x2020..0x7F7F  are  used,       1:  code  points
0xA0..0xFF  or  0xA0A0..0xFFFF  are  used,       2:  code  points
0x20A0..0x7FFF  are  used,      3: code points 0xA020..0xFF7F are
used.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  what  speci-
fied 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 is not composed relatively.  If an
entry for a character is non-nil,  a  composite  character  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 font-
name 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.Vhighlight-wrong-size-font  *Non-nil means highlight
characters shown in wrong size fonts somehow.  The way  to  high-
light them depends on window system on which Emacs runs.  On X11,
a rectangle is shown around each such character.Vclip-large-size-
font  *Non-nil  means  characters  shown  in  overlarge fonts are
clipped.  The height of clipping area is the same as that  of  an
ASCII character.  The width of the area is the same as that of an
ASCII character, or twice as wide,  depending  on  the  character
set's column-width.

If  the  only  font  you have for a specific character set is too
large, and clipping these characters makes them hard to read, you
can  set  this  variable to nil to display the characters without
clipping.  The drawback is that you will get some garbage left on
your  screen.Finvocation-name  Return  the  program name that was
used to run Emacs.  Any directory names are omitted.

(invocation-name)Finvocation-directory Return the directory  name
in which the Emacs executable was located

(invocation-directory)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.

The  value  of `kill-emacs-hook', if not void, is a list of func-
tions (of no args), all of which are called before Emacs is actu-
ally killed.

(kill-emacs  &optional ARG)Fdump-emacs-data Dump current state of
Emacs into data file FILENAME.  This function exists  on  systems
that use HAVE_SHM.

(dump-emacs-data FILENAME)Fdump-emacs Dump current state of Emacs
into executable file FILENAME.  Take symbols from  SYMFILE  (pre-
sumably 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.

(dump-emacs FILENAME SYMFILE)Vcommand-line-args  Args  passed  by
shell to Emacs, as a list of strings.Vsystem-type Value is symbol
indicating type of operating system you are using.Vsystem-config-
uration  Value is string indicating configuration Emacs was built
for.Vsystem-configuration-options String containing the  configu-
ration options Emacs was built with.Vnoninteractive Non-nil means
Emacs is running  without  interactive  terminal.Vkill-emacs-hook
Hook  to  be run whenever 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 ex-
pect to be able to interact with the user.  To ask for  confirma-
tion,  see `kill-emacs-query-functions' instead.Vsignal-USR1-hook
Hook to be run whenever  emacs  receives  a  USR1  signalVsignal-
USR2-hook  Hook  to  be  run  whenever emacs receives a USR2 sig-
nalVemacs-priority Priority for Emacs to run at.  This  value  is
effective  only  if  set  before Emacs is dumped, and only if the
Emacs executable is installed with setuid to permit it to  change
priority.  (Emacs sets its uid back to the real uid.)  Currently,
you need to define SET_EMACS_PRIORITY in  `config.h'  before  you
compile  Emacs, to enable the code for this feature.Vpath-separa-
tor The directory separator in search paths, as a string.Vinvoca-
tion-name  The  program name that was used to run Emacs.  Any di-
rectory 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' di-
rectories.  This is non-nil when we can't find those  directories
in  their standard installed locations, but we can find them near
where the Emacs executable was found.Frecursive-edit  Invoke  the
editor command loop recursively.  To get out of the recursive ed-
it, a command can do `(throw 'exit nil)'; that tells  this  func-
tion  to return.  Alternately, `(throw 'exit t)' makes this func-
tion signal an error.  This function is called by the editor ini-
tialization to begin editing.

(recursive-edit)Ftop-level Exit all recursive editing levels.

(top-level)Fexit-recursive-edit Exit from the innermost recursive
edit or minibuffer.

(exit-recursive-edit)Fabort-recursive-edit Abort the command that
requested this recursive edit or minibuffer input.

(abort-recursive-edit)Ftrack-mouse Evaluate BODY with mouse move-
ment events enabled.  Within a `track-mouse' form,  mouse  motion
generates input events that you can read with `read-event'.  Nor-
mally, mouse motion is  ignored.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.

(event-convert-list 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 spe-
cially.  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  corre-
sponding  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 ver-
tical  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 COMMAND-LOOP, if non-nil, means that
this key sequence is being read by something that will read  com-
mands  one  after  another.   It should be nil if the caller will
read just one key sequence.

(read-key-sequence PROMPT &optional CONTINUE-ECHO  DONT-DOWNCASE-
LAST CAN-RETURN-SWITCH-FRAME COMMAND-LOOP)Fread-key-sequence-vec-
tor Like `read-key-sequence' but always return a vector.

(read-key-sequence-vector PROMPT  &optional  CONTINUE-ECHO  DONT-
DOWNCASE-LAST CAN-RETURN-SWITCH-FRAME
 COMMAND-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 speci-
fies 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  execut-
ing  a  special  event,  so  ignore the prefix argument and don't
clear it.

(command-execute CMD &optional RECORD-FLAG KEYS SPECIAL)Fexecute-
extended-command  Read function name, then read its arguments and
call it.

(execute-extended-command PREFIXARG)Finput-pending-p T if command
input is currently available with no waiting.  Actually, the val-
ue is nil only if we can be sure that no input is available.

(input-pending-p)Frecent-keys Return vector of last  100  events,
not counting those from keyboard macros.

(recent-keys)Fthis-command-keys  Return the key sequence that in-
voked this command.  The value is a string or a vector.

(this-command-keys)Fthis-command-keys-vector Return the  key  se-
quence that invoked this command, as a vector.

(this-command-keys-vector)Fthis-single-command-keys   Return  the
key sequence that invoked this  command.   Unlike  `this-command-
keys',  this  function's value does not include prefix arguments.
The value is always a vector.

(this-single-command-keys)Fthis-single-command-raw-keys    Return
the  raw  events  that were read for this command.  Unlike `this-
single-command-keys', this function's value shows the events  be-
fore  all  translations (except for input methods).  The value is
always a vector.

(this-single-command-raw-keys)Freset-this-command-lengths    Used
for complicated reasons 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  gets  included in the echo area and in the value of `this-
command-keys' in addition to the raw original event.  That is not
right.

Calling this function directs the translated event to replace the
original event, so that only one version of  the  event  actually
appears  in  the  echo  area  and  in the value of `this-command-
keys.'.

(reset-this-command-lengths)Fclear-this-command-keys  Clear   out
the  vector  that `this-command-keys' returns.  Clear vector con-
taining last 100 events.

(clear-this-command-keys)Frecursion-depth  Return   the   current
depth in recursive edits.

(recursion-depth)Fopen-dribble-file  Start  writing  all keyboard
characters to a dribble file called FILE.  If FILE is nil,  close
any open dribble file.

(open-dribble-file  FILE)Fdiscard-input  Discard  the contents of
the terminal input buffer.  Also cancel any kbd macro  being  de-
fined.

(discard-input)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 in-
stead.

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 re-
sumption 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.

(suspend-emacs  &optional STUFFSTRING)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  ac-
cept 8-bit input (for a Meta key).
 META nil means ignore the top bit, on the assumption it is pari-
ty.
 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'.

(set-input-mode INTERRUPT FLOW META  &optional  QUIT)Fcurrent-in-
put-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 ele-
ments of this list correspond to  the  arguments  of  `set-input-
mode'.

(current-input-mode)Vlast-command-char  Last input event that was
part of a command.Vlast-command-event Last input event  that  was
part  of a command.Vlast-nonmenu-event Last input event in a com-
mand, 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-char Last
input event.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.Vunread-
command-char  If not -1, an object to be read as next command in-
put event.Vunread-post-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  in-
put.Vunread-input-method-events List of events to be processed as
input by input methods.  These events are  processed  after  `un-
read-command-events', but before actual keyboard input.Vmeta-pre-
fix-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 com-
mand 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.Vreal-last-command Same as  `last-com-
mand',  but  never altered by Lisp code.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 com-
mand.Vauto-save-interval *Number of keyboard input characters be-
tween 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  com-
mands  after this many seconds of pause.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.  nil means disable double-click
recognition; t means double-clicks have no time limit and are de-
tected  by  position  only.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-in-
put-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  oc-
curred.   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  recog-
nize  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 dis-
played.  If `help-form' is nil,  the  help  char  is  not  recog-
nized.Vprefix-help-command  Command to run when `help-char' char-
acter 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 keyboard input, or nil.   Each  character  is
looked up in this string and the contents used instead.  The val-
ue may be a string, a vector, or a char-table.  If it is a string
or vector of length N, character codes N and up are untranslated.
In a vector or a char-table, an element which is  nil  means  "no
translation".Vcannot-suspend Non-nil means to always spawn a sub-
shell 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 addi-
tional modifier keys to use with every keyboard character.  Emacs
applies  the  modifiers of the character stored here to each key-
board character it reads.  For example, after evaluating the  ex-
pression
    (setq  extra-keyboard-modifiers  ?all  input  characters will
have the control modifier applied to them.

Note that the character ?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 com-
mand 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.Vcommand-hook-internal Temporary storage of pre-command-
hook or post-command-hook.Vpre-command-hook Normal hook  run  be-
fore  each command is executed.  If an unhandled error happens in
running this hook, the hook value is set to nil, since  otherwise
the  error  might  happen  repeatedly and make Emacs nonfunction-
al.Vpost-command-hook Normal hook run after each command is  exe-
cuted.   If  an unhandled error happens in running this hook, the
hook value is set to nil, since otherwise the error might  happen
repeatedly  and  make Emacs nonfunctional.Vpost-command-idle-hook
Normal hook run after each command is executed, if idle.   Errors
running  the  hook are caught and ignored.  This feature is obso-
lete; use idle  timers  instead.   See  `etc/NEWS'.Vpost-command-
idle-delay  Delay  time  before running `post-command-idle-hook'.
This is  measured  in  microseconds.Vecho-area-clear-hook  Normal
hook run when clearing the echo area.Vlucid-menu-bar-dirty-flag t
means menu bar, specified Lucid  style,  needs  to  be  recomput-
ed.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.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.  This variable is intended to let commands such as `uni-
versal-argumemnt' set up a different keymap for reading the  next
command.Voverriding-local-map Keymap that overrides all other lo-
cal 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.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 . SYM-
BOL) where N is the numeric keysym code (sans the "system-specif-
ic"  bit 1<<28) and SYMBOL is its name.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.Vde-
ferred-action-function Function to call to  handle  deferred  ac-
tions, after each command.  This function is called with no argu-
ments after each command whenever `deferred-action-list' is  non-
nil.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.Vtimer-list  List  of  active  absolute
time  timers  in order of increasing timeVtimer-idle-list List of
active idle-time timers in order of increasing timeVinput-method-
function If non-nil, the function that implements the current in-
put 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 recon-
sidered, 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-
method' 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  `in-
put-method-function'  is called, hold the previous echo area mes-
sage.  This variable exists because `read-event' clears the  echo
area  before running the input method.  It is nil if there was no
message.Fstart-kbd-macro Record subsequent keyboard input, defin-
ing a keyboard macro.  The commands are recorded even as they are
executed.  Use  to finish recording and make the macro available.
Use  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.

(start-kbd-macro APPEND)Fend-kbd-macro Finish defining a keyboard
macro.  The definition was started by .  The macro is now  avail-
able  for  use via , or it can be given a name with  and then in-
voked 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.

(end-kbd-macro &optional  REPEAT)Fcancel-kbd-macro-events  Cancel
the events added to a keyboard macro for this command.

(cancel-kbd-macro-events)Fstore-kbd-macro-event  Store EVENT into
the keyboard macro being defined.

(store-kbd-macro-event EVENT)Fcall-last-kbd-macro Call  the  last
keyboard macro that you defined with .

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 .

(call-last-kbd-macro  &optional PREFIX)Fexecute-kbd-macro Execute
MACRO as string of editor command characters.  If MACRO is a sym-
bol,  its  function definition is used.  COUNT is a repeat count,
or nil for once, or 0 for infinite loop.

(execute-kbd-macro MACRO &optional COUNT)Vdefining-kbd-macro Non-
nil while a keyboard macro is being defined.  Don't set this!Vex-
ecuting-macro Currently executing keyboard macro (string or  vec-
tor);  nil  if none executing.Vexecuting-kbd-macro Currently exe-
cuting keyboard macro (string or vector);  nil  if  none  execut-
ing.Vlast-kbd-macro  Last  kbd macro defined, as a string or vec-
tor; nil if none defined.Fmake-keymap Construct and return a  new
keymap,  of  the form (keymap CHARTABLE . ALIST).  CHARTABLE is a
char-table that holds the bindings for the ASCII characters.  AL-
IST  is  an  assoc-list  which  holds bindings for function keys,
mouse events, and any other  things  that  appear  in  the  input
stream.   All  entries  in it are initially nil, meaning "command
undefined".

The optional arg STRING supplies a menu name for  the  keymap  in
case you use it as a menu with `x-popup-menu'.

(make-keymap  &optional  STRING)Fmake-sparse-keymap Construct and
return a new sparse-keymap list.  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'.

(make-sparse-keymap  &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.

(keymapp   OBJECT)Fkeymap-parent  Return  the  parent  keymap  of
KEYMAP.

(keymap-parent KEYMAP)Fset-keymap-parent Modify KEYMAP to set its
parent map to PARENT.  PARENT should be nil or another keymap.

(set-keymap-parent  KEYMAP  PARENT)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  recur-
sively copied.  However, a key definition which is a symbol whose
definition is a keymap is not copied.

(copy-keymap KEYMAP)Fdefine-key Args KEYMAP,  KEY,  DEF.   Define
key sequence KEY, in KEYMAP, as DEF.  KEYMAP is a keymap.  KEY is
a string or a vector of symbols and characters meaning a sequence
of  keystrokes and events.  Non-ASCII characters with codes above
127 (such as ISO Latin-1) can be included if you  use  a  vector.
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 (KEYMAP . CHAR), meaning use definition of CHAR in map
KEYMAP.

If KEYMAP is a sparse keymap, the pair  binding  KEY  to  DEF  is
added at the front of KEYMAP.

(define-key  KEYMAP KEY DEF)Flookup-key In keymap KEYMAP, look up
key sequence KEY.  Return the definition.  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 charac-
ters at the front of KEY it takes to reach a non-prefix  command.

Normally,  `lookup-key'  ignores bindings for t, which act as de-
fault 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.

(lookup-key KEYMAP KEY &optional ACCEPT-DEFAULT)Fkey-binding  Re-
turn  the  binding  for command KEY in current keymaps.  KEY is a
string or vector, a sequence of keystrokes.  The binding is prob-
ably a symbol with a function definition.

Normally,  `key-binding' ignores bindings for t, which act as de-
fault 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.

(key-binding KEY &optional ACCEPT-DEFAULT)Flocal-key-binding  Re-
turn  the  binding for command KEYS in current local keymap only.
KEYS is a string, a sequence of keystrokes.  The binding is prob-
ably 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.

(local-key-binding   KEYS  &optional  ACCEPT-DEFAULT)Fglobal-key-
binding Return the binding for command  KEYS  in  current  global
keymap  only.   KEYS  is a string, 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.

(global-key-binding  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 the
symbol  which  names  the  minor mode binding KEY, and BINDING is
KEY's definition in that mode.  In particular, if KEY has no  mi-
nor-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 bind-
ings 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.

(minor-mode-key-binding KEY &optional ACCEPT-DEFAULT)Fdefine-pre-
fix-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 op-
tional argument NAME, if given, supplies a menu name  string  for
the map.  This is required to use the keymap as a menu.

(define-prefix-command COMMAND &optional MAPVAR NAME)Fuse-global-
map Select KEYMAP as the global keymap.

(use-global-map KEYMAP)Fuse-local-map Select KEYMAP as the  local
keymap.  If KEYMAP is nil, that means no local keymap.

(use-local-map  KEYMAP)Fcurrent-local-map Return current buffer's
local keymap, or nil if it has none.

(current-local-map)Fcurrent-global-map Return the current  global
keymap.

(current-global-map)Fcurrent-minor-mode-maps  Return  a  list  of
keymaps for the minor modes of the current buffer.

(current-minor-mode-maps)Faccessible-keymaps Find all keymaps ac-
cessible  via  prefix  characters from KEYMAP.  Returns a list of
elements of the form (KEYS . MAP), where the sequence KEYS start-
ing  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.

(accessible-keymaps  KEYMAP &optional PREFIX)Fkey-description Re-
turn a pretty description of key-sequence KEYS.  Control  charac-
ters  turn  into  "C-foo" sequences, meta into "M-foo" spaces are
put between sequence elements, etc.

(key-description KEYS)Fsingle-key-description Return a pretty de-
scription of command character KEY.  Control characters turn into
C-whatever, etc.

(single-key-description KEY)Ftext-char-description Return a pret-
ty  description  of file-character CHARACTER.  Control characters
turn into "^char", etc.

(text-char-description CHARACTER)Fwhere-is-internal  Return  list
of keys that invoke DEFINITION.  If KEYMAP is non-nil, search on-
ly KEYMAP and the global keymap.  If KEYMAP is  nil,  search  all
the currently active 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 sequences of ASCII characters, and entirely reject
menu bindings.

If optional 4th arg NOINDIRECT is non-nil, don't follow  indirec-
tions  to  other  keymaps  or  slots.   This makes it possible to
search for an indirect definition itself.

(where-is-internal DEFINITION &optional KEYMAP FIRSTONLY  NOINDI-
RECT)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.

(describe-bindings-internal &optional MENUS PREFIX)Fdescribe-vec-
tor  Insert  a  description  of contents of VECTOR.  This is text
showing the elements of vector matched against indices.

(describe-vector VECTOR)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.

(apropos-internal 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.Vminibuffer-local-
completion-map Local keymap for  minibuffer  input  with  comple-
tion.Vminibuffer-local-must-match-map Local keymap for minibuffer
input with completion, for exact match.Vminor-mode-map-alist  Al-
ist  of  keymaps to use for minor modes.  Each element looks like
(VARIABLE . KEYMAP); KEYMAP is used to  read  key  sequences  and
look  up bindings iff 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  a 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.Vfunction-key-map
Keymap mapping ASCII function key sequences onto their  preferred
forms.   This  allows  Emacs to recognize function keys sent from
ASCII terminals at any point in a key sequence.

The `read-key-sequence' function replaces any  subsequence  bound
by `function-key-map' with its binding.  More precisely, when the
active keymaps have no binding for the current key  sequence  but
`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.

The  events that come from bindings in `function-key-map' are not
themselves looked up in `function-key-map'.

For example, suppose `function-key-map' binds `ESC O P' to  [f1].
Typing  `ESC O P' to `read-key-sequence' would return [f1].  Typ-
ing `C-x ESC O P' would return [?f1].  If [f1] were a prefix key,
typing  `ESC  O  P  x'  would  return [f1 x].Vkey-translation-map
Keymap of key  translations  that  can  override  keymaps.   This
keymap  works  like `function-key-map', but comes after that, and
applies even for keys that have ordinary  bindings.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.

(buffer-live-p  OBJECT)Fbuffer-list Return a list of all existing
live buffers.  If the optional arg FRAME is a  frame,  we  return
that frame's buffer list.

(buffer-list  &optional FRAME)Fget-buffer Return the buffer named
NAME (a string).  If there is no live buffer named  NAME,  return
nil.  NAME may also be a buffer; if so, the value is that buffer.

(get-buffer 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'.

(get-file-buffer  FILENAME)Fget-buffer-create  Return  the buffer
named NAME, or create such a buffer and return it.  A new  buffer
is created if there is no live buffer named NAME.  If NAME starts
with a space, the new buffer does not keep undo information.   If
NAME  is  a  buffer instead of a string, then it is the value re-
turned.  The value is never nil.

(get-buffer-create NAME)Fmake-indirect-buffer Create  and  return
an  indirect  buffer  for  buffer BASE-BUFFER, named NAME.  BASE-
BUFFER should be an  existing  buffer  (or  buffer  name).   NAME
should be a string which is not the name of an existing buffer.

(make-indirect-buffer  BASE-BUFFER NAME)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  NUM-
BER  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.

(generate-new-buffer-name NAME &optional IGNORE)Fbuffer-name  Re-
turn the name of BUFFER, as a string.  With no argument or nil as
argument, return the name of the current buffer.

(buffer-name &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.

(buffer-file-name &optional BUFFER)Fbuffer-base-buffer Return the
base  buffer  of  indirect buffer BUFFER.  If BUFFER is not indi-
rect, return nil.

(buffer-base-buffer &optional BUFFER)Fbuffer-local-variables  Re-
turn 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.

(buffer-local-variables &optional  BUFFER)Fbuffer-modified-p  Re-
turn  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.

(buffer-modified-p  &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.

(set-buffer-modified-p 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  argu-
ment or nil as argument means use current buffer as BUFFER.

(buffer-modified-tick &optional BUFFER)Frename-buffer Change cur-
rent buffer's name to NEWNAME (a string).  If second  arg  UNIQUE
is  nil  or omitted, it is an error if a buffer named NEWNAME al-
ready exists.  If UNIQUE is non-nil, come up with a new name  us-
ing   `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).

(rename-buffer 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 sec-
ond  argument VISIBLE-OK is non-nil.  If the optional third argu-
ment FRAME is non-nil, use that frame's buffer  list  instead  of
the selected frame's buffer list.  If no other buffer exists, the
buffer `*scratch*' is returned.  If BUFFER  is  omitted  or  nil,
some interesting buffer is returned.

(other-buffer  &optional BUFFER VISIBLE-OK FRAME)Fbuffer-disable-
undo Make BUFFER stop keeping undo information.  No  argument  or
nil as argument means do this for the current buffer.

(buffer-disable-undo  &optional  BUFFER)Fbuffer-enable-undo Start
keeping undo information for buffer BUFFER.  No argument  or  nil
as argument means do this for the current buffer.

(buffer-enable-undo &optional BUFFER)Vkill-buffer-hook Hook to be
run (by `run-hooks', which see) when a  buffer  is  killed.   The
buffer  being  killed  will be current while the hook is running.
See `kill-buffer'.Fkill-buffer Kill the buffer BUFFER.  The argu-
ment may be a buffer or may be the name of a buffer.  An argument
of nil means kill the current buffer.

Value is t if the buffer is actually killed, nil if user says no.

The  value  of  `kill-buffer-hook'  (which  may  be local to that
buffer), if not void, is a list of functions to be  called,  with
no  arguments,  before the buffer is actually killed.  The buffer
to be killed is current when the hook functions are called.

Any processes that have this buffer as the  `process-buffer'  are
killed with SIGHUP.

(kill-buffer BUFFER)Fset-buffer-major-mode Set an appropriate ma-
jor mode for BUFFER, according to `default-major-mode'.  Use this
function  before  selecting  the buffer, since it may need to in-
spect the current buffer's major mode.

(set-buffer-major-mode  BUFFER)Fswitch-to-buffer  Select   buffer
BUFFER in the current window.  BUFFER may be a buffer or a buffer
name.  Optional second arg NORECORD non-nil means do not put this
buffer at the front of the list of recently selected ones.

WARNING: This is NOT the way to work on another buffer temporari-
ly within a Lisp program!  Use `set-buffer' instead.  That avoids
messing with the window-buffer correspondences.

(switch-to-buffer BUFFER &optional NORECORD)Fpop-to-buffer Select
buffer BUFFER in some window, preferably  a  different  one.   If
BUFFER is nil, then some other buffer is chosen.  If `pop-up-win-
dows' is non-nil, windows can be split to do this.   If  optional
second  arg  OTHER-WINDOW  is  non-nil, insist on finding another
window even if BUFFER is already visible in the selected  window.
This  uses the function `display-buffer' as a subroutine; see the
documentation of `display-buffer'  for  additional  customization
information.

Optional  third arg NORECORD non-nil means do not put this buffer
at the front of the list of recently selected ones.

(pop-to-buffer BUFFER &optional  OTHER-WINDOW  NORECORD)Fcurrent-
buffer Return the current buffer as a Lisp object.

(current-buffer)Fset-buffer  Make  the  buffer BUFFER current for
editing operations.  BUFFER may be a buffer or the name of an ex-
isting buffer.  See also `save-excursion' 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  per-
manently.

(set-buffer  BUFFER)Fbarf-if-buffer-read-only  Signal  a `buffer-
read-only' error if the current buffer is read-only.

(barf-if-buffer-read-only)Fbury-buffer Put BUFFER 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
to select by default.  If BUFFER is nil or omitted, bury the cur-
rent buffer.  Also, if BUFFER is nil or omitted, remove the  cur-
rent buffer from the selected window if it is displayed there.

(bury-buffer  &optional  BUFFER)Ferase-buffer  Delete  the entire
contents of the current buffer.  Any narrowing restriction in ef-
fect  (see `narrow-to-region') is removed, so the buffer is truly
empty after this.

(erase-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  sin-
gle-byte  buffer.   The buffer contents remain unchanged as a se-
quence of bytes but the contents viewed as characters do  change.

(set-buffer-multibyte  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 func-
tion.

The first thing  this  function  does  is  run  the  normal  hook
`change-major-mode-hook'.

(kill-all-local-variables)Foverlayp  Return  t  if  OBJECT  is an
overlay.

(overlayp 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 front delimiter advance when
text is inserted there.  The fifth arg REAR-ADVANCE, if  non-nil,
makes the rear delimiter advance when text is inserted there.

(make-overlay  BEG  END  &optional  BUFFER FRONT-ADVANCE REAR-AD-
VANCE)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.

(move-overlay  OVERLAY  BEG  END &optional BUFFER)Fdelete-overlay
Delete the overlay OVERLAY from its buffer.

(delete-overlay OVERLAY)Foverlay-start  Return  the  position  at
which OVERLAY starts.

(overlay-start  OVERLAY)Foverlay-end Return the position at which
OVERLAY ends.

(overlay-end OVERLAY)Foverlay-buffer Return  the  buffer  OVERLAY
belongs to.

(overlay-buffer  OVERLAY)Foverlay-properties Return a list of the
properties on OVERLAY.  This is a copy of OVERLAY's plist;  modi-
fying its conses has no effect on OVERLAY.

(overlay-properties  OVERLAY)Foverlays-at  Return  a  list of the
overlays that contain position POS.

(overlays-at 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 or between BEG and END.

(overlays-in BEG END)Fnext-overlay-change Return the  next  posi-
tion  after POS where an overlay starts or ends.  If there are no
more overlay boundaries after POS, return (point-max).

(next-overlay-change POS)Fprevious-overlay-change Return the pre-
vious  position  before  POS where an overlay starts or ends.  If
there are no more overlay boundaries before POS,  return  (point-
min).

(previous-overlay-change  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.

(overlay-lists)Foverlay-recenter  Recenter  the  overlays  of the
current buffer around position POS.

(overlay-recenter POS)Foverlay-get Get the  property  of  overlay
OVERLAY with property name PROP.

(overlay-get  OVERLAY PROP)Foverlay-put Set one property of over-
lay OVERLAY: give property PROP value VALUE.

(overlay-put 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-
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-direction-reversed  Default value of `direc-
tion_reversed' for buffers that do not override it.
 This is the  same  as  (default-value  'direction-reversed).Vde-
fault-enable-multibyte-characters Default value of `enable-multi-
byte-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-val-
ue  '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-col-
umn).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 val-
ue of `case-fold-search' for  buffers  that  don't  override  it.
This  is  the same as (default-value 'case-fold-search).Vdefault-
buffer-file-type Default file type for buffers that do not  over-
ride  it.  This is the same as (default-value 'buffer-file-type).
The file type is nil for  text,  t  for  binary.Vmode-line-format
Template  for  displaying  mode  line  for  current buffer.  Each
buffer has its own value  of  this  variable.   Value  may  be  a
string, a symbol or a list or cons cell.  For a symbol, its value
is used (but it is ignored if t or nil).
 A string appearing directly as the value of  a  symbol  is  pro-
cessed verbatim
 in  that  the %-constructs below are not recognized.  For a list
whose car is a symbol, the symbol's value is taken,
 and if that is non-nil, the cadr of the list is processed recur-
sively.
 Otherwise, the caddr of the list (if there is one) is processed.
For a list whose car is a string or list, each  element  is  pro-
cessed
 recursively and the results are effectively concatenated.  For a
list whose car is an integer, the cdr of the list is processed
  and padded (if the number is positive) or truncated  (if  nega-
tive)
  to  the  width  specified  by that number.  A string is printed
verbatim in the mode line except for %-constructs:
  (%-constructs are allowed when the string is the  entire  mode-
line-format
   or when it is found in a cons-cell or a list)
  %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 modi-
fied read-only buffer, %* gives % and %+ gives *.
  %s -- print process status.   %l -- print the current line num-
ber.
  %c -- print the current column number (this makes editing slow-
er).
        To make the column number update correctly in all  cases,
     `column-number-mode' must be non-nil.
  %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.
  %m -- print the mode name.
  %n -- print Narrow if appropriate.
  %z  -- print mnemonics of buffer, terminal, and keyboard coding
systems.
  %Z -- like %z, but including the end-of-line format.
  %[ -- print one [ for each recursive editing level.   %]  simi-
lar.
  %%  --  print %.   %- -- print infinitely many dashes.  Decimal
digits after the % specify field width to which to  pad.Vdefault-
major-mode  *Major  mode for new buffers.  Defaults to `fundamen-
tal-mode'.  nil here means use current buffer's  major  mode.Vma-
jor-mode Symbol for current buffer's major mode.Vmode-name Pretty
name of current buffer's major mode (a string).Vabbrev-mode  Non-
nil turns on automatic expansion of abbrevs as they are inserted.
Automatically becomes buffer-local when set in any fashion.Vcase-
fold-search  *Non-nil if searches and matches should ignore case.
Automatically becomes buffer-local when set in any fashion.Vfill-
column  *Column  beyond which automatic line-wrapping should hap-
pen.  Automatically becomes buffer-local when set  in  any  fash-
ion.Vleft-margin  *Column for the default indent-line-function to
indent to.  Linefeed indents to this column in Fundamental  mode.
Automatically  becomes buffer-local when set in any fashion.Vtab-
width *Distance between tab stops (for  display  of  tab  charac-
ters),  in  columns.  Automatically becomes buffer-local when set
in any fashion.Vctl-arrow *Non-nil means  display  control  chars
with  uparrow.  A value of nil means use backslash and octal dig-
its.  Automatically becomes buffer-local when set in any fashion.
This variable does not apply to characters whose display is spec-
ified in the current display table  (if  there  is  one).Venable-
multibyte-characters  Non-nil  means  the buffer contents are re-
garded 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 repre-
sentation.  Changing its default  value  with  `setq-default'  is
supported.   See  also variable `default-enable-multibyte-charac-
ters' and 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-al-
ist' for the buffer file.

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.Vdirection-reversed *Non-nil means lines in the buffer
are displayed right to left.Vtruncate-lines *Non-nil means do not
display  continuation  lines;  give  each line of text one screen
line.  Automatically becomes buffer-local when set in  any  fash-
ion.

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.Vbuffer-file-type Non-nil if the visited file is
a binary file.  This variable is meaningful on MS-DOG and Windows
NT.  On those systems, it is automatically local in every buffer.
On other systems, this variable is normally always  nil.Vdefault-
directory  Name  of  default directory of current buffer.  Should
end with slash.  Each buffer has its  own  value  of  this  vari-
able.Vauto-fill-function  Function called (if non-nil) to perform
auto-fill.  It is called after self-inserting a space or newline.
Each buffer has its own value of this variable.  NOTE: This vari-
able is not a hook;  its  value  may  not  be  a  list  of  func-
tions.Vbuffer-file-name  Name  of file visited in current buffer,
or nil if not visiting a file.  Each buffer has its own value  of
this  variable.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'.  Each buffer has its own  value  of  this
variable.Vbuffer-auto-save-file-name Name of file for auto-saving
current buffer, or nil if buffer should not be auto-saved.   Each
buffer  has its own value of this variable.Vbuffer-read-only Non-
nil if this buffer is read-only.  Each buffer has its  own  value
of  this variable.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.   Each  buffer  has  its own value of this vari-
able.Vbuffer-saved-size Length of current buffer when  last  read
in,  saved  or auto-saved.  0 initially.  Each buffer has its own
value of this variable.Vselective-display Non-nil enables  selec-
tive display: Integer N as value means display only lines
 that  start  with  less  than  n columns of space.  A value of t
means, after a ^M, all the rest of the line is invisible.
 Then ^M's in the file are written into files as newlines.

Automatically becomes buffer-local when set in  any  fashion.Vse-
lective-display-ellipses  t  means  display  ... on previous line
when a line is  invisible.   Automatically  becomes  buffer-local
when set in any fashion.Voverwrite-mode Non-nil if self-insertion
should replace existing text.  The value should be one of  `over-
write-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  re-
places newlines and tabs too.  Automatically becomes buffer-local
when set in any fashion.Vbuffer-display-table Display table  that
controls display of the contents of current buffer.  Automatical-
ly becomes buffer-local when set in  any  fashion.   The  display
table is a char-table created with `make-display-table'.  The or-
dinary char-table elements control how to display  each  possible
text  character.   Each value should be a vector of characters or
nil; nil means display the  character  in  the  default  fashion.
There are 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  (ex-
tra-slot 4,
    a vector of characters);
  the character used to draw the border between side-by-side win-
dows
    (extra-slot 5, a single character).  See also  the  functions
`display-table-slot' and `set-display-table-slot'.  If this vari-
able is nil, the value of `standard-display-table' is used.  Each
window can have its own, overriding display table.Vbefore-change-
function If non-nil, a function to call before each  text  change
(obsolete).   Two arguments are passed to the function: the posi-
tions 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-function'
don't call any before-change or after-change  functions.   That's
because these variables are temporarily set to nil.  As a result,
a hook function cannot straightforwardly alter the value of these
variables.   See the Emacs Lisp manual for a way of accomplishing
an equivalent result by using other variables.

This variable  is  obsolete;  use  `before-change-functions'  in-
stead.Vafter-change-function If non-nil, a Function to call after
each text change (obsolete).  Three arguments are passed  to  the
function:  the positions of the beginning and end of the range of
changed text, and the length 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-function'
don't call any before-change or after-change  functions.   That's
because these variables are temporarily set to nil.  As a result,
a hook function cannot straightforwardly alter the value of these
variables.   See the Emacs Lisp manual for a way of accomplishing
an equivalent result by using other variables.

This  variable  is  obsolete;  use  `after-change-functions'  in-
stead.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 these variables are temporarily set to nil.  As a result,
a hook function cannot straightforwardly alter the value of these
variables.  See the Emacs Lisp manual for a way of  accomplishing
an equivalent result by using other variables.

If  an  unhandled  error  happens in running these functions, the
variable's value remains nil.  That prevents the error from  hap-
pening  repeatedly  and making Emacs nonfunctional.Vafter-change-
functions List of function to call after each text change.  Three
arguments  are  passed to each function: the positions of the be-
ginning and end of the range of changed text, and the  length  in
bytes of the pre-change text replaced by that range.  (For an in-
sertion, the pre-change length is  zero;  for  a  deletion,  that
length is the number of bytes deleted, and the post-change begin-
ning 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 these variables are temporarily set to nil.  As a result,
a hook function cannot straightforwardly alter the value of these
variables.  See the Emacs Lisp manual for a way of  accomplishing
an equivalent result by using other variables.

If  an  unhandled  error  happens in running these functions, the
variable's value remains nil.  That prevents the error from  hap-
pening  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' func-
tion.Vbuffer-undo-list List of undo entries  in  current  buffer.
This  variable  is  always  local in all buffers.  Recent changes
come first; older changes follow newer.

An entry (BEG . END) represents an insertion which begins at  po-
sition 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) indicates that the buffer previously  had
"unmodified"  status.   HIGH  and LOW are the high and low 16-bit
portions of the visited file's  modification  time,  as  of  that
time.   If  the modification time of the most recent save is dif-
ferent, 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 prop-
erty name, and VALUE is the old value.

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.

nil  marks  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 cur-
rently  active  in  this  buffer.   Automatically  local  in  all
buffers.Vcache-long-line-scans  Non-nil  means  that Emacs should
use caches to handle long lines more quickly.  This  variable  is
buffer-local, in all buffers.

Normally,  the  line-motion functions work by scanning the buffer
for newlines.  Columnar operations (like move-to-column and  com-
pute-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  res-
canning  regions  of  the buffer until the text is modified.  The
caches are most beneficial when they  prevent  the  most  search-
ing---that  is, when the buffer contains long lines and large re-
gions 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 consult-
ing the cache), and the caches will use  memory  roughly  propor-
tional  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 dis-
abling the cache should not affect the behavior of any of the mo-
tion  functions;  it should only affect their performance.Vpoint-
before-scroll Value of point before the last series of scroll op-
erations,   or  nil.   This  variable  is  always  local  in  all
buffers.Vbuffer-file-format List of formats to  use  when  saving
this buffer.  This variable is always local in all buffers.  For-
mats are defined by `format-alist'.  This variable is set when  a
file  is visited.  Automatically local in all buffers.Vbuffer-in-
visibility-spec Invisibility spec of this buffer.  This  variable
is  always  local  in all buffers.  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 `in-
visible' property is an element in that list.  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 incre-
mented each time this buffer is  displayed  in  a  window.   This
variable  is always local in all buffers.  The function `set-win-
dow-buffer increments it.Vbuffer-display-time Time stamp  updated
each time this buffer is displayed in a window.  This variable is
always local in all buffers.   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  means deactivate the mark
when the buffer contents change.  Non-nil also enables highlight-
ing  of  the  region  whenever  the mark is active.  The variable
`highlight-nonselected-windows' controls whether to highlight all
windows  or  just the selected window.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.Vkill-buffer-query-functions  List
of  functions  called  with  no  args  to  query before killing a
buffer.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.

(lock-buffer &optional FILE)Funlock-buffer Unlock the file visit-
ed in the current buffer, if it should normally be locked.

(unlock-buffer)Ffile-locked-p  Return  nil if the FILENAME is not
locked, t if it is locked by you, else a string of  the  name  of
the locker.

(file-locked-p  &optional  FILENAME)Vtemporary-file-directory The
directory for writing temporary  files.Fcombine-after-change-exe-
cute  This  function  is  for  use  internally in `combine-after-
change-calls'.

(combine-after-change-execute)Vcheck-markers-debug-flag   Non-nil
means  enable debugging checks for invalid marker positions.Vcom-
bine-after-change-calls Used internally  by  the  `combine-after-
change-calls'  macro.Fmarker-buffer Return the buffer that MARKER
points into, or nil if none.  Returns nil if MARKER points into a
dead buffer.

(marker-buffer MARKER)Fmarker-position Return the position MARKER
points at, as a character number.

(marker-position MARKER)Fset-marker Position MARKER before  char-
acter  number POSITION in BUFFER.  BUFFER defaults to the current
buffer.  If POSITION is nil, makes marker point nowhere.  Then it
no longer slows down editing in any buffer.  Returns MARKER.

(set-marker  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.  The optional argument TYPE specifies the  inser-
tion type of the new marker; see `marker-insertion-type'.

(copy-marker  MARKER &optional TYPE)Fmarker-insertion-type Return
insertion type of MARKER: t if it stays after inserted text.  nil
means the marker stays before text inserted there.

(marker-insertion-type  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.

(set-marker-insertion-type MARKER TYPE)Fbuffer-has-markers-at Re-
turn  t  if there are markers pointing at POSITION in the current
buffer.

(buffer-has-markers-at POSITION)Vbyte-debug-flag Non-nil  enables
debugging   checks   in   byte/char   position  conversions.Fset-
minibuffer-window Specify which minibuffer window to use for  the
minibuffer.   This  effects  where the minibuffer is displayed if
you put text in it without invoking  the  usual  minibuffer  com-
mands.

(set-minibuffer-window WINDOW)Fread-from-minibuffer Read a string
from the minibuffer, prompting with string PROMPT.   If  optional
second arg INITIAL-CONTENTS is non-nil, it is a string
  to be inserted into the minibuffer before reading input.
  If INITIAL-CONTENTS is (STRING . POSITION), the initial input
  is  STRING,  but  point  is  placed at position POSITION in the
minibuffer.  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, then 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 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
  which INITIAL-CONTENTS corresponds to).
  Positions  are  counted starting from 1 at the beginning of the
list.  Sixth arg DEFAULT-VALUE is the default value.  If non-nil,
it is available
 for history commands; but `read-from-minibuffer' does NOT return
DEFAULT-VALUE
 if the user enters empty input!  It returns  the  empty  string.
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 proper-
ties
 were present in the minibuffer.  Otherwise the value has no text
properties.

(read-from-minibuffer PROMPT  &optional  INITIAL-CONTENTS  KEYMAP
READ HIST DEFAULT-VALUE INHERIT-INPUT-METHOD)Fread-minibuffer Re-
turn a Lisp  object  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.

(read-minibuffer   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.

(eval-minibuffer 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.   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 DE-
FAULT-VALUE is the default value.  If non-nil, it is used
 for history commands, and as the value to return if the user en-
ters
 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.

(read-string 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, and provide
INITIAL as an initial value of the input string.  Third  arg  IN-
HERIT-INPUT-METHOD, if non-nil, means the minibuffer inherits the
current input method and the setting of  enable-multibyte-charac-
ters.

(read-no-blanks-input  PROMPT  &optional  INITIAL  INHERIT-INPUT-
METHOD)Fread-command Read the name of a command and return  as  a
symbol.   Prompts with PROMPT.  By default, return DEFAULT-VALUE.

(read-command PROMPT &optional  DEFAULT-VALUE)Fread-function  One
arg  PROMPT, a string.  Read the name of a function and return as
a symbol.  Prompts with PROMPT.

(read-function PROMPT)Fread-variable Read  the  name  of  a  user
variable and return it as a symbol.  Prompts with PROMPT.  By de-
fault, return DEFAULT-VALUE.  A user variable is one whose  docu-
mentation starts with a `*' character.

(read-variable  PROMPT  &optional  DEFAULT-VALUE)Fread-buffer One
arg PROMPT, a string.  Read the name of a buffer and return as  a
string.   Prompts  with PROMPT.  Optional second arg DEF is value
to return if user enters an empty line.  If  optional  third  arg
REQUIRE-MATCH is non-nil, only existing buffer names are allowed.

(read-buffer PROMPT &optional  DEF  REQUIRE-MATCH)Ftry-completion
Return  common  substring  of all completions of STRING in ALIST.
Each car of each element of ALIST is tested to see if  it  begins
with  STRING.   All that match are compared together; the longest
initial sequence common to all matches is returned as  a  string.
If  there  is  no  match  at  all, nil is returned.  For an exact
match, t is returned.

ALIST can be an obarray instead of  an  alist.   Then  the  print
names of all symbols in the obarray are the possible matches.

ALIST can also be a function to do the completion itself.  It re-
ceives 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 PRED-
ICATE  returns  non-nil.   The argument given to PREDICATE is the
alist element or the symbol from the obarray.

(try-completion STRING ALIST &optional PREDICATE)Fall-completions
Search  for partial matches to STRING in ALIST.  Each car of each
element of ALIST is tested to see if it begins with STRING.   The
value is a list of all the strings from ALIST that match.

ALIST  can  be  an  obarray  instead of an alist.  Then the print
names of all symbols in the obarray are the possible matches.

ALIST can also be a function to do the completion itself.  It re-
ceives  three  arguments:  the  values  STRING,  PREDICATE and t.
Whatever it returns becomes the value of `all-completion'.

If optional third argument PREDICATE is non-nil, it  is  used  to
test each possible match.  The match is a candidate only if PRED-
ICATE returns non-nil.  The argument given to  PREDICATE  is  the
alist element or the symbol from the obarray.

If  the  optional fourth argument HIDE-SPACES is non-nil, strings
in ALIST that start with a space are ignored unless STRING itself
starts with a space.

(all-completions   STRING   ALIST   &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.  TABLE is an alist whose  elements'  cars
are  strings,  or  an  obarray.  PREDICATE limits completion to a
subset of TABLE.  See `try-completion' and `all-completions'  for
more details
 on completion, TABLE, and PREDICATE.

If  REQUIRE-MATCH is non-nil, the user is not allowed to exit un-
less
 the input is (or completes to) an element of TABLE or is null.
 If it is also not t, Return does not exit if  it  does  non-null
completion.   If  the input is null, `completing-read' returns an
empty string,
 regardless of the value of REQUIRE-MATCH.

If INITIAL-INPUT is non-nil, insert it in the minibuffer initial-
ly.
  If it is (STRING . POSITION), the initial input
  is  STRING,  but  point  is placed POSITION characters into the
string.  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
  which INITIAL-INPUT corresponds to).
  Positions are counted starting from 1 at the beginning  of  the
list.  DEF, if non-nil, is the default value.

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.

(completing-read PROMPT TABLE &optional  PREDICATE  REQUIRE-MATCH
INIT  HIST DEF INHERIT-INPUT-METHOD)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 complet-
ed, display a list of possible completions.  If you  repeat  this
command after it displayed such a list, scroll the window of pos-
sible completions.

(minibuffer-complete)Fminibuffer-complete-and-exit     If     the
minibuffer  contents  is a valid completion then exit.  Otherwise
try to complete it.  If completion leads to a valid completion, a
repetition of this command will exit.

(minibuffer-complete-and-exit)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, pro-
vided that matches some possible completion.  Return nil if there
is no valid completion, else t.

(minibuffer-complete-word)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.  `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'.

(display-completion-list  COMPLETIONS)Fminibuffer-completion-help
Display  a list of possible completions of the current minibuffer
contents.

(minibuffer-completion-help)Fself-insert-and-exit       Terminate
minibuffer input.

(self-insert-and-exit)Fexit-minibuffer  Terminate this minibuffer
argument.

(exit-minibuffer)Fminibuffer-depth Return current depth of  acti-
vations of minibuffer, a nonnegative integer.

(minibuffer-depth)Fminibuffer-prompt  Return the prompt string of
the currently-active minibuffer.  If no minibuffer is active, re-
turn nil.

(minibuffer-prompt)Fminibuffer-prompt-width  Return  the  display
width of the minibuffer prompt.

(minibuffer-prompt-width)Fminibuffer-message Temporarily  display
STRING  at  the end of the minibuffer.  The text is displayed for
two seconds, or until the next  input  event  arrives,  whichever
comes first.

(minibuffer-message  STRING)Vread-buffer-function If this is non-
nil,  `read-buffer'  does  its  work  by   calling   this   func-
tion.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 for history lists
before truncation takes place.  A number  means  that  length;  t
means  infinite.  Truncation takes place just after a new element
is inserted.  Setting the history-length property  of  a  history
variable  overrides  this  default.Vcompletion-auto-help *Non-nil
means automatically  provide  help  for  invalid  completion  in-
put.Vcompletion-ignore-case  Non-nil  means  don't  consider case
significant in completion.Venable-recursive-minibuffers  *Non-nil
means to allow minibuffer commands while in the minibuffer.  This
variable makes a difference whenever the minibuffer window is ac-
tive.Vminibuffer-completion-table  Alist or obarray used for com-
pletion in the minibuffer.  This becomes the  ALIST  argument  to
`try-completion' and `all-completion'.

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 means to return the best completion of STRING,
or nil if there is none.  t means to return a list of all  possi-
ble  completions of STRING.  `lambda' means to return t if STRING
is a valid completion as it  stands.Vminibuffer-completion-predi-
cate  Within  call to `completing-read', this holds the PREDICATE
argument.Vminibuffer-completion-confirm Non-nil => demand confir-
mation  of  completion before exiting minibuffer.Vminibuffer-com-
pleting-file-name     Non-nil     means      completing      file
names.Vminibuffer-help-form  Value  that `help-form' takes on in-
side  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-vari-
able)))Vminibuffer-history-position  Current  position of redoing
in the history list.Vminibuffer-auto-raise *Non-nil means  enter-
ing  the  minibuffer raises the minibuffer's frame.  Some uses of
the echo area also raise that frame (since they use it too).Vcom-
pletion-regexp-list List of regexps that should restrict possible
completions.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.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.

(find-file-name-handler  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 di-
rectory spec.  Given a Unix syntax file name,  returns  a  string
ending  in slash; on VMS, perhaps instead a string ending in `:',
`]' or `>'.

(file-name-directory 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.

(file-name-nondirectory   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).  The `call-process' and `start-process' functions  use
this function to get a current directory to run processes in.

(unhandled-file-name-directory   FILENAME)Ffile-name-as-directory
Return a string representing file FILENAME interpreted as  a  di-
rectory.   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.   On  VMS, converts
"[X]FOO.DIR" to "[X.FOO]", etc.

(file-name-as-directory  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.  On VMS, giv-
en a VMS-syntax directory name such as "[X.Y]", it returns a file
name such as "[X]Y.DIR.1".

(directory-file-name 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.

(make-temp-name 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);  if  DEFAULT-DIRECTORY  is  nil  or
missing, the current buffer's value of default-directory is used.
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 re-
sulting  file  names in the file system.  An initial `~/' expands
to your home directory.  An initial `~USER/'  expands  to  USER's
home directory.  See also the function `substitute-in-file-name'.

(expand-file-name 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  un-
derscore;  otherwise, enclose the entire variable name in braces.
If `/~' appears, all of FILENAME through that `/' is discarded.

On VMS, `$' substitution is not done; this function  does  little
and only duplicates what `expand-file-name' does.

(substitute-in-file-name  FILENAME)Fcopy-file  Copy  FILE to NEW-
NAME.  Both args must be strings.   Signals  a  `file-already-ex-
ists'  error if file NEWNAME already exists, unless a third argu-
ment 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.)  A  pre-
fix arg makes KEEP-TIME non-nil.

(copy-file  FILE  NEWNAME  &optional  OK-IF-ALREADY-EXISTS  KEEP-
DATE)Fmake-directory-internal Create a new directory named DIREC-
TORY.

(make-directory-internal  DIRECTORY)Fdelete-directory  Delete the
directory named DIRECTORY.

(delete-directory DIRECTORY)Fdelete-file Delete file named  FILE-
NAME.  If file has multiple names, it continues to exist with the
other names.

(delete-file FILENAME)Frename-file Rename FILE as NEWNAME.   Both
args 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.

(rename-file FILE  NEWNAME  &optional  OK-IF-ALREADY-EXISTS)Fadd-
name-to-file  Give  FILE  additional  name  NEWNAME.   Both  args
strings.  Signals a `file-already-exists' error if a file NEWNAME
already  exists  unless optional third argument OK-IF-ALREADY-EX-
ISTS is non-nil.  A number as third arg means  request  confirma-
tion if NEWNAME already exists.  This is what happens in interac-
tive use with M-x.

(add-name-to-file  FILE   NEWNAME   &optional   OK-IF-ALREADY-EX-
ISTS)Fmake-symbolic-link  Make a symbolic link to FILENAME, named
LINKNAME.  Both args strings.   Signals  a  `file-already-exists'
error if a file LINKNAME already exists unless optional third ar-
gument OK-IF-ALREADY-EXISTS is non-nil.  A number  as  third  arg
means request confirmation if LINKNAME already exists.  This hap-
pens for interactive use with M-x.

(make-symbolic-link FILENAME LINKNAME &optional OK-IF-ALREADY-EX-
ISTS)Fdefine-logical-name  Define  the job-wide logical name NAME
to have the value STRING.  If STRING is nil or a null string, the
logical name NAME is deleted.

(define-logical-name  NAME STRING)Fsysnetunam Open a network con-
nection to PATH using LOGIN as the login string.

(sysnetunam PATH LOGIN)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 `~'.

(file-name-absolute-p FILENAME)Ffile-exists-p Return  t  if  file
FILENAME exists.  (This does not mean you can read it.)  See also
`file-readable-p' and `file-attributes'.

(file-exists-p FILENAME)Ffile-executable-p Return t  if  FILENAME
can  be executed by you.  For a directory, this means you can ac-
cess files in that directory.

(file-executable-p FILENAME)Ffile-readable-p  Return  t  if  file
FILENAME  exists  and  you can read it.  See also `file-exists-p'
and `file-attributes'.

(file-readable-p FILENAME)Ffile-writable-p Return t if file FILE-
NAME can be written or created by you.

(file-writable-p  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, we return
nil.

(access-file FILENAME STRING)Ffile-symlink-p  Return  non-nil  if
file  FILENAME  is the name of a symbolic link.  The value is the
name of the file to which it is linked.  Otherwise returns nil.

(file-symlink-p 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.

(file-directory-p FILENAME)Ffile-accessible-directory-p Return  t
if  file FILENAME is the name of a directory as a file, and files
in that directory can be opened by you.  In order to use a direc-
tory  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 read-
able and searchable directory.

(file-accessible-directory-p FILENAME)Ffile-regular-p Return t if
file FILENAME is the name of a regular file.  This is the sort of
file that holds an ordinary stream of data bytes.

(file-regular-p FILENAME)Ffile-modes Return  mode  bits  of  file
named FILENAME, as an integer.

(file-modes  FILENAME)Fset-file-modes Set mode bits of file named
FILENAME to MODE (an integer).  Only the 12 low bits of MODE  are
used.

(set-file-modes  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.

(set-default-file-modes MODE)Fdefault-file-modes Return  the  de-
fault  file  protection for created files.  The value is an inte-
ger.

(default-file-modes)Funix-sync Tell Unix to  finish  all  pending
disk updates.

(unix-sync)Ffile-newer-than-file-p Return t if file FILE1 is new-
er than file FILE2.  If FILE1 does not exist, the answer is  nil;
otherwise, if FILE2 does not exist, the answer is t.

(file-newer-than-file-p  FILE1 FILE2)Finsert-file-contents Insert
contents of file FILENAME after point.  Returns list of  absolute
file name and number of bytes inserted.  If second argument VISIT
is non-nil, the buffer's visited filename and last save file mod-
time  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, it  means  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  value is the number of characters actually read, which
is often less than the number of characters to be read.

This does code conversion according to the value of  `coding-sys-
tem-for-read'  or  `file-coding-system-alist', and sets the vari-
able `last-coding-system-used'  to  the  coding  system  actually
used.

(insert-file-contents   FILENAME  &optional  VISIT  BEG  END  RE-
PLACE)Fwrite-region Write current  region  into  specified  file.
When called from a program, takes three arguments: START, END and
FILENAME.  START and END are buffer positions.   Optional  fourth
argument APPEND if non-nil means
  append  to existing file contents (if any).  Optional fifth ar-
gument VISIT if t 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 visit-
ing VISIT.
  VISIT is also the file name to lock and unlock for clash detec-
tion.  If VISIT is neither t nor nil nor a string,
  that means do not print 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 CONFIRM, if non-nil, says ask  for  con-
firmation
  before  overwriting an existing file.  Kludgy feature: if START
is a string, then that string is written to the file, instead  of
any buffer contents, and END is ignored.

This  does code conversion according to the value of `coding-sys-
tem-for-write', `buffer-file-coding-system', or `file-coding-sys-
tem-alist',  and  sets  the variable `last-coding-system-used' to
the coding system actually used.

(write-region START END FILENAME &optional APPEND VISIT  LOCKNAME
CONFIRM)Fcar-less-than-car  Return  t  if  (car A) is numerically
less than (car B).

(car-less-than-car 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 visit-
ed or saved.

(verify-visited-file-modtime      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.

(clear-visited-file-modtime)Fvisited-file-modtime Return the cur-
rent buffer's recorded visited file modification time.  The value
is  a  list  of  the form (HIGH . LOW), like the time values that
`file-attributes' returns.

(visited-file-modtime)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 argu-
ment specifies the modification time value  to  use  (instead  of
that  of the visited file), in the form of a list (HIGH . LOW) or
(HIGH LOW).

(set-visited-file-modtime &optional TIME-LIST)Fdo-auto-save Auto-
save all buffers that need it.  This is all buffers that have au-
to-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 visit-
ed;  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 cur-
rent buffer.

(do-auto-save &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.

(set-buffer-auto-saved)Fclear-buffer-auto-save-failure  Clear any
record of a recent auto-save failure in the current buffer.

(clear-buffer-auto-save-failure)Frecent-auto-save-p Return  t  if
buffer has been auto-saved since last read in or saved.

(recent-auto-save-p)Fread-file-name-internal  Internal subroutine
for read-file-name.  Do not call this.

(read-file-name-internal STRING DIR  ACTION)Fread-file-name  Read
file name, prompting with PROMPT and completing in directory DIR.
Value is not expanded---you must  call  `expand-file-name'  your-
self.   Default  name  to  DEFAULT-FILENAME if user enters a null
string.
 (If DEFAULT-FILENAME is omitted, the visited file name is used,
  except that if INITIAL is specified, that combined with DIR  is
used.)   Fourth  arg  MUSTMATCH  non-nil  means  require existing
file's name.
 Non-nil and non-t means also require confirmation after  comple-
tion.   Fifth  arg INITIAL specifies text to start with.  DIR de-
faults to current buffer's directory default.

(read-file-name PROMPT &optional DIR  DEFAULT-FILENAME  MUSTMATCH
INITIAL)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-environ-
ment.  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.Vauto-save-file-
format  *Format  in  which to write auto-save files.  Should be a
list of symbols naming formats that are  defined  in  `format-al-
ist'.   If  it  is  t,  which is the default, auto-save files are
written in the same format as a regular save  would  use.Vinsert-
default-directory  *Non-nil  means  when reading a filename start
with default dir in  minibuffer.Vvms-stmlf-recfm  *Non-nil  means
write new files with record format `stmlf'.  nil means use format
`var'.  This variable is meaningful only  on  VMS.Vdirectory-sep-
char  Directory  separator  character for built-in functions that
return file names.  The value should be either ?/ or ? (any other
value  is treated as ?.  This variable affects the built-in func-
tions only on Windows, on other platforms, it is  initialized  so
that  Lisp  code can find out what the normal separator is.Vfile-
name-handler-alist *Alist of elements (REGEXP . HANDLER) for file
names handled specially.  If a file name matches REGEXP, then all
I/O on that file is done by calling HANDLER.

The first argument given to HANDLER is the name of the I/O primi-
tive  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) The function `find-
file-name-handler' checks this list for a handler for  its  argu-
ment.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 follow-
ing 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-in-
sert-file-functions A list of functions to be called at  the  end
of `insert-file-contents'.  Each is passed one argument, the num-
ber of bytes inserted.  It should return the new byte count,  and
leave  point  the same.  If `insert-file-contents' is intercepted
by a handler from `file-name-handler-alist', that handler is  re-
sponsible  for  calling the after-insert-file-functions if appro-
priate.Vwrite-region-annotate-functions A list of functions to be
called  at the start of `write-region'.  Each is passed two argu-
ments, START and END as for `write-region'.   These  are  usually
two  numbers but not always; see the documentation for `write-re-
gion'.  The function should return a list of pairs  of  the  form
(POSITION  . STRING), consisting of strings to be effectively in-
serted 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 func-
tions  in  the  list,  the  several lists are merged destructive-
ly.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
`.emacs'  file, if you have not yet given it a non-nil value.Fdi-
rectory-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  unpre-
dictable.
 NOSORT is useful if you plan to sort the result yourself.

(directory-files  DIRECTORY  &optional  FULL  MATCH NOSORT)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 DIR contains no name starting
with FILE.

(file-name-completion  FILE  DIRECTORY)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.

(file-name-all-completions FILE DIRECTORY)Ffile-name-all-versions
Return a list of all versions of file name FILE in directory  DI-
RECTORY.

(file-name-all-versions FILE DIRECTORY)Ffile-version-limit Return
the maximum number of versions allowed for FILE.  Returns nil  if
the file cannot be opened or if there is no version limit.

(file-version-limit  FILENAME)Ffile-attributes  Return  a list of
attributes of file FILENAME.  Value is nil if specified file can-
not be opened.  Otherwise, list elements are:
 0.  t  for directory, string (name linked to) for symbolic link,
or nil.
 1. Number of links to file.
 2. File uid.
 3. File gid.
 4. Last access time, as a list of two integers.
  First integer has high-order 16 bits of time, second has low 16
bits.
 5. Last modification time, likewise.
 6. Last status change time, likewise.
 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 iff file's gid would change if file were deleted and recre-
ated.  10. inode number.  If inode  number  is  larger  than  the
Emacs integer,
  this  is  a  cons  cell containing two integers: first the high
part,
  then the low 16 bits.  11. Device number.

If file does not exist, returns nil.

(file-attributes FILENAME)Vcompletion-ignored-extensions *Comple-
tion  ignores  filenames ending in any string in this list.  This
variable does not affect lists of possible completions, but  does
affect  the  commands that actually do completions.Fforward-point
Return buffer position N characters after (before if N  negative)
point.

(forward-point  N)Fforward-char  Move  point  right  N characters
(left if N is negative).  On reaching end  of  buffer,  stop  and
signal error.

(forward-char  &optional N)Fbackward-char Move point left N char-
acters (right if N is negative).  On attempt to pass beginning or
end of buffer, stop and signal error.

(backward-char  &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.  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 back-
ward, N + number moved.  With positive N, a non-empty line at the
end counts as one line
  successfully moved (for the return value).

(forward-line &optional N)Fbeginning-of-line Move point to begin-
ning of current line.  With argument N not nil or 1, move forward
N  -  1  lines  first.  If scan reaches end of buffer, stop there
without error.

(beginning-of-line &optional N)Fend-of-line Move point to end  of
current  line.   With argument N not nil or 1, move forward N - 1
lines first.  If scan reaches end of buffer, stop  there  without
error.

(end-of-line  &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).  Inter-
actively, N is the prefix arg, and KILLFLAG is set if N  was  ex-
plicitly specified.

(delete-char  N  &optional  KILLFLAG)Fdelete-backward-char Delete
the previous N characters (following 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.

(delete-backward-char  N  &optional KILLFLAG)Fself-insert-command
Insert the character you type.  Whichever character you  type  to
run this command is inserted.

(self-insert-command N)Vself-insert-face If non-nil, set the face
of the next self-inserting character to this.  See also `self-in-
sert-face-command'.Vself-insert-face-command  This is the command
that set up `self-insert-face'.  If `last-command' does not equal
this  value,  we  ignore `self-insert-face'.Vblink-paren-function
Function called, if non-nil, whenever a close parenthesis is  in-
serted.   More  precisely, a char with closeparen syntax is self-
inserted.Fcase-table-p Return t iff OBJECT is a case table.   See
`set-case-table' for more information on these data structures.

(case-table-p OBJECT)Fcurrent-case-table Return the case table of
the current buffer.

(current-case-table)Fstandard-case-table Return the standard case
table.  This is the one used for new buffers.

(standard-case-table)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 character to its upper-case equivalent;
 if lower and upper case characters are in 1-1 correspondence,
 you may use nil and the upcase table will be deduced from  DOWN-
CASE.   CANONICALIZE  maps  each character to a canonical equiva-
lent;
 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
cyclicly permutes each equivalence class
 (of  characters  with  the same canonical equivalent); it may be
nil,
 in which case it is deduced from CANONICALIZE.

(set-case-table TABLE)Fset-standard-case-table Select a new stan-
dard  case  table for new buffers.  See `set-case-table' for more
info on case tables.

(set-standard-case-table TABLE)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  al-
tered--the  value  is  a copy.  See also `capitalize', `downcase'
and `upcase-initials'.

(upcase 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.

(downcase  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.

(capitalize 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  al-
tered--the value is a copy.

(upcase-initials  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 oper-
ate on.  When used as a command, the text between point  and  the
mark is operated on.  See also `capitalize-region'.

(upcase-region  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.

(downcase-region BEG END)Fcapitalize-region Convert the region to
capitalized form.  Capitalized form means each word's first char-
acter  is  upper  case and the rest of it is lower case.  In pro-
grams, give two arguments, the starting and ending character  po-
sitions to operate on.

(capitalize-region  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.

(upcase-initials-region 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 `cap-
italize-word'.

(upcase-word  ARG)Fdowncase-word  Convert  following word (or ARG
words) to lower case, moving over.  With negative argument,  con-
vert previous words but do not move.

(downcase-word ARG)Fcapitalize-word Capitalize the following word
(or ARG words), moving over.  This  gives  the  word(d)  a  first
character  in  upper case and the rest lower case.  With negative
argument, capitalize previous words but do not move.

(capitalize-word ARG)Fcurrent-column Return the horizontal  posi-
tion of point.  Beginning of line is column 0.  This is calculat-
ed by adding together the widths of all the displayed representa-
tions of the character between the start of the previous line and
point.  (eg 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 `se-
lective-display' is t.

(current-column)Findent-to Indent from point with tabs and spaces
until COLUMN is reached.  Optional second argument  MININUM  says
always  do at least MININUM spaces even if that goes past COLUMN;
by default, MININUM is zero.

(indent-to COLUMN &optional  MINIMUM)Fcurrent-indentation  Return
the  indentation of the current line.  This is the horizontal po-
sition of the character following any initial whitespace.

(current-indentation)Fmove-to-column Move point to column  COLUMN
in  the current line.  The column of a character is calculated by
adding together the widths as displayed of the  previous  charac-
ters 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.

A  non-nil second (optional) argument FORCE means, if the line is
too short to reach column COLUMN  then  add  spaces/tabs  to  get
there,  and if COLUMN is in the middle of a tab character, change
it to spaces.

The return value is the current column.

(move-to-column  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.

There are three additional arguments:

WIDTH  is  the  number of columns available to display text; this
affects handling of continuation lines.  This is usually the val-
ue returned by `window-width', less one (to allow for the contin-
uation glyph).

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 previ-
ous 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.

(compute-motion  FROM FROMPOS TO TOPOS WIDTH OFFSETS WINDOW)Fver-
tical-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 calcu-
lates 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.

`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  `ver-
tical-motion'  in any buffer, whether or not it is currently dis-
played in some window.

(vertical-motion LINES &optional WINDOW)Vindent-tabs-mode *Inden-
tation can insert tabs if this is non-nil.  Setting this variable
automatically makes it local to  the  current  buffer.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.

(looking-at 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  modi-
fies  the  match  data  that  `match-beginning',  `match-end' and
`match-data' access; save and restore the match data if you  want
to preserve them.

(posix-looking-at  REGEXP)Fstring-match  Return index of start of
first match for REGEXP in STRING, or nil.   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.

(string-match  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 ex-
pression 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.

(posix-string-match  REGEXP  STRING &optional START)Fsearch-back-
ward Search backward from point for STRING.  Set point to the be-
ginning  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 is repeat count--search for suc-
cessive occurrences.  See also the  functions  `match-beginning',
`match-end' and `replace-match'.

(search-backward  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 sec-
ond argument bounds the search; it is  a  buffer  position.   The
match  found must not extend after that position.  nil is equiva-
lent
  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 is repeat count--search  for  successive
occurrences.   See  also the functions `match-beginning', `match-
end' and `replace-match'.

(search-forward  STRING  &optional  BOUND  NOERROR   COUNT)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.

(word-search-backward STRING &optional BOUND NOERROR COUNT)Fword-
search-forward  Search  forward  from  point for STRING, ignoring
differences in punctuation.  Set point to the end of  the  occur-
rence  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.

(word-search-forward 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  op-
tional  second  argument  bounds the search; it is a buffer posi-
tion.  The match found must start at or after that position.  Op-
tional  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.  See also the functions  `match-beginning',  `match-
end' and `replace-match'.

(re-search-backward  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 po-
sition.  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.   See  also the functions `match-beginning', `match-
end' and `replace-match'.

(re-search-forward 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 po-
sition.  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.   See  also the functions `match-beginning', `match-
end' and `replace-match'.

(posix-search-backward    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.   See  also the functions `match-beginning', `match-
end' and `replace-match'.

(posix-search-forward REGEXP &optional BOUND  NOERROR  COUNT)Fre-
place-match Replace text matched by last search with NEWTEXT.  If
second arg FIXEDCASE is non-nil, do not alter case of 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.  If the replaced text has  at  least
one  word  starting  with  a capital letter, then capitalize each
word in NEWTEXT.

If third arg LITERAL is non-nil, insert NEWTEXT literally.   Oth-
erwise treat `' as special:
  `' in NEWTEXT means substitute original matched text.
  `eans substitute what matched the Nth `.'.
       If Nth parens didn't match, substitute nothing.
  `\'  means  insert  one `'.  FIXEDCASE and LITERAL are optional
arguments.  Leaves point at end of replacement text.

The optional fourth argument STRING can be a  string  to  modify.
In  that  case,  this  function  creates and returns a new string
which is made by replacing the part of STRING that was matched.

The optional fifth argument SUBEXP specifies a  subexpression  of
the match.  It says to replace just that subexpression instead of
the whole match.  This is useful only after a regular  expression
search or match since only regular expressions have distinguished
subexpressions.

(replace-match  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.

(match-beginning SUBEXP)Fmatch-end Return position of end of text
matched by last search.  SUBEXP, a number, specifies which paren-
thesized 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.

(match-end  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 `store-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.  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.

(match-data &optional INTEGERS REUSE)Fset-match-data Set internal
data  on  last  search  match from elements of LIST.  LIST should
have been created by calling `match-data' previously.

(set-match-data LIST)Fregexp-quote Return a regexp  string  which
matches exactly STRING and nothing else.

(regexp-quote STRING)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.

(undo-boundary)Fprimitive-undo  Undo  N records from the front of
the list LIST.  Return what remains of the list.

(primitive-undo N LIST)Fcons Create a new cons, give it  CAR  and
CDR as components, and return it.

(cons  CAR  CDR)Flist  Return a newly created list with specified
arguments as elements.  Any number of arguments, even zero  argu-
ments,  are  allowed.Fmake-list  Return  a  newly created list of
length LENGTH, with each element being INIT.

(make-list LENGTH INIT)Fmake-vector Return a newly created vector
of  length  LENGTH,  with  each element being INIT.  See also the
function `vector'.

(make-vector LENGTH INIT)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  which
has  a  `char-table-extra-slots'  property.  The property's value
should be an integer between 0 and 10.

(make-char-table PURPOSE &optional INIT)Fvector  Return  a  newly
created  vector with specified arguments as elements.  Any number
of arguments, even zero  arguments,  are  allowed.Fmake-byte-code
Create  a  byte-code object with specified arguments as elements.
The arguments should be the  arglist,  bytecode-string,  constant
vector,  stack size, (optional) doc string, and (optional) inter-
active spec.  The first four arguments are required; at most  six
have any significance.Fmake-symbol Return a newly allocated unin-
terned symbol whose name is NAME.  Its value and function defini-
tion are void, and its property list is nil.

(make-symbol  NAME)Fmake-marker  Return  a newly allocated marker
which does not point at any place.

(make-marker)Fmake-string Return a newly created string of length
LENGTH,  with each element being INIT.  Both LENGTH and INIT must
be numbers.

(make-string LENGTH INIT)Fmake-bool-vector Return a new bool-vec-
tor  of  length  LENGTH,  using INIT for as each element.  LENGTH
must be a number.  INIT matters only in whether it is t or nil.

(make-bool-vector LENGTH INIT)Fpurecopy Make a copy of OBJECT  in
pure  storage.   Recursively  copies contents of vectors and cons
cells.  Does not copy symbols.

(purecopy OBJ)Fgarbage-collect Reclaim storage for  Lisp  objects
no longer needed.  Returns info on amount of space in use:
 ((USED-CONSES . FREE-CONSES) (USED-SYMS . FREE-SYMS)
  (USED-MARKERS  .  FREE-MARKERS)  USED-STRING-CHARS USED-VECTOR-
SLOTS
  (USED-FLOATS . FREE-FLOATS) (USED-INTERVALS .  FREE-INTERVALS))
Garbage  collection  happens  automatically if you cons more than
`gc-cons-threshold' bytes of Lisp  data  since  previous  garbage
collection.

(garbage-collect)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.

(memory-limit)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 col-
lection does not decrease them.  The elements of the value are as
follows:
  (CONSES  FLOATS  VECTOR-CELLS SYMBOLS STRING-CHARS MISCS INTER-
VALS) All are in units of 1 = one object consed except  for  VEC-
TOR-CELLS  and  STRING-CHARS, which count the total length of ob-
jects consed.  MISCS include overlays, markers, and some internal
types.   Frames, windows, buffers, and subprocesses count as vec-
tors
  (but the contents of a buffer's text do not count here).

(memory-use-counts)Vgc-cons-threshold *Number of bytes of consing
between garbage collections.  Garbage collection can happen auto-
matically 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 effective-
ly prevent garbage collection during a part of the program.Vpure-
bytes-used Number of bytes of sharable  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  mis-
cellaneous objects that have been consed so far.Vintervals-consed
Number of intervals that have been consed so far.Vdata-bytes-used
Number of bytes of unshared memory allocated in this session.Vda-
ta-bytes-free Number of bytes of unshared memory remaining avail-
able in this session.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.Vundo-limit Keep no
more undo information once it exceeds this size.  This  limit  is
applied  when garbage collection happens.  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.  A command which pushes past  this  size  is
itself  forgotten.  This limit is applied when garbage collection
happens.  The size is counted as the number  of  bytes  occupied,
which  includes  both  saved text and other data.Vgarbage-collec-
tion-messages Non-nil means display messages at start and end  of
garbage collection.Feq Return t if the two args are the same Lisp
object.

(eq OBJ1 OBJ2)Fnull Return t if OBJECT is nil.

(null 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'.

(type-of OBJECT)Fconsp Return t if OBJECT is a cons cell.

(consp OBJECT)Fatom Return t if OBJECT is not a cons cell.   This
includes nil.

(atom  OBJECT)Flistp Return t if OBJECT is a list.  This includes
nil.

(listp OBJECT)Fnlistp Return t if OBJECT is not  a  list.   Lists
include nil.

(nlistp OBJECT)Fsymbolp Return t if OBJECT is a symbol.

(symbolp OBJECT)Fvectorp Return t if OBJECT is a vector.

(vectorp OBJECT)Fstringp Return t if OBJECT is a string.

(stringp  OBJECT)Fmultibyte-string-p  Return  t  if  OBJECT  is a
multibyte string.

(multibyte-string-p OBJECT)Fchar-table-p Return t if OBJECT is  a
char-table.

(char-table-p  OBJECT)Fvector-or-char-table-p  Return t if OBJECT
is a char-table or vector.

(vector-or-char-table-p OBJECT)Fbool-vector-p Return t if  OBJECT
is a bool-vector.

(bool-vector-p  OBJECT)Farrayp  Return  t  if  OBJECT is an array
(string or vector).

(arrayp OBJECT)Fsequencep Return t if OBJECT is a sequence  (list
or array).

(sequencep  OBJECT)Fbufferp  Return  t  if  OBJECT  is  an editor
buffer.

(bufferp OBJECT)Fmarkerp Return t if OBJECT is a  marker  (editor
pointer).

(markerp OBJECT)Fsubrp Return t if OBJECT is a built-in function.

(subrp OBJECT)Fbyte-code-function-p Return t if OBJECT is a byte-
compiled function object.

(byte-code-function-p OBJECT)Fchar-or-string-p Return t if OBJECT
is a character (an integer) or a string.

(char-or-string-p OBJECT)Fintegerp Return t if OBJECT is an inte-
ger.

(integerp  OBJECT)Finteger-or-marker-p  Return  t if OBJECT is an
integer or a marker (editor pointer).

(integer-or-marker-p OBJECT)Fnatnump Return t if OBJECT is a non-
negative integer.

(natnump OBJECT)Fnumberp Return t if OBJECT is a number (floating
point or integer).

(numberp OBJECT)Fnumber-or-marker-p Return t if OBJECT is a  num-
ber or a marker.

(number-or-marker-p OBJECT)Ffloatp Return t if OBJECT is a float-
ing point number.

(floatp OBJECT)Fcar Return the car of LIST.  If arg is  nil,  re-
turn nil.  Error if arg is not nil and not a cons cell.  See also
`car-safe'.

(car LIST)Fcar-safe Return the car of OBJECT  if  it  is  a  cons
cell, or else nil.

(car-safe OBJECT)Fcdr Return the cdr of LIST.  If arg is nil, re-
turn nil.  Error if arg is not nil and not a cons cell.  See also
`cdr-safe'.

(cdr  LIST)Fcdr-safe  Return  the  cdr  of OBJECT if it is a cons
cell, or else nil.

(cdr-safe OBJECT)Fsetcar Set the car of CELL to be  NEWCAR.   Re-
turns NEWCAR.

(setcar  CELL  NEWCAR)Fsetcdr  Set  the cdr of CELL to be NEWCDR.
Returns NEWCDR.

(setcdr CELL NEWCDR)Fboundp Return t if  SYMBOL's  value  is  not
void.

(boundp  SYMBOL)Ffboundp Return t if SYMBOL's function definition
is not void.

(fboundp SYMBOL)Fmakunbound Make SYMBOL's value be void.

(makunbound SYMBOL)Ffmakunbound Make SYMBOL's function definition
be void.

(fmakunbound  SYMBOL)Fsymbol-function  Return  SYMBOL's  function
definition.  Error if that is void.

(symbol-function SYMBOL)Fsymbol-plist  Return  SYMBOL's  property
list.

(symbol-plist SYMBOL)Fsymbol-name Return SYMBOL's name, a string.

(symbol-name SYMBOL)Ffset Set  SYMBOL's  function  definition  to
DEFINITION, and return DEFINITION.

(fset  SYMBOL  DEFINITION)Fdefalias Set SYMBOL's function defini-
tion to DEFINITION, and return DEFINITION.  Associates the  func-
tion with the current load file, if any.

(defalias  SYMBOL DEFINITION)Fsetplist Set SYMBOL's property list
to NEWVAL, and return NEWVAL.

(setplist SYMBOL NEWPLIST)Fsymbol-value  Return  SYMBOL's  value.
Error if that is void.

(symbol-value  SYMBOL)Fset  Set SYMBOL's value to NEWVAL, and re-
turn NEWVAL.

(set 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.

(default-boundp  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.

(default-value SYMBOL)Fset-default Set SYMBOL's default value  to
VAL.  SYMBOL and VAL are evaluated.  The default value is seen in
buffers that do not have their own values for this variable.

(set-default 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 and it is evaluated.  The  de-
fault  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 SYMBOL VALUE SYMBOL  VALUE...)   This  sets  each
SYMBOL's default value to the corresponding VALUE.  The VALUE for
the Nth SYMBOL can refer to the new default  values  of  previous
SYMs.Fmake-variable-buffer-local  Make  VARIABLE  have a separate
value for each buffer.  At any time, the value  for  the  current
buffer is in effect.  There is also a default value which is seen
in any buffer which has not yet set its own value.   Using  `set'
or  `setq' to set the variable causes it to have a separate value
for the current buffer if it was  previously  using  the  default
value.   The  function `default-value' gets the default value and
`set-default' sets it.

(make-variable-buffer-local  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 VARI-
ABLE previously had.  If VARIABLE was  void,  it  remains  void.)
See also `make-variable-buffer-local'.

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.

Do  not use `make-local-variable' to make a hook variable buffer-
local.  Use `make-local-hook' instead.

(make-local-variable 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.

(kill-local-variable  VARIABLE)Fmake-variable-frame-local  Enable
VARIABLE  to have frame-local bindings.  When a frame-local bind-
ing exists in the current frame, it is  in  effect  whenever  the
current  buffer has no buffer-local binding.  A frame-local bind-
ing is actual a frame parameter value; thus, any given frame  has
a  local binding for VARIABLE if it has a value for the frame pa-
rameter named VARIABLE.  See `modify-frame-parameters'.

(make-variable-frame-local VARIABLE)Flocal-variable-p Non-nil  if
VARIABLE  has  a local binding in buffer BUFFER.  BUFFER defaults
to the current buffer.

(local-variable-p VARIABLE  &optional  BUFFER)Flocal-variable-if-
set-p Non-nil if VARIABLE will be local in buffer BUFFER if it is
set there.  BUFFER defaults to the current buffer.

(local-variable-if-set-p  VARIABLE  &optional   BUFFER)Findirect-
function  Return  the  function  at  the end of OBJECT's function
chain.  If OBJECT is a symbol, follow all  function  indirections
and  return  the final function binding.  If OBJECT is not a sym-
bol, just return it.  Signal a void-function error if  the  final
symbol is unbound.  Signal a cyclic-function-indirection error if
there is a loop in the function chain of symbols.

(indirect-function OBJECT)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.

(aref ARRAY IDX)Faset Store into the element of  ARRAY  at  index
IDX  the  value NEWELT.  ARRAY may be a vector, a string, a char-
table or a bool-vector.  IDX starts at 0.

(aset ARRAY IDX NEWELT)F= Return t if two args, both  numbers  or
markers, are equal.

(=  NUM1  NUM2)F<  Return t if first arg is less than second arg.
Both must be numbers or markers.

(< NUM1 NUM2)F> Return t if first arg is greater than second arg.
Both must be numbers or markers.

(>  NUM1  NUM2)F<= Return t if first arg is less than or equal to
second arg.  Both must be numbers or markers.

(<= NUM1 NUM2)F>= Return t if first arg is greater than or  equal
to second arg.  Both must be numbers or markers.

(>=  NUM1  NUM2)F/=  Return t if first arg is not equal to second
arg.  Both must be numbers or markers.

(/= NUM1 NUM2)Fzerop Return t if NUMBER is zero.

(zerop NUMBER)Fnumber-to-string Convert NUMBER  to  a  string  by
printing  it  in decimal.  Uses a minus sign if negative.  NUMBER
may be an integer or a floating point number.

(number-to-string NUMBER)Fstring-to-number Convert  STRING  to  a
number by parsing it as a decimal number.  This parses both inte-
gers and floating point numbers.  It ignores leading  spaces  and
tabs.

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, floating point is not
recognized.

(string-to-number STRING &optional BASE)F+ Return sum of any num-
ber  of  arguments, which are numbers or markers.F- Negate number
or subtract numbers or markers.  With one arg, negates it.   With
more  than one arg, subtracts all but the first from the first.F*
Returns product of any number of arguments, which are numbers  or
markers.F/  Returns  first  argument divided by all the remaining
arguments.  The arguments must be numbers or  markers.F%  Returns
remainder of X divided by Y.  Both must be integers or markers.

(%  X  Y)Fmod  Returns X modulo Y.  The result falls between zero
(inclusive) and Y (exclusive).  Both X and Y must be  numbers  or
markers.

(mod  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.Fmin  Return smallest of all the arguments
(which must be numbers or markers).  The value is always  a  num-
ber;  markers are converted to numbers.Flogand Return bitwise-and
of all the arguments.  Arguments may be integers, or markers con-
verted  to  integers.Flogior  Return  bitwise-or of all the argu-
ments.  Arguments may be integers, or markers converted to  inte-
gers.Flogxor  Return  bitwise-exclusive-or  of all the arguments.
Arguments may be integers, or markers converted to  integers.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.

(ash  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.

(lsh  VALUE  COUNT)F1+  Return  NUMBER plus one.  NUMBER may be a
number or a marker.  Markers are converted to integers.

(1+ NUMBER)F1- Return NUMBER minus one.  NUMBER may be  a  number
or a marker.  Markers are converted to integers.

(1- NUMBER)Flognot Return the bitwise complement of NUMBER.  NUM-
BER must be an integer.

(lognot NUMBER)Vkeyword-symbols-constant-flag Non-nil means it is
an  error  to set a keyword symbol.  A keyword symbol is a symbol
whose name starts with a colon  (`:').Fdocumentation  Return  the
documentation  string of FUNCTION.  Unless a non-nil second argu-
ment RAW is given, the string is passed through  `substitute-com-
mand-keys'.

(documentation FUNCTION &optional RAW)Fdocumentation-property Re-
turn the documentation string that  is  SYMBOL's  PROP  property.
This  is  like  `get',  but it can refer to strings stored in the
`etc/DOC' file; and if the  value  is  a  string,  it  is  passed
through  `substitute-command-keys'.  A non-nil third argument RAW
avoids this translation.

(documentation-property SYMBOL PROP &optional RAW)FSnarf-documen-
tation  Used during Emacs initialization, before dumping runnable
Emacs, to find pointers to doc strings stored in `etc/DOC...' and
record them in function definitions.  One arg, FILENAME, a string
which does not  include  a  directory.   The  file  is  found  in
`../etc'  now; found in the `data-directory' when doc strings are
referred to later in the dumped Emacs.

(Snarf-documentation FILENAME)Fsubstitute-command-keys Substitute
key  descriptions  for  command  names  in  STRING.  Return a new
string which is STRING with substrings of the form = replaced  by
either:   a  keystroke sequence that will invoke COMMAND, or "M-x
COMMAND" if COMMAND is not on any keys.  Substrings of  the  form
=MAPVAR} are replaced by summaries (made by describe-bindings) of
the value of MAPVAR, taken as a keymap.  Substrings of  the  form
=<MAPVAR>  specify  to  use the value of MAPVAR as the keymap for
future = substrings.  == quotes the following  character  and  is
discarded;  thus, ==== puts == into the output, and ===puts =into
the output.

(substitute-command-keys STRING)Vinternal-doc-file-name  Name  of
file  containing documentation strings of built-in symbols.Fchar-
to-string Convert arg CHAR to a string containing that character.

(char-to-string CHARACTER)Fstring-to-char Convert arg STRING to a
character, the first character of that string.  A multibyte char-
acter is handled correctly.

(string-to-char  STRING)Fpoint Return value of point, as an inte-
ger.  Beginning of buffer is position (point-min)

(point)Fpoint-marker Return value of point, as a marker object.

(point-marker)Fgoto-char Set point to POSITION, a number or mark-
er.   Beginning of buffer is position (point-min), end is (point-
max).  If the position is in the middle of a multibyte form,  the
actual  point  is set at the head of the multibyte form except in
the case that `enable-multibyte-characters' is nil.

(goto-char POSITION)Fregion-beginning Return position  of  begin-
ning of region, as an integer.

(region-beginning)Fregion-end  Return  position of end of region,
as an integer.

(region-end)Fmark-marker Return this buffer's mark, as  a  marker
object.   Watch  out!   Moving this marker changes the mark posi-
tion.  If you set the marker not to point  anywhere,  the  buffer
will have no mark.

(mark-marker)Fline-beginning-position  Return the character posi-
tion of the first 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 does not move
point.

(line-beginning-position  &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
does not move point.

(line-end-position  &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 cur-
rent 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 `deac-
tivate-mark' with  `let'.Fsave-current-buffer  Save  the  current
buffer;  execute BODY; restore the current buffer.  Executes BODY
just like `progn'.Fbuffer-size Return the number of characters in
the current buffer.

(buffer-size)Fpoint-min  Return  the minimum permissible value of
point in the current buffer.  This  is  1,  unless  narrowing  (a
buffer restriction) is in effect.

(point-min)Fpoint-min-marker  Return a marker to the minimum per-
missible value of point in this buffer.  This is  the  beginning,
unless narrowing (a buffer restriction) is in effect.

(point-min-marker)Fpoint-max Return the maximum permissible value
of point in the current buffer.  This is (1+ (buffer-size)),  un-
less narrowing (a buffer restriction) is in effect, in which case
it is less.

(point-max)Fpoint-max-marker Return a marker to the maximum  per-
missible  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.

(point-max-marker)Fgap-position  Return  the position of the gap,
in the current buffer.  See also `gap-size'.

(gap-position)Fgap-size Return the size of the  current  buffer's
gap.  See also `gap-position'.

(gap-size)Fposition-bytes  Return the byte position for character
position POSITION.  If POSITION is out of  range,  the  value  is
nil.

(position-bytes  POSITION)Fbyte-to-position  Return the character
position for byte position BYTEPOS.  If BYTEPOS is out of  range,
the value is nil.

(byte-to-position  BYTEPOS)Ffollowing-char  Return  the character
following point, as a number.  At the end of the buffer or acces-
sible  region, return 0.  If `enable-multibyte-characters' is nil
or point is not
 at character boundary,  multibyte form is ignored,
 and only one byte following point is returned as a character.

(following-char)Fpreceding-char Return  the  character  preceding
point, as a number.  At the beginning of the buffer or accessible
region, return 0.  If  `enable-multibyte-characters'  is  nil  or
point is not
 at character boundary, multi-byte form is ignored,
 and only one byte preceding point is returned as a character.

(preceding-char)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.

(bobp)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.

(eobp)Fbolp Return t if point is at the beginning of a line.

(bolp)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.

(eolp)Fchar-after Return character in current buffer at  position
POS.   POS  is  an integer or a buffer pointer.  If POS is out of
range, the value is nil.

(char-after &optional POS)Fchar-before Return character  in  cur-
rent  buffer  preceding  position  POS.   POS  is an integer or a
buffer pointer.  If POS is out of range, the value is nil.

(char-before &optional POS)Fuser-login-name Return the name under
which  the user logged in, as a string.  This is based on the ef-
fective uid, not the real uid.  Also, if the environment variable
LOGNAME  or  USER is set, that determines the value of this func-
tion.

If optional argument UID is an integer, return the login name  of
the user with that uid, or nil if there is no such user.

(user-login-name  &optional  UID)Fuser-real-login-name Return the
name of the user's real uid, as a string.  This ignores the envi-
ronment  variables LOGNAME and USER, so it differs from `user-lo-
gin-name' when running under `su'.

(user-real-login-name)Fuser-uid  Return  the  effective  uid   of
Emacs, as an integer.

(user-uid)Fuser-real-uid  Return the real uid of Emacs, as an in-
teger.

(user-real-uid)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, 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.

(user-full-name &optional UID)Fsystem-name Return the name of the
machine you are running on, as a string.

(system-name)Femacs-pid Return the process ID of Emacs, as an in-
teger.

(emacs-pid)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  three  integers.  The first has the most significant 16
bits of the seconds, while the second has the  least  significant
16 bits.  The third integer gives the microsecond count.

The microsecond count is zero on systems that do not provide res-
olution finer than a second.

(current-time)Fformat-time-string Use FORMAT-STRING to format the
time  TIME,  or now if omitted.  TIME is specified as (HIGH LOW .
IGNORED) or (HIGH . LOW), as returned by `current-time' or `file-
attributes'.   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  de-
scribes 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 (Mon-
day) to 7, %w from 0 (Sunday) to 6.  %a is the locale's  abbrevi-
ated  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 lo-
cale's equivalent of either AM or PM.  %M is the minute.   %S  is
the  second.   %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  con-
trols.  The flags are `_' and `-'.  For certain characters X, %_X
is like %X, but padded with blanks; %-X is like %X,  but  without
padding.   %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  sym-
bols.

For   example,   to   produce   full   ISO   8601   format,   use
"%Y-%m-%dT%T%z".

(format-time-string FORMAT-STRING &optional  TIME  UNIVERSAL)Fde-
code-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) or (HIGH . LOW), as from `current-time' and
`file-attributes', or `nil' to use the current  time.   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  sys-
tems 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 indi-
cating 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 savings
time is 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.)

(decode-time &optional SPECIFIED-TIME)Fencode-time  Convert  SEC-
OND,  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') ap-
plied without consideration for daylight savings 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 SEC, MINUTE, HOUR, DAY, or MONTH are al-
lowed; 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 centu-
ry,  you  must  do  that yourself.Fcurrent-time-string Return the
current 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.  The format is `Sun Sep 16 01:03:52 1973'.   How-
ever,  see  also  the  functions  `decode-time' and `format-time-
string' which provide a much more powerful and general  facility.

If an argument is given, it specifies a time to format instead of
the current time.  The argument should have the form:
  (HIGH . LOW) or the form:
  (HIGH LOW . IGNORED).  Thus, you can use  times  obtained  from
`current-time' and from `file-attributes'.

(current-time-string  &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 an argument is given, it
specifies when the time zone offset is determined instead of  us-
ing the current time.  The argument should have the form:
  (HIGH . LOW) or the form:
  (HIGH  LOW  .  IGNORED).  Thus, you can use times obtained from
`current-time' and from `file-attributes'.

Some operating systems cannot provide  all  this  information  to
Emacs;  in this case, `current-time-zone' returns a list contain-
ing nil for the data it can't find.

(current-time-zone  &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.

(set-time-zone-rule   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 in-
sertion 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.Finsert-and-inherit Insert the arguments at
point, inheriting properties from adjoining text.  Point and  be-
fore-insertion markers move forward to end up
 after  the inserted text.  Any other markers at the point of in-
sertion 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.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.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.Finsert-char  Insert  COUNT  (second  arg)
copies  of  CHARACTER  (first arg).  Both arguments are required.
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.

(insert-char  CHARACTER 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.

(buffer-substring  START  END)Fbuffer-substring-no-properties Re-
turn the characters of part of the buffer, without the text prop-
erties.  The two arguments START and END are character positions;
they can be in either order.

(buffer-substring-no-properties 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.

(buffer-string)Finsert-buffer-substring  Insert  before  point  a
substring of the contents of buffer  BUFFER.   BUFFER  may  be  a
buffer  or  a buffer name.  Arguments START and END are character
numbers specifying the substring.  They default to the  beginning
and the end of BUFFER.

(insert-buffer-substring BUF &optional START END)Fcompare-buffer-
substrings Compare two substrings of two buffers;  return  result
as  number.   the  value  is -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.

(compare-buffer-substrings 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.

(subst-char-in-region  START  END FROMCHAR TOCHAR &optional NOUN-
DO)Ftranslate-region From START to END, translate characters  ac-
cording  to TABLE.  TABLE is a string; the Nth character in it is
the mapping for the character with code N.   This  function  does
not alter multibyte characters.  It returns the number of charac-
ters changed.

(translate-region START END TABLE)Fdelete-region Delete the  text
between  point and mark.  When called from a program, expects two
arguments, positions (integers or markers) specifying the stretch
to be deleted.

(delete-region  START  END)Fwiden Remove restrictions (narrowing)
from current buffer.  This allows the buffer's full  text  to  be
seen and edited.

(widen)Fnarrow-to-region  Restrict  editing in this buffer to the
current region.  The rest of the text becomes temporarily invisi-
ble and untouchable but is not deleted; if you save the buffer in
a file, the invisible text is included in the file.    makes  all
visible again.  See also `save-restriction'.

When calling from a program, pass two arguments; positions (inte-
gers or markers) bounding the text that should remain visible.

(narrow-to-region START END)Fsave-restriction Execute BODY,  sav-
ing  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  cur-
rent  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.

`save-restriction' can get confused  if,  within  the  BODY,  you
widen and then make changes outside the area within the saved re-
strictions.  See Info node `(elisp)Narrowing' for details and  an
appropriate technique.

Note:  if  you are using both `save-excursion' and `save-restric-
tion', use `save-excursion' outermost:
    (save-excursion (save-restriction ...))Fmessage Print a  one-
line  message at the bottom of the screen.  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, clear any existing message; let the
minibuffer contents show.Fmessage-box Display a message, in a di-
alog  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, clear any existing message; let the
minibuffer  contents  show.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.  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, clear any existing message; let the
minibuffer  contents show.Fcurrent-message Return the string cur-
rently displayed in the echo area, or nil if none.

(current-message)Fformat Format a string out of a  control-string
and arguments.  The first argument is a control string.  The oth-
er arguments are substituted  into  it  to  make  the  result,  a
string.   It  may  contain  %-sequences meaning to substitute the
next argument.  %s means  print  a  string  argument.   Actually,
prints  any  object,  with  `princ'.  %d means print as number in
decimal (%o octal, %x hex).  %e means print a number in  exponen-
tial  notation.   %f  means print a number in decimal-point nota-
tion.  %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.Fchar-equal Re-
turn 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.

(char-equal C1 C2)Ftranspose-regions Transpose region  START1  to
END1  with  START2  to END2.  The regions may not be overlapping,
because the size of the buffer is never changed in  a  transposi-
tion.

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.

(transpose-regions STARTR1 ENDR1 STARTR2 ENDR2  &optional  LEAVE-
MARKERS)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-sub-
string' need not call the `buffer-access-fontify-functions' func-
tions  if  all the text being accessed has this property.Vsystem-
name The 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-lo-
gin-name  The user's name, based upon the real uid only.Finterac-
tive Specify a way of parsing arguments for interactive use of  a
function.  For example, write
  (defun  foo (arg) "Doc string" (interactive "p") ...use arg...)
to make ARG be the prefix argument when `foo' is called as a com-
mand.   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.

The  argument  of  `interactive' is usually a string containing a
code letter
 followed by a prompt.  (Some code letters do not use I/O to get
 the argument and do not need prompts.)  To prompt  for  multiple
arguments,
 give a code letter, its prompt, a newline, and another code let-
ter, etc.
 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 defi-
nition.   d  -- Value of point as number.  Does not do I/O.  D --
Directory name.  e -- Parametrized  event  (i.e.,  one  that's  a
list) that invoked this command.
     If  used more than once, the Nth `e' returns the Nth parame-
terized event.
     This skips events that are integers or symbols.  f -- Exist-
ing  file  name.   F -- Possibly nonexistent file name.  i -- Ig-
nored, 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  -- Raw prefix arg, or if none, do like code `n'.
p -- Prefix arg converted to number.  Does not do I/O.  P -- Pre-
fix  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.  v -- Variable name: symbol that is  user-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 `*'
 then an error is signaled if the buffer is read-only.
 This happens before reading any arguments.  If the string begins
with `@', then Emacs searches the key sequence
 which invoked the command for its first mouse click (or any oth-
er
 event which specifies a window), and selects that window before
 reading any arguments.  You may use both `@' and `*'; they are
 processed in the order that they appear.

(interactive ARGS)Fcall-interactively Call FUNCTION, reading 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  func-
tions,  this  is specified by placing a call to the function `in-
teractive' at the top level of the function body.  See  `interac-
tive'.

Optional second arg RECORD-FLAG non-nil means unconditionally put
this command in the command-history.  Otherwise, this is done on-
ly if an arg is read using the minibuffer.

(call-interactively  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")'.

(prefix-numeric-value RAW)Vprefix-arg The value of the prefix ar-
gument 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', al-
though normally commands can get this prefix argument  with  (in-
teractive  "P").Vlast-prefix-arg The value of the prefix argument
for the previous editing command.  See `prefix-arg' for the mean-
ing  of the value.Vcurrent-prefix-arg The value of the prefix ar-
gument for this editing command.  It may be a number, or the sym-
bol  `-'  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  termi-
nal.  Each command is represented as a form to evaluate.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 com-
mands that use the mark behave as if  the  mark  were  still  ac-
tive.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.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.Fand Eval
args  until one of them yields nil, then return nil.  The remain-
ing args are not evalled at all.  If no arg  yields  nil,  return
the  last  arg's value.Fif (if COND THEN ELSE...): 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 expres-
sion, but ELSE... can be  zero  or  more  expressions.   If  COND
yields nil, and there are no ELSE's, the value is nil.Fcond (cond
CLAUSES...): 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.Fprogn  (progn  BODY...):
eval  BODY forms sequentially and return value of last one.Fprog1
(prog1 FIRST BODY...): eval FIRST and  BODY  sequentially;  value
from FIRST.  The value of FIRST is saved during the evaluation of
the remaining args, whose values are discarded.Fprog2 (prog2 X  Y
BODY...):  eval  X,  Y  and BODY sequentially; value from Y.  The
value of Y is saved during the evaluation of the remaining  args,
whose  values are discarded.Fsetq (setq SYM VAL SYM VAL ...): set
each SYM to the value of its VAL.  The symbols SYM are variables;
they  are  literal  (not  evaluated).  The values VAL are expres-
sions; 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.Fquote Return the  argu-
ment,  without  evaluating  it.  `(quote x)' yields `x'.Ffunction
Like `quote', but preferred for objects which are functions.   In
byte  compilation, `function' causes its argument to be compiled.
`quote' cannot do that.Finteractive-p Return  t  if  function  in
which this appears was called interactively.  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 in keyboard macro).

(interactive-p)Fdefun (defun NAME ARGLIST  [DOCSTRING]  BODY...):
define  NAME  as  a  function.  The definition is (lambda ARGLIST
[DOCSTRING] BODY...).  See also the function  `interactive'.Fdef-
macro (defmacro NAME ARGLIST [DOCSTRING] BODY...): define NAME as
a macro.  The definition is  (macro  lambda  ARGLIST  [DOCSTRING]
BODY...).   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.Fdefvar  (defvar  SYMBOL
INITVALUE  DOCSTRING):  define SYMBOL as a variable.  You are not
required to define a variable in order to use it, but the defini-
tion  can supply documentation and an initial value in a way that
tags can recognize.

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.  INITVALUE  and  DOCSTRING
are optional.  If DOCSTRING starts with *, this variable is iden-
tified as a user option.
 This means that M-x set-variable and M-x edit-options  recognize
it.  If INITVALUE is missing, SYMBOL's value is not set.Fdefconst
(defconst SYMBOL INITVALUE DOCSTRING): define SYMBOL  as  a  con-
stant  variable.   The  intent is that neither programs nor users
should ever change this value.  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.   DOCSTRING  is  option-
al.Fuser-variable-p  Returns  t if VARIABLE is intended to be set
and modified by users.  (The alternative is a variable  used  in-
ternally  in  a  Lisp  program.)  Determined by whether the first
character of the documentation for the variable is `*'.

(user-variable-p  VARIABLE)Flet*  (let*  VARLIST  BODY...):  bind
variables  according to VARLIST then eval BODY.  The value of the
last form in BODY is returned.  Each element of VARLIST is a sym-
bol  (which  is bound to nil) or a list (SYMBOL VALUEFORM) (which
binds SYMBOL to the value of VALUEFORM).  Each VALUEFORM can  re-
fer  to  the  symbols  already  bound  by  this VARLIST.Flet (let
VARLIST BODY...): bind variables according to VARLIST  then  eval
BODY.  The value of the last form in BODY is returned.  Each ele-
ment of VARLIST is a symbol (which is bound to  nil)  or  a  list
(SYMBOL  VALUEFORM)  (which  binds  SYMBOL to the value of VALUE-
FORM).  All the VALUEFORMs are evalled  before  any  symbols  are
bound.Fwhile  (while  TEST BODY...): 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.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 species an environment of
macro definitions to shadow the loaded ones for use in file byte-
compilation.

(macroexpand   FORM   &optional   ENVIRONMENT)Fcatch  (catch  TAG
BODY...): 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, (throw TAG) with same
tag exits BODY and exits this  `catch'.   If  no  throw  happens,
`catch' returns the value of the last BODY form.  If a throw hap-
pens, it specifies the value to return from `catch'.Fthrow (throw
TAG  VALUE): throw to the catch for TAG and return VALUE from it.
Both TAG and VALUE are evalled.

(throw TAG VALUE)Funwind-protect Do BODYFORM, protecting with UN-
WINDFORMS.   Usage  looks  like  (unwind-protect BODYFORM UNWIND-
FORMS...).  If BODYFORM completes normally, its value is returned
after  executing  the UNWINDFORMS.  If BODYFORM exits nonlocally,
the UNWINDFORMS are executed anyway.Fcondition-case  Regain  con-
trol when an error is signaled.  Usage looks like (condition-case
VAR BODYFORM HANDLERS...).  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  expres-
sions.

A  handler  is applicable to an error if CONDITION-NAME is one of
the error's condition names.  If an error happens, the first  ap-
plicable handler is run.

The  car of a handler may be a list of condition names instead of
a single condition name.

When a handler handles an error, control returns  to  the  condi-
tion-case  and  the handler BODY... is executed with VAR bound to
(SIGNALED-CONDITIONS . SIGNAL-DATA).  VAR may be nil; then you do
not get access to the signal information.

The  value  of the last BODY form is returned from the condition-
case.  See also the function `signal' for more info.Fsignal  Sig-
nal  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.  If the signal is handled, DATA is made  available
to the handler.  See also the function `condition-case'.

(signal  ERROR-SYMBOL  DATA)Fcommandp  T if FUNCTION makes provi-
sions for interactive calling.  This means it contains a descrip-
tion  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.

(commandp  FUNCTION)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 func-
tion.  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.

(autoload  FUNCTION FILE &optional DOCSTRING INTERACTIVE TYPE)Fe-
val Evaluate FORM and return its value.

(eval FORM)Fapply Call FUNCTION with our  remaining  args,  using
our last arg as list of args.  Then return the value FUNCTION re-
turns.  Thus, (apply '+ 1 2 '(3  4))  returns  10.Frun-hooks  Run
each  hook  in HOOKS.  Major mode functions use this.  Each argu-
ment should be a symbol, a hook variable.  These symbols are pro-
cessed  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.

To  make a hook variable buffer-local, use `make-local-hook', not
`make-local-variable'.Frun-hook-with-args Run HOOK with the spec-
ified  arguments ARGS.  HOOK should be a symbol, a hook variable.
If HOOK 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 the given arguments and its  return
value is returned.  If it is a list of functions, those functions
are called, in order, with the given arguments ARGS.  It is  best
not  to  depend  on  the value return by `run-hook-with-args', as
that may change.

To make a hook variable buffer-local, use `make-local-hook',  not
`make-local-variable'.Frun-hook-with-args-until-success  Run HOOK
with the specified arguments ARGS.  HOOK should be  a  symbol,  a
hook variable.  Its value should be a list of functions.  We call
those functions, one by one, passing arguments ARGS  to  each  of
them,  until one of them returns a non-nil value.  Then we return
that value.  If all the functions return nil, we return nil.

To make a hook variable buffer-local, use `make-local-hook',  not
`make-local-variable'.Frun-hook-with-args-until-failure  Run HOOK
with the specified arguments ARGS.  HOOK should be  a  symbol,  a
hook variable.  Its value should be a list of functions.  We call
those functions, one by one, passing arguments ARGS  to  each  of
them, until one of them returns nil.  Then we return nil.  If all
the functions return non-nil, we return non-nil.

To make a hook variable buffer-local, use `make-local-hook',  not
`make-local-variable'.Ffuncall Call first argument as a function,
passing remaining arguments to it.  Return the value  that  func-
tion   returns.   Thus,  (funcall  'cons  'x  'y)  returns  (x  .
y).Ffetch-bytecode If byte-compiled OBJECT is lazy-loaded,  fetch
it now.

(fetch-bytecode  OBJECT)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.

(backtrace-debug  LEVEL  FLAG)Fbacktrace  Print  a  trace of Lisp
function calls currently active.  Output stream used is value  of
`standard-output'.

(backtrace)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 ar-
guments 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.

(backtrace-frame  NFRAMES)Vmax-specpdl-size  *Limit  on number of
Lisp variable bindings & unwind-protects.  If Lisp code tries  to
make more than this many at once, an error is signaled.Vmax-lisp-
eval-depth *Limit on depth in `eval', `apply' and  `funcall'  be-
fore  error.   This limit is to catch infinite recursions for you
before they cause actual stack overflow in C, which would be  fa-
tal  for  Emacs.  You can safely make it considerably larger than
its default value, if that proves inconveniently small.Vquit-flag
Non-nil causes `eval' to abort, unless `inhibit-quit' is non-nil.
Typing C-g sets  `quit-flag'  non-nil,  regardless  of  `inhibit-
quit'.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.Vstack-trace-on-error *Non-nil means automati-
cally display a backtrace buffer after any error that is  handled
by the editor command loop.  If the value is a list, an error on-
ly means to display a backtrace if one of its  condition  symbols
appears in the list.Vdebug-on-error *Non-nil means enter debugger
if an error is signaled.  Does not apply  to  errors  handled  by
`condition-case'.  If the value is a list, an error only means to
enter the debugger if one of its condition symbols appears in the
list.   See  also  variable `debug-on-quit'.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 er-
ror messages.  If any element applies to a given error, that  er-
ror skips the debugger and just returns to top level.  This over-
rides 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  `fun-
call'.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.Vmocklisp-arguments While in a  mocklisp  func-
tion,  the list of its unevaluated args.Vdebug-on-signal *Non-nil
means call the debugger regardless of condition  handlers.   Note
that  `debug-on-error',  `debug-on-quit' and friends still deter-
mine whether to handle the particular condition.Facos Return  the
inverse cosine of ARG.

(acos ARG)Fasin Return the inverse sine of ARG.

(asin ARG)Fatan Return the inverse tangent of ARG.

(atan ARG)Fcos Return the cosine of ARG.

(cos ARG)Fsin Return the sine of ARG.

(sin ARG)Ftan Return the tangent of ARG.

(tan ARG)Fbessel-j0 Return the bessel function j0 of ARG.

(bessel-j0 ARG)Fbessel-j1 Return the bessel function j1 of ARG.

(bessel-j1 ARG)Fbessel-jn Return the order N bessel function out-
put jn of ARG.  The first arg (the order) is truncated to an  in-
teger.

(bessel-jn N ARG)Fbessel-y0 Return the bessel function y0 of ARG.

(bessel-y0 ARG)Fbessel-y1 Return the bessel function y1 of ARG.

(bessel-y1 ARG)Fbessel-yn Return the order N bessel function out-
put  yn of ARG.  The first arg (the order) is truncated to an in-
teger.

(bessel-yn N ARG)Ferf Return the mathematical error  function  of
ARG.

(erf ARG)Ferfc Return the complementary error function of ARG.

(erfc ARG)Flog-gamma Return the log gamma of ARG.

(log-gamma ARG)Fcube-root Return the cube root of ARG.

(cube-root ARG)Fexp Return the exponential base e of ARG.

(exp ARG)Fexpt Return the exponential ARG1 ** ARG2.

(expt  ARG1  ARG2)Flog  Return  the natural logarithm of ARG.  If
second optional argument BASE is given, return log ARG using that
base.

(log  ARG  &optional  BASE)Flog10 Return the logarithm base 10 of
ARG.

(log10 ARG)Fsqrt Return the square root of ARG.

(sqrt ARG)Facosh Return the inverse hyperbolic cosine of ARG.

(acosh ARG)Fasinh Return the inverse hyperbolic sine of ARG.

(asinh ARG)Fatanh Return the inverse hyperbolic tangent of ARG.

(atanh ARG)Fcosh Return the hyperbolic cosine of ARG.

(cosh ARG)Fsinh Return the hyperbolic sine of ARG.

(sinh ARG)Ftanh Return the hyperbolic tangent of ARG.

(tanh ARG)Fabs Return the absolute value of ARG.

(abs ARG)Ffloat Return the floating point number equal to ARG.

(float ARG)Flogb Returns largest integer <= the base 2 log of the
magnitude of ARG.  This is the same as the exponent of a float.

(logb  ARG)Fceiling Return the smallest integer no less than ARG.
(Round toward +inf.)  With optional DIVISOR, return the  smallest
integer no less than ARG/DIVISOR.

(ceiling  ARG &optional DIVISOR)Ffloor Return the largest integer
no greater than ARG.  (Round towards -inf.)  With optional  DIVI-
SOR, return the largest integer no greater than ARG/DIVISOR.

(floor ARG &optional DIVISOR)Fround Return the nearest integer to
ARG.  With  optional  DIVISOR,  return  the  nearest  integer  to
ARG/DIVISOR.

(round  ARG &optional DIVISOR)Ftruncate Truncate a floating point
number to an int.  Rounds ARG toward zero.  With  optional  DIVI-
SOR, truncate ARG/DIVISOR.

(truncate ARG &optional DIVISOR)Ffceiling Return the smallest in-
teger no less than ARG, as a float.  (Round toward +inf.)

(fceiling ARG)Fffloor Return the largest integer no greater  than
ARG, as a float.  (Round towards -inf.)

(ffloor  ARG)Ffround  Return  the  nearest  integer  to ARG, as a
float.

(fround ARG)Fftruncate Truncate a floating point number to an in-
tegral float value.  Rounds the value toward zero.

(ftruncate ARG)Fidentity Return the argument unchanged.

(identity  ARG)Frandom  Return a pseudo-random number.  All inte-
gers representable in Lisp are equally likely.
  On most systems, this is 28 bits' worth.  With positive integer
argument  N,  return random number in interval [0,N).  With argu-
ment t, set the random number seed from the current time and pid.

(random  &optional N)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 the nec-
essarily the number of bytes in the string; it is the  number  of
characters.  To get the number of bytes, use `string-bytes'

(length  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  dis-
tinct elements.

(safe-length  LIST)Fstring-bytes  Return  the  number of bytes in
STRING.  If STRING is a multibyte string, this  is  greater  than
the length of STRING.

(string-bytes  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.

(string-equal S1 S2)Fcompare-strings Compare the contents of  two
strings, converting to multibyte if needed.  In string STR1, skip
the first START1 characters and stop at END1.   In  string  STR2,
skip the first START2 characters and stop at END2.  END1 and END2
default to the full lengths of the respective strings.

Case is significant in this comparison  if  IGNORE-CASE  is  nil.
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  begin-
ning.   If string STR1 is greater, the value is a positive number
N;
  N - 1 is the number of characters that match at the  beginning.

(compare-strings  STR1 START1 END1 STR2 START2 END2 &optional IG-
NORE-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.

(string-lessp 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.Fconcat Concatenate  all  the  arguments
and  make the result a string.  The result is a string whose ele-
ments are the elements of all the arguments.  Each  argument  may
be a string or a list or vector of characters (integers).

Do  not  use  individual  integers as arguments!  The behavior of
`concat' in that case will be changed  later!   If  your  program
passes  an  integer as an argument to `concat', you should change
it right away not to do so.Fvconcat Concatenate all the arguments
and  make the result a vector.  The result is a vector whose ele-
ments are the elements of all the arguments.  Each  argument  may
be  a  list,  vector  or string.Fcopy-sequence Return a copy of a
list, vector or string.  The elements of a list or vector are not
copied; they are shared with the original.

(copy-sequence  ARG)Fstring-make-multibyte  Return  the multibyte
equivalent of STRING.  The  function  `unibyte-char-to-multibyte'
is  used to convert each unibyte character to a multibyte charac-
ter.

(string-make-multibyte  STRING)Fstring-make-unibyte  Return   the
unibyte equivalent of STRING.  Multibyte character codes are con-
verted to unibyte by using just the low 8 bits.

(string-make-unibyte 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.

(string-as-unibyte 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.

(string-as-multibyte 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.

(copy-alist ALIST)Fsubstring Return a substring of STRING, start-
ing at index FROM and ending before TO.  TO may be nil  or  omit-
ted; then the substring runs to the end of STRING.  If FROM or TO
is negative, it counts from the end.

This function allows vectors as well as strings.

(substring STRING FROM &optional TO)Fnthcdr Take cdr N  times  on
LIST, returns the result.

(nthcdr  N  LIST)Fnth  Return  the Nth element of LIST.  N counts
from zero.  If LIST is not that long, nil is returned.

(nth N LIST)Felt Return element of SEQUENCE at index N.

(elt 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.

(member 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.

(memq ELT LIST)Fassq Return non-nil if KEY is `eq' to the car  of
an  element  of  LIST.  The value is actually the element of LIST
whose car is KEY.  Elements of LIST that are not conses  are  ig-
nored.

(assq KEY LIST)Fassoc Return non-nil if KEY is `equal' to the car
of an element of LIST.  The value is actually the element of LIST
whose car equals KEY.

(assoc  KEY  LIST)Frassq Return non-nil if ELT is `eq' to the cdr
of an element of LIST.  The value is actually the element of LIST
whose cdr is ELT.

(rassq  KEY  LIST)Frassoc Return non-nil if KEY is `equal' to the
cdr of an element of LIST.  The value is actually the element  of
LIST whose cdr equals KEY.

(rassoc  KEY  LIST)Fdelq Delete by side effect any occurrences of
ELT as a member of LIST.  The modified LIST is returned.  Compar-
ison  is  done  with  `eq'.   If the first member of LIST is ELT,
there is no way to remove it by  side  effect;  therefore,  write
`(setq  foo (delq element foo))' to be sure of changing the value
of `foo'.

(delq ELT LIST)Fdelete Delete by side effect any  occurrences  of
ELT as a member of LIST.  The modified LIST is returned.  Compar-
ison is done with `equal'.  If the first member of LIST  is  ELT,
deleting  it is not a side effect; it is simply using a different
list.  Therefore, write `(setq foo (delete element foo))'  to  be
sure of changing the value of `foo'.

(delete  ELT  LIST)Fnreverse Reverse LIST by modifying cdr point-
ers.  Returns the beginning of the reversed list.

(nreverse LIST)Freverse Reverse LIST, copying.  Returns  the  be-
ginning  of the reversed list.  See also the function `nreverse',
which is used more often.

(reverse 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 T if the first element is "less" than the second.

(sort  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.

(plist-get  PLIST PROP)Fget Return the value of SYMBOL's PROPNAME
property.  This is the last value stored with `(put SYMBOL  PROP-
NAME VALUE)'.

(get  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 ef-
fects.

(plist-put PLIST PROP VAL)Fput Store SYMBOL's  PROPNAME  property
with  value  VALUE.   It can be retrieved with `(get SYMBOL PROP-
NAME)'.

(put SYMBOL PROPNAME VALUE)Fequal Return t if  two  Lisp  objects
have similar structure and contents.  They must have the same da-
ta 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.

(equal  O1  O2)Ffillarray  Store each element of ARRAY with ITEM.
ARRAY is a vector, string, char-table, or bool-vector.

(fillarray ARRAY ITEM)Fchar-table-subtype Return the  subtype  of
char-table CHAR-TABLE.   The value is a symbol.

(char-table-subtype CHAR-TABLE)Fchar-table-parent Return the par-
ent 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).

(char-table-parent CHAR-TABLE)Fset-char-table-parent Set the par-
ent char-table of CHAR-TABLE to PARENT.  PARENT  must  be  either
nil or another char-table.

(set-char-table-parent  CHAR-TABLE  PARENT)Fchar-table-extra-slot
Return the value of CHAR-TABLE's extra-slot number N.

(char-table-extra-slot  CHAR-TABLE   N)Fset-char-table-extra-slot
Set CHAR-TABLE's extra-slot number N to VALUE.

(set-char-table-extra-slot  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 vector which iden-
tifies a character set or a row of a character set,  a  character
set name, or a character code.

(char-table-range  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 val-
ue) a vector which identifies a character set or a row of a char-
acter set, a coding system, or a character code.

(set-char-table-range  CHAR-TABLE RANGE VALUE)Fset-char-table-de-
fault Set the default value in CHAR-TABLE for a generic character
CHAR  to  VALUE.   The  generic  character specifies the group of
characters.  See also the documentation of make-char.

(set-char-table-default CHAR-TABLE CH VALUE)Fmap-char-table  Call
FUNCTION  for each (normal and generic) characters in CHAR-TABLE.
FUNCTION is called with two arguments--a key and  a  value.   The
key is always a possible IDX argument to `aref'.

(map-char-table FUNCTION CHAR-TABLE)Fnconc Concatenate any number
of lists by altering them.  Only the last  argument  is  not  al-
tered,  and  need not be a list.Fmapconcat Apply FUNCTION to each
element of SEQUENCE, and concat the results as strings.   In  be-
tween  each  pair  of  results, stick in SEPARATOR.  Thus, " " as
SEPARATOR results in spaces between the values returned by  FUNC-
TION.   SEQUENCE  may  be  a  list, a vector, a bool-vector, or a
string.

(mapconcat 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.

(mapcar FUNCTION SEQUENCE)Fy-or-n-p Ask user a "y or n" question.
Return t if answer is "y".  Takes  one  argument,  which  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.  Also accepts Space
to mean yes, or Delete to mean no.

Under a windowing system a dialog box will be used if  `last-non-
menu-event' is nil.

(y-or-n-p PROMPT)Fyes-or-no-p Ask user a yes-or-no question.  Re-
turn t if answer is yes.  Takes one argument, which 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-non-
menu-event' is nil.

(yes-or-no-p PROMPT)Fload-average Return  list  of  1  minute,  5
minute and 15 minute load averages.  Each of the three load aver-
ages 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, re-
turn  a  shortened list, containing only those averages which are
available.

(load-average &optional USE-FLOATS)Ffeaturep Returns 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  envi-
ronment  extensions.   Use `provide' to declare that a feature is
available.  This function looks at  the  value  of  the  variable
`features'.

(featurep  FEATURE)Fprovide Announce that FEATURE is a feature of
the current Emacs.

(provide FEATURE)Frequire If feature FEATURE is not loaded,  load
it  from  FILENAME.  If FEATURE is not a member of the list `fea-
tures', then the feature is not loaded; so load  the  file  FILE-
NAME.   If  FILENAME is omitted, the printname of FEATURE is used
as the file name, but in this case `load' insists on  adding  the
suffix  `.el'  or `.elc'.  If the optional third argument NOERROR
is non-nil, then return nil if the file is not  found.   Normally
the return value is FEATURE.

(require FEATURE &optional FILE-NAME NOERROR)Fwidget-plist-member
Return non-nil if PLIST has the property PROP.  PLIST is a  prop-
erty 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.

(widget-plist-member  PLIST PROP)Fwidget-put In WIDGET, set PROP-
ERTY to VALUE.  The value can later be  retrieved  with  `widget-
get'.

(widget-put  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'.

(widget-get WIDGET PROPERTY)Fwidget-apply Apply the value of WID-
GET's PROPERTY to the widget itself.  ARGS are  passed  as  extra
arguments to the function.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.

(base64-encode-region BEG END &optional NO-LINE-BREAK)Fbase64-en-
code-string Base64-encode STRING and return the result.  Optional
second argument NO-LINE-BREAK means do not break long lines  into
shorter lines.

(base64-encode-string  STRING &optional NO-LINE-BREAK)Fbase64-de-
code-region Base64-decode the region between BEG and END.  Return
the  length of the decoded text.  If the region can't be decoded,
return nil and don't modify the buffer.

(base64-decode-region BEG END)Fbase64-decode-string Base64-decode
STRING and return the result.

(base64-decode-string  STRING)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 ap-
plies to y-or-n and yes-or-no questions asked by commands invoked
by mouse clicks and mouse menu items.Fwrite-char Output character
CHARACTER  to  stream PRINTCHARFUN.  PRINTCHARFUN defaults to the
value of `standard-output' (which see).

(write-char  CHARACTER  &optional   PRINTCHARFUN)Fwith-output-to-
temp-buffer  Bind `standard-output' to buffer BUFNAME, eval BODY,
then show that buffer.  The buffer is cleared out initially,  and
marked  as  unmodified when done.  All output done by BODY is in-
serted in that buffer by default.  The buffer is displayed in an-
other  window,  but  not selected.  The value of the last form in
BODY is returned.  If BODY does not finish normally,  the  buffer
BUFNAME is not displayed.

The  hook  `temp-buffer-setup-hook'  is run before BODY, with the
buffer BUFNAME temporarily current.  The hook  `temp-buffer-show-
hook'  is run after the buffer is displayed, with the buffer tem-
porarily current, and the window that was used to display it tem-
porarily selected.

If  variable  `temp-buffer-show-function'  is non-nil, call it at
the end to get the buffer displayed instead  of  just  displaying
the  non-selected buffer and calling the hook.  It gets one argu-
ment, the buffer to display.Fterpri Output a  newline  to  stream
PRINTCHARFUN.   If  PRINTCHARFUN  is omitted or nil, the value of
`standard-output' is used.

(terpri &optional PRINTCHARFUN)Fprin1 Output the  printed  repre-
sentation  of  OBJECT,  any  Lisp object.  Quoting characters are
printed when needed to make output that `read' can handle,  when-
ever  this  is possible.  Output stream is PRINTCHARFUN, or value
of `standard-output' (which see).

(prin1 OBJECT &optional  PRINTCHARFUN)Fprin1-to-string  Return  a
string  containing the printed representation of OBJECT, any Lisp
object.  Quoting characters are used when needed to  make  output
that `read' can handle, whenever this is possible, unless the op-
tional second argument NOESCAPE is non-nil.

(prin1-to-string  OBJECT  &optional  NOESCAPE)Fprinc  Output  the
printed  representation  of  OBJECT, any Lisp object.  No quoting
characters are used; no delimiters are printed  around  the  con-
tents  of  strings.   Output  stream is PRINTCHARFUN, or value of
standard-output (which see).

(princ OBJECT &optional PRINTCHARFUN)Fprint  Output  the  printed
representation of OBJECT, with newlines around it.  Quoting char-
acters are printed when needed to make  output  that  `read'  can
handle,  whenever  this is possible.  Output stream is PRINTCHAR-
FUN, or value of `standard-output' (which see).

(print 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  debug-
ging output.


(external-debugging-output  CHARACTER)Ferror-message-string  Con-
vert an error value (ERROR-SYMBOL . DATA) to an error message.

(error-message-string 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 in-
serted  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  specifi-
cation, 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.DIG-
ITS".  Use `g' to choose the shorter of those two formats for the
number  at hand.  The precision in any of these cases is the num-
ber 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.Vprint-level  Maximum  depth  of list nesting to
print before abbreviating.  A value of nil means no limit.Vprint-
escape-newlines  Non-nil means print newlines in strings as back-
slash-n.   Also  print  formfeeds  as  backslash-f.Vprint-escape-
nonascii  Non-nil  means print unibyte non-ASCII chars in strings
as O.  (OOO is the octal representation of the  character  code.)
Only   single-byte   characters   are   affected,   and  only  in
`prin1'.Vprint-escape-multibyte  Non-nil  means  print  multibyte
characters  in  strings as XX.  (XXX 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,  and,  back-
quoted  forms print in the new syntax.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 larger data structure, in  ad-
dition use the #...# and #...= constructs as needed, so that mul-
tiple references to the same symbol are shared  once  again  when
the text is read back.

If  the  value of `print-gensym' is a cons cell, then in addition
refrain from clearing `print-gensym-alist' on entry to  and  exit
from  printing  functions, so that the use of #...# and #...= can
carry over for several separately printed  objects.Vprint-gensym-
alist  Association  list of elements (GENSYM . N) to guide use of
#N# and #N=.  In each element, GENSYM  is  an  uninterned  symbol
that  has  been  associated  with  #N= for the specified value of
N.Fread-char Read a character from the command input (keyboard or
macro).   It  is  returned as a number.  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-ASCII  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.

(read-char &optional PROMPT INHERIT-INPUT-METHOD)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 ar-
gument 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.

(read-event &optional PROMPT  INHERIT-INPUT-METHOD)Fread-char-ex-
clusive  Read  a  character  from  the command input (keyboard or
macro).  It is returned as a number.   Non-character  events  are
ignored.

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.

(read-char-exclusive &optional PROMPT  INHERIT-INPUT-METHOD)Fget-
file-char Don't use this yourself.

(get-file-char)Fload  Execute  a  file  of  Lisp code named FILE.
First try FILE with `.elc' appended, then try with `.el',
 then try FILE unmodified.  This function searches  the  directo-
ries 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.  If optional fourth arg
NOSUFFIX is non-nil, don't try adding
 suffixes `.elc' or `.el' to the specified name FILE.  If option-
al 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.
Return t if file exists.

(load  FILE  &optional NOERROR NOMESSAGE NOSUFFIX MUST-SUFFIX)Fe-
val-buffer Execute the current buffer as Lisp code.  Programs can
pass  two  arguments, BUFFER and PRINTFLAG.  BUFFER is the buffer
to evaluate (nil means use current buffer).   PRINTFLAG  controls
printing of output: nil means discard it; anything else is stream
for print.

If the optional third argument FILENAME is non-nil, it  specifies
the file name to use for `load-history'.

This function preserves the position of point.

(eval-buffer  &optional  BUFFER PRINTFLAG FILENAME UNIBYTE)Feval-
region Execute the region as Lisp code.  When  called  from  pro-
grams,  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: 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.

(eval-region  START  END  &optional PRINTFLAG READ-FUNCTION)Fread
Read one Lisp expression as text from STREAM, return as Lisp  ob-
ject.  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).

(read &optional STREAM)Fread-from-string Read one Lisp expression
which is represented as text by STRING.  Returns a cons: (OBJECT-
READ . FINAL-STRING-INDEX).  START and END optionally  delimit  a
substring of STRING from which to read;
 they default to 0 and (length STRING) respectively.

(read-from-string  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 argu-
ment specifies the obarray to use; it defaults to  the  value  of
`obarray'.

(intern  STRING &optional OBARRAY)Fintern-soft Return the canoni-
cal symbol whose name is STRING, or nil if none exists.  A second
optional  argument  specifies  the obarray to use; it defaults to
the value of `obarray'.

(intern-soft STRING &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 sym-
bol.  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'.

(unintern NAME &optional OBARRAY)Fmapatoms Call FUNCTION on every
symbol in OBARRAY.  OBARRAY defaults to the value of `obarray'.

(mapatoms 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  expres-
sions  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.Vload-path *List
of directories to search for files to load.  Each  element  is  a
string (directory name) or nil (try default directory).  Initial-
ized based on EMACSLOADPATH environment variable, if any,  other-
wise  to  default  specified  by  file  `epaths.h' when Emacs was
built.Vload-in-progress Non-nil iff inside of `load'.Vafter-load-
alist An alist of expressions to be evalled when particular files
are loaded.  Each element looks like (FILENAME  FORMS...).   When
`load'  is  run and the file-name argument is FILENAME, the FORMS
in the corresponding element are executed at the end of  loading.

FILENAME  must match exactly!  Normally FILENAME is the name of a
library, with no directory specified, since that is how `load' is
normally  called.   An error in FORMS does not undo the load, but
does prevent execution of the rest of the FORMS.Vload-history Al-
ist  mapping source file names to symbols and features.  Each al-
ist element is a list that starts with a file  name,  except  for
one element (optional) that starts with nil and describes defini-
tions evaluated from buffers not visiting files.   The  remaining
elements  of  each list are symbols defined as functions or vari-
ables, and cons cells `(provide . FEATURE)' and `(require .  FEA-
TURE)'.Vload-file-name   Full   name  of  file  being  loaded  by
`load'.Vuser-init-file File name, including directory, of  user's
initialization file.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'  for  loading an Emacs lisp source file.  This
function is for doing code conversion before reading  the  source
file.   If nil, loading is done without any code conversion.  Ar-
guments are FULLNAME, FILE, NOERROR, NOMESSAGE, where
 FULLNAME is the full name of FILE.  See `load' for  the  meaning
of  the remaining arguments.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 `load' converts strings to unibyte whenever
possible.   This  is normally used in `load-with-code-conversion'
for loading  non-compiled  files.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).Fmake-abbrev-table
Create a new, empty abbrev table object.

(make-abbrev-table)Fclear-abbrev-table Undefine  all  abbrevs  in
abbrev table TABLE, leaving it empty.

(clear-abbrev-table  TABLE)Fdefine-abbrev  Define  an  abbrev  in
TABLE named NAME, to expand to EXPANSION  and  call  HOOK.   NAME
must  be a string.  EXPANSION should usually be a string.  To un-
define 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,  the
abbrev is a special one,
 which  does  not  expand  in  the  usual way but only runs HOOK.
COUNT, if specified, initializes the abbrev's  usage-count  which
is incremented each time the abbrev is used.

(define-abbrev TABLE NAME EXPANSION &optional HOOK COUNT)Fdefine-
global-abbrev Define ABBREV as a global abbreviation  for  EXPAN-
SION.

(define-global-abbrev ABBREV EXPANSION)Fdefine-mode-abbrev Define
ABBREV as a mode-specific abbreviation for EXPANSION.

(define-mode-abbrev ABBREV  EXPANSION)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.

(abbrev-symbol ABBREV  &optional  TABLE)Fabbrev-expansion  Return
the  string  that ABBREV expands into in the current buffer.  Op-
tionally specify an abbrev table as second arg;  then  ABBREV  is
looked up in that table only.

(abbrev-expansion  ABBREV  &optional  TABLE)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.

(expand-abbrev)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.

(unexpand-abbrev)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 READ-
ABLE  is non-nil, a human-readable description is inserted.  Oth-
erwise the description is an expression, a  call  to  `define-ab-
brev-table',  which would define the abbrev table NAME exactly as
it is currently defined.

(insert-abbrev-table-description 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 HOOK USECOUNT).

(define-abbrev-table   TABLENAME  DEFINITIONS)Vabbrev-table-name-
list List of symbols whose values are  abbrev  tables.Vglobal-ab-
brev-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.Vfundamental-mode-abbrev-table The  abbrev  table
of  mode-specific  abbrevs  for Fundamental Mode.Vlast-abbrev The
abbrev-symbol of the  last  abbrev  expanded.   See  `abbrev-sym-
bol'.Vlast-abbrev-text  The exact text of the last abbrev expand-
ed.  nil if the abbrev has already been  unexpanded.Vlast-abbrev-
location  The  location  of  the start of the last abbrev expand-
ed.Vabbrev-start-location Buffer position for `expand-abbrev'  to
use  as  the  start of the abbrev.  nil means use the word before
point as  the  abbrev.   Calling  `expand-abbrev'  sets  this  to
nil.Vabbrev-start-location-buffer Buffer that `abbrev-start-loca-
tion' has been set for.  Trying to expand an abbrev in any  other
buffer  clears  `abbrev-start-location'.Vlocal-abbrev-table Local
(mode-specific) abbrev table of  current  buffer.Vabbrevs-changed
Set non-nil by defining or altering any word abbrevs.  This caus-
es `save-some-buffers' to offer to save the  abbrevs.Vabbrev-all-
caps *Set non-nil means expand multi-word abbrevs all caps if ab-
brev was so.Vpre-abbrev-expand-hook Function or functions  to  be
called  before abbrev expansion is done.  This is the first thing
that `expand-abbrev' does, and so this may change the current ab-
brev  table before abbrev lookup happens.Fsyntax-table-p Return t
if OBJECT is a syntax table.  Currently, any char-table counts as
a syntax table.

(syntax-table-p  OBJECT)Fsyntax-table  Return  the current syntax
table.  This is the one specified by the current buffer.

(syntax-table)Fstandard-syntax-table Return the  standard  syntax
table.  This is the one used for new buffers.

(standard-syntax-table)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.

(copy-syntax-table &optional TABLE)Fset-syntax-table Select a new
syntax table for the current  buffer.   One  argument,  a  syntax
table.

(set-syntax-table  TABLE)Fchar-syntax  Return  the syntax code of
CHARACTER, described by a character.  For example,  if  CHARACTER
is  a word constituent, the character `w' is returned.  The char-
acters that correspond to various syntax codes are listed in  the
documentation of `modify-syntax-entry'.

(char-syntax CHARACTER)Fmatching-paren Return the matching paren-
thesis of CHARACTER, or nil if none.

(matching-paren  CHARACTER)Fmodify-syntax-entry  Set  syntax  for
character CHAR according to string S.  The syntax is changed only
for table TABLE, which defaults to
 the current buffer's syntax table.  The  first  character  of  S
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 pre-
fix operator.
  <           comment starter.      >   comment ender.
  /           character-quote.      @   inherit  from  `standard-
syntax-table'.

Only  single-character comment start and end sequences are repre-
sented thus.  Two-character  sequences  are  represented  as  de-
scribed  below.  The second character of S is the matching paren-
thesis,
 used only if the first character is `(' or `)'.  Any  additional
characters  are flags.  Defined flags are the characters 1, 2, 3,
4, b, and p.
 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 up to two orthogonal comment sequences.  This is to
support language modes such as C++.  By default, all comment  se-
quences  are  of  style  a,  but you can set the comment sequence
style to b (on the second character of a  comment-start,  or  the
first character of a comment-end sequence) using this flag:
 b means CHAR is part of comment sequence b.

 p means CHAR is a prefix character for `backward-prefix-chars';
   such characters are treated as whitespace when they occur
   between expressions.

(modify-syntax-entry  CHAR S &optional TABLE)Fdescribe-syntax De-
scribe the syntax specifications in the syntax  table.   The  de-
scriptions are inserted in a buffer, which is then displayed.

(describe-syntax)Fforward-word   Move  point  forward  ARG  words
(backward if ARG is negative).  Normally returns t.  If  an  edge
of  the  buffer  is  reached,  point is left there and nil is re-
turned.

(forward-word COUNT)Fskip-chars-forward Move point forward, stop-
ping  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 as 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.  Returns the distance traveled, either zero or pos-
itive.

(skip-chars-forward   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 dis-
tance traveled, either zero or negative.

(skip-chars-backward  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 posi-
tive.

(skip-syntax-forward 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 SYN-
TAX starts with ^, skip characters whose syntax is NOT in SYNTAX.
This function returns the distance traveled, either zero or nega-
tive.

(skip-syntax-backward SYNTAX &optional LIM)Fforward-comment  Move
forward  across  up  to N comments.  If N is negative, move back-
ward.  Stop scanning if we find something other than a comment or
whitespace.   Set  point  to where scanning stops.  If N comments
are found as expected, with  nothing  except  whitespace  between
them, return t; otherwise return nil.

(forward-comment  COUNT)Fscan-lists  Scan  from  character number
FROM by COUNT lists.  Returns the character number of  the  posi-
tion thus found.

If DEPTH is nonzero, paren depth begins counting from that value,
only places where the depth in parentheses becomes zero are  can-
didates  for  stopping;  COUNT  such places are counted.  Thus, a
positive value for DEPTH means go out levels.

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 and the depth is wrong, an error  is  signaled.   If  the
depth is right but the count is not used up, nil is returned.

(scan-lists FROM COUNT DEPTH)Fscan-sexps Scan from character num-
ber 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.

(scan-sexps 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).

(backward-prefix-chars)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  STATE  is
omitted or nil,
 parsing assumes that FROM is the beginning of a function.  Value
is a list of ten 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. t if inside a comment.
 5. t if following a quote character.
 6. the minimum paren-depth encountered during this scan.
 7. t if in a comment of style b; `syntax-table' if the comment
    should be terminated by a generic comment delimiter.
 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 STATE is a nine-el-
ement list like what this function returns.
 It is used to initialize the state of the parse.  Elements  num-
ber 1, 2, 6
 and  8  are  ignored; you can leave off element 8 (the last) en-
tirely.  Sixth arg COMMENTSTOP non-nil means stop at the start of
a comment.
 If  it is `syntax-table', stop after the start of a comment or a
string,
 or after end of a comment or a string.

(parse-partial-sexp  FROM  TO  &optional  TARGETDEPTH  STOPBEFORE
STATE COMMENTSTOP)Vparse-sexp-ignore-comments Non-nil means `for-
ward-sexp', etc., should  treat  comments  as  whitespace.Vparse-
sexp-lookup-properties  Non-nil means `forward-sexp', etc., grant
`syntax-table' property.  The value of this  property  should  be
either  a  syntax  table,  or  a  cons  of the form (SYNTAXCODE .
MATCHCHAR), SYNTAXCODE being the numeric syntax  code,  MATCHCHAR
being  nil  or the character to match (which is relevant only for
open/close type.Vwords-include-escapes  Non-nil  means  `forward-
word', etc., should treat escape chars part of words.Fml-if Mock-
lisp version of `if'.Fml-nargs Number of arguments  to  currently
executing mocklisp function.

(ml-nargs)Fml-arg  Argument number N to currently executing mock-
lisp function.

(ml-arg N &optional PROMPT)Fml-interactive True if currently exe-
cuting mocklisp function was called interactively.

(ml-interactive)Fml-provide-prefix-argument Evaluate second argu-
ment, using first argument as prefix  arg  value.Fml-prefix-argu-
ment-loop  Fml-substr  Return  a substring of STRING, starting at
index FROM and of length LENGTH.  If either  FROM  or  LENGTH  is
negative, the length of STRING is added to it.

(ml-substr  STRING  FROM TO)Finsert-string Mocklisp-compatibility
insert function.  Like the function `insert' except that any  ar-
gument  that is a number is converted into a string by expressing
it in decimal.Fbyte-code Function used  internally  in  byte-com-
piled  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.

(byte-code 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.Fprocessp Return t  if  OB-
JECT is a process.

(processp  OBJECT)Fget-process  Return the process named NAME, or
nil if there is none.

(get-process NAME)Fget-buffer-process Return the (or  a)  process
associated  with  BUFFER.   BUFFER may be a buffer or the name of
one.

(get-buffer-process BUFFER)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.

(delete-process PROCESS)Fprocess-status Return the status of PRO-
CESS.  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 net-
work stream connection that is open.  closed  --  for  a  network
stream  connection  that  is  closed.  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.

(process-status PROCESS)Fprocess-exit-status Return the exit sta-
tus  of  PROCESS or the signal number that killed it.  If PROCESS
has not yet exited or died, return 0.

(process-exit-status PROCESS)Fprocess-id Return the process id of
PROCESS.   This is the pid of the Unix process which PROCESS uses
or talks to.  For a network connection, this value is nil.

(process-id 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.

(process-name 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 non-child chan-
nel, this is nil.

(process-command 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.

(process-tty-name  PROCESS)Fset-process-buffer Set buffer associ-
ated with PROCESS to BUFFER (a buffer, or nil).

(set-process-buffer  PROCESS  BUFFER)Fprocess-buffer  Return  the
buffer  PROCESS  is  associated with.  Output from PROCESS is in-
serted in this buffer unless PROCESS has a filter.

(process-buffer PROCESS)Fprocess-mark Return the marker  for  the
end of the last output from PROCESS.

(process-mark PROCESS)Fset-process-filter Give PROCESS the filter
function FILTER; nil means no filter.   t  means  stop  accepting
output  from the process.  When a process has a filter, each time
it does output the entire string of output is passed to the  fil-
ter.   The  filter gets two arguments: the process and the string
of output.  If the process has a filter, its buffer is  not  used
for output.

(set-process-filter  PROCESS  FILTER)Fprocess-filter  Returns the
filter function of PROCESS; nil if none.   See  `set-process-fil-
ter' for more info on filter functions.

(process-filter  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.

(set-process-sentinel PROCESS  SENTINEL)Fprocess-sentinel  Return
the sentinel of PROCESS; nil if none.  See `set-process-sentinel'
for more info on sentinels.

(process-sentinel PROCESS)Fset-process-window-size  Tell  PROCESS
that it has logical window size HEIGHT and WIDTH.

(set-process-window-size PROCESS HEIGHT WIDTH)Fset-process-inher-
it-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 asso-
ciated with PROCESS will be bound to the value of the coding sys-
tem 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  de-
code  the  process output is more appropriate for saving the pro-
cess 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.

(set-process-inherit-coding-system-flag PROCESS FLAG)Fprocess-in-
herit-coding-system-flag  Return the value of inherit-coding-sys-
tem 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.

(process-inherit-coding-system-flag   PROCESS)Fprocess-kill-with-
out-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.

(process-kill-without-query PROCESS &optional VALUE)Fprocess-con-
tact Return the contact info of PROCESS; t for a real child.  For
a net connection, the value is a cons cell of the form (HOST SER-
VICE).

(process-contact PROCESS)Fprocess-connection Return  the  connec-
tion  type  of  PROCESS.  The value is nil for a pipe, t or `pty'
for a pty, or `stream' for a socket connection.

(process-connection PROCESS)Flist-processes Display a list of all
processes.   Any process listed as exited or signaled is actually
eliminated after the listing is made.

(list-processes)Fprocess-list Return a list of all processes.

(process-list)Fstart-process Start a  program  in  a  subprocess.
Return  the  process object for it.  Args are NAME BUFFER PROGRAM
&rest PROGRAM-ARGS 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 associ-
ated
 with  any  buffer.   Third  arg  is  program  file  name.  It is
searched for in PATH.  Remaining arguments are  strings  to  give
program  as  arguments.Fopen-network-stream Open a TCP connection
for a service to a host.  Returns a subprocess-object  to  repre-
sent  the connection.  Input and output work as for subprocesses;
`delete-process' closes it.  Args are NAME BUFFER  HOST  SERVICE.
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 associ-
ated
 with any buffer Third arg is name of the host to connect to,  or
its  IP  address.   Fourth arg SERVICE is name of the service de-
sired, or an integer
 specifying a port number to connect to.

(open-network-stream NAME  BUFFER  HOST  SERVICE)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
TIMEOUT and third arg TIMEOUT-MSECS are number of seconds and mi-
croseconds to wait; return after that much time  whether  or  not
there is input.  Return non-nil iff we received any output before
the timeout expired.

(accept-process-output   &optional   PROCESS   TIMEOUT   TIMEOUT-
MSECS)Fwaiting-for-user-input-p Returns non-nil if emacs is wait-
ing for input from the user.  This is intended for use  by  asyn-
chronous process output filters and sentinels.

(waiting-for-user-input-p)Fprocess-send-region  Send current con-
tents 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 argu-
ments,  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.

(process-send-region PROCESS START END)Fprocess-send-string  Send
PROCESS  the  contents of STRING as input.  PROCESS may be a pro-
cess, a buffer, the name of a process or buffer, or nil, indicat-
ing  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.

(process-send-string PROCESS STRING)Fprocess-running-child-p  Re-
turn  t if PROCESS has given the terminal to a child.  If the op-
erating system does not make it possible to find  out,  return  t
unconditionally.

(process-running-child-p &optional PROCESS)Finterrupt-process In-
terrupt process PROCESS.  PROCESS may be a process, a buffer,  or
the  name  of  a  process or buffer.  nil or no arg 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.

(interrupt-process  &optional PROCESS CURRENT-GROUP)Fkill-process
Kill process PROCESS.  May be process or name of one.  See  func-
tion `interrupt-process' for more details on usage.

(kill-process  &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.

(quit-process  &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.

(stop-process  &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.

(continue-process &optional PROCESS CURRENT-GROUP)Fsignal-process
Send the process with process id PID the signal  with  code  SIG-
CODE.   PID  must be an integer.  The process need not be a child
of this Emacs.  SIGCODE may be an integer, or a symbol whose name
is a signal name.

(signal-process  PID  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.

(process-send-eof   &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.

(set-process-coding-system PROC &optional DECODING ENCODING)Fpro-
cess-coding-system  Return  a cons of coding systems for decoding
and encoding of PROCESS.

(process-coding-system   PROC)Vdelete-exited-processes   *Non-nil
means  delete  processes  immediately  when they exit.  nil means
don't delete them until `list-processes' is  run.Vprocess-connec-
tion-type Control type of device used to communicate with subpro-
cesses.  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.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 cur-
rent 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 command ar-
guments to PROGRAM.

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.Fcall-process-region Send text from START to END to a  syn-
chronous  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.
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 in-
serted.  Remaining args are passed to PROGRAM at startup as  com-
mand args.

If  BUFFER is nil, `call-process-region' returns immediately with
value nil.  Otherwise it waits for PROGRAM to terminate  and  re-
turns  a  numeric exit status or a signal description string.  If
you quit, the process is killed with SIGINT, or  SIGKILL  if  you
quit  again.Fgetenv Return the value of environment variable VAR,
as a string.  VAR should be a string.  Value is nil if VAR is un-
defined  in the environment.  This function consults the variable
``process-environment'' for its value.

(getenv VAR)Vshell-file-name *File name to load  inferior  shells
from.  Initialized from the SHELL environment variable.Vexec-path
*List of directories to search programs to run  in  subprocesses.
Each element is a string (directory name) or nil (try default di-
rectory).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  distribu-
tion.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-di-
rectory.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.Vtemp-file-name-
pattern  Pattern  for  making names for temporary files.  This is
used by `call-process-region'.Vprocess-environment List of  envi-
ronment  variables  for  subprocesses  to  inherit.  Each element
should be a string of the form ENVVARNAME=VALUE.  The environment
which  Emacs  inherits  is  placed  in  this  variable when Emacs
starts.Vmail-spool-directory Location of the system  mail  spool.
This is normally a directory like "usr/spool/mail".Vfacemenu-key-
bindings Alist of interesting faces and keybindings.   Each  ele-
ment  is itself a list: the car is the name of the face, the next
element is the key to use as a keyboard equivalent  of  the  menu
item; the binding is made in `facemenu-keymap'.

The  faces specifically mentioned in this list are put at the top
of the menu, in the order specified.  All other faces  which  are
defined, except for those in `facemenu-unlisted-faces', are list-
ed after them, but get no keyboard equivalents.

If you change this variable after loading facemenu.el,  you  will
need  to call `facemenu-update' to make it take effect.Vfacemenu-
new-faces-at-end *Where  in  the  menu  to  insert  newly-created
faces.  This should be nil to put them at the top of the menu, or
t to put them just before "Other" at the  end.Vfacemenu-unlisted-
faces  *List of faces not to include in the Face menu.  Each ele-
ment may be either a symbol, which is the name of a  face,  or  a
string,  which is a regular expression to be matched against face
names.  Matching faces will not be added to the menu.

You can set this list before loading facemenu.el, or add  a  face
to it before creating that face if you do not want it to be list-
ed.  If you change the variable so as  to  eliminate  faces  that
have  already  been  added to the menu, call `facemenu-update' to
recalculate the menu contents.

If this variable is t, no faces will be added to the menu.   This
is  useful for temporarily turning off the feature that automati-
cally adds faces to the menu  when  they  are  created.Vfacemenu-
face-menu  Menu  keymap  for faces.Vfacemenu-foreground-menu Menu
keymap  for  foreground   colors.Vfacemenu-background-menu   Menu
keymap  for  background  colorsVfacemenu-special-menu Menu keymap
for non-face text-properties.Vfacemenu-justification-menu Submenu
for  text  justification commands.Vfacemenu-indentation-menu Sub-
menu 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-add-face-function
Function called at beginning of text to change  or  `nil'.   This
function is passed the FACE to set and END of text to change, and
must return a string which is inserted.  It  may  set  `facemenu-
end-add-face'.Vfacemenu-end-add-face String to insert or function
called at end of text to  change  or  `nil'.   This  function  is
passed the FACE to set, and must return a string which is insert-
ed.Vfacemenu-remove-face-function When non-nil, this is  a  func-
tion  called  to remove faces.  This function is passed the START
and END of text to change.  May also be `t' meaning to use `face-
menu-add-face-function'.Vfacemenu-color-alist  Alist  of  colors,
used for completion.  If  null,  `facemenu-read-color'  will  set
it.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 Add FACE to the
region or next character typed.  It will be added to the  top  of
the  face  list;  any  faces lower on the list that will not show
through at all will be removed.

Interactively, the face to be used is read with the minibuffer.

If the region is active 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-fore-
ground Set the foreground color of the region or  next  character
typed.   The  color  is prompted for.  A face named `fg:color' is
used (or created).  If the region is active, it will  be  set  to
the  requested face.  If it is inactive (even if mark-even-if-in-
active is set) the next character that is  typed  (via  `self-in-
sert-command') will be set to the selected face.  Moving point or
switching buffers before  typing  a  character  cancels  the  re-
quest.Ffacemenu-set-background  Set  the  background color of the
region or next character typed.  The color is  prompted  for.   A
face named `bg:color' is used (or created).  If the region is ac-
tive, it will be set to the requested face.  If  it  is  inactive
(even if mark-even-if-inactive is set) the next character that is
typed (via `self-insert-command') will be  set  to  the  selected
face.   Moving point or switching buffers before typing a charac-
ter cancels the request.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; the face to  use  is  the  menu  item's
name.

If  the  region  is  active 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-in-
visible  Make  the  region  invisible.  This sets the `invisible'
text  property;  it  can  be  undone  with  `facemenu-remove-spe-
cial'.Ffacemenu-set-intangible Make the region intangible: disal-
low 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-spe-
cial'.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 in-
clude `invisible', `intangible' and  `read-only'.Flist-text-prop-
erties-at  Pop  up  a  buffer  listing  text-properties  at LOCA-
TION.Ffacemenu-read-color    Read    a    color     using     the
minibuffer.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.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  window-system server 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-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 sec-
tion 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-func-
tion'  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-func-
tion'.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-get-face Make sure FACE exists.  If not, cre-
ate it and add it to the appropriate menu.  Return the symbol.

If a window system is in use, and this function  creates  a  face
named  `fg:color',  then  it  sets  the foreground to that color.
Likewise, `bg:color' means to  set  the  background.   In  either
case, if the color is undefined, no color is set and a warning is
issued.Ffacemenu-add-new-face Add a FACE to the appropriate  Face
menu.  Automatically called when a new face is created.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.Vpi The value of Pi (3.1415926...)Ve The value of
e  (2.7182818...)Vdegrees-to-radians Degrees to radian conversion
constantVradians-to-degrees  Radian  to  degree  conversion  con-
stantFdegrees-to-radians Convert ARG from degrees to radians.Fra-
dians-to-degrees Convert ARG from radians to  degrees.Vframe-cre-
ation-function Window-system dependent function to call to create
a new frame.  The window system startup file should set  this  to
its frame creation function, which should take an alist of param-
eters as its argument.Vinitial-frame-alist *Alist of frame param-
eters  for creating the initial X window frame.  You can set this
in your `.emacs' file; for example,
 (setq initial-frame-alist '((top . 1) (left . 1)  (width  .  80)
(height  .  55)))  Parameters specified here supersede the values
given in `default-frame-alist'.

If the value calls for a frame without a minibuffer, and you have
not  created  a  minibuffer frame on your own, one is created ac-
cording to `minibuffer-frame-alist'.

You can specify geometry-related options  for  just  the  initial
frame  by  setting  this variable in your `.emacs' file; however,
they won't take effect until Emacs reads `.emacs', which  happens
after  first  creating  the frame.  If you want the frame to have
the proper geometry as soon as it appears, you need to  use  this
three-step  process:  *  Specify X resources to give the geometry
you want.  * Set `default-frame-alist' to override these  options
so that they
  don't affect subsequent frames.  * Set `initial-frame-alist' in
a way that matches the X resources,
  to override what you put in  `default-frame-alist'.Vminibuffer-
frame-alist  *Alist  of frame parameters for initially creating a
minibuffer frame.  You can set this in your  `.emacs'  file;  for
example,
 (setq minibuffer-frame-alist
   '((top  . 1) (left . 1) (width . 80) (height . 2))) Parameters
specified here supersede the values given  in  `default-frame-al-
ist',  for a minibuffer frame.Vpop-up-frame-alist *Alist of frame
parameters used when creating pop-up frames.  Pop-up  frames  are
used  for  completions, help, and the like.  This variable can be
set in your init file, like this:
  (setq pop-up-frame-alist '((width . 80) (height .  20)))  These
supersede  the  values given in `default-frame-alist', for pop-up
frames.Vspecial-display-frame-alist *Alist  of  frame  parameters
used  when  creating special frames.  Special frames are used for
buffers whose names are in `special-display-buffer-names' and for
buffers whose names match one of the regular expressions in `spe-
cial-display-regexps'.  This variable can be  set  in  your  init
file, like this:
  (setq  special-display-frame-alist  '((width  .  80)  (height .
20))) These supersede  the  values  given  in  `default-frame-al-
ist'.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.Fmake-frame-
on-display Make a frame on display DISPLAY.  The optional  second
argument  PARAMETERS specifies additional frame parameters.Fmake-
frame-command Make a new frame, and select  it  if  the  terminal
displays  only one 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.Fmake-frame Return a  newly  created
frame  displaying  the current buffer.  Optional argument PARAME-
TERS is an alist of 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 use  nei-
ther 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.

Before  the  frame  is  created  (via `frame-creation-function'),
functions on the hook `before-make-frame-hook'  are  run.   After
the  frame  is created, functions on `after-make-frame-functions'
are run with one arg, the  newly  created  frame.Ffiltered-frame-
list  Return  a  list  of  all  live  frames which satisfy PREDI-
CATE.Fminibuffer-frame-list Return a  list  of  all  frames  with
their  own  minibuffers.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.Vfocus-follows-mouse *Non-nil if window  sys-
tem changes focus when you move the mouse.Fother-frame Select the
ARG'th different visible frame, and raise it.  All frames are ar-
ranged  in  a  cyclic  order.  This command selects the frame ARG
steps away in that order.  A negative ARG moves in  the  opposite
order.Fselect-frame-by-name  Select  the frame whose name is NAME
and raise it.  If there is no frame by that name, signal  an  er-
ror.Fcurrent-frame-configuration Return a list describing the po-
sitions and states of all frames.  Its car  is  `frame-configura-
tion'.   Each element of the cdr is a list of the form (FRAME AL-
IST WINDOW-CONFIG), where
  FRAME is a frame object,
  ALIST is an association list specifying some of FRAME's parame-
ters, 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 posi-
tion, size, window configuration, and  other  parameters  set  as
specified  in  CONFIGURATION.   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-parameter Return FRAME's val-
ue  for  parameter PARAMETER.  If FRAME is nil, describe the cur-
rently selected frame.Fframe-height Return number of lines avail-
able  for  display  on  FRAME.  If FRAME is omitted, describe the
currently selected frame.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 font of  the
selected  frame  to  FONT.  When called interactively, prompt for
the name of the font to use.  To get the frame's current  default
font,  use `frame-parameters'.Fset-background-color Set the back-
ground color of the selected frame to COLOR.  When called  inter-
actively,  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.  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.  When called interactively, prompt
for the name of the color to use.  To  get  the  frame's  current
cursor  color,  use  `frame-parameters'.Fset-mouse-color  Set the
color of the mouse pointer of the selected frame to COLOR.   When
called  interactively,  prompt  for the name of the color to use.
To get  the  frame's  current  mouse  color,  use  `frame-parame-
ters'.Fset-border-color  Set  the  color of the border of the se-
lected frame to COLOR.  When called interactively, prompt for the
name of the color to use.  To get the frame's current border col-
or, use `frame-parameters'.Fauto-raise-mode Toggle whether or not
the  selected frame should auto-raise.  With arg, turn auto-raise
mode on if and only if arg is positive.  Note that this  controls
Emacs's  own  auto-raise feature.  Some window managers allow you
to enable auto-raise for certain windows.  You can use  that  for
Emacs windows if you wish, but if you do, that is beyond the con-
trol of Emacs and this command has no effect  on  it.Fauto-lower-
mode  Toggle whether or not the selected frame should auto-lower.
With arg, turn auto-lower mode on if and only if arg is positive.
Note  that  this  controls  Emacs's own auto-lower feature.  Some
window managers allow you to enable auto-lower for  certain  win-
dows.  You can use that for Emacs windows if you wish, but if you
do, that is beyond the control of Emacs and this command  has  no
effect  on  it.Fset-frame-name Set the name of the selected frame
to NAME.  When called interactively, prompt for the name  of  the
frame.  The frame name is displayed on the modeline if the termi-
nal displays only one frame, otherwise the name is  displayed  on
the  frame's  caption  bar.Fset-screen-width Obsolete function to
change the size of the screen to COLS columns.   Optional  second
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.
This  function  is provided only for compatibility with Emacs 18;
new code should use `set-frame-width  instead'.Fset-screen-height
Obsolete  function  to  change  the height of the screen to LINES
lines.  Optional second arg non-nil means that  redisplay  should
use  LINES  lines  but  that the idea of the actual height of the
screen should not be changed.  This function is provided only for
compatibility  with  Emacs  18;  new  code should use `set-frame-
height' instead.Vbuffers-menu-max-size *Maximum number of entries
which  may  appear on the Buffers menu.  If this is 10, then only
the ten most-recently-selected buffers are  shown.   If  this  is
nil,  then  all  buffers  are shown.  A large number or nil slows
down menu  responsiveness.Fnonincremental-search-forward  Read  a
string and search for it nonincrementally.Fnonincremental-search-
backward Read a string and search backward for it nonincremental-
ly.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.Fnonincremental-repeat-search-forward     Search
forward  for  the  previous search string.Fnonincremental-repeat-
search-backward  Search  backward   for   the   previous   search
string.Fnonincremental-repeat-re-search-forward   Search  forward
for the  previous  regular  expression.Fnonincremental-repeat-re-
search-backward  Search backward for the previous regular expres-
sion.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.Fkill-
this-buffer Kills the current buffer.Fdelete-frame-enabled-p  Re-
turn  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-mode  Toggle  display of a menu bar on each frame.
This command applies to all frames that exist and  frames  to  be
created  in the future.  With a numeric argument, if the argument
is  positive,  turn  on  menu  bars;  otherwise,  turn  off  menu
bars.Vmouse-yank-at-point  *If  non-nil, mouse yank commands yank
at point instead of  at  click.Fmouse-major-mode-menu  Pop  up  a
mode-specific  menu of mouse commands.Fmouse-delete-window Delete
the window you click on.  If the frame has just one window,  bury
the  current  buffer  instead.   This  command must be bound to a
mouse click.Fmouse-select-window Select the  window  clicked  on;
don't move point.Fmouse-tear-off-window Delete the window clicked
on, and create a new frame displaying  its  buffer.Fmouse-delete-
other-windows   Delete  all  window  except  the  one  you  click
on.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.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.Fmouse-drag-mode-line Change the  height  of  a  window  by
dragging  on  the  mode line.Fmouse-drag-vertical-line Change the
width of a window by dragging on  the  vertical  line.Fmouse-set-
point Move point to the position clicked on with the mouse.  This
should be bound to a mouse click  event  type.Fmouse-region-match
Return  non-nil if there's an active region that was set with the
mouse.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.Vmouse-scroll-delay *The pause between scroll steps  caused
by  mouse  drags,  in  seconds.  If you drag the mouse beyond the
edge of a window, Emacs scrolls the window to bring the text  be-
yond  that  edge into view, with a delay of this many seconds be-
tween scroll steps.  Scrolling stops when you move the mouse back
into  the  window,  or release the button.  This variable's value
may be non-integral.  Setting this to zero causes Emacs to scroll
as  fast as it can.Vmouse-scroll-min-lines *The minimum number of
lines scrolled by dragging mouse out of window.  Moving the mouse
out the top or bottom edge of the window begins scrolling repeat-
edly.  The number of lines scrolled per  repetition  is  normally
equal  to  the  number  of  lines beyond the window edge that the
mouse has moved.  However, it always scrolls at least the  number
of lines specified by this variable.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.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.Fmouse-skip-word Skip over word, over whitespace,  or
over  identical punctuation.  If DIR is positive skip forward; if
negative, skip backward.Vmouse-region-delete-keys  List  of  keys
which  shall cause the mouse region to be deleted.Fmouse-set-mark
Set mark at the position clicked on with the mouse.  Display cur-
sor at that position for a second.  This must be bound to a mouse
click.Fmouse-kill Kill the region between  point  and  the  mouse
click.  The text is saved in the kill ring, as with .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).  Prefix arguments are interpreted as  with  .
If  `mouse-yank-at-point'  is non-nil, insert at point regardless
of where you 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  .Fmouse-save-then-kill  Save  text  to
point  in kill ring; the second time, kill the text.  If the text
between point and the mouse is the same as what's at the front of
the  kill  ring,  this  deletes the text.  Otherwise, it adds the
text to the kill ring, like , which prepares for a  second  click
to delete the text.

If you have selected words or lines, this command extends the se-
lection through the word or line clicked  on.   If  you  do  this
again  in  a  different position, it extends the selection again.
If you do this twice in  the  same  position,  the  selection  is
killed.Fmouse-start-secondary Set one end of the secondary selec-
tion to the position clicked on.  Use  to set the other  end  and
complete  the  secondary  selection.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.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.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.Fmouse-kill-secondary Kill the text in the secondary selec-
tion.  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.Fmouse-secondary-save-
then-kill Save text to point in kill ring; the second time,  kill
the  text.  You must use this in a buffer where you have recently
done .  If the text between where you did  and where you use this
command matches the text at the front of the kill ring, this com-
mand deletes the text.  Otherwise, it adds the text to  the  kill
ring,  like , which prepares for a second click with this command
to delete the text.

If you have already made a secondary selection  in  that  buffer,
this  command  extends  or  retracts  the  selection to where you
click.  If you do this again in a different position, it  extends
or retracts again.  If you do this twice in the same position, it
kills the selection.Vmouse-buffer-menu-maxlen *Number of  buffers
in  one  pane  (submenu)  of the buffer menu.  If we have lots of
buffers, divide them into  groups  of  `mouse-buffer-menu-maxlen'
and  make  a  pane  (or submenu) for each one.Vmouse-buffer-menu-
mode-mult *Group the buffers by the major mode groups on ?   This
number  which  determines (in a hairy way) whether will split the
buffer menu by  the  major  modes  (see  `mouse-buffer-menu-mode-
groups')  or  just  by menu length.  Set to 1 (or even 0!) if you
want to group by major mode always, and to a large number if  you
prefer  a  mixed multitude.  The default is 4.Vmouse-buffer-menu-
mode-groups How to group various major modes together in .   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.Fmouse-choose-completion  Click on an alternative in
the `*Completions*' buffer  to  choose  it.Vx-fixed-font-alist  X
fonts  suitable  for use in Emacs.Fmouse-set-font Select an emacs
font from a list of known good fonts  and  fontsets.Fx-get-selec-
tion  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.Fx-get-
clipboard Return text pasted  to  the  clipboard.Fx-set-selection
Make an X Windows selection of type TYPE and value DATA.  The ar-
gument TYPE (default `PRIMARY') says which  selection,  and  DATA
specifies the contents.  DATA may be a string, a symbol, an inte-
ger (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 af-
ter you specify the selection can alter the  effective  value  of
the selection.

The  data may also be a vector of valid non-vector selection val-
ues.

Interactively, the text of the region is used  as  the  selection
value if the prefix arg is set.Fx-get-cut-buffer Returns the val-
ue of one of the 8 X server cut-buffers.  Optional arg  WHICH-ONE
should be a number from 0 to 7, defaulting to 0.  Cut buffers are
considered obsolete; you should  use  selections  instead.Fx-set-
cut-buffer  Store  STRING into the X server's primary cut buffer.
If PUSH is non-nil, also rotate the cut buffers: this  means  the
previous  value  of  the  primary cut buffer moves the second cut
buffer, and the second to the third,  and  so  on  (there  are  8
buffers.)   Cut  buffers  are considered obsolete; you should use
selections  instead.Fxselect-convert-to-class  EmacsFxselect-con-
vert-to-name  emacsFscroll-bar-event-ratio  Given  a  scroll  bar
event EVENT, return the scroll bar position as a ratio.  The val-
ue 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 Giv-
en a pair (NUM . DENOM) and WHOLE, return (/ (*  NUM  WHOLE)  DE-
NOM).   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  cur-
rent  buffer  corresponding  to that scroll bar position.Vscroll-
bar-mode-explicit Non-nil means `set-scroll-bar-mode' should  re-
ally  do  something.   This is nil while loading `scroll-bar.el',
and t  afterward.Fset-scroll-bar-mode  Set  `scroll-bar-mode'  to
VALUE and put the new value into effect.Vscroll-bar-mode *Specify
whether to have vertical scroll bars, and on which side.   Possi-
ble values are nil (no scroll bars), `left' (scroll bars on left)
and `right' (scroll bars on right).  To set this  variable  in  a
Lisp  program, use `set-scroll-bar-mode' to make it take real ef-
fect.  Setting the variable  with  a  customization  buffer  also
takes  effect.Fscroll-bar-mode  Toggle display of vertical scroll
bars on all frames.  This command applies to all frames that  ex-
ist and frames to be created in the future.  With a numeric argu-
ment, if the argument is negative, turn off scroll  bars;  other-
wise,  turn  on  scroll bars.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  se-
lected frame has horizontal scroll bars.  With arg, turn horizon-
tal 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.Vdisplay-subprocess-window If non-nil, the sub-
process window is displayed whenever input is  received.Vcommand-
prefix-string String to insert to distinguish commands entered by
user.Fsubprocess-input Handles input from a  subprocess.   Called
by  Emacs.Fsubprocess-exit  Called  by  Emacs upon subprocess ex-
it.Fstart-subprocess Spawns an asynchronous subprocess with  out-
put  redirected to the buffer *COMMAND*.  Within this buffer, use
C-m to send the last line to the subprocess or to  bring  another
line to the end.Fsubprocess-command-to-buffer Execute COMMAND and
redirect  output  into  BUFFER.Fsubprocess-command  Starts  asyn-
chronous  subprocess  if  not  running  and  switches to its win-
dow.Fcommand-send-input If at last line of buffer, sends the cur-
rent  line to the spawned subprocess.  Otherwise brings back cur-
rent line to the last  line  for  resubmission.Fcommand-kill-line
Kills the current line.  Used in command mode.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.Fmake-auto-save-file-name Return file name to use for
auto-saves of current buffer.  This function  does  not  consider
`auto-save-visited-file-name';  the  caller should check that be-
fore calling this function.  This is a separate function so  that
your  `.emacs' file or the site's `site-init.el' can redefine it.
See also `auto-save-file-name-p'.Fauto-save-file-name-p Return  t
if  FILENAME can be yielded by `make-auto-save-file-name'.  FILE-
NAME should lack slashes.  This is a separate  function  so  that
your  `.emacs'  file  or  the  site's `site-init.el' can redefine
it.Fvms-suspend-resume-hook When resuming suspended Emacs,  check
for  file  to be found.  If the logical name `EMACS_FILE_NAME' is
defined, `find-file' that file.Fvms-suspend-hook Don't allow sus-
pending if logical name `DONT_SUSPEND_EMACS' is defined.Fvms-com-
mand-line-again Reprocess command line arguments.  VMS  specific.
Command   line   arguments   are  initialized  from  the  logical
EMACS_COMMAND_ARGS which is defined by  kepteditor.com.   On  VMS
this  allows  attaching  to a spawned Emacs and doing things like
"emacs -l myfile.el -f doit"Fvms-pmail-setup Set up file assuming
use by VMS Mail utility.  The buffer is put into text-mode, auto-
save is turned off and the following bindings are established.

     vms-pmail-save-and-exit      vms-pmail-abort

All other Emacs commands  are  still  available.Vls-lisp-support-
shell-wildcards *Non-nil means file patterns are treated as shell
wildcards.  nil means they are  treated  as  Emacs  regexps  (for
backward  compatibility).  This variable is checked by  only when
`ls-lisp.el' package is  used.Vls-lisp-dired-ignore-case  Non-nil
causes   dired  buffers  to  sort  alphabetically  regardless  of
case.Vls-lisp-use-insert-directory-program Non-nil causes ls-lisp
to revert back to using `insert-directory-program'.  This is use-
ful on platforms where ls-lisp is dumped into Emacs, such as  Mi-
crosoft  Windows,  but  you  would still like to use a program to
list the contents of a directory.Finsert-directory Insert  direc-
tory  listing  for FILE, formatted according to SWITCHES.  Leaves
point after the inserted text.  SWITCHES may be a string  of  op-
tions,  or  a list of strings.  Optional third arg WILDCARD means
treat FILE as shell wildcard.  Optional fourth arg  FULL-DIRECTO-
RY-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'.   Depending
upon the value of `ls-lisp-use-insert-directory-program', it will
use an external program if non-nil or the lisp function `ls-lisp-
insert-directory'  otherwise.Fls-lisp-insert-directory Insert di-
rectory  listing  for  FILE,  formatted  according  to  SWITCHES.
Leaves  point  after the inserted text.  Optional third arg WILD-
CARD 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'.   It  does
not  run  any  external programs or shells.  It supports ordinary
shell wildcards if `ls-lisp-support-shell-wildcards' variable  is
non-nil;  otherwise,  it  interprets wildcards as regular expres-
sions to match file names.

Not all `ls' switches are supported.  The switches that work are:
A  a  c  i r S s t uFconvert-standard-filename Convert a standard
file's name to something suitable for the current OS.  This func-
tion's  standard definition is trivial; it just returns the argu-
ment.  However, on some systems, the function is redefined with a
definition  that  really  does  change  some  file  names.Fmode25
Changes the number of screen rows  to  25.Fmode4350  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.Vw32-system-shells List  of  strings  recog-
nized  as  Windows  NT/9X system shells.Fw32-using-nt Return t if
literally   running   on   Windows   NT   (i.e.,   not    Windows
9X).Fw32-shell-name   Return   the   name   of  the  shell  being
used.Fw32-shell-dos-semantics Return t if the  interactive  shell
being  used expects msdos shell semantics.Vw32-allow-system-shell
*Disable startup warning when using  "system"  shells.Fw32-check-
shell-configuration Check the configuration of shell variables on
Windows NT/9X.  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  inap-
propriate settings.Vw32-valid-locales List of locale ids known to
be supported.Fw32-list-locales List the name and id  of  all  lo-
cales  supported by Windows.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'.Fconvert-standard-filename Con-
vert a standard file's name to something suitable for the current
OS.   This function's standard definition is trivial; it just re-
turns the argument.  However, on some systems,  the  function  is
redefined  with  a  definition  that really does change some file
names.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
.Vfile-name-buffer-file-type-alist *Alist for distinguishing text
files  from  binary  files.   Each element has the form (REGEXP .
TYPE), where REGEXP is matched against the file name, and TYPE is
nil  for  text, t for binary.Ffind-buffer-file-type-coding-system
Choose a coding system for a file operation.  If COMMAND is  `in-
sert-file-contents',  the  coding system is chosen based upon the
filename,  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:                      `no-conversion'
    If the file does not exist:                   `undecided'
  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-buffer-file-
coding-system

If COMMAND 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 sys-
tem 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 pre-
fix  corresponding to the filesystem.Funtranslated-canonical-name
Return FILENAME in a canonicalized form for use  with  the  func-
tions  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 direc-
tory 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  corre-
sponding  to  the filesystem.  For example, for a Unix filesystem
mounted on drive Z:, FILESYSTEM could  be  "Z:".Vdirect-print-re-
gion-use-command-dot-com  *Control whether command.com is used 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 spe-
cific 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 val-
ue of `ps-printer-name' (which see), unless the value of `ps-lpr-
command' indicates a specific program  should  be  invoked.Vonly-
global-abbrevs  *t  means  user plans to use global abbrevs only.
This makes the commands that normally  define  mode-specific  ab-
brevs  define  global  abbrevs instead.Fabbrev-mode Toggle abbrev
mode.  With argument ARG, turn abbrev mode on iff  ARG  is  posi-
tive.  In abbrev mode, inserting an abbreviation causes it to ex-
pand and be replaced by its expansion.Vabbrev-mode Toggle  abbrev
mode.  Non-nil means automatically expand abbrevs as they are in-
serted.

This variable automatically becomes buffer-local when set in  any
fashion.  Changing it with  sets the default value.  Use the com-
mand `abbrev-mode' to enable or disable Abbrev mode in  the  cur-
rent  buffer.Vedit-abbrevs-map Keymap used in edit-abbrevs.Fkill-
all-abbrevs Undefine all defined  abbrevs.Finsert-abbrevs  Insert
after  point  a  description of all defined abbrevs.  Mark is set
after the inserted text.Flist-abbrevs Display a list of  all  de-
fined  abbrevs.Fedit-abbrevs-mode Major mode for editing the list
of abbrev definitions.  edit-abbrevs-map}Fedit-abbrevs Alter  ab-
brev  definitions  by  editing  a list of them.  Selects a buffer
containing a list of abbrev definitions.  You can edit  them  and
type  <edit-abbrevs-map>  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).Fedit-abbrevs-redefine  Redefine  abbrevs
according  to  current buffer contents.Fdefine-abbrevs Define ab-
brevs according to current visible buffer contents.  See documen-
tation  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.Fread-ab-
brev-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 print anything.Fqui-
etly-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 print anything.Fwrite-abbrev-file Write all abbrev defi-
nitions to a file of Lisp code.  The file written can  be  loaded
in another session to define the same abbrevs.  The argument FILE
is the file name to write.Fadd-mode-abbrev  Define  mode-specific
abbrev for last word(d) 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.Fadd-global-abbrev  Define  global (all modes) abbrev for
last word(d) 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.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.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.Fab-
brev-prefix-mark  Mark  current  point as the beginning of an ab-
brev.  Abbrev to be expanded starts here rather than at beginning
of  word.   This way, you can expand an abbrev with a prefix: in-
sert the prefix, use this command, then  insert  the  abbrev.Fex-
pand-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.  If
called from a Lisp program, arguments are START END &optional NO-
QUERY.VBuffer-menu-mode-map   FBuffer-menu-mode  Major  mode  for
editing a list of  buffers.   Each  line  describes  one  of  the
buffers  in  Emacs.   Letters  do not insert themselves; instead,
they are commands.  <Buffer-menu-mode-map>  -- select buffer  you
click on, in place of the buffer menu.   -- select current line's
buffer in place of the buffer menu.   -- select  that  buffer  in
another window,
  so  the  buffer menu buffer remains visible in its window.   --
make another window display that buffer.   -- mark current line's
buffer to be displayed.   -- select current line's buffer.
  Also  show buffers marked with m, in other windows.   -- select
that buffer in full-frame window.   -- select that buffer in  one
window,
  together  with  buffer selected before this one in another win-
dow.   -- visit-tags-table this buffer.   -- clear  modified-flag
on that buffer.   -- mark that buffer to be saved, and move down.
-- mark that buffer to be deleted, and move down.   -- mark  that
buffer  to  be  deleted,  and move up.   -- delete or save marked
buffers.   -- remove all kinds of marks from current line.
  With prefix argument, also move up one line.    --  back  up  a
line  and remove marks.   -- toggle read-only status of buffer on
this line.   -- update the list of buffers.   -- bury the  buffer
listed  on  this  line.FBuffer-menu-revert  Update  the  list  of
buffers.FBuffer-menu-buffer Return buffer described by this  line
of  buffer  menu.Fbuffer-menu  Make  a menu of buffers so you can
save, delete or select them.  With argument,  show  only  buffers
that  are visiting files.  Type ? after invocation to get help on
commands available.  Type q immediately to make the  buffer  menu
go  away.Fbuffer-menu-other-window  Display  a list of buffers in
another window.  With the  buffer  list  buffer,  you  can  save,
delete  or  select the buffers.  With argument, show only buffers
that are visiting files.  Type ? after invocation to get help  on
commands  available.   Type q immediately to make the buffer menu
go away.FBuffer-menu-mark Mark buffer on this line for being dis-
played by <Buffer-menu-mode-map> command.FBuffer-menu-unmark Can-
cel all requested operations on buffer  on  this  line  and  move
down.  Optional ARG means move up.FBuffer-menu-backup-unmark Move
up  and  cancel  all  requested  operations  on  buffer  on  line
above.FBuffer-menu-delete  Mark buffer on this line to be deleted
by  <Buffer-menu-mode-map>  command.   Prefix  arg  is  how  many
buffers  to delete.  Negative arg means delete backwards.FBuffer-
menu-delete-backwards Mark buffer on this line to be  deleted  by
<Buffer-menu-mode-map> command and then move up one line.  Prefix
arg means move that many lines.FBuffer-menu-save Mark  buffer  on
this  line to be saved by <Buffer-menu-mode-map> command.FBuffer-
menu-not-modified Mark buffer on  this  line  as  unmodified  (no
changes  to save).FBuffer-menu-execute Save and/or delete buffers
marked with <Buffer-menu-mode-map> or <Buffer-menu-mode-map> com-
mands.FBuffer-menu-select Select this line's buffer; also display
buffers marked with `>'.  You can mark buffers with the  <Buffer-
menu-mode-map>  command.   This  command deletes and replaces all
the previously existing windows in  the  selected  frame.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-mouse-select Se-
lect the buffer whose line you click  on.FBuffer-menu-this-window
Select  this line's buffer in this window.FBuffer-menu-other-win-
dow Select this line's buffer in  other  window,  leaving  buffer
menu visible.FBuffer-menu-switch-other-window Make the other win-
dow select this line's buffer.  The current  window  remains  se-
lected.FBuffer-menu-2-window Select this line's buffer, with pre-
vious buffer in second window.FBuffer-menu-toggle-read-only  Tog-
gle  read-only status of buffer on this line, perhaps via version
control.FBuffer-menu-bury  Bury  the  buffer   listed   on   this
line.Flist-buffers  Display  a list of names of existing buffers.
The list is displayed in a buffer named  `*Buffer  List*'.   Note
that  buffers  with names starting with spaces are omitted.  Non-
null optional arg FILES-ONLY means mention only file buffers.

The M column contains a * for buffers that are modified.   The  R
column contains a % for buffers that are read-only.Flist-buffers-
noselect Create and return a buffer with a list of names  of  ex-
isting  buffers.  The buffer is named `*Buffer List*'.  Note that
buffers with names starting with spaces  are  omitted.   Non-null
optional arg FILES-ONLY means mention only file buffers.

The  M  column contains a * for buffers that are modified.  The R
column contains a % for buffers that are read-only.Fdefsubst  De-
fine  an  inline  function.  The syntax is just like that of `de-
fun'.Fmake-obsolete Make the byte-compiler warn that FUNCTION  is
obsolete.   The warning will say that NEW should be used instead.
If NEW is a string, that is the `use instead' message.Fmake-obso-
lete-variable  Make the byte-compiler warn that VARIABLE is obso-
lete, and NEW should be used instead.  If NEW is a  string,  then
that is the `use instead' message.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.Feval-
when-compile Like `progn', but  evaluates  the  body  at  compile
time.  The result of the body appears to the compiler as a quoted
constant.Feval-and-compile Like `progn', but evaluates  the  body
at  compile time and at load time.Vcustom-define-hook Hook called
after defining each  customize  option.Fcustom-initialize-default
Initialize SYMBOL with VALUE.  This will do nothing if symbol al-
ready has a default binding.  Otherwise, if symbol has a  `saved-
value' property, it will evaluate the car of that and used 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  sym-
bol, 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) VAL-
UE.Fcustom-initialize-changed Initialize SYMBOL with VALUE.  Like
`custom-initialize-reset',  but  only  use the `:set' function if
the not using the standard setting.  For  the  standard  setting,
use  the `set-default'.Fcustom-declare-variable Like `defcustom',
but SYMBOL and DEFAULT are evaluated as  normal  arguments.   DE-
FAULT  should be an expression to evaluate to compute the default
value, not the default value itself.Fdefcustom Declare SYMBOL  as
a customizable variable that defaults to VALUE.  DOC is the vari-
able documentation.

Neither SYMBOL nor VALUE needs to be quoted.  If  SYMBOL  is  not
already  bound,  initialize it to VALUE.  The remaining arguments
should have the form

   [KEYWORD VALUE]...

The following keywords are meaningful:

:type     VALUE should be a widget type for editing  the  symbols
value.        The  default is `sexp'.  :options VALUE should be a
list of valid members of the widget type.  :group   VALUE  should
be a customization group.
        Add  SYMBOL to that group.  :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-default' :set VALUE
should  be  a  function  to set the value of the symbol.       It
takes two arguments, the symbol to set and the value to      give
it.   The  default  choice  of  function is `custom-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  `custom-default-value'.   :require       VALUE
should be a feature symbol.  If you save a  value       for  this
option,  then  when  your  `.emacs' file loads the value,      it
does (require VALUE) first.

Read the section about 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-face',  set  the  face  at-
tributes  as  specified  by that function, otherwise set the face
attributes according to SPEC.

The remaining arguments should have the form

   [KEYWORD VALUE]...

The following KEYWORDs are defined:

:group  VALUE should be a customization group.
        Add FACE to that group.

SPEC should be an alist of the form ((DISPLAY ATTS)...).

The first element of SPEC where the DISPLAY matches the frame  is
the  one that takes effect in that frame.  The ATTRs in this ele-
ment take effect; the other elements are ignored, on that  frame.

ATTS is a list of face attributes followed by their values:
  (ATTR   VALUE  ATTR  VALUE...)   The  possible  attributes  are
`:bold', `:italic', `:underline',  `:foreground',  `:background',
`:stipple' and `:inverse-video'.

DISPLAY  can either be the symbol t, which will match all frames,
or an alist of the form ((REQ ITEM...)...).  For the  DISPLAY  to
match  a  FRAME,  the REQ property of the frame must match one of
the ITEM.  The following REQ are defined:

`type' (the value of `window-system')
  Should be one of `x' or `tty'.

`class' (the frame's color support)
  Should be one of `color', `grayscale', or `mono'.

`background' (what color is used for the background text)
  Should be one of `light' or `dark'.

Read the section about customization in the Emacs Lisp manual for
more  information.Fcustom-declare-group Like `defgroup', but SYM-
BOL is evaluated as a normal argument.Fdefgroup Declare SYMBOL as
a  customization  group containing MEMBERS.  SYMBOL does not need
to be quoted.

Third arg DOC is the group documentation.

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, `cus-
tom-face'  for edit faces, and `custom-group' for editing groups.

The remaining arguments should have the form

   [KEYWORD VALUE]...

The following KEYWORD's are defined:

:group  VALUE should be a customization group.
        Add SYMBOL to that group.

Read the section about 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 that op-
tion,  overwrite it.Fcustom-handle-all-keywords For customization
option SYMBOL, handle keyword  arguments  ARGS.   Third  argument
TYPE  is  the  custom option type.Fcustom-handle-keyword For cus-
tomization option SYMBOL, handle KEYWORD with VALUE.  Fourth  ar-
gument  TYPE  is the custom option type.Fcustom-add-option To the
variable SYMBOL add OPTION.

If SYMBOL is a hook variable, OPTION should  be  a  hook  member.
For  other  types variables, the effect is undefined.Fcustom-add-
link To the custom option SYMBOL add the link WIDGET.Fcustom-add-
version To the custom option SYMBOL add the version VERSION.Fcus-
tom-add-load To the custom option SYMBOL add the dependency LOAD.
LOAD  should  be  either  a  library  file  name,  or  a  feature
name.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 nor-
mally has a local binding in every Customization  buffer.Fcustom-
set-variables Initialize variables according to user preferences.

The arguments should be a list where each entry has the form:

  (SYMBOL VALUE [NOW])

The unevaluated VALUE is stored as the saved  value  for  SYMBOL.
If  NOW is present and non-nil, VALUE is also evaluated and bound
as the default value for the  SYMBOL.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.Vlisp-mode-syntax-table     Vemacs-lisp-mode-syntax-table
Vlisp-mode-abbrev-table    Vlisp-imenu-generic-expression   Imenu
generic expression for  Lisp  mode.   See  `imenu-generic-expres-
sion'.Vshared-lisp-mode-map  Keymap  for  commands  shared by all
sorts of Lisp modes.Vemacs-lisp-mode-map Keymap  for  Emacs  Lisp
mode.   All  commands  in `shared-lisp-mode-map' are inherited by
this map.Femacs-lisp-byte-compile Byte compile the file  contain-
ing  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 com-
ments.  emacs-lisp-mode-map} Entry to this mode calls  the  value
of `emacs-lisp-mode-hook' if that value is non-nil.Vlisp-mode-map
Keymap for ordinary Lisp mode.   All  commands  in  `shared-lisp-
mode-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 .Vlisp-interaction-mode-map Keymap for  Lisp
Interaction mode.  All commands in `shared-lisp-mode-map' are in-
herited by this map.Flisp-interaction-mode Major mode for  typing
and evaluating Lisp forms.  Like Lisp mode except that  evals the
Lisp expression before point,  and  prints  its  value  into  the
buffer, advancing point.

Commands: Delete converts tabs to spaces as it moves back.  Para-
graphs are separated only by blank lines.  Semicolons start  com-
ments.   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.Feval-last-sexp Evaluate sexp  before  point;
print value in minibuffer.  With argument, print output into cur-
rent buffer.Feval-defun Evaluate defun that point is  in  or  be-
fore.   The value is displayed in the minibuffer.  If the current
defun is actually a call to `defvar', then reset the variable us-
ing the initial value expression even if the variable already has
some other value.  (Normally `defvar' does not change  the  vari-
able's value if it already has a value.)

With  argument,  insert  value in current buffer after the defun.
Return the result of evaluation.Vlisp-indent-offset Vlisp-indent-
function  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 appro-
priate 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 in-
dentation  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.Vlisp-body-indent Number of columns to indent the sec-
ond  line  of  a `(def...)' form.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  encoun-
tered.Flisp-fill-paragraph Like , but handle Emacs Lisp comments.
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 inden-
tation  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, assum-
ing 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.Vdefun-prompt-
regexp  *Non-nil  =>  regexp to ignore, before the character that
starts a defun.  This is only necessary if the opening  paren  or
brace  is  not in column 0.  See `beginning-of-defun'.Vparens-re-
quire-spaces  Non-nil  =>  `insert-parentheses'   should   insert
whitespace  as  needed.Fforward-sexp Move forward across one bal-
anced expression (sexp).  With argument, do it that  many  times.
Negative  arg  -N  means  move backward across N balanced expres-
sions.Fbackward-sexp Move backward across one balanced expression
(sexp).   With  argument, do it that many times.  Negative arg -N
means move forward across N balanced  expressions.Fmark-sexp  Set
mark ARG sexps from point.  The place mark goes is the same place
would move to with the same argument.Fforward-list  Move  forward
across  one  balanced group of parentheses.  With argument, do it
that many times.  Negative arg -N means move  backward  across  N
groups  of  parentheses.Fbackward-list  Move  backward across one
balanced group of parentheses.  With argument, do  it  that  many
times.   Negative  arg  -N  means move forward across N groups of
parentheses.Fdown-list Move forward down one level  of  parenthe-
ses.   With  argument, do this that many times.  A negative argu-
ment means move backward but still go down a level.  In Lisp pro-
grams,  an  argument  is required.Fbackward-up-list Move backward
out of one level of parentheses.  With  argument,  do  this  that
many  times.  A negative argument means move forward but still to
a less deep spot.  In Lisp programs, an argument is required.Fup-
list  Move  forward  out of one level of parentheses.  With argu-
ment, do this that many times.  A negative  argument  means  move
backward but still to a less deep spot.  In Lisp programs, an ar-
gument is required.Fkill-sexp Kill the sexp (balanced expression)
following  the cursor.  With argument, kill that many sexps after
the cursor.  Negative arg -N means kill N sexps before  the  cur-
sor.Fbackward-kill-sexp  Kill the sexp (balanced expression) pre-
ceding the cursor.  With argument, kill that  many  sexps  before
the  cursor.   Negative  arg -N means kill N sexps after the cur-
sor.Fbeginning-of-defun Move backward to the beginning of  a  de-
fun.   With  argument,  do  it  that many times.  Negative arg -N
means move forward to Nth following beginning of defun.   Returns
t unless search stops due to beginning or end of buffer.

Normally a defun starts when there is an char with open-parenthe-
sis syntax at the beginning of a line.  If  `defun-prompt-regexp'
is  non-nil,  then a string which matches that regexp may precede
the open-parenthesis, and point ends up at the beginning  of  the
line.Fbeginning-of-defun-raw  Move  point  to  the character that
starts a defun.  This is identical to beginning-of-defun,  except
that  point  does not move to the beginning of the line when `de-
fun-prompt-regexp' is non-nil.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 `beginning-
of-defun'.Fmark-defun Put mark at end of this defun, point at be-
ginning.  The defun marked is the one that contains point or fol-
lows point.Fnarrow-to-defun Make text outside current  defun  in-
visible.   The  defun  visible  is the one that contains point or
follows point.Finsert-parentheses Enclose following ARG sexps  in
parentheses.   Leave  point after open-paren.  A negative ARG en-
closes the preceding ARG sexps instead.  No argument  is  equiva-
lent  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 charac-
ters.Fmove-past-close-and-reindent Move past next `)', delete in-
dentation  before  it, then indent after it.Flisp-complete-symbol
Perform completion on Lisp symbol preceding point.  Compare  that
symbol against the known Lisp symbols.

The context determines which symbols are considered.  If the sym-
bol starts just after  an  open-parenthesis,  only  symbols  with
function definitions are considered.  Otherwise, all symbols with
function definitions, values or properties are  considered.Ffacep
Return  t  if  X is a face name or an internal face vector.Fface-
name Return the name of face FACE.Fface-id Return the internal ID
number of face FACE.Fface-font Return the font name of face FACE,
or nil if it is 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).
  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.Fface-foreground Return
the foreground color name of face 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.Fface-background Return the background color name  of  face
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.Fface-stipple  Return  the
stipple  pixmap name of face 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.Fface-underline-p  Return t if face FACE is underlined.  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  t if face FACE is in 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-font-explicit Return non-nil if this face's
font was explicitly specified.Fface-bold-p Return non-nil if  the
font  of  FACE is bold.  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-italic-p Return non-nil if  the
font of FACE is italic.  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-documentation Get the  documen-
tation  string  for  FACE.Fset-face-font  Change the font of face
FACE to FONT (a string).  If the optional FRAME argument is  pro-
vided,   change   only  in  that  frame;  otherwise  change  each
frame.Fset-face-font-auto Change the font of face FACE to FONT (a
string), for an automatic change.  An automatic change means that
we don't change the "explicit" flag; if the font was derived from
the frame font before, it is now.  If the optional FRAME argument
is provided, change only in that  frame;  otherwise  change  each
frame.Fset-face-font-explicit  Set the explicit-font flag of face
FACE to FLAG.  If the optional FRAME argument is provided, change
only  in  that frame; otherwise change each frame.Fset-face-fore-
ground Change the foreground color  of  face  FACE  to  COLOR  (a
string).  If the optional FRAME argument is provided, change only
in that frame; otherwise change each  frame.Vface-default-stipple
Default  stipple pattern used on monochrome displays.  This stip-
ple 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.Fface-color-gray-p Return t  if
COLOR  is  a  shade of gray (or white or black).  FRAME specifies
the frame and thus the display for interpreting  COLOR.Fset-face-
background  Change  the background color of face FACE to COLOR (a
string).  If the optional FRAME argument is provided, change only
in  that  frame;  otherwise  change  each frame.Fset-face-stipple
Change the stipple pixmap of face FACE to PIXMAP.  PIXMAP  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, PIXMAP may be a list of the form (WIDTH HEIGHT DA-
TA)  where WIDTH and HEIGHT are the size in pixels, and DATA is a
string, containing the raw bits of the bitmap.

If the optional FRAME argument is provided, change only  in  that
frame;  otherwise change each frame.Fset-face-underline-p Specify
whether face FACE is underlined.  (Yes  if  UNDERLINE-P  is  non-
nil.)  If the optional FRAME argument is provided, change only in
that frame; otherwise change each frame.Fset-face-inverse-video-p
Specify  whether face FACE is in inverse video.  (Yes if INVERSE-
VIDEO-P is non-nil.)  If the optional FRAME argument is provided,
change only in that frame; otherwise change each frame.Fset-face-
bold-p Specify whether face FACE is bold.  (Yes if BOLD-P is non-
nil.)  If the optional FRAME argument is provided, change only in
that frame; otherwise change each frame.Fset-face-italic-p Speci-
fy  whether  face  FACE is italic.  (Yes if ITALIC-P is non-nil.)
If the optional FRAME argument is provided, change only  in  that
frame;  otherwise  change  each frame.Fset-face-documentation Set
the documentation string for FACE to  STRING.Fmodify-face  Change
the  display attributes for face FACE.  If the optional FRAME ar-
gument is provided, change only in that frame;  otherwise  change
each frame.

FOREGROUND and BACKGROUND should be a colour name string (or list
of strings to try) or nil.  STIPPLE should be a  stipple  pattern
name  string or nil.  If nil, means do not change the display at-
tribute corresponding to that arg.  If (nil),  that  means  clear
out the attribute.

BOLD-P,  ITALIC-P, UNDERLINE-P, and INVERSE-P specify whether the
face should be set bold, italic, underlined or in  inverse-video,
respectively.   If one of these arguments is neither nil or t, it
means do not change the display attribute corresponding  to  that
argument.

If  called  interactively,  prompts  for a face name and face at-
tributes.Vglobal-face-data Internal data for face  support  func-
tions.   Not for external use.  This is an alist associating face
names with the default values for their parameters.  Newly creat-
ed  frames  get their data from here.Fface-list Returns a list of
all defined  face  names.Finternal-find-face  Retrieve  the  face
named NAME.  Return nil if there is no such face.  If the option-
al argument FRAME is given, this gets  the  face  NAME  for  that
frame;  otherwise,  it  uses the selected frame.  If FRAME is the
symbol t, then the global, non-frame face is returned.   If  NAME
is  already  a face, it is simply returned.Finternal-get-face Re-
trieve the face named NAME; error if there is none.  If  the  op-
tional  argument FRAME is given, this gets the face NAME for that
frame; otherwise, it uses the selected frame.  If  FRAME  is  the
symbol  t,  then the global, non-frame face is returned.  If NAME
is already a face, it is simply returned.Fmake-face Define a  new
FACE  on all frames.  You can modify the font, color, etc of this
face with the set-face- functions.  If NO-RESOURCES  is  non-nil,
then  we  ignore  X  resources  and  always make a face whose at-
tributes are all nil.

If the face already exists, it is unmodified.Fmake-empty-face De-
fine  a  new FACE on all frames, which initially reflects the de-
faults.  You can modify the font, color, etc of  this  face  with
the  set-face-  functions.  If the face already exists, it is un-
modified.Fcopy-face Define a face just like OLD-FACE,  with  name
NEW-FACE.   If  NEW-FACE already exists as a face, it is modified
to be like OLD-FACE.  If it doesn't already exist, it is created.

If  the  optional argument FRAME is given as a frame, NEW-FACE is
changed on FRAME only.  If FRAME is t, the frame-independent  de-
fault specification for OLD-FACE is copied to NEW-FACE.  If FRAME
is nil, copying is done for the  frame-independent  defaults  and
for  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.Fface-equal True if the
faces FACE1 and FACE2 display in the same way.Fface-differs-from-
default-p True if face FACE displays differently from the default
face, on FRAME.  A face is considered to be ``the same''  as  the
default face if it is actually specified in the same way (equiva-
lent fonts, etc) or if it is fully unspecified, and thus inherits
the attributes of any face it is displayed on top of.

The  optional  argument  FRAME  specifies which frame to test; if
FRAME is t, test the default for new frames.  If FRAME is nil  or
omitted,  test the selected frame.Fface-nontrivial-p True if face
FACE has some non-nil attribute.   The  optional  argument  FRAME
specifies  which  frame  to test; if FRAME is t, test the default
for new frames.  If FRAME is nil or omitted,  test  the  selected
frame.Finvert-face  Swap  the foreground and background colors of
face FACE.  If the face doesn't specify both foreground and back-
ground,  then  set  its  foreground and background to the default
background and foreground.Finternal-try-face-font Like  set-face-
font,  but returns nil on failure instead of an error.Fx-resolve-
font-name Return a font name matching PATTERN.  All wildcards  in
PATTERN become substantiated.  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.Fx-make-font-bold  Given
an  X  font  specification,  make  a bold version of it.  If that
can't be done, return nil.Fx-make-font-demibold Given an  X  font
specification,  make  a demibold version of it.  If that can't be
done, return nil.Fx-make-font-unbold Given an X  font  specifica-
tion,  make a non-bold version of it.  If that can't be done, re-
turn nil.Fx-make-font-italic Given an X font specification,  make
an  italic  version of it.  If that can't be done, return nil.Fx-
make-font-oblique Given an X font specification, make an  oblique
version  of  it.  If that can't be done, return nil.Fx-make-font-
unitalic Given an X font specification, make a non-italic version
of it.  If that can't be done, return nil.Fx-make-font-bold-ital-
ic Given an X font specification, make a bold and italic  version
of  it.   If  that can't be done, return nil.Fmake-face-bold Make
the font of the given face be bold, if possible.  If  NOERROR  is
non-nil, return nil on failure.Fmake-face-italic Make the font of
the given face be italic, if possible.  If  NOERROR  is  non-nil,
return nil on failure.Fmake-face-bold-italic Make the font of the
given face be bold and italic, if possible.  If NOERROR  is  non-
nil, return nil on failure.Fmake-face-unbold Make the font of the
given face be non-bold, if possible.  If NOERROR is non-nil,  re-
turn nil on failure.Fmake-face-unitalic Make the font of the giv-
en face be non-italic, if possible.  If NOERROR is  non-nil,  re-
turn  nil on failure.Vlist-faces-sample-text *Text string to dis-
play as the sample text for `list-faces-display'.Flist-faces-dis-
play  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'.

It  is  possible to give a particular face name different appear-
ances in different frames.  This command shows the appearance  in
the  selected frame.Fdescribe-face Display the properties of face
FACE.Fface-spec-match-p Return t if FACE, on FRAME, matches  what
SPEC  says it should look like.Fface-attr-construct Return a def-
face-style attribute list for FACE, as it exists on  FRAME.Fface-
spec-set Set FACE's face attributes according to the first match-
ing entry in SPEC.  If optional FRAME is non-nil, set it for that
frame only.  If it is nil, then apply SPEC to each frame individ-
ually.  See `defface' for information about  SPEC.Fface-spec-set-
match-display Non-nil iff 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.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 (de-
fault)  if  you  want  Emacs  to  examine  the   brightness   for
you.Fframe-set-background-mode  Set  up the `background-mode' and
`display-type' frame parameters for FRAME.Vdelete-auto-save-files
*Non-nil  means  delete  auto-save file when a buffer is saved or
killed.

Note that auto-save file will not be deleted  if  the  buffer  is
killed when it has unsaved changes.Vdirectory-abbrev-alist *Alist
of abbreviations for file directories.  A list of elements of the
form  (FROM  .  TO), each meaning to replace FROM with TO when it
appears in a directory name.  This replacement is done when  set-
ting  up  the default directory of a newly visited file.  *Every*
FROM string should start with `^'.

Do not use `~' in the TO strings.  They should be ordinary  abso-
lute directory names.

Use this feature when you have directories which you normally re-
fer to via absolute symbolic links.  Make  TO  the  name  of  the
link,  and FROM the name it is linked to.Vmake-backup-files *Non-
nil means make a backup of a file the first  time  it  is  saved.
This can be done by renaming the file or by copying.

Renaming means that Emacs renames the existing file so that it is
a backup file, then writes the buffer into a new file.  Any other
names  that  the  old file had will now refer to the backup file.
The new file is owned by you and its group is defaulted.

Copying means that Emacs copies the existing file into the backup
file,  then  writes  the buffer on top of the existing file.  Any
other names that the old file had  will  now  refer  to  the  new
(edited) file.  The file's owner and group are unchanged.

The  choice of renaming or copying is controlled by the variables
`backup-by-copying', `backup-by-copying-when-linked' and `backup-
by-copying-when-mismatch'.   See also `backup-inhibited'.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  lo-
cal.Vbackup-by-copying  *Non-nil means always use copying to cre-
ate backup files.  See documentation  of  variable  `make-backup-
files'.Vbackup-by-copying-when-linked  *Non-nil means use copying
to create backups for files with multiple names.  This causes the
alternate  names  to refer to the latest version as edited.  This
variable is relevant only if `backup-by-copying' is  nil.Vbackup-
by-copying-when-mismatch *Non-nil means create backups by copying
if this preserves owner or group.  Renaming  may  still  be  used
(subject  to control of other variables) when it would not result
in changing the owner or group of the file; that  is,  for  files
which  are owned by you and whose group matches the default for a
new file created there by you.  This variable is relevant only if
`backup-by-copying'   is  nil.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-offer-save *Non-nil in a buffer means offer
to  save  the buffer on exit even if the buffer is not visiting a
file.  Automatically local  in  all  buffers.Vfind-file-existing-
other-name *Non-nil means find a file under alternative names, in
existing buffers.  This means if any existing buffer is  visiting
the file you want under another name, you get the existing buffer
instead of a new buffer.Vfind-file-visit-truename *Non-nil  means
visit a file under its truename.  The truename of a file is found
by chasing all links both at the file level and at the levels  of
the  containing  directories.Vrevert-without-query *Specify which
files should be reverted without query.  The value is a  list  of
regular expressions.  If the file name matches one of these regu-
lar expressions, then `revert-buffer' reverts  the  file  without
querying  if the file has changed on disk and you have not edited
the buffer.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.Vfile-name-invalid-
regexp Regexp recognizing file names which aren't allowed by  the
filesystem.Vfile-precious-flag *Non-nil means protect against I/O
errors while saving files.  Some modes set this non-nil  in  par-
ticular buffers.

This  feature  works by writing the new contents into a temporary
file and then renaming the temporary file to replace  the  origi-
nal.   In  this way, any I/O error in writing leaves the original
untouched, and there is never  any  instant  where  the  file  is
nonexistent.

Note  that  this  feature  forces  backups to be made by copying.
Yet, at the same time, saving a precious  file  breaks  any  hard
links between it and other files.Vversion-control *Control use of
version numbers for backup files.  t means  make  numeric  backup
versions  unconditionally.   nil  means  make them for files that
have some already.  `never' means do not  make  them.Vdired-kept-
versions   *When   cleaning  directory,  number  of  versions  to
keep.Vdelete-old-versions *If t, delete  excess  backup  versions
silently.   If  nil,  ask confirmation.  Any other value prevents
any trimming.Vkept-old-versions *Number  of  oldest  versions  to
keep  when a new numbered backup is made.Vkept-new-versions *Num-
ber of newest versions to keep when  a  new  numbered  backup  is
made.   Includes  the new backup.  Must be > 0Vrequire-final-new-
line *Value of t says silently ensure a file ends  in  a  newline
when it is saved.  Non-nil but not t says ask user whether to add
a newline when  there  isn't  one.   nil  means  don't  add  new-
lines.Vauto-save-default  *Non-nil says by default do auto-saving
of every file-visiting buffer.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.Vsave-abbrevs  *Non-nil  means  save  word abbrevs too when
files are saved.  Loading an abbrev file sets  this  to  t.Vfind-
file-run-dired  *Non-nil  says  run dired if `find-file' is given
the name of a directory.Vfind-file-not-found-hooks List of  func-
tions  to  be  called for `find-file' on nonexistent file.  These
functions are called as soon as the error is detected.   `buffer-
file-name'  is  already  set up.  The functions are called in the
order given until one of  them  returns  non-nil.Vfind-file-hooks
List  of  functions  to be called after a buffer is loaded from a
file.  The buffer's local variables (if any) will have been  pro-
cessed  before the functions are called.Vwrite-file-hooks 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 writ-
ten and the rest are not called.  These hooks are  considered  to
pertain  to  the  visited  file.   So this list is cleared if you
change the visited file name.

Don't make this variable buffer-local; instead, use `local-write-
file-hooks'.   See also `write-contents-hooks'.Vlocal-write-file-
hooks Just like  `write-file-hooks',  except  intended  for  per-
buffer  use.   The  functions  in this list are called before the
ones in `write-file-hooks'.

This variable is meant to be used for hooks that have to do  with
a  particular  visited file.  Therefore, it is a permanent local,
so that changing the major mode  does  not  clear  it.   However,
calling  `set-visited-file-name'  does  clear it.Vwrite-contents-
hooks List of functions to be called before writing out a  buffer
to  a  file.  If one of them returns non-nil, the file is consid-
ered already written and the rest are not called.

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  chang-
ing the major mode does clear it.

This  variable  automatically becomes buffer-local whenever it is
set.  If you use `add-hook' to add elements to the list, use  nil
for the LOCAL argument.

See  also `write-file-hooks'.Venable-local-variables *Control use
of local variables in files you visit.  The value can be  t,  nil
or something else.  A value of t means file local variables spec-
ifications are obeyed; nil means they are ignored; anything  else
means  query.   This  variable  also  controls use of major modes
specified in a -*- line.

The command , when used interactively, always  obeys  file  local
variable  specifications and the -*- line, and ignores this vari-
able.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 the
file will be ignored.

This variable does not affect the use of major modes specified in
a  -*-  line.Venable-local-eval *Control processing of the "vari-
able" `eval' in a file's local variables.  The value  can  be  t,
nil or something else.  A value of t means obey `eval' variables;
nil means ignore them; anything else means query.

The command  always obeys local-variables lists and ignores  this
variable.Vview-read-only  *Non-nil  means  buffers visiting files
read-only, do it in view mode.Vtemporary-file-directory  The  di-
rectory  for writing temporary files.Vnull-device The system null
device.Fconvert-standard-filename Convert a standard file's  name
to  something suitable for the current OS.  This function's stan-
dard definition is trivial; it just returns the argument.  Howev-
er,  on some systems, the function is redefined with a definition
that really does change some file names.Fpwd Show the current de-
fault  directory.Vcd-path  Value  of the CDPATH environment vari-
able, as a list.  Not actually set up until the  first  time  you
you  use  it.Fparse-colon-path  Explode  a colon-separated search
path into a list of directory names.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 colon-separated list of
directories when resolving a relative  directory  name.Fload-file
Load  the  Lisp  file  named  FILE.Fload-library Load the library
named  LIBRARY.   This  is   an   interface   to   the   function
`load'.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, which should be absolute.  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.

The  arguments  COUNTER  and PREV-DIRS are used only in recursive
calls.  Do not  specify  them  in  other  calls.Ffile-chase-links
Chase  links  in  FILENAME until a name that is not a link.  Does
not examine containing directories for links, unlike  `file-true-
name'.Fswitch-to-buffer-other-window  Select buffer BUFFER in an-
other window.  Optional second arg NORECORD non-nil means do  not
put  this  buffer  at  the front of the list of recently selected
ones.Fswitch-to-buffer-other-frame Switch to buffer BUFFER in an-
other  frame.   Optional second arg NORECORD non-nil means do not
put this buffer at the front of the  list  of  recently  selected
ones.Ffind-file  Edit file FILENAME.  Switch to a buffer visiting
file FILENAME, creating one if none already exists.  Interactive-
ly,  or if WILDCARDS is non-nil in a call from Lisp, expand wild-
cards (if any) and visit  multiple  files.Ffind-file-other-window
Edit  file FILENAME, in another window.  May create a new window,
or reuse an existing one.   See  the  function  `display-buffer'.
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.  May create a
new frame, or reuse an existing one.  See the function  `display-
buffer'.   Interactively,  or  if  WILDCARDS is non-nil in a call
from  Lisp,  expand  wildcards  (if  any)  and   visit   multiple
files.Ffind-file-read-only  Edit  file  FILENAME  but don't allow
changes.  Like  but marks buffer as read-only.   Use   to  permit
editing.Ffind-file-read-only-other-window  Edit  file FILENAME in
another window but don't allow changes.  Like  but  marks  buffer
as read-only.  Use  to permit editing.Ffind-file-read-only-other-
frame Edit  file  FILENAME  in  another  frame  but  don't  allow
changes.   Like   but  marks buffer as read-only.  Use  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.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.Fcreate-file-buffer Create a suitably named buffer for  vis-
iting 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.Fgenerate-new-buffer Create
and return a buffer with  a  name  based  on  NAME.   Choose  the
buffer's  name  using  `generate-new-buffer-name'.Vautomount-dir-
prefix Regexp to match the  automounter  prefix  in  a  directory
name.Vabbreviated-home-dir The user's homedir abbreviated accord-
ing  to  `directory-abbrev-list'.Fabbreviate-file-name  Return  a
version  of  FILENAME  shortened  using `directory-abbrev-alist'.
This also substitutes "~" for the user's  home  directory.   Type
directory-abbrev-alist  RET  for more information.Vfind-file-not-
true-dirname-list *List  of  logical  names  for  which  visiting
shouldn't  save  the true dirname.  On VMS, when you visit a file
using a logical name that searches a path, you  may  or  may  not
want the visited file name to record the specific directory where
the file was found.  If you *do not* want that, add  the  logical
name  to  this  list as a string.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 there is no  such
live buffer, return nil.Vfind-file-wildcards *Non-nil means file-
visiting commands should handle wildcards.  For example,  if  you
specify  `*.c',  that would visit all the files whose names match
the pattern.Ffind-file-noselect Read file FILENAME into a  buffer
and return the buffer.  If a buffer exists visiting FILENAME, re-
turn 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 first arg NOWARN non-nil means suppress any
warning  messages.  Optional second arg RAWFILE non-nil means the
file is read literally.  Optional  third  arg  WILDCARDS  non-nil
means  do  wildcard  processing and visit all the matching files.
When wildcards are actually used and expanded,  the  value  is  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 af-
ter reading into the buffer, to Emacs features such as format de-
coding, character code conversion, find-file-hooks, automatic un-
compression, etc.

This function ensures that none of these modifications will  take
place.Finsert-file-literally Insert contents of file FILENAME in-
to 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' in-
stead.  (Its calling sequence is different;  see  its  documenta-
tion).Vfind-file-literally  Non-nil  if  this  buffer was made by
`find-file-literally' or equivalent.  This  is  a  permanent  lo-
cal.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 re-
sulting buffer.  The major mode used is Fundamental mode  regard-
less  of  the file name, and local variable specifications in the
file are ignored.  Automatic uncompression 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 vis-
iting 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-liter-
ally'.Fafter-find-file Called after finding a file and by the de-
fault 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 non-nil
 means this call was from  `revert-buffer'.   Fifth  arg  NOMODES
non-nil  means don't alter the file's modes.  Finishes by calling
the  functions  in  `find-file-hooks'  unless  NOMODES  is   non-
nil.Fnormal-mode  Choose the major mode for this buffer automati-
cally.  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': if it  is  t,
we do; if it is nil, we don't; otherwise, we query.  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' in-
teractively, or from Lisp without specifying the  optional  argu-
ment  FIND-FILE;  in that case, this function acts as if `enable-
local-variables' were t.Vauto-mode-alist Alist of  filename  pat-
terns  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.Vin-
terpreter-mode-alist  Alist  mapping  interpreter  names to major
modes.  This alist applies to files whose first line starts  with
`#!'.   Each element looks like (INTERPRETER . MODE).  The car of
each element is compared with the name of the interpreter  speci-
fied  in  the  first  line.   If it matches, mode MODE is select-
ed.Vinhibit-first-line-modes-regexps  List  of  regexps;  if  one
matches  a  file  name, don't look for `-*-'.Vinhibit-first-line-
modes-suffixes List of regexps for what to ignore, for  `inhibit-
first-line-modes-regexps'.   When  checking  `inhibit-first-line-
modes-regexps', we first discard from the end of  the  file  name
anything  that  matches one of these regexps.Vuser-init-file File
name, including directory, of user's initialization file.Fset-au-
to-mode  Select  major mode appropriate for current buffer.  This
checks for a -*- mode tag in  the  buffer's  text,  compares  the
filename  against the entries in `auto-mode-alist', or checks the
interpreter that runs this file against `interpreter-mode-alist'.

It  does  not  check  for the `mode:' local variable in the Local
Variables section of the file; for  that,  use  `hack-local-vari-
ables'.

If  `enable-local-variables' is nil, this function does not check
for a -*- mode tag.

If the optional argument JUST-FROM-FILE-NAME is non-nil, then  we
do not set anything but the major mode, and we don't even do that
unless it would come from  the  file  name.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.Fhack-local-variables  Parse  and  put  into   effect   this
buffer's  local  variables spec.  If MODE-ONLY is non-nil, all we
do is check whether the major mode is specified, returning  t  if
it  is specified.Vignored-local-variables Variables to be ignored
in a file's local variable spec.Vchange-major-mode-with-file-name
*Non-nil  means   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.   The  next
time  the buffer is saved it will go in the newly specified file.
nil or empty string as argument means make buffer not be 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  ask-
ing  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 FILE-
NAME.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
M-n.

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  argu-
ment.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.  If the value is non-nil, it 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.

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.Ffile-name-
sans-versions Return FILENAME 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.Ffile-ownership-preserved-p Returns 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 `.'.Ffile-name-
extension Return FILENAME's final "extension".  The extension, in
a  file  name, is the part that follows the last `.'.  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  "".Fmake-backup-file-name  Create the non-numeric
backup file name for FILE.  This is a separate  function  so  you
can redefine it for customization.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, return
the backup number.  Uses the free  variable  `backup-extract-ver-
sion-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,  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.Ffile-nlinks Re-
turn number of names file FILENAME  has.Ffile-relative-name  Con-
vert  FILENAME  to be relative to DIRECTORY (default: default-di-
rectory).  This function returns a relative file  name  which  is
equivalent  to  FILENAME when used with that default directory as
the default.  If this is impossible (which can  happen  on  MSDOS
and  Windows when the file name and directory use different drive
names) then it returns FILENAME.Fsave-buffer Save current  buffer
in  visited  file if modified.  Versions described below.  By de-
fault, makes the previous version into a backup file
 if previously requested or if this is the first save.  With 1  ,
marks this version
 to become a backup when the next save is done.  With 2 's,
 unconditionally  makes  the previous version into a backup file.
With 3 '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 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  ver-
sions 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-con-
trol' 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  pre-
vious versions.)

See   the   subroutine   `basic-save-buffer'  for  more  informa-
tion.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 any-
way.Vauto-save-hook  Normal  hook  run  just   before   auto-sav-
ing.Vafter-save-hook  Normal  hook  that is run after a buffer is
saved to its file.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-sys-
tem',  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-hooks', `local-
write-file-hooks' and `write-file-hooks' get a chance to  do  the
job  of  saving;  if they do not, then the buffer is saved in the
visited file file in the usual way.   After  saving  the  buffer,
this function runs `after-save-hook'.Fsave-some-buffers Save some
modified file-visiting buffers.  Asks user about each  one.   Op-
tional argument (the prefix) non-nil means save all with no ques-
tions.  Optional second argument EXITING means ask about  certain
non-file buffers
 as  well as about file buffers.Fnot-modified Mark current buffer
as unmodified, not needing to be saved.  With  prefix  arg,  mark
buffer as modified, so  will save.

It  is not a good idea to use this function in Lisp programs, be-
cause it prints a message in the minibuffer.  Instead, use  `set-
buffer-modified-p'.Ftoggle-read-only  Change  whether this buffer
is visiting its file read-only.  With arg, set read-only iff  arg
is  positive.  If visiting file read-only and `view-read-only' is
non-nil, enter view mode.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 FILE-
NAME.  When called from  a  function,  expects  three  arguments,
START, END and FILENAME.  START and END are buffer positions say-
ing what text to  write.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 tak-
en.   This function is useful for creating multiple shell process
buffers or multiple mail buffers, etc.Fmake-directory Create  the
directory  DIR  and  any nonexistent parent dirs.  Interactively,
the default choice of directory to create is the current  default
directory for file names.  That is useful when you have visited a
file in a nonexistent directory.

Noninteractively, the second  (optional)  argument  PARENTS  says
whether to create parent directories if they don't exist.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'  re-
ceived.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 read-
ing the auto-save file.

The function you specify is responsible for updating (or preserv-
ing) point.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  differ-
ence if you have buffer-local hook functions.

If `revert-buffer-function' is used to override the normal revert
mechanism, this hook is not used.Frevert-buffer  Replace  current
buffer  text with the text of the visited file on disk.  This un-
does 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 works for special  buffers  that  contain  text
which doesn't come from a file, but reflects some other data base
instead: for example, Dired buffers and buffer-list buffers.   In
these  cases, it reconstructs the buffer contents from the appro-
priate data base.

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  ar-
gument,  for  the sake of backward compatibility.  IGNORE-AUTO is
optional, defaulting to nil.

Optional second argument NOCONFIRM means don't ask for  confirma-
tion at all.  (The local variable `revert-without-query', if non-
nil, prevents confirmation.)

Optional third argument PRESERVE-MODES non-nil means don't  alter
the  files  modes.   Normally we reinitialize them using `normal-
mode'.

If the value of `revert-buffer-function' is non-nil, it is called
to  do  all the work for this command.  Otherwise, the hooks `be-
fore-revert-hook' and `after-revert-hook' are run at  the  begin-
ning  and  the  end,  and if `revert-buffer-insert-file-contents-
function' is non-nil, it is called instead of  rereading  visited
file  contents.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  spe-
cial  Dired buffer created by .Fkill-some-buffers For each buffer
in LIST, ask whether to kill it.  LIST defaults to  all  existing
live  buffers.Fauto-save-mode  Toggle  auto-saving of contents of
current buffer.  With prefix argument ARG, turn auto-saving on if
positive, else off.Frename-auto-save-file Adjust current buffer's
auto save file name for current conditions.  Also rename any  ex-
isting 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  rede-
fine  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 equiv-
alent regexp.  The generated regexp will match a filename iff the
filename  matches  that  wildcard according to shell rules.  Only
wildcards  known  by  `sh'  are  supported.Vlist-directory-brief-
switches  *Switches  for list-directory to pass to `ls' for brief
listing,Vlist-directory-verbose-switches *Switches  for  list-di-
rectory  to  pass  to `ls' for verbose listing,Ffile-expand-wild-
cards Expand wildcard pattern PATTERN.  This returns  a  list  of
file names which match the pattern.

If PATTERN is written as an absolute relative file name, the val-
ues 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 abso-
lute.Flist-directory Display a  list  of  files  in  or  matching
DIRNAME,  a  la  `ls'.  DIRNAME is globbed by the shell if neces-
sary.  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'.Vinsert-di-
rectory-program  Absolute  or  relative  name of the `ls' program
used  by  `insert-directory'.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 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'.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  cancelled.   `save-buffers-kill-emacs'  () calls these
functions, but `kill-emacs', the low level primitive,  does  not.
See also `kill-emacs-hook'.Fsave-buffers-kill-emacs Offer to save
each buffer, then kill this  Emacs  process.   With  prefix  arg,
silently  save all file-visiting buffers, then kill.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).

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.   Use  nil  to
avoid
        matching  at  all for formats for which this isn't appro-
priate to
        require explicit encoding/decoding.

FROM-FN is called to decode files in that  format;  it  gets  two
args, BEGIN
        and END, and can make any modifications it likes, return-
ing 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  is
passed three
        arguments:  BEGIN, END, and BUFFER.  BUFFER is the origi-
nal 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.       Alter-
natively, 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.Fformat-encode-run-method   Translate  using  function  or
shell script METHOD the text from FROM to TO.   If  METHOD  is  a
string,  it  is  a  shell command; otherwise, it should be a Lisp
function.  BUFFER should be the buffer that the output originally
came  from.Fformat-decode-run-method  Decode  using  function  or
shell script METHOD the text from FROM to TO.   If  METHOD  is  a
string,  it  is  a  shell command; otherwise, it should be a Lisp
function.  Decoding is done for  the  given  BUFFER.Fformat-anno-
tate-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.  This function works like a function on `write-region-
annotate-functions':  it either returns a list of annotations, or
returns with a different buffer current, which contains the modi-
fied text to write.

For  most  purposes,  consider  using  `format-encode-region' in-
stead.Fformat-decode Decode text from any known  FORMAT.   FORMAT
is  a  symbol  appearing in `format-alist' or a list of such sym-
bols, or nil, in which case this function tries to guess the for-
mat  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 list of formats used,  and  call  any
mode functions defined for those formats.

Returns the new length of the decoded region.

For  most  purposes,  consider  using  `format-decode-region' in-
stead.Fformat-decode-buffer Translate the buffer from  some  FOR-
MAT.   If  the format is not specified, this function attempts to
guess.  `buffer-file-format' is set to the format used,  and  any
mode-functions  for  the  format are called.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-en-
code-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-en-
code-region Translate the region into some  FORMAT.   FORMAT  de-
faults  to `buffer-file-format', it is a symbol naming one of the
formats defined  in  `format-alist',  or  a  list  of  such  sym-
bols.Fformat-write-file  Write  current buffer into file FILENAME
using some FORMAT.  Makes buffer visit that  file  and  sets  the
format as 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.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 op-
tional third and fourth arguments BEG and END specify the part 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-for-
mat'; it may be nil.  Formats are defined in `format-alist'.  Op-
tional arg is the PROMPT to use.Fformat-replace-strings Do multi-
ple 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 2nd 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.   Compares  using `equal'.Fformat-common-tail Given two
lists that have a common tail, return it.  Compares with `equal',
and returns the part of A that is equal to the equivalent part of
B.  If even the last items of the  two  are  not  equal,  returns
nil.Fformat-reorder  Arrange  ITEMS  to  following partial ORDER.
Elements of ITEMS equal to elements of ORDER will  be  rearranged
to  follow the ORDER.  Unmatched items will go last.Fformat-dean-
notate-region Translate annotations in the region into text prop-
erties.  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 an-
notation.  It should return a list of 4 elements: (BEGIN END NAME
POSITIVE).  BEGIN and END are buffer positions bounding the anno-
tation,  NAME is the name searched for in TRANSLATIONS, and POSI-
TIVE 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 anno-
tation.  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' proper-
ty, 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 PARAME-
TER 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.  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  re-
gions.   Each list must contain nonoverlapping, noncontiguous re-
gions, 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.Fformat-property-increment-region Over
the region between FROM and 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.  Inserts 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-OFF-
SET+1 (ie, the offset is treated as the character number  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 prop-
erty 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.   Searches  for
changes  between  FROM  and TO, and describes them with a list of
annotations as defined by alist TRANSLATIONS and FORMAT-FN.   IG-
NORE  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 re-
turn 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 are VALUES of that property followed by the names of ze-
ro or more ANNOTATIONS.  Whenever the property takes on that val-
ue, the annotations (as formatted by FORMAT-FN) are inserted into
the file.  When the property stops having that value, the  match-
ing  negated  annotation  will  be  inserted  (it may actually be
closed earlier and reopened, if necessary, to keep  proper  nest-
ing).

If  the property's 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  lists  of  annotations  like
`format-annotate-location' does.

    The  same  structure  can  be  used  in  reverse  for reading
files.Fformat-annotate-location Return  annotation(n)  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 argu-
ment IGNORE is a list of text-properties not  to  consider.   Use
the TRANSLATIONS alist.

Return  value  is a vector of 3 elements: 1. List of names of the
annotations to close 2. List of the names of annotations to open.
3.  List  of properties that were ignored or couldn't be annotat-
ed.Fformat-annotate-single-property-change Return annotations for
property  PROP  changing from OLD to NEW.  These are searched for
in the translations alist TRANS.  If NEW does not appear  in  the
list,  but  there  is  a  default function, then that function is
called.  Annotations to open and to close are returned as a  dot-
ted  pair.Fformat-annotate-atomic-property-change  Internal func-
tion annotate a single property change.  PROP-ALIST is the  rele-
vant  segment  of  a TRANSLATIONS list.  OLD and NEW are the val-
ues.Vhelp-map Keymap for characters following the Help key.Vhelp-
mode-map  Keymap  for  help mode.Ffinder-by-keyword Find packages
matching a given keyword.Vhelp-xref-stack  A  stack  of  ways  by
which  to  return to help buffers after following xrefs.  Used by
`help-follow' and `help-xref-go-back'.   An  element  looks  like
(POSITION FUNCTION ARGS...).  To use the element, do (apply FUNC-
TION ARGS)  then  (goto-char  POSITION).Vhelp-xref-stack-item  An
item  for  `help-follow'  in this buffer to push onto `help-xref-
stack'.  The format is (FUNCTION ARGS...).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}Fhelp-quit  Just  exit  from  the Help command's command
loop.Fhelp-with-tutorial Select the Emacs learn-by-doing  tutori-
al.   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.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  mes-
sage  in  the buffer.Vhelp-return-method What to do to "exit" the
help buffer.  This is a list
 (WINDOW . t)              delete the selected window, go to WIN-
DOW.
 (WINDOW . quit-window)    do quit-window, then select WINDOW.
 (WINDOW  BUF START POINT)  display BUF at START, POINT, then se-
lect WINDOW.Fprint-help-return-message Display or return  message
saying  how  to  restore  windows after help command.  Computes a
message and applies the optional argument  FUNCTION  to  it.   If
FUNCTION  is  nil, applies `message' to it, thus printing it.Fde-
scribe-key Display documentation of the function invoked by  KEY.
KEY  is  a string.Fdescribe-mode Display documentation of current
major mode and minor modes.  The  major  mode  description  comes
first, followed by 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.Fdescribe-distribu-
tion 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-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 pre-
fix described consists of all but the last event of the  key  se-
quence that ran this command.Fview-emacs-news Display info on re-
cent changes to Emacs.  With numeric argument display information
on  correspondingly  older  changes.Fview-emacs-FAQ  Display  the
Emacs Frequently Asked Questions (FAQ) file.Fview-lossage Display
last  100  input  keystrokes.Fhelp-for-help-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> to exit the
Help command.)

a  command-apropos.  Give a substring, and see a list of commands
     (functions  interactively  callable)  that contain      that
substring.  See also the  apropos   command.   b   describe-bind-
ings.   Display  table  of  all  key  bindings.  c  describe-key-
briefly.  Type a command key sequence;      it prints  the  func-
tion  name  that sequence runs.  C  describe-coding-system.  This
describes either a specific coding system
        (if you type its name) or the coding systems currently in
use       (if  you type just RET).  f  describe-function.  Type a
function name and get documentation of it.  C-f  Info-goto-emacs-
command-node.  Type a function name;      it takes you to the In-
fo node for that command.   i   info.  The   info   documentation
reader.   I   describe-input-method.   Describe  a specific input
method (if you type      its name) or the  current  input  method
(if  you  type  just RET).  C-i  info-lookup-symbol.  Display the
definition of a specific symbol
        as found in the manual for the language  this  buffer  is
written  in.   k   describe-key.   Type  a  command key sequence;
     it displays the full  documentation.   C-k  Info-goto-emacs-
key-command-node.  Type a command key sequence;      it takes you
to the Info node for the command bound to that key.  l  view-los-
sage.  Show last 100 characters you typed.  L  describe-language-
environment.  This describes either the a      specific  language
environment  (if  you type its name)      or the current language
environment (if you type just  RET).   m   describe-mode.   Print
documentation  of current minor modes,      and the current major
mode, including  their  special  commands.   n   view-emacs-news.
Display news of recent Emacs changes.  p  finder-by-keyword. Find
packages matching a given  topic  keyword.   s   describe-syntax.
Display contents of syntax table, plus explanations t  help-with-
tutorial.  Select the  Emacs  learn-by-doing  tutorial.   v   de-
scribe-variable.   Type  name of a variable;      it displays the
variable's documentation and value.  w  where-is.   Type  command
name; it prints which keystrokes      invoke that command.

F   Display  the frequently asked questions file.  h  Display the
HELLO file which illustrates various scripts.  C-c Display  Emacs
copying  permission  (General Public License).  C-d Display Emacs
ordering information.  C-n Display news of recent Emacs  changes.
C-p  Display  information about the GNU project.  C-w Display in-
formation on absence of  warranty  for  GNU  Emacs.Fhelp-for-help
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.Vsymbol-file-load-history-
loaded Non-nil means we have loaded the file `fns-VERSION.el'  in
`exec-directory'.   That  file records the part of `load-history'
for preloaded files, which is cleared out before dumping to  make
Emacs  smaller.Fsymbol-file  Return  the  input source from which
FUNCTION was loaded.  The value is normally  a  string  that  was
passed to `load': either an absolute file name, or a library name
(with no directory name and no `.el' or `.elc' at the  end).   It
can  also  be  nil,  if the definition is not associated with any
file.Fdescribe-function Display the full documentation  of  FUNC-
TION (a symbol).Fvariable-at-point Return the bound variable sym-
bol found around point.  Return 0 if there is no such symbol.Fde-
scribe-variable  Display  the  full  documentation of VARIABLE (a
symbol).  Returns the documentation as a string,  also.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  se-
quence;  then  we display only bindings that start with that pre-
fix.  The optional argument BUFFER specifies which buffer's bind-
ings  to  display  (default,  the current buffer).Fwhere-is Print
message listing key sequences that invoke the command DEFINITION.
Argument  is  a command definition, usually a symbol with a func-
tion definition.  If INSERT (the prefix arg) is  non-nil,  insert
the  message  in the buffer.Flocate-library Show the precise file
name of Emacs library LIBRARY.  This command searches the  direc-
tories  in  `load-path'  like `M-x load-library' to find the file
that `M-x load-library RET LIBRARY  RET'  would  load.   Optional
second  arg  NOSUFFIX  non-nil means don't add suffixes `.elc' or
`.el' to the specified name LIBRARY.

If the optional third arg PATH is specified, that list of  direc-
tories is used instead of `load-path'.

When  called from a program, the file name is normaly returned as
a string.  When run interactively, the argument  INTERACTIVE-CALL
is t, and the file name is displayed in the echo area.Vhelp-high-
light-p *If  non-nil,  `help-make-xrefs'  highlight  cross-refer-
ences.   Under  a  window system it highlights them with face de-
fined by `help-highlight-face'.  On a  character  terminal  high-
lighted references look like cross-references in info mode.Vhelp-
highlight-face Face used by `help-make-xrefs' to highlight cross-
references.  Must be previously-defined.Vhelp-back-label Label to
use by `help-make-xrefs' for  the  go-back  reference.Vhelp-xref-
symbol-regexp Regexp matching doc string references to symbols.

The  words preceding the quoted symbol can be used in doc strings
to  distinguish  references  to  variables,  functions  and  sym-
bols.Vhelp-xref-info-regexp Regexp matching doc string references
to an Info node.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.Fhelp-make-xrefs Parse and hyperlink documentation cross-
references in the given BUFFER.

Find cross-reference information in a buffer and, if  `help-high-
light-p'  is  non-nil,  highlight  it with face defined by `help-
highlight-face'; 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 pre-
ceding word(d) used in `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.Fhelp-xref-button  Make a hyperlink for cross-reference
text previously matched.

MATCH-NUMBER is the subexpression of interest in the last matched
regexp.   FUNCTION is a function to invoke when the button is ac-
tivated, applied to DATA.  DATA may be a single value or a  list.
See   `help-make-xrefs'.Fhelp-xref-interned  Follow  a  hyperlink
which appeared to be an arbitrary interned SYMBOL.

Both variable and function documentation  are  extracted  into  a
single  help  buffer.Fhelp-xref-mode Do a `describe-mode' for the
specified BUFFER.Fhelp-follow-mouse  Follow  the  cross-reference
that you click on.Fhelp-xref-go-back From BUFFER, go back to pre-
vious help buffer text using `help-xref-stack'.Fhelp-go-back  In-
voke  the  [back]  button (if any) in the Help mode buffer.Fhelp-
follow Follow cross-reference at POS, defaulting to point.

For the cross-reference format, see `help-make-xrefs'.Fhelp-next-
ref Find the next help cross-reference in the buffer.Fhelp-previ-
ous-ref  Find  the   previous   help   cross-reference   in   the
buffer.Vtemp-buffer-resize-mode Non-nil means resize windows dis-
playing temporary buffers.   This  makes  the  window  the  right
height  for  its  contents, but never more than `temp-buffer-max-
height' nor  less  than  `window-min-height'.   This  applies  to
`help', `apropos' and `completion' buffers, and some others.

Setting  this  variable directly does not take effect; use either
or the function `temp-buffer-resize-mode'.Vtemp-buffer-max-height
*Maximum  height of a window displaying a temporary buffer.  This
is the maximum height (in text lines) which  `resize-temp-buffer-
window'  will give to a window displaying a temporary buffer.  It
can also be a function which will be called with the object  cor-
responding  to  the buffer to be displayed as argument and should
return an integer positive number.Ftemp-buffer-resize-mode Toggle
the  mode which that makes windows smaller for temporary buffers.
With prefix argument ARG, turn the resizing of windows displaying
temporary  buffers  on  if ARG is positive or off otherwise.  See
the documentation of the variable  `temp-buffer-resize-mode'  for
more  information.Fresize-temp-buffer-window  Resize  the current
window to fit its contents.  Will not make it higher than  `temp-
buffer-max-height'  nor  smaller  than  `window-min-height'.   Do
nothing if it is the only window on its frame, if it  is  not  as
wide  as  the  frame  or  if  some  of  the window's contents are
scrolled out of view.Vstandard-indent *Default number of  columns
for  margin-changing  functions  to  indent.Vindent-line-function
Function to indent current line.Findent-according-to-mode  Indent
line in proper way for current major mode.Findent-for-tab-command
Indent line in proper way for current major  mode.Findent-rigidly
Indent  all lines starting in the region sideways by ARG columns.
Called from a program, takes  three  arguments,  START,  END  and
ARG.Findent-line-to Indent current line to COLUMN.  This function
removes or adds spaces and tabs at beginning of line only if nec-
essary.  It leaves point at end of indentation.Fcurrent-left-mar-
gin 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.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.Falter-text-property
Programmatically change value of a text-property.  For  each  re-
gion  between  FROM  and TO that has a single value for PROPERTY,
apply FUNCTION to that value and sets the property to  the  func-
tion'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  (op-
tional  third  arg  INC noninteractively) specifies the amount to
change the margin by, in characters.  If `auto-fill-mode' is  ac-
tive,  re-fill  the  region to fit the new margin.Fdecrease-left-
margin Make the left margin of the region smaller.  With no  pre-
fix  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  mar-
gin.Fincrease-right-margin  Increase  the right-margin of the re-
gion.  With no prefix argument,  increase  the  right  margin  by
`standard-indent'.   A  prefix arg (optional third arg INC nonin-
teractively) 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-ac-
cording-to-mode'.   A  value  of nil means really run `indent-ac-
cording-to-mode' on each line.Findent-region Indent each nonblank
line  in  the  region.   With no argument, indent each line using
`indent-according-to-mode', or use `indent-region-function' to do
the  whole  region if that's non-nil.  If there is a fill prefix,
make each line start with the fill prefix.  With argument COLUMN,
indent  each  line  to that column.  Called from a program, takes
three args: START, END and COLUMN.Findent-relative-maybe Indent a
new  line  like previous nonblank line.Findent-relative Space out
to under next indent point in previous nonblank line.  An  indent
point is a non-whitespace character following whitespace.  If the
previous nonblank line has no indent  points  beyond  the  column
point starts at, `tab-to-tab-stop' is done instead.Vtab-stop-list
*List of tab stop  positions  used  by  `tab-to-tab-stop'.   This
should   be   a  list  of  integers,  ordered  from  smallest  to
largest.Vedit-tab-stops-map Keymap used in  `edit-tab-stops'.Ved-
it-tab-stops-buffer  Buffer  whose tab stops are being edited--in
case 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> to make changes
take effect.Fedit-tab-stops-note-changes Put edited tab stops in-
to 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  to edit them interac-
tively.Fmove-to-tab-stop Move point to next defined tab-stop col-
umn.  The variable `tab-stop-list' is a list of columns at  which
there are tab stops.  Use  to edit them interactively.Vsearch-ex-
it-option *Non-nil means random control characters terminate  in-
cremental  search.Vsearch-slow-window-lines  *Number  of lines in
slow search display windows.  These are the  short  windows  used
during  incremental search on slow terminals.  Negative means put
the slow search window at the top (normally it's at  bottom)  and
the  value is minus the number of lines.Vsearch-slow-speed *High-
est terminal speed at  which  to  use  "slow"  style  incremental
search.   This is the style where a one-line window is created to
show the line that the search has reached.Vsearch-upper-case  *If
non-nil,  upper case chars disable case fold searching.  That is,
upper and lower case chars must match exactly.  This  applies  no
matter  where the chars come from, but does not apply to chars in
regexps that are prefixed with `'.  If this value is `not-yanks',
yanked  text  is  always downcased.Vsearch-nonincremental-instead
*If non-nil, do a nonincremental search instead if exiting  imme-
diately.   Actually,  `isearch-edit-string'  is called to let you
enter the search string, and RET terminates editing  and  does  a
nonincremental search.Vsearch-whitespace-regexp *If non-nil, reg-
ular expression to match a sequence of  whitespace  chars.   This
applies to regular expressi0+"ininstead.l sInrcthe YCustomization
to use something like  "[
buffer, that is `[' followed by a space, a tab, a carriage return
(control-M), a newline, and `]+'.Vsearch-highlight *Non-nil means
incremental search highlights the current match.Vsearch-invisible
If t incremental search can match hidden text.  nil  means  don't
match  invisible  text.   If  the  value  is  `open', if the text
matched is made invisible by an  overlay  having  an  `invisible'
property  and  that  overlay has a property `isearch-open-invisi-
ble', then incremental search will show the contents.  (This  ap-
plies  when  using `outline.el' and `hideshow.el'.)Visearch-hide-
immediately If non-nil, re-hide an invisible  match  right  away.
This  variable  makes a difference when `search-invisible' is set
to `open'.  It means that after search makes some invisible  text
visible to show the match, it makes the text invisible again when
the match moves.  Ordinarily the text becomes invisible again  at
the  end of the search.Visearch-mode-hook Function(n) to call af-
ter  starting  up  an  incremental  search.Visearch-mode-end-hook
Function(n)    to   call   after   terminating   an   incremental
search.Vsearch-ring  List  of  search  string  sequences.Vregexp-
search-ring   List   of  regular  expression  search  string  se-
quences.Vsearch-ring-max *Maximum length of  search  ring  before
oldest  elements are thrown away.Vregexp-search-ring-max *Maximum
length of regexp search ring before oldest  elements  are  thrown
away.Vsearch-ring-yank-pointer  Index  in  `search-ring'  of last
string reused.  nil if none  yet.Vregexp-search-ring-yank-pointer
Index in `regexp-search-ring' of last string reused.  nil if none
yet.Vsearch-ring-update *Non-nil if advancing  or  retreating  in
the  search  ring should cause search.  Default value, nil, means
edit the string  instead.Visearch-mode-map  Keymap  for  isearch-
mode.Vminibuffer-local-isearch-map  Keymap  for  editing  isearch
strings in the minibuffer.Fisearch-forward Do incremental  search
forward.   With  a prefix argument, do an incremental regular ex-
pression search instead.  <isearch-mode-map> As you type  charac-
ters, they add to the search string and are found.  The following
non-printing keys are bound in `isearch-mode-map'.

Type  to cancel characters from end of search string.   Type   to
exit, leaving point at location found.
  If you have not yet typed any characters,  will start
  nonincremental  search.   Type  LFD (C-j) to match end of line.
Type  to search again forward,  to search again  backward.   Type
to yank word from buffer onto end of search string and search for
it.  Type  to yank rest of line onto end  of  search  string  and
search for it.  Type  to yank last killed text onto end of search
string and search for it.  Type  to quote  control  character  to
search  for  it.   while searching or when search has failed can-
cels input back to what has
 been found successfully.   when search is successful aborts  and
moves point to starting point.

Also  supported  is  a  search  ring  of  the  previous 16 search
strings.  Type  to search for the next item in the  search  ring.
Type   to  search for the previous item in the search ring.  Type
to complete the search string using the search ring.

The above keys, bound in `isearch-mode-map', are often controlled
by
 options;  do  M-x apropos on search-.* to find them.  Other con-
trol and meta characters terminate the search
 and are then executed normally  (depending  on  `search-exit-op-
tion').  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-for-
ward-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  for more  info.Fisearch-backward  Do  incremental
search backward.  With a prefix argument, do a regular expression
search instead.  See  for more information.Fisearch-backward-reg-
exp  Do incremental search backward for regular expression.  With
a prefix argument, do a regular string search instead.  Like  or-
dinary  incremental search except that your input is treated as a
regexp.  See  for more  info.Fisearch-mode  Start  isearch  minor
mode.  Called by `isearch-forward', etc.

isearch-mode-map}Fisearch-update-ring Add STRING to the beginning
of the search ring.  REGEXP says which ring to  use.Fisearch-exit
Exit  search normally.  However, if this is the first command af-
ter starting incremental  search  and  `search-nonincremental-in-
stead'  is  non-nil,  do  a  nonincremental  search  instead  via
`isearch-edit-string'.Fisearch-edit-string Edit the search string
in the minibuffer.  The following additional command keys are ac-
tive while editing.   <minibuffer-local-isearch-map>   to  resume
incremental  searching with the edited string.   to do one nonin-
cremental search.   to resume  isearching  forward.    to  resume
isearching backward.   to replace the search string with the next
item in the search ring.   to replace the search string with  the
previous item in the search ring.   to complete the search string
using the search ring.  <isearch-mode-map> If first char  entered
is  ,  then  do word search instead.Fisearch-cancel Terminate the
search and go back to the starting point.Fisearch-abort Abort in-
cremental search mode if searching is successful, signaling quit.
Otherwise, revert to  previous  successful  search  and  continue
searching.    Use   `isearch-exit'   to   quit   without  signal-
ing.Fisearch-repeat-forward  Repeat   incremental   search   for-
wards.Fisearch-repeat-backward  Repeat  incremental  search back-
wards.Fisearch-toggle-regexp  Toggle  regexp  searching   on   or
off.Fisearch-toggle-case-fold Toggle case folding in searching on
or off.Fisearch-delete-char Discard  last  input  item  and  move
point  back.   If no previous match was done, just beep.Fisearch-
yank-string Pull  STRING  into  search  string.Fisearch-yank-kill
Pull string from kill ring into search string.Fisearch-yank-x-se-
lection Pull current X selection into search string.  Some  users
like  to put this command on Mouse-2.  To do that, evaluate these
expressions:
    (define-key isearch-mode-map [down-mouse-2] nil)
    (define-key isearch-mode-map [mouse-2] 'isearch-yank-x-selec-
tion)Fisearch-yank-word  Pull  next  word from buffer into search
string.Fisearch-yank-line Pull rest  of  line  from  buffer  into
search  string.Fisearch-*-char Handle * and ? specially in regex-
ps.Fisearch-|-char If  in  regexp  search,  jump  to  the  barri-
er.Fisearch-other-meta-char  Exit  the search normally and reread
this key sequence.  But only if `search-exit-option' is  non-nil,
the  default.   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.Fisearch-quote-char Quote spe-
cial characters for incremental search.Fisearch-return-char  Con-
vert   return   into   newline  for  incremental  search.   Obso-
lete.Fisearch-printing-char Add this ordinary printing  character
to  the  search string and search.Fisearch-whitespace-chars Match
all whitespace chars, if in regexp mode.  If you want  to  search
for  just  a space, type C-q SPC.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-ring-advance-
edit Insert the next element  of  the  search  history  into  the
minibuffer.Fisearch-ring-retreat-edit  Inserts  the previous ele-
ment of the search history into the  minibuffer.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 search-
ing.Fisearch-complete-edit Same as `isearch-complete'  except  in
the  minibuffer.Fisearch-range-invisible Return t if all the text
from BEG to END is invisible.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.Fada-mode Ada mode is the major
mode for editing Ada code.

Bindings are as follows: (Note: 'LFD' is control-j.)

 Indent line                                          ''
 Indent line, insert newline and indent the new line. ''

 Re-format the parameter-list point is in             ''
 Indent all lines in region                           ''
 Call external pretty printer program                 ''

 Adjust case of identifiers and keywords in region    ''
 Adjust case of identifiers and keywords in buffer    ''

 Call EXTERNAL pretty printer (if you have one)       ''

 Fill comment paragraph                               ''
 Fill comment paragraph and justify each line         ''
 Fill comment paragraph, justify and append postfix   ''

 Next func/proc/task ''  Previous func/proc/task ''
 Next package        ''  Previous package        ''

 Goto matching start of current 'end ...;'            ''
 Goto end of current block                            ''

Comments are handled using standard GNU  Emacs  conventions,  in-
cluding:
 Start a comment                                      ''
 Comment region                                       ''
 Uncomment region                                     ''
 Continue comment on next line                        ''

If you use imenu.el:
 Display index-menu of functions & procedures         ''

If you use find-file.el:
 Switch to other file (Body <-> Spec)                 ''
                                                   or '
 Switch to other file in other window                 ''
                                                   or '
 If  you use this function in a spec and no body is available, it
gets created
 with body stubs.

If you use ada-xref.el:
 Goto declaration:          '' on the identifier
                         or '' with point on the identifier
 Complete identifier:       ''
 Execute Gnatf:             ''Fada-make-filename-from-adaname De-
termine  the  filename  of  a  package/procedure from its own Ada
name.Vadd-log-full-name *Full name  of  user,  for  inclusion  in
ChangeLog  daily headers.  This defaults to the value returned by
the `user-full-name' function.Vadd-log-mailing-address *Electron-
ic  mail  address of user, for inclusion in ChangeLog daily head-
ers.  This defaults to the value of  `user-mail-address'.Fprompt-
for-change-log-name Prompt for a change log name.Ffind-change-log
Find a change log file for  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 compo-
nent, 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.Fadd-change-log-en-
try Find change log file and add an entry  for  today.   Optional
arg  WHOAMI  (interactive  prefix)  non-nil means prompt for user
name and site.

Second arg is FILE-NAME of change log.  If nil, uses `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.  Op-
tion `add-log-keep-changes-together' otherwise affects whether  a
new entry is created.

Today's  date  is  calculated according to `change-log-time-zone-
rule' if non-nil, otherwise in local  time.Fadd-change-log-entry-
other-window  Find change log file in other window and add an en-
try for today.  Optional arg WHOAMI (interactive prefix)  non-nil
means  prompt  for user name and site.  Second optional arg FILE-
NAME is file name of change log.   If  nil,  use  `change-log-de-
fault-name'.

Affected  by  the same options as `add-change-log-entry'.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  or .
Each entry behaves as a paragraph, and the entries for one day as
a  page.   Runs   `change-log-mode-hook'.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-de-
fun'.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), Perl, and Fortran.

Other modes are handled by a heuristic that looks in the 10K  be-
fore point for uppercase headings starting in the first column or
identifiers followed by `:' or `=',  see  variable  `add-log-cur-
rent-defun-header-regexp'.

Has  a  preference  of  looking backwards.Vad-redefinition-action
*Defines what to do with redefinitions during  Advice  de/activa-
tion.   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 origi-
nal, or keep it and raise an error.  The values  `accept',  `dis-
card',  `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-com-
pilation-action *Defines whether to compile  advised  definitions
during  activation.   A value of `always' will result in uncondi-
tional  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-add-advice Adds a piece of ADVICE to  FUNCTION's  list
of  advices in CLASS.  If FUNCTION already has one or more pieces
of advice of the specified CLASS then POSITION  determines  where
the  new  piece  will  go.   The  value of POSITION can either be
`first', `last' or a number where 0 corresponds to `first'.  Num-
bers  outside the range will be mapped to the closest extreme po-
sition.  If there was already a piece of  ADVICE  with  the  same
name,  then the position argument will be ignored and the old ad-
vice will be overwritten with the new one.
    If the FUNCTION was not advised already, then its advice info
will  be initialized.  Redefining a piece of advice whose name is
part of the cache-id will clear the  cache.Fdefadvice  Defines  a
piece  of  advice for FUNCTION (a symbol).  The syntax of `defad-
vice' is as follows:

  (defadvice FUNCTION (CLASS NAME [POSITION] [ARGLIST] FLAG...)
    [DOCSTRING] [INTERACTIVE-FORM]
    BODY... )

FUNCTION ::= Name of the function to be advised.  CLASS ::=  `be-
fore' | `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 ::= `pro-
tect'|`disable'|`activate'|`compile'|`preactivate'|`freeze'.
    All flags can be  specified  with  unambiguous  initial  sub-
strings.   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 pre-
cedes 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  re-
sulting 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-expan-
sion/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/def-
macro'  according to this particular single advice.  No other ad-
vice 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.

Look  at  the  file  `advice.el'  for  comprehensive   documenta-
tion.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.Vappt-issue-message  *Non-nil  means
check  for appointments in the diary buffer.  To be detected, the
diary  entry  must  have  the  time  as  the  first  thing  on  a
line.Vappt-message-warning-time  *Time  in  minutes before an ap-
pointment that the warning  begins.Vappt-audible  *Non-nil  means
beep to indicate appointment.Vappt-visible *Non-nil means display
appointment message in echo area.Vappt-display-mode-line *Non-nil
means  display  minutes  to  appointment  and  time  on  the mode
line.Vappt-msg-window *Non-nil means display appointment  message
in  another  window.Vappt-display-duration *The number of seconds
an appointment message is displayed.Vappt-display-diary  *Non-nil
means  to  display  the next days diary on the screen.  This will
occur at midnight when the appointment list is  updated.Fappt-add
Add  an  appointment  for the day at TIME and issue MESSAGE.  The
time should be in either 24 hour format  or  am/pm  format.Fappt-
delete Delete an appointment from the list of appointments.Fapro-
pos-variable Show user variables that match REGEXP.  With option-
al prefix ARG or if `apropos-do-all' is non-nil, also show normal
variables.Fapropos-command Show commands (interactively  callable
functions)  that  match  REGEXP.  With optional prefix ARG, 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.Fapropos Show all  bound
symbols whose names match REGEXP.  With optional prefix ARG or if
`apropos-do-all' is non-nil, also show unbound  symbols  and  key
bindings, which is a little more time-consuming.  Returns list of
symbols and documentation found.Fapropos-value Show  all  symbols
whose value's printed image matches REGEXP.  With optional prefix
ARG or if `apropos-do-all' is non-nil, also looks at the function
and  at the names and values of properties.  Returns list of sym-
bols and values found.Fapropos-documentation Show  symbols  whose
documentation  contain  matches for REGEXP.  With optional prefix
ARG or if `apropos-do-all' is  non-nil,  also  use  documentation
that  is  not stored in the documentation file and show key bind-
ings.  Returns list of symbols and documentation  found.Farchive-
mode  Major mode for viewing an archive file in a dired-like way.
You can move around using the usual cursor motion commands.  Let-
ters 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}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 '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 the the buffer.
Other  buffer in array mode may have different values assigned to
the variables.  The variables are:

Variables you assign:
     max-row:          The number of rows in the array.
     max-column:       The number of columns in the array.
     columns-per-line: The number of columns  in  the  array  per
line of buffer.
     field-width:      The width of each field, in characters.
     rows-numbered:     A  logical variable describing whether to
ignore
                       row numbers in the buffer.

Variables which are calculated:
     line-length:      The number of characters in a buffer line.
     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>      Move forward one column.
    *            Move backward one column.
    *            Move down one row.
    *            Move up one row.

    *        Copy the current field into the column to the right.
    *       Copy the current field into the column to the left.
    *       Copy the current field into the row below.
    *       Copy the current field into the row above.

    *      Copy the current column into the column to the  right.
    *      Copy the current column into the column to the left.
    *      Copy the current row into the row below.
    *      Copy the current row into the row above.

            Copy  the  field at mark into every cell with row and
column
                  between that of point and mark.

            Display the current array row and column.
Go to a particular array cell.

             Make a template for a new array.              Recon-
figure the array.
           Expand the array (remove row numbers and
                  newlines inside rows)

           Display the current values of local variables.

Entering array mode calls  the  function  `array-mode-hook'.Fasm-
mode  Major  mode for editing typical assembler code.  Features a
private abbrev table and the following bindings:

     outdent a preceding label, tab to next tab  stop.        tab
to  next  tab  stop.        newline,  then  tab to next tab stop.
     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-com-
ment-hook', which is called near the beginning of  mode  initial-
ization.

Turning  on  Asm mode runs the hook `asm-mode-hook' at the end of
initialization.

Special commands: asm-mode-map} Vauto-show-mode Non-nil means  do
automatic horizontal scrolling, when lines are truncated.

This  variable  is automatically local in each buffer where it is
set.

Setting this variable directly does not take effect;  use  either
or  the  function `auto-show-mode'.Fauto-show-mode Turn automatic
horizontal scroll mode on or off.  With arg, turn auto  scrolling
on  if  arg  is positive, off otherwise.  This mode is enabled or
disabled for each buffer individually.  It takes effect only when
`truncate-lines'  is non-nil.Fauto-insert Insert default contents
into a new file if `auto-insert' is non-nil.  Matches the visited
file name against the elements of `auto-insert-alist'.Fdefine-au-
to-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.Fauto-insert-mode Toggle auto-insert
mode.  With prefix ARG, turn auto-insert mode on if and  only  if
ARG  is  positive.   Returns  the  new status of auto-insert mode
(non-nil means on).

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.Fupdate-file-autoloads Update the autoloads  for  FILE  in
`generated-autoload-file'  (which  FILE  might  bind in its local
variables).Fupdate-autoloads-from-directories Update  loaddefs.el
with  all the current autoloads from DIRS, and no old ones.  This
uses `update-file-autoloads' (which see) do  its  work.Fbatch-up-
date-autoloads Update loaddefs.el autoloads in batch mode.  Calls
`update-autoloads-from-directories' on  the  command  line  argu-
ments.Fauto-revert-mode Toggle reverting buffer when file on disk
changes.

With arg, turn Auto Revert mode on if and only if  arg  is  posi-
tive.  This is a minor mode that affects only the current buffer.
Use  `global-auto-revert-mode'  to   automatically   revert   all
buffers.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)Fglobal-auto-
revert-mode Revert any buffer when file on disk change.

With arg, turn Auto Revert mode on globally if and only if arg is
positive.   This  is  a minor mode that affects all buffers.  Use
`auto-revert-mode' to revert  a  particular  buffer.Fmouse-avoid-
ance-mode  Set cursor 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 `ban-
ish' 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  key-
press.
 *  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".)Fawk-mode Major mode for
editing AWK code.  This is much like C mode except for the syntax
of  comments.  It uses the same keymap as C mode and has the same
variables for customizing indentation.  It  has  its  own  abbrev
table and its own syntax table.

Turning  on  AWK  mode calls the value of the variable `awk-mode-
hook' with no args, if that value is non-nil.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  permit-
ted.Fbattery Display battery status information in the echo area.
The text beeing displayed in the echo area is controlled  by  the
variables  `battery-echo-area-format'  and  `battery-status-func-
tion'.Fdisplay-battery Display battery status information in  the
mode  line.   The  text beeing displayed in the mode line is con-
trolled by the variables `battery-mode-line-format' and `battery-
status-function'.   The  mode  line will be updated automatically
every `battery-update-interval' seconds.Fbibtex-mode  Major  mode
for editing BibTeX files.

To  submit  a  problem  report, enter  from a BibTeX mode buffer.
This automatically sets up a mail buffer with version information
already  added.   You just need to add a description of the prob-
lem, including a reproducable test case and send the message.


General information on working with BibTeX mode:

You should use commands as  to get a template for a specific  en-
try.  You  should  then fill in all desired fields using  to jump
from field to field. After having filled in all desired fields in
the entry, you should clean the new entry with command .

Some  features of BibTeX mode are available only by setting vari-
able bibtex-maintain-sorted-entries to t.  However,  then  BibTeX
mode  will  work  with  buffer containing only valid (syntactical
correct) entries and with entries being sorted. This  is  usually
the  case,  if  you  have created a buffer completely with BibTeX
mode and finished every new entry with .

For third party BibTeX buffers, please call the function `bibtex-
convert-alien'  to fully take advantage of all features of BibTeX
mode.


Special information:

A command such as  will outline the fields for a BibTeX book  en-
try.

The  optional  fields start with the string OPT, and are thus ig-
nored by BibTeX.  Alternatives from which only  one  is  required
start  with the string ALT.  The OPT or ALT string may be removed
from a field with .   inserts a new field after the current  one.
kills  the  current field entirely.   will yank the last recently
killed field after the current field.   removes the double-quotes
or braces around the text of the current field.
   replaces  the text of the current field with the default "" or
{}.

The command  cleans the current entry, i.e.  it  removes  OPT/ALT
from 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.  Note: some functions in BibTeX
mode depend on entries being in a special format (all fields  be-
ginning on separate lines), so it is usually a bad idea to remove
`realign' from bibtex-entry-format.

Use  to position the cursor at the end of the current field.  Use
to move to end of the next field.

The following may be of interest as well:

  Functions:
    bibtex-entry
    bibtex-kill-entry
    bibtex-yank-pop
    bibtex-pop-previous
    bibtex-pop-next
    bibtex-complete-string
    bibtex-complete-key
    bibtex-print-help-message
    bibtex-generate-autokey
    bibtex-beginning-of-entry
    bibtex-end-of-entry
    bibtex-reposition-window
    bibtex-mark-entry
    bibtex-ispell-abstract
    bibtex-ispell-entry
    bibtex-narrow-to-entry
    bibtex-hide-entry-bodies
    bibtex-sort-buffer
    bibtex-validate
    bibtex-count
    bibtex-fill-entry
    bibtex-reformat
    bibtex-convert-alien

  Variables:
    bibtex-field-delimiters
    bibtex-include-OPTcrossref
    bibtex-include-OPTkey
    bibtex-user-optional-fields
    bibtex-entry-format
    bibtex-sort-ignore-string-entries
    bibtex-maintain-sorted-entries
    bibtex-entry-field-alist
    bibtex-predefined-strings
    bibtex-string-files

---------------------------------------------------------   Entry
to BibTeX mode calls the value of `bibtex-mode-hook' if that val-
ue is non-nil.

bibtex-mode-map}Fblackbox  Play  blackbox.  Optional prefix argu-
ment 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 sever-
al 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 .  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 in-
to the box and pressing .

When you think the configuration of balls you have placed is cor-
rect,  press  .   You will be informed whether you are correct or
not, and be given your score.  Your score is the number  of  let-
ters 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 indi-
cated 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' repre-
sents 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.  `*' de-
notes 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 real-
izing  the ray never gets a chance to get into the box.  Alterna-
tively, 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 ex-
ample of a reflection.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 inter-
active bookmark functions have a binding  in  this  keymap.Fbook-
mark-set  Set  a  bookmark  named NAME inside a file.  If name is
nil, then the user will be prompted.  With prefix arg,  will  not
overwrite  a  bookmark  that  has the same name as NAME if such a
bookmark already exists, but instead will "push" the new bookmark
onto  the  bookmark  alist.   Thus the most recently set bookmark
with name NAME would be the one in effect at any given time,  but
the  others are still there, should you 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 the name of the  last  bookmark  used  in  the
buffer  (as  an aid in using a single bookmark name to track your
progress through a large file).  If no bookmark was used, then C-
u inserts the name of the file being visited.

Use  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.)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  book-
mark-jump  will then jump to the new location, as well as record-
ing it in  place  of  the  old  one  in  the  permanent  bookmark
record.Fbookmark-relocate   Relocate  BOOKMARK  to  another  file
(reading file name with minibuffer).  This makes an  already  ex-
isting 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.Fbookmark-insert-location Insert the name of the
file associated with BOOKMARK.  Optional  second  arg  NO-HISTORY
means don't record this in the minibuffer history list `bookmark-
history'.Fbookmark-rename Change the name of OLD bookmark to  NEW
name.   If  called  from  keyboard,  prompt  for OLD and NEW.  If
called from menubar, select OLD from a menu and prompt for NEW.

If called from Lisp, prompt for NEW if only OLD was passed as  an
argument.  If called with two strings, then no prompting is done.
You must pass at least OLD 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 book-
mark name.Fbookmark-insert Insert the text of the file pointed to
by bookmark BOOKMARK.  You may have a problem using this function
if the value of variable `bookmark-alist' is nil.  If  that  hap-
pens,  you  need to load in some bookmarks.  See help on function
`bookmark-load' for more about this.Fbookmark-delete Delete BOOK-
MARK  from the bookmark list.  Removes only the first instance of
a bookmark with that name.  If there are one or more other  book-
marks  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.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.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  PREFIX-
ARG  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 `book-
mark-load', .  That function will prompt you for a file, default-
ing   to   the   file   defined  by  variable  `bookmark-default-
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.Fbookmark-bmenu-
list Display a list of existing bookmarks.  The list is displayed
in a buffer named `*Bookmark List*'.  The  leftmost  column  dis-
plays  a D if the bookmark is flagged for deletion, or > if it is
flagged for displaying.Fbookmark-menu-insert Insert the  text  of
the file pointed to by bookmark BOOKMARK.  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.

Warning: this function only takes an EVENT as argument.  Use  the
corresponding  bookmark  function  from Lisp (the one without the
"-menu-" in its name).Fbookmark-menu-jump Jump to bookmark  BOOK-
MARK  (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.

Warning: this function only takes an EVENT as argument.  Use  the
corresponding  bookmark  function  from Lisp (the one without the
"-menu-" in its name).Fbookmark-menu-locate Insert  the  name  of
the  file associated with BOOKMARK.  (This is not the same as the
contents of that file).

Warning: this function only takes an EVENT as argument.  Use  the
corresponding  bookmark  function  from Lisp (the one without the
"-menu-" in its name).Fbookmark-menu-rename Change  the  name  of
OLD-BOOKMARK  to  NEWNAME.   If called from keyboard, prompts for
OLD-BOOKMARK and NEWNAME.  If called from  menubar,  OLD-BOOKMARK
is selected from a menu, and prompts for NEWNAME.  If called from
Lisp, prompts for NEWNAME if only OLD-BOOKMARK was passed  as  an
argument.  If called with two strings, then no prompting is done.
You must pass at least OLD-BOOKMARK 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 book-
mark name.

Warning: this function only takes an EVENT as argument.  Use  the
corresponding  bookmark  function  from Lisp (the one without the
"-menu-" in its name).Fbookmark-menu-delete Delete  the  bookmark
named  NAME  from  the bookmark list.  Removes only the first in-
stance 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 recent-
ly used in this file, if any).

Warning:  this function only takes an EVENT as argument.  Use the
corresponding bookmark function from Lisp (the  one  without  the
"-menu-"  in  its name).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 (REG-
EXP  .  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.Vbrowse-url-new-window-p  *If non-nil, always
open a new browser window with appropriate browsers.  Passing  an
interactive  argument  to , or specific browser commands reverses
the effect of this variable.  Requires Netscape version  1.1N  or
later   or   XMosaic   version   2.5  or  later  if  using  those
browsers.Vbrowse-url-netscape-display *The X display for  running
Netscape,  if  not  same as Emacs'.Vbrowse-url-save-file *If non-
nil, save the buffer before displaying its  file.   Used  by  the
`browse-url-of-file'   command.Vbrowse-url-generic-program   *The
name of the browser program used by `browse-url-generic'.Fbrowse-
url-of-file  Ask a WWW browser to display FILE.  Display the cur-
rent 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'.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.Fbrowse-url-of-dired-file
In  Dired,  ask  a  WWW browser to display the file named on this
line.Fbrowse-url-of-region Ask a WWW browser to display the  cur-
rent  region.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.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.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.Fbrowse-url-netscape Ask the Netscape
WWW browser to load URL.

Default to the URL around or before point.  The strings in  vari-
able `browse-url-netscape-arguments' are also passed to Netscape.

When called interactively, if variable  `browse-url-new-window-p'
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-p'.

When  called non-interactively, optional second argument NEW-WIN-
DOW is used instead of  `browse-url-new-window-p'.Fbrowse-url-mo-
saic Ask the XMosaic WWW browser to load URL.

Default  to the URL around or before point.  The strings in vari-
able `browse-url-mosaic-arguments' are also passed to Mosaic  and
the  program is invoked according to the variable `browse-url-mo-
saic-program'.

When called interactively, if variable  `browse-url-new-window-p'
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-p'.

When  called non-interactively, optional second argument NEW-WIN-
DOW is  used  instead  of  `browse-url-new-window-p'.Vbrowse-url-
grail  Location  of  Grail  remote  control  client  script  `rc-
grail.py'.    Typically   found   in   $GRAILDIR/rcgrail.py,   or
~/.grail/user/rcgrail.py.Fbrowse-url-grail   Ask  the  Grail  WWW
browser to load URL.  Default to the URL around or before  point.
Runs  the program in the variable `browse-url-grail'.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  Ad-
dress  to the value of variable `browse-url-CCI-port', and enable
`Accept requests'.

When called interactively, if variable  `browse-url-new-window-p'
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-p'.

When  called non-interactively, optional second argument NEW-WIN-
DOW is used instead of `browse-url-new-window-p'.Fbrowse-url-ixi-
mosaic Ask the IXIMosaic WWW browser to load URL.  Default to the
URL around or before point.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-p'
is non-nil, load the document in a new window.  A non-nil  inter-
active  prefix  argument  reverses the effect of `browse-url-new-
window-p'.

When called non-interactively, optional second argument  NEW-WIN-
DOW  is  used  instead  of `browse-url-new-window-p'.Fbrowse-url-
w3-gnudoit Ask another Emacs running gnuserv to load the URL  us-
ing  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.Fbrowse-url-lynx-xterm Ask the
Lynx WWW browser to load URL.  Default to the URL around  or  be-
fore  point.   A new Lynx process is run in an Xterm window using
the Xterm program named by `browse-url-xterm-program' with possi-
ble   additional  arguments  `browse-url-xterm-args'.Fbrowse-url-
lynx-emacs Ask the Lynx WWW browser to load URL.  Default to  the
URL  around  or  before point.  With a prefix argument, run a new
Lynx process in a new buffer.

When called interactively, if variable  `browse-url-new-window-p'
is non-nil, load the document in a new lynx in a new term window,
otherwise use any existing one.  A non-nil interactive prefix ar-
gument reverses the effect of `browse-url-new-window-p'.

When  called non-interactively, optional second argument NEW-WIN-
DOW is used instead of  `browse-url-new-window-p'.Fbrowse-url-mmm
Ask  the  MMM WWW browser to load URL.  Default to the URL around
or before point.Fbrowse-url-mail Open a new mail  message  buffer
within  Emacs.  Default to using the mailto: URL around or before
point as the recipient's address.  Supplying a  non-nil  interac-
tive prefix argument will cause the mail to be composed in anoth-
er window rather than the current one.

When called interactively, if variable  `browse-url-new-window-p'
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-p'.

When  called non-interactively, optional second argument NEW-WIN-
DOW is  used  instead  of  `browse-url-new-window-p'.Fbrowse-url-
generic  Ask  the WWW browser defined by `browse-url-generic-pro-
gram' 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 con-
trol.Fbruce Adds that special touch of  class  to  your  outgoing
mail.Fsnarf-bruces  Return  a  vector  containing  the lines from
`bruce-phrases-file'.Fbyte-force-recompile Recompile every  `.el'
file  in DIRECTORY that already has a `.elc' file.  Files in sub-
directories of DIRECTORY are  processed  also.Fbyte-recompile-di-
rectory Recompile every `.el' file in DIRECTORY that needs recom-
pilation.  This is if 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  the  `.el'  file  is
*not*  compiled.   But  a  prefix  argument (optional second arg)
means ask user, for each such `.el' file, whether to compile  it.
Prefix argument 0 means don't ask and compile the file anyway.

A nonzero prefix argument also means ask about each subdirectory.

If the third argument FORCE is  non-nil,  recompile  every  `.el'
file  that already has a `.elc' file.Fbyte-compile-file Compile a
file of Lisp code named FILENAME into a file of byte  code.   The
output  file's  name is made by appending `c' to the end of FILE-
NAME.  With prefix arg (noninteractively: 2nd arg), load the file
after  compiling.  The value is t if there were no errors, nil if
errors.Fcompile-defun Compile and evaluate the current  top-level
form.  Print the result in the minibuffer.  With argument, insert
value in current buffer after the form.Fbyte-compile If FORM is a
symbol, byte-compile its function definition.  If FORM is a lamb-
da or a macro, byte-compile it as  a  function.Fdisplay-call-tree
Display a call graph of a specified file.  This lists which func-
tions have been called, what  functions  called  them,  and  what
functions they call.  The list includes all functions whose defi-
nitions 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.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"Fbatch-byte-recompile-directory  Runs
`byte-recompile-directory'  on  the dirs remaining on the command
line.  Must be used only with `-batch', and kills Emacs  on  com-
pletion.   For example, invoke `emacs -batch -f batch-byte-recom-
pile-directory .'.Flist-yahrzeit-dates 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 tak-
en  from the cursor position.Vcalendar-week-start-day *The day of
the week on which a week in the calendar begins.  0 means  Sunday
(default), 1 means Monday, and so on.Vcalendar-offset *The offset
of the principal month from the center of the calendar window.  0
means the principal month is in the center (default), -1 means on
the left, +1 means on the right.  Larger (or smaller) values push
the  principal month off the screen.Vview-diary-entries-initially
*Non-nil means display current date's  diary  entries  on  entry.
The  diary  is  displayed  in another window when the calendar is
first displayed, if the current date is visible.  The  number  of
days of diary entries displayed is governed by the variable `num-
ber-of-diary-entries'.Vnumber-of-diary-entries   *Specifies   how
many  days  of diary entries are to be displayed initially.  This
variable affects the diary display when the command M-x diary  is
used,  or  if  the value of the variable `view-diary-entries-ini-
tially' is t.  For example, if the default value 1 is used,  then
only  the  current day's diary entries will be displayed.  If the
value 2 is used, then both the current day's and the  next  day's
entries will be displayed.

The value can also be a vector such as [0 2 2 2 2 4 1]; this val-
ue says to display no diary entries on Sunday,  the  display  the
entries  for the current date and the day after on Monday through
Thursday, display Friday through Monday's entries on Friday,  and
display only Saturday's entries on Saturday.

This variable does not affect the diary display with the `d' com-
mand from the calendar; in that case, the  prefix  argument  con-
trols  the number of days of diary entries displayed.Vmark-diary-
entries-in-calendar *Non-nil means mark dates with diary entries,
in  the  calendar window.  The marking symbol is specified by the
variable   `diary-entry-marker'.Vview-calendar-holidays-initially
*Non-nil means display holidays for current three month period on
entry.  The holidays are displayed in  another  window  when  the
calendar  is  first displayed.Vmark-holidays-in-calendar *Non-nil
means mark dates of holidays in the calendar window.  The marking
symbol  is  specified  by  the  variable  `calendar-holiday-mark-
er'.Vall-hebrew-calendar-holidays *If nil, show only major  holi-
days from the Hebrew calendar.  This means only those Jewish hol-
idays that appear on secular calendars.

If t, show all the holidays that would appear in a  complete  He-
brew calendar.Vall-christian-calendar-holidays *If nil, show only
major holidays from the  Christian  calendar.   This  means  only
those Christian holidays that appear on secular calendars.

If  t,  show  all  the  holidays  that would appear in a complete
Christian calendar.Vall-islamic-calendar-holidays *If  nil,  show
only  major  holidays from the Islamic calendar.  This means only
those Islamic holidays that appear on secular calendars.

If t, show all the holidays that would appear in a  complete  Is-
lamic  calendar.Vcalendar-load-hook  *List  of  functions  to  be
called after the calendar is first loaded.  This is the place  to
add key bindings to `calendar-mode-map'.Vinitial-calendar-window-
hook *List of functions to be called when the calendar window  is
first  opened.  The functions invoked are called after the calen-
dar window is opened, but once  opened  is  never  called  again.
Leaving  the calendar with the `q' command and reentering it will
cause these functions to be called again.Vtoday-visible-calendar-
hook *List of functions called whenever the current date is visi-
ble.  This can be used, for example, to replace today's date with
asterisks;  a  function `calendar-star-date' is included for this
purpose:
    (setq today-visible-calendar-hook 'calendar-star-date) It can
also  be used to mark the current date with `calendar-today-mark-
er'; a function is also provided for this:
    (setq today-visible-calendar-hook 'calendar-mark-today)

The corresponding variable `today-invisible-calendar-hook' is the
list  of  functions  called when the calendar function was called
when the current date is not visible in the window.

Other than the use of the provided functions, the changing of any
characters  in  the  calendar  buffer  by the hooks may cause the
failure of the functions that move by days  and  weeks.Vtoday-in-
visible-calendar-hook *List of functions called whenever the cur-
rent date is not visible.

The corresponding variable `today-visible-calendar-hook'  is  the
list  of  functions  called when the calendar function was called
when the current date is visible in the window.

Other than the use of the provided functions, the changing of any
characters  in  the  calendar  buffer  by the hooks may cause the
failure of the functions that move by days and  weeks.Vdiary-file
*Name of the file in which one's personal diary of dates is kept.

The file's entries are lines in any of the forms

            MONTH/DAY
            MONTH/DAY/YEAR
            MONTHNAME DAY
            MONTHNAME DAY, YEAR
            DAYNAME

at the beginning of the line; the remainder of the  line  is  the
diary  entry  string for that date.  MONTH and DAY are one or two
digit numbers, YEAR is a number and may be written in full or ab-
breviated  to the final two digits.  If the date does not contain
a year, it is generic and applies to any year.   DAYNAME  entries
apply to any date on which is on that day of the week.  MONTHNAME
and DAYNAME can be spelled in full, abbreviated to three  charac-
ters (with or without a period), capitalized or not.  Any of DAY,
MONTH, or MONTHNAME, YEAR can  be  `*'  which  matches  any  day,
month, or year, respectively.

The  European  style (in which the day precedes the month) can be
used instead, if you execute `european-calendar' when in the cal-
endar, or set `european-calendar-style' to t in your .emacs file.
The European forms are

            DAY/MONTH
            DAY/MONTH/YEAR
            DAY MONTHNAME
            DAY MONTHNAME YEAR
            DAYNAME

To revert to the default American style from the European  style,
execute `american-calendar' in the calendar.

A diary entry can be preceded by the character `diary-nonmarking-
symbol' (ordinarily `&') to make that entry nonmarking--that  is,
it  will  not  be marked on dates in the calendar window but will
appear in a diary window.

Multiline diary entries are made by  indenting  lines  after  the
first with either a TAB or one or more spaces.

Lines  not  in  one the above formats are ignored.  Here are some
sample diary entries (in the default American style):

     12/22/1988 Twentieth wedding anniversary!!
     &1/1. Happy New Year!
     10/22 Ruth's birthday.
     21: Payday
     Tuesday--weekly meeting with grad students at 10am
              Supowit, Shen, Bitner, and Kapoor to attend.
     1/13/89 Friday the thirteenth!!
     &thu 4pm squash game with Lloyd.
     mar 16 Dad's birthday
     April 15, 1989 Income tax due.
     &* 15 time cards due.

If the first line of a diary entry consists only of the  date  or
day  name  with no trailing blanks or punctuation, then that line
is not displayed in the diary window; only the continuation lines
is shown.  For example, the single diary entry

     02/11/1989
      Bill Blattner visits Princeton today
      2pm Cognitive Studies Committee meeting
      2:30-5:30 Lizzie at Lawrenceville for `Group Initiative'
      4:00pm Jamie Tappenden
      7:30pm Dinner at George and Ed's for Alan Ryan
      7:30-10:00pm dance at Stewart Country Day School

will  appear in the diary window without the date line at the be-
ginning.  This facility allows the diary window to  look  neater,
but  can cause confusion if used with more than one day's entries
displayed.

Diary entries can be based on Lisp sexps.  For example, the diary
entry

      %%(diary-block 11 1 1990 11 10 1990) Vacation

causes  the  diary  entry  "Vacation"  to  appear from November 1
through November 10, 1990.  Other functions available are `diary-
float', `diary-anniversary', `diary-cyclic', `diary-day-of-year',
`diary-iso-date', `diary-french-date', `diary-hebrew-date',  `di-
ary-islamic-date', `diary-mayan-date', `diary-chinese-date', `di-
ary-coptic-date',  `diary-ethiopic-date',   `diary-persian-date',
`diary-yahrzeit', `diary-sunrise-sunset', `diary-phases-of-moon',
`diary-parasha', `diary-omer', `diary-rosh-hodesh',  and  `diary-
sabbath-candles'.   See the documentation for the function `list-
sexp-diary-entries' for more details.

Diary entries based on the Hebrew and/or the Islamic calendar are
also  possible, but because these are somewhat slow, they are ig-
nored unless you set  the  `nongregorian-diary-listing-hook'  and
the  `nongregorian-diary-marking-hook'  appropriately.   See  the
documentation for these functions for details.

Diary files can contain directives to  include  the  contents  of
other  files; for details, see the documentation for the variable
`list-diary-entries-hook'.Vdiary-nonmarking-symbol *Symbol  indi-
cating  that  a  diary  entry  is  not to be marked in the calen-
dar.Vhebrew-diary-entry-symbol *Symbol indicating a  diary  entry
according   to  the  Hebrew  calendar.Vislamic-diary-entry-symbol
*Symbol indicating a diary entry according to the Islamic  calen-
dar.Vdiary-include-string *The string indicating inclusion of an-
other file of diary entries.  See the documentation for the func-
tion   `include-other-diary-files'.Vsexp-diary-entry-symbol  *The
string used to indicate a sexp diary entry  in  diary-file.   See
the documentation for the function `list-sexp-diary-entries'.Vab-
breviated-calendar-year *Interpret a two-digit year DD in a diary
entry  as either 19DD or 20DD.  For the Gregorian calendar; simi-
larly for the Hebrew and Islamic calendars.  If this variable  is
nil,  years must be written in full.Veuropean-calendar-style *Use
the European style of dates in the diary and in any displays.  If
this  variable  is  t,  a  date  1/2/1990 would be interpreted as
February 1, 1990.  The accepted European date styles are

            DAY/MONTH
            DAY/MONTH/YEAR
            DAY MONTHNAME
            DAY MONTHNAME YEAR
            DAYNAME

Names can be capitalized or not, written in full, or  abbreviated
to  three  characters with or without a period.Vamerican-date-di-
ary-pattern *List of pseudo-patterns describing the American pat-
terns  of date used.  See the documentation of `diary-date-forms'
for an explanation.Veuropean-date-diary-pattern *List of  pseudo-
patterns  describing the European patterns of date used.  See the
documentation of `diary-date-forms' for an explanation.Veuropean-
calendar-display-form  *Pseudo-pattern  governing  the way a date
appears in the European style.  See the documentation  of  calen-
dar-date-display-form  for an explanation.Vamerican-calendar-dis-
play-form *Pseudo-pattern governing the way a date appears in the
American style.  See the documentation of `calendar-date-display-
form' for an explanation.Vprint-diary-entries-hook *List of func-
tions  called  after  a  temporary diary buffer is prepared.  The
buffer shows only the diary entries currently visible in the  di-
ary  buffer.   The  default  just  does the printing.  Other uses
might include, for example, rearranging the lines into  order  by
day and time, saving the buffer instead of deleting it, or chang-
ing the function used to do the printing.Vlist-diary-entries-hook
*List of functions called after diary file is culled for relevant
entries.  It is to be used for diary entries that are  not  found
in the diary file.

A function `include-other-diary-files' is provided for use as the
value of this hook.  This function enables you to use shared  di-
ary  files together with your own.  The files included are speci-
fied in the diary file by lines of the form

        #include "filename"

This is recursive; that is, #include directives in files thus in-
cluded  are  obeyed.  You can change the "#include" to some other
string by changing the variable `diary-include-string'.  When you
use  `include-other-diary-files'  as  part  of the list-diary-en-
tries-hook, you will probably  also  want  to  use  the  function
`mark-included-diary-files' as part of `mark-diary-entries-hook'.

For example, you could use

     (setq list-diary-entries-hook
       '(include-other-diary-files sort-diary-entries))
     (setq diary-display-hook 'fancy-diary-display)

in your `.emacs' file to cause the fancy diary buffer to be  dis-
played with diary entries from various included files, each day's
entries sorted  into  lexicographic  order.Vdiary-hook  *List  of
functions called after the display of the diary.  Can be used for
appointment notification.Vdiary-display-hook *List  of  functions
that  handle  the  display  of  the diary.  If nil (the default),
`simple-diary-display' is used.  Use `ignore' for no  diary  dis-
play.

Ordinarily,  this  just  displays the diary buffer (with holidays
indicated in the mode line), if there are any  relevant  entries.
At  the  time these functions are called, the variable `diary-en-
tries-list' is a list, in order by date, of  all  relevant  diary
entries in the form of ((MONTH DAY YEAR) STRING), where string is
the diary entry for the given date.  This can be used, for  exam-
ple,  a different buffer for display (perhaps combined with holi-
days), or produce hard copy output.

A function `fancy-diary-display' is provided  as  an  alternative
choice  for  this  hook;  this function prepares a special noned-
itable diary buffer with the relevant diary entries that has neat
day-by-day  arrangement  with  headings.   The fancy diary buffer
will show the holidays unless  the  variable  `holidays-in-diary-
buffer'  is  set to nil.  Ordinarily, the fancy diary buffer will
not show days for which there are no diary entries, even if  that
day  is a holiday; if you want such days to be shown in the fancy
diary buffer, set  the  variable  `diary-list-include-blanks'  to
t.Vnongregorian-diary-listing-hook  *List of functions called for
listing diary file and included files.  As  the  files  are  pro-
cessed  for diary entries, these functions are used to cull rele-
vant entries.  You can use either or both of  `list-hebrew-diary-
entries' and `list-islamic-diary-entries'.  The documentation for
these functions describes the style of such diary  entries.Vmark-
diary-entries-hook  *List of functions called after marking diary
entries in the calendar.

A function `mark-included-diary-files' is also provided  for  use
as  the mark-diary-entries-hook; it enables you to use shared di-
ary files together with your own.  The files included are  speci-
fied in the diary file by lines of the form
        #include  "filename" This is recursive; that is, #include
directives in files thus included are obeyed.  You can change the
"#include"  to some other string by changing the variable `diary-
include-string'.  When  you  use  `mark-included-diary-files'  as
part  of the mark-diary-entries-hook, you will probably also want
to use the function `include-other-diary-files' as part of `list-
diary-entries-hook'.Vnongregorian-diary-marking-hook   *List   of
functions called for marking diary file and included  files.   As
the  files  are  processed for diary entries, these functions are
used to cull relevant entries.  You can use  either  or  both  of
`mark-hebrew-diary-entries'   and   `mark-islamic-diary-entries'.
The documentation for these functions describes the style of such
diary  entries.Vdiary-list-include-blanks *If nil, do not include
days with no diary entry in the list of diary entries.  Such days
will  then  not  be shown in the fancy diary buffer, even if they
are  holidays.Vholidays-in-diary-buffer  *Non-nil  means  include
holidays  in  the diary display.  The holidays appear in the mode
line of the diary buffer, or in the fancy diary  buffer  next  to
the  date.  This slows down the diary functions somewhat; setting
it to nil makes the diary display faster.Vgeneral-holidays  *Gen-
eral  holidays.  Default value is for the United States.  See the
documentation for `calendar-holidays' for details.Voriental-holi-
days  *Oriental  holidays.   See the documentation for `calendar-
holidays' for details.Vlocal-holidays *Local holidays.   See  the
documentation for `calendar-holidays' for details.Vother-holidays
*User defined holidays.  See the documentation for `calendar-hol-
idays'  for  details.Vhebrew-holidays  *Jewish holidays.  See the
documentation for `calendar-holidays' for details.Vchristian-hol-
idays  *Christian holidays.  See the documentation for `calendar-
holidays' for details.Vislamic-holidays *Islamic  holidays.   See
the documentation for `calendar-holidays' for details.Vsolar-hol-
idays *Sun-related holidays.  See the documentation  for  `calen-
dar-holidays' for details.Vcalendar-setup The frame set up of the
calendar.  The choices are `one-frame' (calendar  and  diary  to-
gether  in one separate, dedicated frame), `two-frames' (calendar
and diary in separate, dedicated frames), `calendar-only' (calen-
dar  in  a  separate,  dedicated frame); with any other value the
current frame is used.Fcalendar Choose between the one frame, two
frame, or basic calendar displays.  The original function `calen-
dar' has been renamed `calendar-basic-setup'.Vc-mode-syntax-table
Syntax table used in c-mode buffers.Vc++-mode-syntax-table Syntax
table used  in  c++-mode  buffers.Vobjc-mode-syntax-table  Syntax
table  used  in  objc-mode buffers.Vjava-mode-syntax-table Syntax
table used  in  java-mode  buffers.Vidl-mode-syntax-table  Syntax
table  used  in  idl-mode  buffers.Vpike-mode-syntax-table Syntax
table used in pike-mode buffers.Fc-mode Major  mode  for  editing
K&R and ANSI C code.  To submit a problem report, enter `' from a
c-mode buffer.  This automatically sets up  a  mail  buffer  with
version  information  already  added.  You just need to add a de-
scription of the problem, including a reproducible test case  and
send the message.

To see what version of CC Mode you are running, enter `'.

The hook variable `c-mode-hook' is run with no args, if that val-
ue is bound and has a non-nil value.  Also the hook  `c-mode-com-
mon-hook' is run first.

Key  bindings:  c-mode-map}Fc++-mode  Major  mode for editing C++
code.  To submit a problem  report,  enter  `'  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 `'.

The hook variable `c++-mode-hook' is run with no  args,  if  that
variable  is  bound  and  has a non-nil value.  Also the hook `c-
mode-common-hook' is run first.

Key bindings: c++-mode-map}Fobjc-mode Major mode for editing  Ob-
jective C code.  To submit a problem report, enter `' from an ob-
jc-mode buffer.  This automatically sets up a  mail  buffer  with
version  information  already  added.  You just need to add a de-
scription of the problem, including a reproducible test case, and
send the message.

To see what version of CC Mode you are running, enter `'.

The  hook  variable `objc-mode-hook' is run with no args, if that
value is bound and has a non-nil value.  Also the  hook  `c-mode-
common-hook' is run first.

Key bindings: objc-mode-map}Fjava-mode Major mode for editing Ja-
va code.  To submit a problem report, enter `' 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 mes-
sage.

To see what version of CC Mode you are running, enter `'.

The hook variable `java-mode-hook' is run with no args,  if  that
value is bound and has a non-nil value.  Also the common hook `c-
mode-common-hook' is run first.  Note that this mode automatical-
ly  sets  the "java" style before calling any hooks so be careful
if you set styles in `c-mode-common-hook'.

Key bindings: java-mode-map}Fidl-mode Major mode for editing COR-
BA's IDL code.  To submit a problem report, enter `' from an idl-
mode buffer.  This automatically sets up a mail buffer with  ver-
sion  information already added.  You just need to add a descrip-
tion of the problem, including a reproducible test case, and send
the message.

To see what version of CC Mode you are running, enter `'.

The  hook  variable  `idl-mode-hook' is run with no args, if that
variable is bound and has a non-nil value.   Also  the  hook  `c-
mode-common-hook' is run first.

Key bindings: idl-mode-map}Fpike-mode Major mode for editing Pike
code.  To submit a problem report,  enter  `'  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 `'.

The hook variable `pike-mode-hook' is run with no args,  if  that
value is bound and has a non-nil value.  Also the common hook `c-
mode-common-hook' is run first.

Key bindings: pike-mode-map}Fc-set-style Set CC Mode variables to
use  one of several different indentation styles.  STYLENAME is a
string representing the desired style from the list of styles de-
scribed  in  the variable `c-style-alist'.  See that variable for
details of setting up styles.

The variable `c-indentation-style' always contains  the  buffer's
current  style name.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.  DESCRIP is an association list describ-
ing 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.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.
Optional ADD says  to  add  SYMBOL  to  `c-offsets-alist'  if  it
doesn't already appear there.Vc-emacs-features A list of features
extant in the Emacs you are using.  There  are  many  flavors  of
Emacs  out  there,  each with different features supporting those
needed by CC Mode.  Here's the current supported list, along with
the values for this variable:

 XEmacs 19:                  (8-bit)
 XEmacs 20:                  (8-bit)
 Emacs 19:                   (1-bit)

Infodock (based on XEmacs) has an additional symbol on this list:
`infodock'.Fccl-program-p T if OBJECT is  a  valid  CCL  compiled
code.Fccl-compile Return a compiled code of CCL-PROGRAM as a vec-
tor of integer.Fccl-dump Disassemble compiled  CCL-CODE.Fdeclare-
ccl-program Declare NAME as a name of CCL program.

To  compile a CCL program which calls another CCL program not yet
defined, it must be declared as a CCL program  in  advance.   Op-
tional  arg VECTOR is a compiled CCL code of the CCL program.Fde-
fine-ccl-program Set NAME the compiled code of CCL-PROGRAM.  CCL-
PROGRAM is `eval'ed before being handed to the CCL compiler `ccl-
compile'.  The compiled code is a vector of  integers.Fcheck-ccl-
program  Check validity of CCL-PROGRAM.  If CCL-PROGRAM is a sym-
bol denoting a valid 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.Fccl-execute-with-args  Execute  CCL-PROGRAM  with registers
initialized by the remaining args.  The return value is a  vector
of  resulting  CCL registers.Fcheckdoc Interactivly check the en-
tire buffer for style errors.  The current status  of  the  ckeck
will  be  displayed in a buffer which the users will view as each
check is completed.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 nav-
igation forward and backwards through document errors.  Does  not
check  for comment or space warnings.  Optional argument SHOWSTA-
TUS indicates that we should update the  checkdoc  status  window
instead  of  the usual behavior.Fcheckdoc-message-interactive In-
teractively check the current buffer for message  string  errors.
Prefix  argument START-HERE will start the checking from the cur-
rent 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.Fcheckdoc-
eval-current-buffer Evaluate and check documentation for the cur-
rent 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.Fcheckdoc-cur-
rent-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.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.  Pre-
fix argument TAKE-NOTES means to collect all the warning messages
into  a  separate  buffer.Fcheckdoc-continue  Find  the  next doc
string in the current buffer which has a style error.  Prefix ar-
gument  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.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.  Op-
tional argument INTERACT permits more interactive  fixing.Fcheck-
doc-message-text  Scan  the  buffer  for occurrences of the error
function, and verify text.  Optional argument  TAKE-NOTES  causes
all errors to be logged.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 mes-
sage.Fcheckdoc-defun Examine the doc string of  the  function  or
variable  under  point.  Call `error' if the doc string has prob-
lems.  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.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'Fcheck-
doc-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'Fcheckdoc-ispell-interactive  Check
the style and  spelling  of  the  current  buffer  interactively.
Calls `checkdoc-interactive' with spell-checking turned on.  Pre-
fix argument TAKE-NOTES is the  same  as  for  `checkdoc-interac-
tive'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-interac-
tive'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'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'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'Fcheck-
doc-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 `check-
doc-comments'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'Fcheckdoc-minor-mode Toggle Checkdoc minor
mode, a mode for checking Lisp doc  strings.   With  prefix  ARG,
turn Checkdoc minor mode on iff ARG is positive.

In Checkdoc minor mode, the usual bindings for `eval-defun' which
is bound to <checkdoc-minor-keymap>  and  `checkdoc-eval-current-
buffer'  are  overridden  to  include  checking  of documentation
strings.

checkdoc-minor-keymap}Fsetup-chinese-gb-environment Setup  multi-
lingual  environment  (MULE) for Chinese GB2312 users.Fsetup-chi-
nese-big5-environment Setup multilingual environment  (MULE)  for
Chinese Big5 users.Fsetup-chinese-cns-environment Setup multilin-
gual environment (MULE) for Chinese  CNS11643  family  users.Fde-
code-hz-region  Decode  HZ/ZW encoded text in the current region.
Return the  length  of  resulting  text.Fdecode-hz-buffer  Decode
HZ/ZW encoded text in the current buffer.Fencode-hz-region Encode
the text in the current region to HZ.  Return the length  of  re-
sulting  text.Fencode-hz-buffer  Encode  the  text in the current
buffer to HZ.Frepeat-matching-complex-command Edit and  re-evalu-
ate  complex command with name matching PATTERN.  Matching occur-
rences 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.Flist-command-history
List history of commands typed to minibuffer.  The number of com-
mands  listed is controlled by `list-command-history-max'.  Calls
value of `list-command-history-filter' (if non-nil) on each  his-
tory element to judge if that element should be excluded from the
list.

The buffer is left in Command History  mode.Fcommand-history-mode
Major  mode  for  examining commands from `command-history'.  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> to repeat the com-
mand 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  in-
dent.   command-history-map} Calls the value of `command-history-
hook' if that is non-nil.  The Command History listing is  recom-
puted each time this mode is invoked.Vcustom-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 re-
place the region with it.

`c-macro-preprocessor' specifies the preprocessor to use.  Prompt
for  arguments  to the preprocessor (e.g. `-DDEBUG -I ./include')
if the user option `c-macro-prompt-flag' is non-nil.

Noninteractive args are START, END, SUBST.  For use  inside  Lisp
programs, see also `c-macro-expansion'.Frun-scheme Run an inferi-
or 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  (de-
fault  is value of `scheme-program-name').  Runs the hooks `infe-
rior-scheme-mode-hook' (after  the  `comint-mode-hook'  is  run).
(Type   in  the  process buffer for a list of commands.)Fcp-make-
coding-systems-for-codepage Create a coding system to convert IBM
CODEPAGE into charset ISO-NAME whose first character is at offset
OFFSET from the beginning of 8-bit ASCII table.

The created coding system has the usual 3 subsidiary systems: for
Unix-, DOS- and Mac-style EOL conversion.  However, unlike built-
in coding systems, the Mac-style EOL conversion is currently  not
supported  by  the  decoder  and  encoder  created  by this func-
tion.Fcp-charset-for-codepage Return the charset for which  there
is  a  translation  table  to DOS CODEPAGE.  CODEPAGE must be the
name of a DOS codepage, a string.Fcp-language-for-codepage Return
the name of the MULE language environment for CODEPAGE.  CODEPAGE
must be the name of a DOS codepage, a string.Fcp-offset-for-code-
page  Return  the  offset to be used in setting up coding systems
for CODEPAGE.  CODEPAGE must be the name of  a  DOS  codepage,  a
string.Fcp-supported-codepages Return an alist of supported code-
pages.

Each association in the alist has the form (NNN . CHARSET), where
NNN is the codepage number, and CHARSET is the MULE charset which
is the closest match for the  character  set  supported  by  that
codepage.

A  codepage  NNN is supported if a variable called `cpNNN-decode-
table' exists, is a vector, and has a charset property.Fcodepage-
setup  Create a coding system cpCODEPAGE to support the IBM code-
page CODEPAGE.

These coding systems are meant for encoding  and  decoding  8-bit
non-ASCII characters used by the IBM codepages, typically in con-
junction with files read/written by MS-DOS software, or for  dis-
play  on  the  MS-DOS terminal.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-pro-
cess', 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  to  send  the
contents of to the process.

If  PROGRAM  is  a  string,  any  more args are arguments to PRO-
GRAM.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'.Fcompare-windows
Compare  text  in  current window with text in next window.  Com-
pares 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 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 ig-
nored.Vcompilation-mode-hook *List of hook functions run by `com-
pilation-mode' (see `run-hooks').Vcompilation-window-height *Num-
ber  of  lines  in  a  compilation window.  If nil, use Emacs de-
fault.Vcompilation-process-setup-function *Function  to  call  to
customize  the compilation process.  This functions is called im-
mediately before the compilation process is started.  It  can  be
used  to  set any variables or functions that are used while pro-
cessing  the  output  of  the  compilation  process.Vcompilation-
buffer-name-function  Function  to compute the name of a compila-
tion buffer.  The function receives one argument, the name of the
major mode of the compilation buffer.  It should return a string.
nil means 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 *If not nil, M-x
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 er-
ror messages.  Elements should be directory names, not file names
of directories.  nil as an element means to try the  default  di-
rectory.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  to find the next error message  and
move to the source code that caused it.

Interactively,  prompts for the command if `compilation-read-com-
mand' is non-nil; otherwise uses `compile-command'.  With  prefix
arg, always prompts.

To  run  more  than one compilation at once, start one and rename
the `*compilation*' buffer to some other name with .  Then  start
the next one.

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.Fgrep Run
grep, with user-specified args, and collect output in  a  buffer.
While grep runs asynchronously, you can use  (M-x next-error), or
<compilation-minor-mode-map> in the grep output buffer, to go  to
the lines where grep found matches.

This  command  uses  a special history list for its arguments, 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).Fgrep-find Run grep via find, with
user-specified args, and collect output in a buffer.  While  find
runs  asynchronously,  you  can use the  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.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 .  To kill the compilation, type .

Runs `compilation-mode-hook' with `run-hooks' (which see).Fcompi-
lation-shell-minor-mode  Toggle  compilation  shell  minor  mode.
With arg, turn compilation mode on if and only if  arg  is  posi-
tive.  See `compilation-mode'.  Turning the mode on runs the nor-
mal hook  `compilation-shell-minor-mode-hook'.Fcompilation-minor-
mode  Toggle  compilation minor mode.  With arg, turn compilation
mode on if and only if arg is positive.  See  `compilation-mode'.
Turning the mode on runs the normal hook `compilation-minor-mode-
hook'.Fnext-error Visit next compilation error message and corre-
sponding source code.

If  all  the error messages parsed so far have been processed al-
ready, 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 C-u as a prefix
means reparse the error message buffer and start at the first er-
ror.

  normally  uses  the  most  recently started compilation or grep
buffer.  However, it can operate on any buffer with  output  from
the  and  commands, or, more generally, on any buffer in Compila-
tion mode or with Compilation Minor mode enabled.  To specify use
of  a particular buffer for error messages, type  in that buffer.

Once  has chosen the buffer for error  messages,  it  stays  with
that buffer until you use it in some other buffer which uses Com-
pilation mode or Compilation Minor mode.

See variables `compilation-parse-errors-function'  and  `compila-
tion-error-regexp-alist' for customization ideas.Fpartial-comple-
tion-mode Toggle Partial Completion mode.  With prefix ARG,  turn
Partial Completion mode on if ARG is positive.

When  Partial  Completion  mode is enabled, TAB (or M-TAB if `PC-
meta-flag' is nil) is enhanced so that if some string is  divided
into words and each word is delimited by a character in `PC-word-
delimiters', partial words are completed as much as possible.

For example, M-x p-c-m  expands  to  M-x  partial-completion-mode
since  no  other command begins with that sequence of characters,
and  f_b.c TAB might complete to foo_bar.c if that  file  existed
and  no  other file in that directory begin with that sequence of
characters.

Unless `PC-disable-includes' is non-nil, the "<...>" sequence  is
interpreted  specially in .  For example,  <sys/time.h> RET finds
the file /usr/include/sys/time.h.  See also the variable  `PC-in-
clude-file-path'.Fdynamic-completion-mode  Enable  dynamic  word-
completion.Fcookie Return a random phrase from PHRASE-FILE.  When
the  phrase  file  is  read  in, display STARTMSG at beginning of
load, ENDMSG at end.Fcookie-insert  Insert  random  phrases  from
PHRASE-FILE;  COUNT  of  them.   When the phrase file is read in,
display STARTMSG at beginning of  load,  ENDMSG  at  end.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.Fshuffle-vector Randomly permute the elements of VECTOR (all
permutations  equally  likely)Fcopyright-update  Update the copy-
right notice at the beginning of the buffer to indicate the  cur-
rent  year.  If optional prefix ARG is given replace the years in
the notice rather than adding the current year  after  them.   If
necessary and `copyright-current-gpl-version' is set, the copying
permissions following the  copyright,  if  any,  are  updated  as
well.Fcopyright  Insert  a  copyright  by $ORGANIZATION notice at
cursor.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  )  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 appropri-
ate.  You can set `cperl-electric-parens-string'  to  the  string
that  contains  the  parenths  from the above list you want to be
electrical.  Electricity of parenths  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  re-
gion 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-key-
words'.)

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.  eg. 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  places you - appropriately  indented  -
on  a  new line between the braces (if you typed  in a POD direc-
tive line, then appropriate number of new lines is inserted).

If CPerl decides that you want to  insert  "English"  style  con-
struct 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.)

 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  `new-
line-and-indent'  behaviour,  it  is  on  ,  see documentation on
`cperl-electric-linefeed'.

Use  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-elec-
tric-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  op-
tions 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 whites-
pace inserted by semis and braces in `auto-newline'-mode by  con-
sequent .

If  your site has perl5 documentation in info format, you can use
commands  and  to access it.  These keys run commands  `cperl-in-
fo-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 , 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'.  De-
fault 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 .  Requires `run-with-idle-timer'.

Use  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 highlight-
ing 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
     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 substate-
ment.
    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 K&R and BSD indentation styles are
  `cperl-indent-level'                5    8
  `cperl-continued-statement-offset'  5    8
  `cperl-brace-offset'               -5   -8
  `cperl-label-offset'               -5   -8

CPerl knows several indentation styles, and may bulk set the cor-
responding variables.  Use  to do this.  Use  to restore the mem-
orized preexisting values (both available from menu).

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-non-
problems',  `cperl-praise',   `cperl-speed'.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.Fcpp-parse-edit
Edit  display  information for cpp conditionals.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  emulation minor mode.  With ARG, turn CRiSP mode on if ARG
is positive, off otherwise.Fcustomize-set-value Set  VARIABLE  to
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  interac-
tively 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.Fcustomize-set-variable  Set  the default for
VARIABLE to VALUE.  VALUE is a Lisp object.

If VARIABLE has a `custom-set' property, that is used for setting
VARIABLE, otherwise `set-default' is used.

The  `customized-value' property of the VARIABLE will be set to a
list with a quoted VALUE as its sole list member.

If VARIABLE has a `variable-interactive' property, that  is  used
as  if  it  were the arg to `interactive' (which see) to interac-
tively 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. Fcustomize-save-variable Set the  default  for
VARIABLE  to VALUE, and save it for future sessions.  If VARIABLE
has a `custom-set' property, that is used for  setting  VARIABLE,
otherwise `set-default' is used.

The  `customized-value' property of the VARIABLE will be set to a
list with a quoted VALUE as its sole list member.

If VARIABLE has a `variable-interactive' property, that  is  used
as  if  it  were the arg to `interactive' (which see) to interac-
tively 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. Fcustomize Select a customization buffer which
you can use to set user options.  User options are structured in-
to "groups".  Initially the top-level group `Emacs' and its imme-
diate  subgroups  are  shown; the contents of those subgroups are
initially hidden.Fcustomize-group Customize GROUP, which must  be
a   customization  group.Fcustomize-group-other-window  Customize
GROUP, which must be a customization group.Fcustomize-option Cus-
tomize  SYMBOL,  which must be a user option variable.Fcustomize-
changed-options Customize all user option  variables  changed  in
Emacs itself.  This includes new user option variables and faces,
and new customization groups, as well as older options and  faces
whose  default values have changed since the previous major Emacs
release.

With argument SINCE-VERSION (a string), customize all user option
variables  that were added (or their meanings were changed) since
that  version.Fcustomize-option-other-window  Customize   SYMBOL,
which must be a user option variable.  Show the buffer in another
window, but don't  select  it.Fcustomize-face  Customize  SYMBOL,
which  should be a face name or nil.  If SYMBOL is nil, customize
all faces.Fcustomize-face-other-window Show customization  buffer
for FACE in other window.Fcustomize-customized Customize all user
options set since the last save in this  session.Fcustomize-saved
Customize  all already saved user options.Fcustomize-apropos Cus-
tomize all user options matching REGEXP.  If  ALL  is  `options',
include only options.  If ALL is `faces', include only faces.  If
ALL is `groups', include only groups.  If ALL is t  (interactive-
ly,  with  prefix  arg),  include options which are not user-set-
table, as well  as  faces  and  groups.Fcustomize-apropos-options
Customize all user options matching REGEXP.  With prefix arg, in-
clude options  which  are  not  user-settable.Fcustomize-apropos-
faces  Customize  all user faces matching REGEXP.Fcustomize-apro-
pos-groups Customize all  user  groups  matching  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 op-
tion, and WIDGET is a widget  for  editing  that  option.Fcustom-
buffer-create-other-window  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 cus-
tomization option, and WIDGET is a widget for  editing  that  op-
tion.Fcustomize-browse  Create  a  tree browser for the customize
hierarchy.Vcustom-file File used for storing customization infor-
mation.  The default is nil, which means to use your init file as
specified by `user-init-file'.  If you specify some  other  file,
you  need  to  explicitly load that file for the settings to take
effect.Fcustomize-save-customized Save  all  user  options  which
have  been  set  in  this  session.Fcustom-save-all Save all cus-
tomizations in `custom-file'.Fcustom-menu-create Create menu  for
customization  group  SYMBOL.  The menu is in a format applicable
to `easy-menu-define'.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'.Fcustom-declare-face Like  `defface',  but  FACE  is
evaluated as a normal argument.Fcustom-set-faces Initialize faces
according to user preferences.  The arguments should  be  a  list
where each entry has the form:

  (FACE SPEC [NOW])

SPEC  is  stored  as the saved value for FACE.  If NOW is present
and non-nil, FACE is created now, according to SPEC.

See `defface' for the format of SPEC.Fsetup-cyrillic-iso-environ-
ment   Setup   multilingual   environment   (MULE)  for  Cyrillic
ISO-8859-5 users.Fsetup-cyrillic-koi8-environment Setup multilin-
gual  environment (MULE) for Cyrillic KOI8 users.Fsetup-cyrillic-
alternativnyj-environment Setup multilingual  environment  (MULE)
for Cyrillic ALTERNATIVNYJ users.Fcyrillic-encode-koi8-r-char Re-
turn  KOI8-R  external  character  code  of  CHAR  if   appropri-
ate.Fcyrillic-encode-alternativnyj-char  Return ALTERNATIVNYJ ex-
ternal character code of CHAR  if  appropriate.Fstandard-display-
cyrillic-translit  Display a cyrillic buffer using a translitera-
tion.  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.Fdabbrev-completion Completion on current word.  Like   but
finds  all  expansions in the current buffer and presents sugges-
tions for completion.

With a prefix argument, 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 C-u C-u), then  it
searches *all* buffers.

With  no  prefix  argument,  it  reuses an old completion list if
there is a suitable one already.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 vari-
able `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 expan-
sion and no argument is given, replace the previously-made expan-
sion with the next possible expansion not yet tried.

The variable `dabbrev-backward-only' may be used to limit the di-
rection of search to backward if set non-nil.

See also `dabbrev-abbrev-char-regexp' and .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-be-
gin-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:

          Save   changed   options             Save  all  options
               Save any option                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  SUBROU-
TINE.

 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, respec-
tively,
    a block of commmand lines that will be given  extra  indenta-
tion.
    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 com-
mand 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 con-
tinued 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 cus-
tomize
    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 in-
cludes
    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 la-
bel 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 $
Fdebug Enter debugger.  To  return,  type  <debugger-mode-map>`'.
Arguments  are mainly for use when this is called from the inter-
nals 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 af-
ter the first will be printed into the  backtrace  buffer.Fdebug-
on-entry  Request  FUNCTION  to  invoke  debugger each time it is
called.  If you tell the debugger to continue, FUNCTION's  execu-
tion  proceeds.   This works by modifying the definition of FUNC-
TION, which must be written in Lisp,  not  predefined.   Use   to
cancel the effect of this command.  Redefining FUNCTION also can-
cels it.Fcancel-debug-on-entry Undo effect of  on  FUNCTION.   If
argument is nil or an empty string, cancel for all functions.Fde-
cipher Format a buffer of ciphertext for cryptanalysis and  enter
Decipher mode.Fdecipher-mode Major mode for decrypting monoalpha-
betic 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>    Display  a
list  of all digrams & their frequency   Display the frequency of
each ciphertext letter   Show adjacency list for  current  letter
(lists  letters  appearing  next to it)   Save the current cipher
alphabet (checkpoint)   Restore a saved cipher  alphabet  (check-
point)Fdelete-selection-mode  Toggle Delete Selection mode.  With
prefix ARG, turn Delete Selection mode on if and only if  ARG  is
positive.

When Delete Selection mode is enabled, Transient Mark mode is al-
so enabled and typed text replaces the selection if the selection
is  active.   Otherwise, typed text is just inserted at point re-
gardless of any  selection.Vdelete-selection-mode  Toggle  Delete
Selection  mode.   See  command `delete-selection-mode'.  Setting
this variable directly does not take effect; use either   or  the
function  `delete-selection-mode'.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 (ie. text-mode).
NAME:      a string which will appear in  the  status  line  (ie.
"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.

Here  is  how  you could define LaTeX-Thesis mode as a variant of
LaTeX mode:

  (define-derived-mode LaTeX-thesis-mode  LaTeX-mode  "LaTeX-The-
sis")

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.Fderived-mode-init-mode-variables Initialise 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.Fdesktop-
read Read the Desktop file and the files it specifies.  This is a
no-op when Emacs is running in  batch  mode.Fdesktop-load-default
Load  the `default' start-up library manually.  Also inhibit fur-
ther loading of it.  Call this from your `.emacs' file to provide
correct  modes for autoloaded files.Fsetup-devanagari-environment
Setup multilingual environment (MULE) for languages using Devana-
gari.Findian-to-devanagari Convert IS 13194 characters to Devana-
gari basic  characters.Fdevanagari-to-indian  Convert  Devanagari
basic characters to IS 13194 characters.Findian-to-devanagari-re-
gion Convert IS 13194 characters in region  to  Devanagari  basic
characters.Fdevanagari-to-indian-region  Convert Devanagari basic
characters in region to Indian  characters.Findian-to-devanagari-
string  Convert  Indian  String  to  Devanagari  Basic  Character
String.Fchar-to-glyph-devanagari Convert Devanagari characters in
the string to Devanagari glyphs.  Ligatures and special rules are
processed.Fdevanagari-decompose-string Decompose Devanagari glyph
string  STR to basic Devanagari character string.Fdevanagari-com-
pose-from-is13194-region Compose IS 13194 characters in  the  re-
gion     to    Devanagari    characters.Fdevanagari-decompose-to-
is13194-region Decompose Devanagari characters in the  region  to
IS 13194 characters.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 `num-
ber-of-diary-entries'.  This function is suitable  for  execution
in  a `.emacs' file.Fdiary-mail-entries Send a mail message show-
ing diary entries for next NDAYS days.  If no prefix argument  is
given, NDAYS is set to `diary-mail-days'.

You  can  call  `diary-mail-entries' every night using an at/cron
job.  For example, this script will run the program at 2am daily.
Since  `emacs  -batch' does not load your `.emacs' file, you must
ensure that all relevant variables are set, as done here.

#!/bin/sh # diary-rem.sh -- repeatedly run  the  Emacs  diary-re-
minder    emacs    -batch    -eval   "(setq   diary-mail-days   3
european-calendar-style t              diary-mail-addr -l  diary-
lib -f diary-mail-entries at -f diary-rem.sh 0200 tomorrow

You may have to tweak the syntax of the `at' command to suit your
system.  Alternatively, you can specify a cron entry: 0 1 *  *  *
diary-rem.sh  to  run  it  every morning at 1am.Vdiff-switches *A
string or list of strings specifying switches to be be passed  to
diff.Vdiff-command *The command to use to run diff.Fdiff Find and
display the differences between OLD and NEW files.  Interactively
the current buffer's file name is the default for NEW and a back-
up file for NEW is the default for OLD.  With prefix arg,  prompt
for  diff  switches.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'.Vdired-listing-switches   *Switches  passed  to  `ls'  for
dired.  MUST contain the `l' option.  May contain all  other  op-
tions  that don't contradict `-l'; may contain even `F', `b', `i'
and `s'.  See also the variable `dired-ls-F-marks-symlinks'  con-
cerning the `F' switch.Vdired-chown-program Name of chown command
(usually `chown' or `/etc/chown').Vdired-ls-F-marks-symlinks *In-
forms dired about how `ls -lF' marks symbolic links.  Set this to
t if `ls' (or whatever program is specified by `insert-directory-
program') with `-lF' marks the symbolic link itself with a trail-
ing @ (usually the case under Ultrix).

Example: if `ln -s foo bar; ls -F bar' gives `bar -> foo', set it
to nil (the default), if it gives `bar@ -> foo', set it to t.

Dired  checks if there is really a @ appended.  Thus, if you have
a marking `ls' program on one host and a non-marking  on  another
host,  and  don't care about symbolic links which really end in a
@, you can always set this variable to t.Vdired-trivial-filenames
*Regexp  of files to skip when finding first file of a directory.
A value of nil means move to the subdir line.  A value of t means
move to first file.Vdired-keep-marker-rename *Controls marking of
renamed files.  If t, files keep their previous marks  when  they
are  renamed.   If a character, renamed files (whether previously
marked or not) are afterward marked with  that  character.Vdired-
keep-marker-copy *Controls marking of copied files.  If t, copied
files are marked if and as the corresponding original files were.
If a character, copied files are unconditionally marked with that
character.Vdired-keep-marker-hardlink *Controls marking of  newly
made  hard  links.   If  t,  they  are marked if and as the files
linked to were marked.  If a character, new  links  are  uncondi-
tionally  marked  with  that character.Vdired-keep-marker-symlink
*Controls marking of newly made symbolic links.  If t,  they  are
marked  if  and as the files linked to were marked.  If a charac-
ter, new links  are  unconditionally  marked  with  that  charac-
ter.Vdired-dwim-target  *If  non-nil,  dired tries to guess a de-
fault target directory.  This means: if there is a  dired  buffer
displayed  in the next window, use its current subdir, instead of
the current subdir of this dired buffer.

The  target  is  used  in  the  prompt  for  file  copy,   rename
etc.Vdired-copy-preserve-time  *If  non-nil,  Dired preserves the
last-modified time in a file copy.  (This works on only some sys-
tems.)Fdired  "Edit"  directory  DIRNAME--delete,  rename, print,
etc. some files in it.  Optional second argument SWITCHES  speci-
fies  the  `ls' options used.  (Interactively, use a prefix argu-
ment 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
move  around  in  it with the usual commands.  You can flag files
for deletion with  and then delete them by typing .  Type   after
entering dired for more info.

If  DIRNAME  is  already  in  a dired buffer, that buffer is used
without  refresh.Fdired-other-window  "Edit"  directory  DIRNAME.
Like  `dired'  but  selects  in another window.Fdired-other-frame
"Edit"  directory  DIRNAME.   Like  `dired'  but  makes   a   new
frame.Fdired-noselect  Like  `dired' but returns the dired buffer
as value, does not select it.Fdired-diff Compare  file  at  point
with  file  FILE  using `diff'.  FILE defaults to the file at the
mark.  The prompted-for file is the first file given  to  `diff'.
With prefix arg, prompt for second argument SWITCHES,
 which  is  options  for `diff'.Fdired-backup-diff 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 argument SWITCHES
which is options for `diff'.Fdired-do-chmod Change  the  mode  of
the  marked (or next ARG) files.  This calls chmod, thus symbolic
modes like `g+w' are allowed.Fdired-do-chgrp Change the group  of
the  marked  (or next ARG) files.Fdired-do-chown Change the owner
of the marked  (or  next  ARG)  files.Fdired-do-print  Print  the
marked  (or  next ARG) files.  Uses the shell command coming from
variables `lpr-command' and `lpr-switches' as  default.Fdired-do-
shell-command  Run  a  shell command COMMAND on the marked files.
If no files are marked or a specific numeric prefix arg is given,
the  next ARG files are used.  Just  means the current file.  The
prompt mentions the file(e) or the marker, as appropriate.

If there is output, it goes to a separate buffer.

Normally the command is run on each file individually.   However,
if  there  is  a `*' in the command then it is run just once with
the entire file list substituted there.

No automatic redisplay of dired buffers is attempted, as  there's
no telling what files the command may have changed.  Type  to re-
display the marked files.

The shell command has the top level directory as working directo-
ry,  so  output  files  usually are created there instead of in a
subdir.Fdired-do-kill-lines  Kill  all  marked  lines  (not   the
files).   With  a  prefix argument, kill that many lines starting
with the current line.  (A negative argument kills  lines  before
the current line.)  To kill an entire subdirectory, go to its di-
rectory header line and use this command with a  prefix  argument
(the value does not matter).Fdired-do-compress Compress or uncom-
press marked (or next ARG) files.Fdired-do-byte-compile Byte com-
pile  marked  (or  next ARG) Emacs Lisp files.Fdired-do-load Load
the marked (or next ARG) Emacs Lisp files.Fdired-do-redisplay Re-
display all marked (or next ARG) files.  If on a subdir line, re-
display that subdirectory.  In that case, a prefix arg  lets  you
edit the `ls' switches used for the new listing.Fdired-create-di-
rectory Create a directory called  DIRECTORY.Fdired-do-copy  Copy
all  marked  (or next ARG) files, or copy the current file.  This
normally preserves the last-modified date when copying.  When op-
erating on just the current file, you specify the new name.  When
operating on multiple or marked files, you specify  a  directory,
and new copies of these files are made in that directory with the
same names that the files currently  have.Fdired-do-symlink  Make
symbolic links to current file or all marked (or next ARG) files.
When operating on just the current  file,  you  specify  the  new
name.   When operating on multiple or marked files, you specify a
directory and new symbolic links are made in that directory  with
the  same  names that the files currently have.Fdired-do-hardlink
Add names (hard links) current file or all marked (or  next  ARG)
files.   When operating on just the current file, you specify the
new name.  When operating on multiple or marked files, you speci-
fy a directory and new hard links are made in that directory with
the same names that the files currently have.Fdired-do-rename Re-
name current file or all marked (or next ARG) files.  When renam-
ing just the current file, you specify the new name.  When renam-
ing  multiple or marked files, you specify a directory.Fdired-do-
rename-regexp Rename marked files containing REGEXP  to  NEWNAME.
As each match is found, the user must type a character saying
  what  to do with it.  For directions, type  at that time.  NEW-
NAME may contain =<n> or  as in  `query-replace-regexp'.   REGEXP
defaults to the last regexp used.

With  a  zero prefix arg, renaming by regexp affects the absolute
file name.  Normally, only the non-directory  part  of  the  file
name  is  used  and changed.Fdired-do-copy-regexp Copy all marked
files containing REGEXP to NEWNAME.  See  function  `dired-do-re-
name-regexp' for more info.Fdired-do-hardlink-regexp Hardlink all
marked files containing REGEXP to NEWNAME.  See function  `dired-
do-rename-regexp'  for more info.Fdired-do-symlink-regexp Symlink
all marked files containing  REGEXP  to  NEWNAME.   See  function
`dired-do-rename-regexp'  for  more info.Fdired-upcase Rename all
marked (or next ARG) files to upper  case.Fdired-downcase  Rename
all marked (or next ARG) files to lower case.Fdired-maybe-insert-
subdir Insert this subdirectory into the same dired  buffer.   If
it is already present, just move to it (type  to refresh),
  else  inserts  it  at its natural place (as `ls -lR' would have
done).  With a prefix arg, you may edit the ls switches used  for
this listing.
  You can add `R' to the switches to expand the whole tree start-
ing at
  this subdirectory.  This function takes some pains  to  conform
to  `ls -lR' output.Fdired-prev-subdir Go to previous subdirecto-
ry, regardless of level.  When called interactively and not on  a
subdir  line,  go  to this subdir's line.Fdired-goto-subdir Go to
end of header line of DIR in this dired buffer.  Return value  of
point ifnDIRcisshidden.Fdired-mark-subdir-filesexMarkarall efiles
0 or
except `.' and `..' in current subdirectory.  If the Dired buffer
shows multiple directories, this command marks the  files  listed
in  the  subdirectory  that point is in.Fdired-kill-subdir Remove
all lines of current subdirectory.  Lower  levels  are  unaffect-
ed.Fdired-tree-up Go up ARG levels in the dired tree.Fdired-tree-
down Go down in the dired tree.Fdired-hide-subdir Hide or  unhide
the  current  subdirectory  and move to next directory.  Optional
prefix arg is a repeat factor.  Use   to  (un)hide  all  directo-
ries.Fdired-hide-all  Hide all subdirectories, leaving only their
header lines.  If there is already something hidden, make  every-
thing  visible  again.  Use  to (un)hide a particular subdirecto-
ry.Fdired-do-search Search through all marked files for  a  match
for  REGEXP.  Stops when a match is found.  To continue searching
for next match, use command .Fdired-do-query-replace  Do  `query-
replace-regexp'  of FROM with TO, on all marked files.  Third arg
DELIMITED (prefix arg) means replace only word-delimited matches.
If  you exit ( or ESC), you can resume the query replace with the
command .Fdired-jump Jump to dired buffer corresponding  to  cur-
rent  buffer.  If in a file, dired the current directory and move
to file's line.  If in dired already, pop up a level and goto old
directory's  line.   In case the proper dired file line cannot be
found, refresh the dired buffer and try again.Fdirtrack Determine
the  current  directory  by  scanning  the  process  output for a
prompt.  The prompt to look for is the first item  in  `dirtrack-
list'.

You   can   toggle  directory  tracking  by  using  the  function
`dirtrack-toggle'.

If directory tracking does not seem to be working,  you  can  use
the function `dirtrack-debug-toggle' to turn on debugging output.

You can enable directory tracking  by  adding  this  function  to
`comint-output-filter-functions'.   Fdisassemble  Print disassem-
bled code for OBJECT in (optional) BUFFER.  OBJECT can be a  sym-
bol defined as a function, or a function itself (a lambda expres-
sion or a compiled-function object).  If OBJECT  is  not  already
compiled,  we  compile  it, but do not redefine OBJECT if it is a
symbol.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  in-
clusive,  or  a  slot  name (symbol).  Valid symbols are `trunca-
tion',  `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-dis-
play', 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 in the  range  L
to  H  literally.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-dis-
play-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 mean-
ingless  for an X frame.Fstandard-display-underline Display char-
acter C as character UC plus  underlining.Fstandard-display-euro-
pean  Semi-obsolete  way  to  toggle display of ISO 8859 European
characters.

This function is semi-obsolete; if you want to  do  your  editing
with  unibyte  characters, it is better to `set-language-environ-
ment'  coupled  with  either  the  `--unibyte'  option   or   the
EMACS_UNIBYTE  environment  variable,  or else customize `enable-
multibyte-characters'.

With prefix argument, this  command  enables  European  character
display if arg is positive, disables it otherwise.  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 noninterac-
tively from Lisp code also selects Latin-1 as the language  envi-
ronment, and selects unibyte mode for all Emacs buffers (both ex-
isting buffers and those created  subsequently).   This  provides
increased  compatibility  for  users  who  call  this function in
`.emacs'.Fdissociated-press Dissociate the text  of  the  current
buffer.  Output goes in buffer named *Dissociation*, which is re-
displayed 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.Fdoctor Switch to *doctor* buffer and
start giving psychotherapy.Fdouble-mode Toggle Double mode.  With
prefix arg, turn Double mode on iff arg is positive.

When  Double  mode is on, some keys will insert different strings
when pressed twice.  See variable `double-map' for  details.Fdun-
net  Switch  to *dungeon* buffer and start game.Fgnus-earcon-dis-
play Play sounds in message buffers.Feasy-mmode-define-minor-mode
Define  a new minor mode MODE.  This function defines the associ-
ated control variable, keymap, toggle  command,  and  hooks  (see
`easy-mmode-define-toggle').

DOC  is  the documentation for the mode toggle command.  Optional
LIGHTER is displayed in the mode-bar when the mode  is  on.   Op-
tional  KEYMAP  is  the default (defvar) keymap bound to the mode
keymap.  If it is a list, it  is  passed  to  `easy-mmode-define-
keymap' in order to build a valid keymap.

(defmacro easy-mmode-define-minor-mode
  (MODE  DOC  &optional INIT-VALUE LIGHTER KEYMAP)...)Feasy-menu-
define Define a menu bar submenu in maps MAPS, according to MENU.
The menu keymap is stored in symbol SYMBOL, both as its value and
as its function definition.   DOC is used as the doc  string  for
SYMBOL.

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  is  a function with one argument, the menu.  It returns
the actual menu displayed.

   :visible INCLUDE

INCLUDE is an expression; this menu is only visible if  this  ex-
pression has a non-nil value.  `:include' is an alias for `:visi-
ble'.

   :active ENABLE

ENABLE is an expression; the menu is enabled for selection  when-
ever this expression's value is non-nil.

The rest of the elements in MENU, are menu items.

A  menu  item is usually a vector of three elements:  [NAME CALL-
BACK ENABLE]

NAME is a string--the menu item name.

CALLBACK is a command to run when the item is chosen, or  a  list
to evaluate when the item is chosen.

ENABLE  is an expression; the item is enabled for selection when-
ever this expression's value is non-nil.

Alternatively, a menu item may have the form:

   [ NAME CALLBACK [ KEYWORD ARG ] ... ]

Where KEYWORD is one of the symbols defined below.

   :keys KEYS

KEYS is a string; a complex  keyboard  equivalent  to  this  menu
item.   This  is normally not needed because keyboard equivalents
are usually computed automatically.  KEYS is expanded with  `sub-
stitute-command-keys' before it is used.

   :key-sequence KEYS

KEYS is nil a string or a vector; nil or a keyboard equivalent to
this menu item.  This is a hint that will considerably  speed  up
Emacs  first display of a menu.  Use `:key-sequence nil' when you
know that this menu item has no keyboard equivalent.

   :active ENABLE

ENABLE is an expression; the item is enabled for selection  when-
ever this expression's value is non-nil.

   :included INCLUDE

INCLUDE  is  an expression; this item is only visible if this ex-
pression has a non-nil value.

   :suffix NAME

NAME is a string; the name of an argument to CALLBACK.

   :style STYLE

STYLE is a symbol describing the type of menu item.  The  follow-
ing are defined:

toggle: A checkbox.
        Prepend  the  name  with `(*) ' or `( ) ' depending on if
selected or not.  radio: A radio button.
       Prepend the name with `[X] ' or `[ ] ' depending on if se-
lected  or  not.  button: Surround the name with `[' and `]'. Use
this for an item in the
        menu bar itself.  anything else means  an  ordinary  menu
item.

   :selected SELECTED

SELECTED  is  an  expression; the checkbox or radio button is se-
lected whenever this expression's value is non-nil.

A menu item can be a string.  Then that  string  appears  in  the
menu as unselectable text.  A string consisting solely of hyphens
is displayed as a solid horizontal line.

A menu item can be a list with the same format as MENU.  This  is
a  submenu.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 preced-
ed by keyword pairs  as  described  in  `easy-menu-define'.Feasy-
menu-change  Change  menu  found  at PATH as item NAME to contain
ITEMS.  PATH is a list of strings for locating the menu  contain-
ing  NAME  in the menu bar.  ITEMS is a list of menu items, as in
`easy-menu-define'.  These items entirely  replace  the  previous
items in that map.  If NAME is not present in the menu located by
PATH, then add item NAME to that menu. If the  optional  argument
BEFORE  is present add NAME in menu just before BEFORE, otherwise
add at end of menu.

Either call this from `menu-bar-update-hook' or use a  menu  fil-
ter,  to  implement dynamic menus.Felectric-buffer-list Pops up a
buffer describing the set of Emacs buffers.  Vaguely like ITS lu-
nar  select buffer; combining typeoutoid buffer listing with men-
uoid buffer selection.

If the very next character typed is a space then the buffer  list
window  disappears.  Otherwise, one may move around in the buffer
list window, marking buffers to be selected, saved or deleted.

To exit and select a new buffer, type a space when the cursor  is
on  the  appropriate  line of the buffer-list window.  Other com-
mands are much like those of buffer-menu-mode.

Calls value of `electric-buffer-menu-mode-hook' on entry if  non-
nil.

electric-buffer-menu-mode-map}FElectric-command-history-redo-ex-
pression Edit current history line in minibuffer and execute  re-
sult.   With  prefix  arg  NOCONFIRM,  execute current line as-is
without editing.Vedebug-all-defs *If non-nil, evaluation  of  any
defining  forms  will  instrument  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 evaluation of all forms will in-
strument for Edebug.  This doesn't apply to  loading  or  evalua-
tions  in  the minibuffer.  Use the command `edebug-all-forms' to
toggle the value of this option.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, t, a  symbol  (naming  a
function),  or  a list.Fedebug-eval-top-level-form Evaluate a top
level form, such as a defun or defmacro.  This is like  `eval-de-
fun',  but the code is always instrumented for Edebug.  Print its
name in the minibuffer and leave point where it is, or if an  er-
ror  occurs,  leave  point  after  it  with  mark at the original
point.Fediff-files Run Ediff on a pair of files, FILE-A and FILE-
B.Fediff-files3  Run  Ediff  on  three files, FILE-A, FILE-B, and
FILE-C.Fediff-buffers Run Ediff on a pair  of  buffers,  BUFFER-A
and  BUFFER-B.Fediff-buffers3 Run Ediff on three buffers, BUFFER-
A, BUFFER-B, and BUFFER-C.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 a regular expression
that can be used to filter out certain file names.Fediff-directo-
ry-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.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 a regular expression that can be used  to  filter  out
certain  file  names.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 a regular expression
that can be used to filter out certain  file  names.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 a
regular expression that can be used to filter  out  certain  file
names.Fediff-merge-directory-revisions  Run Ediff on a directory,
DIR1, merging its files with their revisions.  The  second  argu-
ment,  REGEXP,  is  a  regular  expression  that filters the file
names. Only the files that are under revision control  are  taken
into  account.Fediff-merge-directory-revisions-with-ancestor  Run
Ediff on a directory, DIR1, merging its files  with  their  revi-
sions  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.Fediff-windows-
wordwise Compare WIND-A and WIND-B, which are selected by  click-
ing, wordwise.  With prefix argument, DUMB-MODE, or on a non-win-
dowing display, works as follows: If WIND-A is nil, use  selected
window.   If WIND-B is nil, use window next to WIND-A.Fediff-win-
dows-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.Fediff-regions-wordwise Run Ediff on a pair of regions  in  two
different buffers.  Regions (i.e., point and mark) are assumed to
be set in advance.  This function is effective only for relative-
ly small regions, up to 200 lines. For large regions, use `ediff-
regions-linewise'.Fediff-regions-linewise Run Ediff on a pair  of
regions in two different buffers.  Regions (i.e., point and mark)
are assumed to be set in advance.  Each  region  is  enlarged  to
contain  full  lines.   This  function is effective for large re-
gions, over 100-200 lines. For small regions, use `ediff-regions-
wordwise'.Fediff-merge-files   Merge  two  files  without  ances-
tor.Fediff-merge-files-with-ancestor Merge two files with  ances-
tor.Fediff-merge-buffers  Merge  buffers without ancestor.Fediff-
merge-buffers-with-ancestor Merge buffers  with  ancestor.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.Fediff-merge-revisions-with-ancestor Run Ediff by
merging two revisions of a file with a common ancestor.  The file
is the the optional FILE argument or the file visited by the cur-
rent buffer.Frun-ediff-from-cvs-buffer Run Ediff-merge on  appro-
priate revisions of the selected file.  First run after `M-x cvs-
update'. Then place the cursor on a line describing  a  file  and
then  run `run-ediff-from-cvs-buffer'.Fediff-patch-file Run Ediff
by  patching  SOURCE-FILENAME.Fediff-patch-buffer  Run  Ediff  by
patching  BUFFER-NAME.Fediff-revision Run Ediff by comparing ver-
sions of a file.  The file is an optional FILE  argument  or  the
file  visited  by the current buffer. Use `vc.el' or `rcs.el' de-
pending on `ediff-version-control-package'.Fediff-version  Return
string describing the version of Ediff.  When called interactive-
ly, displays  the  version.Fediff-documentation  Display  Ediff's
manual.   With  optional NODE, goes to that node.Fediff-show-reg-
istry Display  Ediff's  registry.Fediff-toggle-multiframe  Switch
from  multiframe  display  to  single-frame display and back.  To
change the default, set  the  variable  `ediff-window-setup-func-
tion',  which see.Fediff-toggle-use-toolbar Enable or disable Ed-
iff toolbar.  Works only in versions of Emacs that support  tool-
bars.   To  change the default, set the variable `ediff-use-tool-
bar-p', which see.Vedmacro-eight-bits *Non-nil if  edit-kbd-macro
should leave 8-bit characters intact.  Default nil means to write
characters above 177 in  octal  notation.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 100 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.Fedit-last-kbd-macro Edit the most recently defined  keyboard
macro.Fedit-named-kbd-macro  Edit a keyboard macro which has been
given a name by  `name-last-kbd-macro'.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  documenta-
tion  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, oth-
erwise an event vector.  Second argument NEED-VECTOR means to re-
turn an event vector always.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.Fedt-emulation-on  Turn  on  EDT  Emula-
tion.Fwith-electric-help  Pop  up an "electric" help buffer.  The
arguments are THUNK &optional BUFFER NOERASE MINHEIGHT.  THUNK is
a function of no arguments which is called to initialize the con-
tents 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 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-excur-
sion') BUFFER is put into `default-major-mode' (or  `fundamental-
mode') when we exit.Veldoc-mode *If non-nil, show the defined pa-
rameters for the elisp function near point.

For the emacs lisp function at the beginning of  the  sexp  which
point  is within, show the defined parameters for the function in
the echo area.  This information is extracted directly  from  the
function  or  macro if it is in pure lisp.  If the emacs function
is a subr, the parameters are  obtained  from  the  documentation
string if possible.

If  point  is  over  a documented variable, print that variable's
docstring instead.

This variable is buffer-local.Feldoc-mode *Enable or disable  el-
doc  mode.   See  documentation for the variable of the same name
for more details.

If called interactively with no prefix argument,  toggle  current
condition  of  the  mode.   If called with a positive or negative
prefix argument, enable or disable the mode,  respectively.Fturn-
on-eldoc-mode Unequivocally turn on eldoc-mode (see variable doc-
umentation).Felint-initialize  Initialize  elint.Felp-instrument-
function  Instrument FUNSYM for profiling.  FUNSYM must be a sym-
bol of a defined function.Felp-restore-function  Restore  an  in-
strumented  function to its original definition.  Argument FUNSYM
is the symbol of a defined function.Felp-instrument-list  Instru-
ment  for  profiling,  all functions in `elp-function-list'.  Use
optional LIST if provided instead.Felp-instrument-package Instru-
ment  for  profiling, all functions which start with PREFIX.  For
example, to instrument all ELP functions, do the following:

     RET elp- RETFelp-results Display current profiling  results.
If  `elp-reset-after-results'  is non-nil, then current profiling
information for all instrumented functions are  reset  after  re-
sults are displayed.Felp-submit-bug-report Submit via mail, a bug
report on  elp.Freport-emacs-bug  Report  a  bug  in  GNU  Emacs.
Prompts  for  bug  subject.  Leaves you in a mail buffer.Femerge-
files Run Emerge  on  two  files.Femerge-files-with-ancestor  Run
Emerge on two files, giving another file as the ancestor.Femerge-
buffers Run Emerge on  two  buffers.Femerge-buffers-with-ancestor
Run  Emerge  on  two buffers, giving another buffer as the ances-
tor.Femerge-revisions Emerge two RCS revisions of a file.Femerge-
revisions-with-ancestor  Emerge two RCS revisions of a file, with
another revision as ancestor.Fencoded-kbd-mode Toggle Encoded-kbd
minor  mode.   With  arg, turn Encoded-kbd mode on if and only if
arg is positive.

You should not turn this mode on manually, instead use  the  com-
mand  which turns on or off this mode automatically.

In  Encoded-kbd  mode, a text sent from keyboard is accepted as a
multilingual text encoded in a coding system set  by  .Fenriched-
mode Minor mode for editing text/enriched files.  These are files
with  embedded  formatting  information  in  the  MIME   standard
text/enriched  format.   Turning the mode on 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>enriched-mode-map}Fsetenv Set the value of the
environment variable named VARIABLE to VALUE.  VARIABLE should be
a  string.   VALUE  is optional; if not provided or is `nil', the
environment variable VARIABLE will be removed.

Interactively, a prefix argument means  to  unset  the  variable.
Interactively, 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  works  by  modifying `process-environment'.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-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-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  after finding a tag.  See `run-hooks'.  The value in the
buffer in which  is done is used, not the  value  in  the  buffer
goes  to.Vfind-tag-default-function  *A  function of no arguments
used by  to pick a default tag.  If nil, and the symbol  that  is
the value of `major-mode' has a `find-tag-default-function' prop-
erty (see `put'), that is used.  Otherwise, `find-tag-default' is
used.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  sets the global value of `tags-file-name'.  With a pre-
fix arg, set the buffer-local value instead.  When you find a tag
with , 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.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.Ffind-tag-nos-
elect Find tag (in current tags table) whose name  contains  TAG-
NAME.   Returns  the  buffer  containing the tag's definition and
moves its point there, but does not select the buffer.   The  de-
fault 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 `-' (interactive-
ly, with prefix arg that is a negative number or just ), 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  onvoked  is
pushed  onto  a  ring  and may be popped back to with .  Contrast
this with the ring of marks gone to by the command.

See documentation of variable `tags-file-name'.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 `-' (interactive-
ly, with prefix arg that is a negative number or just ), 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 onvoked is
pushed onto a ring and may be popped back  to  with  .   Contrast
this with the ring of marks gone to by the command.

See  documentation  of variable `tags-file-name'.Ffind-tag-other-
window Find tag (in current tags table) whose name contains  TAG-
NAME.   Select  the buffer containing the tag's definition in an-
other 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 ), 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  onvoked  is
pushed  onto  a  ring  and may be popped back to with .  Contrast
this with the ring of marks gone to by the command.

See documentation of  variable  `tags-file-name'.Ffind-tag-other-
frame  Find  tag (in current tags table) whose name contains TAG-
NAME.  Select the buffer containing the tag's definition  in  an-
other  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 ), 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 onvoked is
pushed onto a ring and may be popped back  to  with  .   Contrast
this with the ring of marks gone to by the command.

See  documentation  of variable `tags-file-name'.Ffind-tag-regexp
Find tag (in current tags table) whose name matches REGEXP.   Se-
lect  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 ), pop back  to
the previous tag gone to.

If third arg OTHER-WINDOW is non-nil, select the buffer in anoth-
er window.

A marker representing the point when this command is  onvoked  is
pushed  onto  a  ring  and may be popped back to with .  Contrast
this with the ring of marks gone to by the command.

See documentation of variable `tags-file-name'.Fpop-tag-mark  Pop
back to where  was last invoked.

This  is  distinct  from invoking  with a negative argument since
that pops a stack of markers at which tags were found,  not  from
where  they were found.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 ar-
gument 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.Ftags-loop-continue Con-
tinue  last  or  command.  Used noninteractively with non-nil ar-
gument 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 val-
ue 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.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 .

See documentation  of  variable  `tags-file-name'.Ftags-query-re-
place  Query-replace-regexp FROM with TO through all files listed
in tags table.  Third arg DELIMITED (prefix  arg)  means  replace
only  word-delimited matches.  If you exit ( or ESC), you can re-
sume the query-replace with the command .

See documentation of variable `tags-file-name'.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 specifica-
tion.Ftags-apropos Display list of all tags in tags table  REGEXP
matches.Fselect-tags-table  Select  a tags table file from a menu
of those you have already used.  The list of tags tables  to  se-
lect from is stored in `tags-table-set-list'; see the doc of that
variable if you want to add names to the list.Fcomplete-tag  Per-
form  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  (which
see).Fsetup-ethiopic-environment Setup  multilingual  environment
for  Ethiopic.Fethio-sera-to-fidel-region  Convert the characters
in region from SERA to FIDEL.  The  variable  `ethio-primary-lan-
guage'  specifies  the primary language and `ethio-secondary-lan-
guage' specifies the secondary.

If the 3rd parameter SECONDARY is given and non-nil,  assume  the
region  begins begins with the secondary language; otherwise with
the primary language.

If the 4th parameter FORCE is given and non-nil, perform  conver-
sion 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'.Fethio-sera-to-fidel-
buffer Convert the current buffer from SERA to FIDEL.

The  variable `ethio-primary-language' specifies the primary lan-
guage and `ethio-secondary-language' specifies the secondary.

If the 1st optional parameter SECONDARY is  non-nil,  assume  the
buffer  begins  with  the  secondary language; otherwise with the
primary language.

If the 2nd optional parametr 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'.Fethio-sera-to-fidel-
mail-or-marker Execute ethio-sera-to-fidel-mail or ethio-sera-to-
fidel-marker depending on the current major mode.  If  in  rmail-
mode   or  in  mail-mode,  execute  the  former;  otherwise  lat-
ter.Fethio-sera-to-fidel-mail Convert SERA to FIDEL to read/write
mail and news.

If  the  buffer contains the markers "<sera>" and "</sera>", con-
vert the segments between them into FIDEL.

If invoked interactively and there is no marker, convert the sub-
ject field and the body into FIDEL using `ethio-sera-to-fidel-re-
gion'.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.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 3dr parameter SECONDARY is given and non-nil, try to con-
vert the region so that it begins in the secondary language; oth-
erwise with the primary language.

If  the 4th parameter 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-al-
ways'  and  `ethio-numeric-reduction'.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 parameter SECONDARY is non-nil, try  to  con-
vert the region so that it begins in the secondary language; oth-
erwise with the primary language.

If the 2nd optional parameter 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-al-
ways' and `ethio-numeric-reduction'.Fethio-fidel-to-sera-mail-or-
marker Execute ethio-fidel-to-sera-mail  or  ethio-fidel-to-sera-
marker  depending on the current major mode.  If in rmail-mode or
in mail-mode, execute the former; otherwise  latter.Fethio-fidel-
to-sera-mail Convert FIDEL to SERA to read/write mail and news.

If the body contains at least one Ethiopic character,
 1) insert the string "<sera>" at the beginning of the body,
 2) insert "</sera>" at the end of the body, and
 3) convert the body into SERA.

The very same procedure applies to the subject field, too.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.Fethio-modify-vowel  Modify
the  vowel  of the FIDEL that is under the cursor.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  parameter  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  second  and  third  parameters BEGIN and END specify the re-
gion.Fethio-input-special-character Allow the user to input  spe-
cial  characters.Fethio-fidel-to-tex-buffer  Convert  each  fidel
characters in the current buffer into a fidel-tex command.   Each
command is always surrounded by braces.Fethio-tex-to-fidel-buffer
Convert fidel-tex commands  in  the  current  buffer  into  fidel
chars.Fethio-fidel-to-java-buffer Convert Ethiopic characters in-
to 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].  Other-
wise, [0-9A-F].Fethio-java-to-fidel-buffer Convert the  Java  es-
cape  sequences  into  corresponding  Ethiopic characters.Fethio-
find-file Transcribe file content into Ethiopic dependig on file-
name  suffix.Fethio-write-file  Transcribe Ethiopic characters in
ASCII depending on the file  extension.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  re-
placed  and scripts made executable.Fexecutable-self-display Turn
a text file into a self-displaying Un*x command.  The magic  num-
ber  of such a command displays all lines but itself.Fexpand-add-
abbrevs Add a list of abbrev 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 skele-
ton 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 cyclicaly 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.Fexpand-jump-to-previous-slot Move the cursor to the  previ-
ous slot in the last abbrev expansion.  This is used only in con-
junction with `expand-add-abbrevs'.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'.Ff90-mode
Major mode for editing Fortran 90 code in free format.

  corrects  current  indentation  and  creates new indented line.
indents the current line correctly.   indents the current subpro-
gram.

Type  `?  or ` to display a list of built-in abbrevs for F90 key-
words.

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 case/where/forall  blocks.
(default 3)
 f90-type-indent
    Extra  indentation  within  type/interface/block-data blocks.
(default 3)
 f90-program-indent
    Extra indentation  within  program/module/subroutine/function
blocks.
      (default 2)
 f90-continuation-indent
    Extra indentation applied to continuation lines.  (default 5)
 f90-comment-region
    String inserted by  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 in-
dented.
    (default "!hpf\$")
 f90-break-delimiters
    Regexp holding list of delimiters at which lines may be  bro-
ken.
    (default "[-+*/><=,% ]")
 f90-break-before-delimiters
    Non-nil  causes  `f90-do-auto-fill' to break lines before de-
limiters.
    (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  deter-
mine
    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, 'capital-
ize-word.
 f90-leave-line-no
    Do not left-justify line numbers. (default nil)
 f90-startup-message
    Set to nil to inhibit message first time F90  mode  is  used.
(default t)
 f90-keywords-re
    List of keywords used for highlighting/upcase-keywords etc.

Turning  on  F90  mode calls the value of the variable `f90-mode-
hook' with no args, if that value is  non-nil.Vfacemenu-face-menu
Menu  keymap  for faces.Vfacemenu-foreground-menu Menu keymap for
foreground colors.Vfacemenu-background-menu Menu keymap for back-
ground  colorsVfacemenu-special-menu  Menu  keymap  for  non-face
text-properties.Vfacemenu-justification-menu  Submenu  for   text
justification commands.Vfacemenu-indentation-menu Submenu for in-
dentation   commands.Vfacemenu-menu   Facemenu   top-level   menu
keymap.Ffacemenu-set-face  Add FACE to the region or next charac-
ter typed.  It will be added to the top of  the  face  list;  any
faces lower on the list that will not show through at all will be
removed.

Interactively, the face to be used is read with the minibuffer.

If the region is active 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-fore-
ground Set the foreground color of the region or  next  character
typed.   The  color  is prompted for.  A face named `fg:color' is
used (or created).  If the region is active, it will  be  set  to
the  requested face.  If it is inactive (even if mark-even-if-in-
active is set) the next character that is  typed  (via  `self-in-
sert-command') will be set to the selected face.  Moving point or
switching buffers before  typing  a  character  cancels  the  re-
quest.Ffacemenu-set-background  Set  the  background color of the
region or next character typed.  The color is  prompted  for.   A
face named `bg:color' is used (or created).  If the region is ac-
tive, it will be set to the requested face.  If  it  is  inactive
(even if mark-even-if-inactive is set) the next character that is
typed (via `self-insert-command') will be  set  to  the  selected
face.   Moving point or switching buffers before typing a charac-
ter cancels the request.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; the face to  use  is  the  menu  item's
name.

If  the  region  is  active 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-in-
visible  Make  the  region  invisible.  This sets the `invisible'
text  property;  it  can  be  undone  with  `facemenu-remove-spe-
cial'.Ffacemenu-set-intangible Make the region intangible: disal-
low 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-spe-
cial'.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 in-
clude `invisible', `intangible' and  `read-only'.Flist-text-prop-
erties-at  Pop  up  a  buffer  listing  text-properties  at LOCA-
TION.Ffacemenu-read-color    Read    a    color     using     the
minibuffer.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.Ffast-lock-mode Toggle Fast Lock mode.  With arg, turn
Fast Lock mode on if and only if arg is positive and  the  buffer
is  associated  with  a  file.   Enable  it automatically in your
`~/.emacs' by:

 (setq font-lock-support-mode 'fast-lock-mode)

If Fast Lock mode is enabled, and the  current  buffer  does  not
contain  any  text  properties, any associated Font Lock cache is
used if its timestamp matches the buffer's file, and  its  `font-
lock-keywords' match those that you are using.

Font Lock caches may be saved: - When you save the file's buffer.
- When you kill an unmodified file's buffer.   -  When  you  exit
Emacs,  for  all  unmodified  or saved buffers.  Depending on the
value of `fast-lock-save-events'.  See also the  commands  `fast-
lock-read-cache' and `fast-lock-save-cache'.

Use  to fontify the buffer if the cache is bad.

Various  methods of control are provided for the Font Lock cache.
In general, see variable `fast-lock-cache-directories' and  func-
tion  `fast-lock-cache-name'.   For  saving, see variables `fast-
lock-minimum-size', `fast-lock-save-events', `fast-lock-save-oth-
ers' and `fast-lock-save-faces'.Fturn-on-fast-lock Unconditional-
ly turn on Fast Lock mode.Ffeedmail-run-the-queue-no-prompts Like
feedmail-run-the-queue,  but suppress confirmation prompts.Ffeed-
mail-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  appro-
priate  answer  to  the global confirmation prompt.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-mes-
sage  things  in  the  queue  (commonly backup file names and the
like).Ffeedmail-queue-reminder Perform some kind of reminder  ac-
tivity  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  immedi-
ate 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-re-
minder-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 redefin-
ing  feedmail-queue-reminder-alist.   If  you  don't want any re-
minders, you can set feedmail-queue-reminder-alist to  nil.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'.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'.

See <ftp://ftp.mathcs.emory.edu/pub/mic/emacs/> for  latest  ver-
sion.Fffap  A  short alias for the find-file-at-point command.Ff-
fap-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'.Fffap-at-
mouse Find file or url guessed from text around mouse click.  In-
teractively, 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, nilFdired-at-point Start Dired, defaulting to file
at point.  See `ffap'.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 ar-
gument,  the  name  is considered already unique; only the second
substitution (directories) is  done.Vfind-ls-option  *Description
of the option to `find' to produce an `ls -l'-type listing.  This
is a cons of two strings (FIND-OPTION .  LS-SWITCHES).   FIND-OP-
TION gives the option (or options) to `find' that produce the de-
sired output.  LS-SWITCHES is a list of  `ls'  switches  to  tell
dired  how to parse the output.Vfind-grep-options *Option to grep
to be as silent as possible.  On Berkeley systems, this is  `-s';
on Posix, and with GNU grep, `-q' does it.  On other systems, the
closest you can come is to use `-l'.Ffind-dired Run `find' and go
into  Dired mode on a buffer of the output.  The command run (af-
ter changing into DIR) is

    find . ARGS  -ls

except that the variable `find-ls-option' specifies what  to  use
as the final argument.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' -lsFfind-grep-dired Find files in DIR
containing a regexp ARG and start Dired on output.   The  command
run (after changing into DIR) is

    find . -exec grep -s ARG {} ; -ls

Thus  ARG can also contain additional grep options.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.Fff-find-other-file Find the header or source file  corre-
sponding  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 oth-
er  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,  un-
less 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 recognise spe-
cial
   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  exten-
sion.

 - ff-search-directories
   List of directories searched through with each extension spec-
ified in
   ff-other-file-alist that matches this file's extension.

 - ff-pre-find-hooks
   List of functions to be called before the search for the  file
starts.

 - ff-pre-load-hooks
   List  of functions to be called before the other file is load-
ed.

 - ff-post-load-hooks
   List of functions to be called after the other file is loaded.

 - ff-not-found-hooks
   List  of functions to be called if the other file could not be
found.

 - ff-file-created-hooks
   List of functions to be called if the other file has been cre-
ated.Fff-mouse-find-other-file  Visit  the file you click on.Fff-
mouse-find-other-file-other-window  Visit  the  file  you   click
on.Ffind-function-noselect  Return a pair (BUFFER . POINT) point-
ing to the definition of FUNCTION.

Finds the Emacs Lisp library containing the definition  of  FUNC-
TION  in a buffer and the point of the definition.  The buffer is
not selected.

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'.Ffind-function Find the definition of the FUNCTION
near point.

Finds  the  Emacs  Lisp  library containing the definition of the
function near point (selected by `function-at-point') in a buffer
and  places  point  before the definition.  Point is saved in the
buffer if it is one of the current buffers.

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'.Ffind-function-other-window  Find,  in  another window, the
definition of FUNCTION near point.

See `find-function' for  more  details.Ffind-function-other-frame
Find,  in ananother frame, the definition of FUNCTION near point.

See `find-function' for more details.Ffind-variable-noselect  Re-
turn a pair `(buffer . point)' pointing to the definition of SYM-
BOL.

Finds the Emacs Lisp library containing the definition of  SYMBOL
in  a  buffer and the point of the definition.  The buffer is not
selected.

The library where VARIABLE is defined is searched for  in  `find-
function-source-path',   if   non   nil,   otherwise   in  `load-
path'.Ffind-variable Find the definition  of  the  VARIABLE  near
point.

Finds  the  Emacs  Lisp  library containing the definition of the
variable near point (selected by `variable-at-point') in a buffer
and  places  point  before the definition.  Point is saved in the
buffer if it is one of the current buffers.

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'.Ffind-variable-other-window  Find,  in  another window, the
definition of VARIABLE near point.

See `find-variable' for  more  details.Ffind-variable-other-frame
Find, in annother frame, the definition of VARIABLE near point.

See  `find-variable'  for more details.Ffind-function-on-key Find
the function that KEY invokes.  KEY is a string.  Point is  saved
if FUNCTION is in the current buffer.Ffind-function-at-point Find
directly the function at point in  the  other  window.Ffind-vari-
able-at-point  Find  directly  the function at point in the other
window.Ffind-function-setup-keys Define some key bindings for the
find-function  family  of  functions.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.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  con-
trol  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.Fflyspell-mode Minor mode performing on-the-
fly spelling checking.  Ispell is automatically spawned on  back-
ground  for each entered words.  The default flyspell behavior is
to highlight incorrect words.  With  no  argument,  this  command
toggles Flyspell mode.  With a prefix argument ARG, turn Flyspell
minor mode on iff ARG is positive.

Bindings: : correct words (using Ispell).  :  automatically  cor-
rect word.   (or mouse-2): popup correct words.

Hooks: flyspell-mode-hook is run after flyspell is entered.

Remark:  `flyspell-mode' uses `ispell-mode'.  Thus all Ispell op-
tions are valid.  For instance, a personal dictionary can be used
by invoking `ispell-change-dictionary'.

Consider  using  the `ispell-parser' to check your text.  For in-
stance consider adding: (add-hook 'tex-mode-hook (function (lamb-
da () (setq ispell-parser 'tex)))) in your .emacs file.

flyspell-region checks all words inside a region.

flyspell-buffer  checks  the whole buffer.Fflyspell-mode-off Turn
Flyspell  mode  off.Fturn-on-follow-mode  Turn  on  Follow  mode.
Please  see the function `follow-mode'.Fturn-off-follow-mode Turn
off Follow mode. Please see the  function  `follow-mode'.Ffollow-
mode  Minor mode that combines windows into one tall virtual win-
dow.

The feeling of a "virtual window" has been  accomplished  by  the
use of two major 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 window 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 sec-
tion of text, and being able to use 144 lines instead of the nor-
mal 72... (your mileage may vary).

To split one large window into two side-by-side windows, the com-
mands  `'  or  `M-x follow-delete-other-windows-and-split' can be
used.

Only windows displayed in the same frame follow each-other.

If the variable `follow-intercept-processes' is  non-nil,  Follow
mode will listen to the output of processes and redisplay accord-
ingly.  (This is the default.)

When Follow mode is switched on, the hook  `follow-mode-hook'  is
called.  When turned off, `follow-mode-off-hook' is called.

Keys specific to Follow mode: follow-mode-map}Ffollow-delete-oth-
er-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 it nega-
tive,  the  rightmost  is  selected.  If ARG is nil, the leftmost
window is selected if the original window is the first one in the
frame.

To  bind  this  command  to a hotkey, place the following line in
your `~/.emacs' file, replacing [f7] by your favourite key:
    (global-set-key    [f7]     'follow-delete-other-windows-and-
split)Vfont-lock-mode-hook  Function or functions to run on entry
to Font Lock mode.Ffont-lock-mode Toggle Font  Lock  mode.   With
arg, turn Font Lock mode on if and only if arg is positive.

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 accord-
ing to the
   value of the variable `font-lock-keywords'.

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 ex-
ample, put in your ~/.emacs:

 (global-font-lock-mode t)

There are a number of support modes that may be used to speed  up
Font Lock mode in various ways, specified via the variable `font-
lock-support-mode'.  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/defontif-
ied, though fontification occurs only if the buffer is less  than
`font-lock-maximum-size'.

For  example,  to  specify  that Font Lock mode use use Lazy Lock
mode as a support mode and use maximum levels  of  fontification,
put in your ~/.emacs:

 (setq font-lock-support-mode 'lazy-lock-mode)
 (setq font-lock-maximum-decoration t)

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 re-
gardless of buffer size, you can use .

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 .

See  the  variable  `font-lock-defaults-alist'  for the Font Lock
mode default settings.  You can set your own default settings for
some  mode,  by  setting  a buffer local value for `font-lock-de-
faults', via its mode hook.Fturn-on-font-lock Turn on  Font  Lock
mode  conditionally.   Turn  on  only if the terminal can display
it.Ffont-lock-add-keywords Add highlighting KEYWORDS  for  MAJOR-
MODE.   MAJOR-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
APPEND is `set', they are used to replace the current  highlight-
ing  list.   If APPEND 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.

Note that some modes have specialised support for additional pat-
terns,   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'.Fglobal-font-lock-mode Toggle Global
Font Lock mode.  With prefix ARG, turn Global Font Lock  mode  on
if  and  only  if  ARG  is  positive.   Displays a message saying
whether the mode is on or off if MESSAGE is non-nil.  Returns the
new status of Global Font Lock mode (non-nil means on).

When Global Font Lock mode is enabled, Font Lock mode is automag-
ically turned on in a buffer if its major mode is one  of  `font-
lock-global-modes'.Ffont-lock-fontify-buffer  Fontify the current
buffer  the  way   `font-lock-mode'   would.Fcreate-fontset-from-
fontset-spec  Create  a fontset from fontset specification string
FONTSET-SPEC.   FONTSET-SPEC  is  a   string   of   the   format:
     FONTSET-NAME,CHARSET-NAME0:FONT-NAME0,CHARSET-NAME1:FONT-
NAME1, ...  Any number of SPACE, TAB, and NEWLINE can be put  be-
fore and after commas.

Optional  2nd  argument  STYLE-VARIANT  is  a list of font styles
(e.g. bold, italic) or the symbol  t  to  specify  all  available
styles.   If  this  argument is specified, fontsets which differs
from FONTSET-NAME in styles are  also  created.   An  element  of
STYLE-VARIANT  may  be  cons  of  style and a font name.  In this
case, the style variant fontset uses the font for ASCII character
set.

If this function attempts to create already existing fontset, er-
ror is signaled unless the optional 3rd argument NOERROR is  non-
nil.

It  returns  a name of the created fontset.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  Fforms-find-file
Visit a file in Forms mode.Fforms-find-file-other-window Visit  a
file in Forms mode in other window.Vfortran-tab-mode-default *De-
fault tabbing/carriage control style for empty files  in  Fortran
mode.   A  value  of  t specifies tab-digit style of continuation
control.  A value of nil specifies that  continuation  lines  are
marked  with a character in column 6.Ffortran-mode Major mode for
editing Fortran code.   indents the current Fortran line correct-
ly.  DO statements must not share a common CONTINUE.

Type  ;?  or  ; to display a list of built-in abbrevs for Fortran
keywords.

Key definitions: fortran-mode-map}

Variables controlling indentation style and extra features:

 `comment-start'
    Normally nil in Fortran mode.  If you want 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.  (de-
fault 5)
 `fortran-comment-line-extra-indent'
    Amount of extra indentation for text  within  full-line  com-
ments.  (default 0)
 `fortran-comment-indent-style'
    nil     means  don't  change indentation of text in full-line
comments,
    fixed  means indent that text at `fortran-comment-line-extra-
indent' beyond
           the  value of `fortran-minimum-statement-indent-fixed'
(for fixed
           format continuation style) or  `fortran-minimum-state-
ment-indent-tab'
           (for TAB format continuation style).
    relative  means indent at `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 Fortran statements  in  fixed  format
mode.  (def.6)
 `fortran-minimum-statement-indent-tab'
    Minimum  indentation  for  Fortran  statements  in TAB format
mode.  (default 9)
 `fortran-line-number-indent'
    Maximum indentation for line numbers.  A line number will get
    less  than this much indentation if necessary to avoid reach-
ing
    column 5.  (default 1)
 `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  on an ENDIF statement to blink on
    matching  IF.  Also, from an ENDDO statement, blink on match-
ing DO [WHILE]
    statement.  (default nil)
 `fortran-continuation-string'
    Single-character string to be inserted in column 5 of a  con-
tinuation
    line.  (default "$")
 `fortran-comment-region'
    String inserted by  at start of each line in
    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 `fortran-fill' to break  lines  before  delim-
iters.
    (default t)

Turning on Fortran mode calls the value of the variable `fortran-
mode-hook' with no args, if that value is  non-nil.Fdefine-gener-
ic-mode Create a new generic mode with NAME.

Args:  (NAME  COMMENT-LIST KEYWORD-LIST FONT-LOCK-LIST AUTO-MODE-
LIST
            FUNCTION-LIST &optional DESCRIPTION)

NAME should be a symbol; its string representation is used as the
function name. If DESCRIPTION is provided, it is used as the doc-
string for the new function.

COMMENT-LIST is a list, whose entries are either a single charac-
ter,  a  one or two character string or a cons pair. If the entry
is a character or a one-character string,  it  is  added  to  the
mode's  syntax table with comment-start syntax. If the entry is a
cons pair, the elements of the pair are considered to be comment-
start  and comment-end respectively.  Note that Emacs has limita-
tions regarding comment characters.

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 entry in the list should have the same form as an  entry  in
`font-lock-defaults-alist'

AUTO-MODE-LIST  is  a list of regular expressions to add to auto-
mode-alist.  These regexps are added to auto-mode-alist  as  soon
as `define-generic-mode' is called; any old regexps with the same
name are removed.

FUNCTION-LIST is a list of functions to call to do some addition-
al setup.

See  the  file generic-x.el for some examples of `define-generic-
mode'.Fgeneric-mode 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'.Fgnus-slave-no-
server Read network news as a slave, without connecting to  local
server.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.Fgnus-slave  Read   news   as   a
slave.Fgnus-other-frame  Pop  up  a frame to read news.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 posi-
tive number, Gnus will prompt the user for the name  of  an  NNTP
server  to use.Fgnus-unplugged Start Gnus unplugged.Fgnus-plugged
Start Gnus plugged.Fgnus-agentize Allow Gnus  to  be  an  offline
newsreader.   The normal usage of this command is to put the fol-
lowing as the last form in your `.gnus.el' file:

(gnus-agentize)

This  will  modify  the  `gnus-before-startup-hook',  `gnus-post-
method',  and `message-send-mail-function' variables, and install
the Gnus agent minor mode in all Gnus  buffers.Fgnus-agent-batch-
fetch  Start Gnus and fetch session.Fgnus-audio-play Play a sound
through the speaker.Fgnus-jog-cache Go through all groups and put
the articles into the cache.

Usage: $ emacs -batch -l ~/.emacs -l gnus -f gnus-jog-cacheFgnus-
cache-generate-active Generate the cache active file.Fgnus-cache-
generate-nov-databases Generate NOV files recursively starting in
DIR.Fgnus-fetch-group Start Gnus if necessary  and  enter  GROUP.
Returns  whether  the fetching was successful or not.Fgnus-fetch-
group-other-frame Pop up a  frame  and  enter  GROUP.Fgnus-batch-
score  Run  batched  scoring.  Usage: emacs -batch -l ~/.emacs -l
gnus -f gnus-batch-scoreFgnus-change-server Move from FROM-SERVER
to  TO-SERVER.  Update the .newsrc.eld file to reflect the change
of nntp server.Fgnus-mule-add-group Specify that articles of news
group  NAME are encoded in CODING-SYSTEM.  All news groups deeper
than NAME are also the target.  If CODING-SYSTEM is a  cons,  the
car  and  cdr  part are regarded as coding-system for reading and
writing respectively.Fgnus-mule-initialize  Do  several  settings
for  GNUS  to  enable automatic code conversion.Fgnus-batch-brew-
soup Brew a SOUP packet from groups mention on the command  line.
Will  use the remaining command line arguments as regular expres-
sions for matching on group names.

For instance, if you want to brew on all the nnml groups, as well
as groups with "emacs" in the name, you could say something like:

$ emacs -batch -f gnus-batch-brew-soup ^nnml ".*emacs.*"

Note -- this function hasn't been  implemented  yet.Fgnus-update-
format  Update  the  format specification near point.Fgnus-unload
Unload all Gnus  features.Fgnus-declare-backend  Declare  backend
NAME with ABILITIES as a Gnus backend.Fgnus-add-configuration Add
the  window   configuration   CONF   to   `gnus-buffer-configura-
tion'.Fgomoku  Start  a  Gomoku game between you and Emacs.  If a
game is in progress, this command allow you to resume it.  If op-
tional  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 hit-
ting  <gomoku-mode-map>.   Use   for  more info.Fgoto-address-at-
mouse Send to the e-mail address or load the URL clicked with the
mouse.   Send  mail  to  address at position of mouse click.  See
documentation for  `goto-address-find-address-at-point'.   If  no
address  is found there, then load the URL at or before the posi-
tion of the mouse click.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.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 to mouse-2 and C-c RET.

Also fontifies the buffer appropriately (see `goto-address-fonti-
fy-p' and `goto-address-highlight-p' for  more  information).Fgdb
Run gdb on program FILE in buffer *gud-FILE*.  The directory con-
taining FILE becomes the initial working  directory  and  source-
file  directory for your debugger.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 de-
bugger.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.Fxdb Run xdb on  pro-
gram  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 pro-
gram source directories if your  program  contains  sources  from
more  than  one  directory.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 de-
bugger.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.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  it's  value.Fhandwrite  Turns
the  buffer  into a "handwritten" document.  The functions `hand-
write-10pt',  `handwrite-11pt',   `handwrite-12pt'   and   `hand-
write-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)Fhanoi Towers of
Hanoi diversion.  Argument is  number  of  rings.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   gives the window that  lists  the
options.FHelper-describe-bindings  Describe local key bindings of
current mode.FHelper-help Provide help  for  current  mode.Fhexl-
mode <hexl-mode-map> A major mode for editing binary files in hex
dump format.

This function automatically converts a buffer into the hexl  for-
mat using the function `hexlify-buffer'.

Each  line in the buffer has an "address" (displayed in hexadeci-
mal) 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 16 bits) and as their ASCII val-
ues.

If  any of the characters (displayed as ASCII characters) are un-
printable (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 hex-
adecimal
  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    charac-
ters.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 char-
acter
  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 (ie. Use , , , and to
move the cursor left, right, down, and up).

Advanced cursor movement commands (ala , , , and ) are also  sup-
ported.

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 char-
acter  and  it  will insert itself (actually overstrike) into the
buffer.

 followed by another keystroke allows you to insert the key  even
if  it  isn't  bound to self-insert.  An octal number can be sup-
plied in place of another key to insert the octal number's  ASCII
representation.

  will  insert  a given hexadecimal value (if it is between 0 and
0xFF) into the buffer at the current point.

 will insert a given octal value (if it is between  0  and  0377)
into the buffer at the current point.

  will  insert a given decimal value (if it is between 0 and 255)
into the buffer at the current point.

 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  to visit a file in hexl-mode.

  for  advanced  commands.Fhexl-find-file  Edit  file FILENAME in
hexl-mode.  Switch to a buffer visiting file  FILENAME,  creating
one  in  none  exists.Fhexlify-buffer  Convert a binary buffer to
hexl format.  This discards the buffer's undo  information.Fhide-
ifdef-mode  Toggle Hide-Ifdef mode.  This is a minor mode, albeit
a large one.  With ARG, turn Hide-Ifdef mode on if arg  is  posi-
tive, off otherwise.  In Hide-Ifdef mode, code within #ifdef con-
structs 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 sym-
bol 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}Vhide-ifdef-initially  *Non-nil  means   call
`hide-ifdefs'  when  Hide-Ifdef  mode  is  first activated.Vhide-
ifdef-read-only *Set to non-nil if you want buffer to be read-on-
ly  while  hiding  text.Vhide-ifdef-lines *Non-nil means hide the
#ifX, #else, and  #endif  lines.Vhs-hide-comments-when-hiding-all
Hide  the comments too when you do an `hs-hide-all'.Vhs-show-hid-
den-short-form Leave only the first  line  visible  in  a  hidden
block.  If non-nil only the first line is visible when a block is
in the hidden state, else both the first line and the  last  line
are  shown.   A  nil  value disables `hs-adjust-block-beginning',
which see.

An example of how this works: (in C mode) original:

  /* My function main
     some more stuff about main
  */
  int
  main(n)
  {
    int x=0;
    return 0;
  }


hidden and `hs-show-hidden-short-form' is nil
  /* My function main...
  */
  int
  main(n)
  {...
  }

hidden and `hs-show-hidden-short-form' is t
  /* My function main...
  int
  main(n)...

For the last case you have to be on the line containing  the  el-
lipsis when you do `hs-show-block'.Vhs-special-modes-alist *Alist
for initializing the hideshow variables for different modes.   It
has the form
  (MODE  START  END  COMMENT-START  FORWARD-SEXP-FUNC ADJUST-BEG-
FUNC).  If present, hideshow will use these values as regexps for
start, end and comment-start, respectively.  Since Algol-ish lan-
guages do not have single-character block delimiters,  the  func-
tion `forward-sexp' used by hideshow doesn't work.  In this case,
if a similar function is available, you can register it and  have
hideshow use it instead of `forward-sexp'.  See the documentation
for `hs-adjust-block-beginning' to see what is the use of ADJUST-
BEG-FUNC.

If any of those is left nil, hideshow will try to guess some val-
ues using function `hs-grok-mode-type'.

Note that the regexps should  not  contain  leading  or  trailing
whitespace.Fhs-hide-all Hide all top-level blocks, displaying on-
ly first and last lines.  Move point  to  the  beginning  of  the
line,  and it run the normal hook `hs-hide-hook'.  See documenta-
tion for `run-hooks'.  If  `hs-hide-comments-when-hiding-all'  is
t,  also  hide  the  comments.Fhs-mouse-toggle-hiding Toggle hid-
ing/showing of a block.  Should be bound to a  mouse  key.Fhs-mi-
nor-mode Toggle hideshow minor mode.  With ARG, turn hideshow mi-
nor mode on if ARG is positive, off otherwise.  When hideshow mi-
nor  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'.  Last, the normal hook `hs-
minor-mode-hook' is run; see the doc for `run-hooks'.

The main commands are:  `hs-hide-all',  `hs-show-all',  `hs-hide-
block',  `hs-show-block',  `hs-hide-level'  and `hs-show-region'.
Also see the  documentation  for  the  variable  `hs-show-hidden-
short-form'.

Turning  hideshow  minor  mode  off  reverts the menu bar and the
variables to default values and disables the hideshow commands.

Key  bindings:  hs-minor-mode-map}Fhighlight-changes-remove-high-
light Remove the change face from the region.  This allows you to
manually remove highlighting  from  uninteresting  changes.Fhigh-
light-changes-mode  Toggle  (or  initially set) Highlight Changes
mode.

Without an argument,
  if Highlight Changes mode is not enabled, then  enable  it  (to
either active
  or passive as determined by variable highlight-changes-initial-
state);
  otherwise, toggle between active and passive states.

With an argument,
  if just C-u  or  a positive argument,  set state to active;
  with a zero argument,  set state to passive;
  with a negative argument,  disable Highlight Changes mode  com-
pletely.

Active  state  -   means changes are shown in a distinctive face.
Passive state - means changes are kept and new ones recorded  but
are           not displayed in a different face.

Functions:   -  move point to beginning of next change  - move to
beginning of previous change  - mark text as changed by comparing
this      buffer with the contents of a file  - remove the change
face from the  region   -  rotate  different  "ages"  of  changes
through      various faces.


Hook  variables:  highlight-changes-enable-hook  - when Highlight
Changes mode enabled.  highlight-changes-toggle-hook -  when  en-
tering  active  or passive state highlight-changes-disable-hook -
when turning off  Highlight  Changes  mode.   Fhighlight-changes-
next-change Move to the beginning of the next change, if in High-
light Changes mode.Fhighlight-changes-previous-change Move to the
beginning  of  the  previous  change,  if  in  Highlight  Changes
mode.Fhighlight-changes-rotate-faces Rotate  the  faces  used  by
Highlight Changes mode.

Current  changes  will  be  display  in the face described by the
first  element  of  highlight-changes-face-list,  those   (older)
changes  will  be  shown in the face described by the second ele-
ment, and so on.  Very old changes remain shown in the last  face
in the list.

You  can automatically rotate colours when the buffer is saved by
adding this to local-write-file-hooks,  by evaling (in the buffer
to be saved):
  (add-hook   'local-write-file-hooks  'highlight-changes-rotate-
faces) Fhighlight-compare-with-file Compare this  buffer  with  a
file, and highlight differences.

The  current buffer must be an unmodified buffer visiting a file,
and not in read-only mode.

If the backup filename exists, it is used  as  the  default  when
called interactively.

If a 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 a buffer is read-only,  differences will be highlighted but no
property changes made,  so  and  will not work.Fglobal-highlight-
changes Turn on or off global Highlight Changes mode.

When  called  interactively:  - if no prefix, toggle global High-
light Changes mode on or off - if called with a  positive  prefix
(or  just  C-u) turn it on in active mode - if called with a zero
prefix  turn it on in passive mode - if called  with  a  negative
prefix turn it off

When  called  from a program: - if ARG is nil or omitted, turn it
off - if ARG is 'active,  turn it on in active mode - if  ARG  is
'passive, turn it on in passive mode - otherwise just turn it on

When  global Highlight Changes mode is enabled, Highlight Changes
mode is turned on for future "suitable" buffers (and  for  "suit-
able"  existing  buffers  if  variable `highlight-changes-global-
changes-existing-buffers' is non-nil).   "Suitablity"  is  deter-
mined  by  variable  `highlight-changes-global-modes'.Vhippie-ex-
pand-try-functions-list The list of expansion functions tried  in
order  by `hippie-expand'.  To change the behavior of `hippie-ex-
pand', remove, change the order of, or insert functions  in  this
list.Vhippie-expand-verbose *Non-nil makes `hippie-expand' output
which  function  it  is  trying.Vhippie-expand-dabbrev-skip-space
*Non-nil  means  tolerate  trailing spaces in the abbreviation to
expand.Vhippie-expand-dabbrev-as-symbol *Non-nil means expand  as
symbols,  i.e.  syntax `_' is considered a letter.Vhippie-expand-
no-restriction *Non-nil means that narrowed buffers  are  widened
during  search.Vhippie-expand-max-buffers  *The maximum number of
buffers (apart from the current) searched.  If nil,  all  buffers
are  searched.Vhippie-expand-ignore-buffers  *A  list  specifying
which buffers not to search (if not current).  Can  contain  both
regexps  matching  buffer  names (as strings) and major modes (as
atoms)Vhippie-expand-only-buffers *A  list  specifying  the  only
buffers  to  search  (in  addition to current).  Can contain both
regexps matching buffer names (as strings) and  major  modes  (as
atoms). If non-NIL, this variable overrides the variable `hippie-
expand-ignore-buffers'.Fhippie-expand Try to expand  text  before
point,  using multiple methods.  The expansion functions in `hip-
pie-expand-try-functions-list' are tried in order, until a possi-
ble  expansion is found.  Repeated application of `hippie-expand'
inserts successively possible expansions.  With a positive numer-
ic  argument,  jumps  directly  to  the ARG next function in this
list.  With a negative argument  or  just  ,  undoes  the  expan-
sion.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.Flist-holidays Display holidays for years Y1  to
Y2 (inclusive).

The  optional list of holidays L defaults to `calendar-holidays'.
See the documentation for that variable for a description of hol-
iday lists.

The  optional LABEL is used to label the buffer created.Fturn-on-
hscroll Unconditionally turn  on  Hscroll  mode  in  the  current
buffer.Fhscroll-mode  Toggle  HScroll mode in the current buffer.
With ARG, turn HScroll mode on if ARG is positive, off otherwise.
In  HScroll  mode, truncated lines will automatically scroll left
or right when point gets near either edge of the window.
  See also  .Fhscroll-global-mode  Toggle  HScroll  mode  in  all
buffers  (excepting minibuffers).  With ARG, turn HScroll mode on
if ARG is positive, off otherwise.  If a buffer ever has  HScroll
mode  set  locally  (via  ),  it will forever use the local value
(i.e., will have no effect on it).
  See also .Ficomplete-mode Activate incremental minibuffer  com-
pletion  for  this Emacs session.  Deactivates with negative uni-
versal argument.Ficomplete-minibuffer-setup Run in minibuffer  on
activation  to  establish incremental completion.  Usually run by
inclusion in `minibuffer-setup-hook'.Ficon-mode  Major  mode  for
editing  Icon  code.  Expression and list commands understand all
Icon brackets.  Tab indents for Icon code.  Paragraphs are  sepa-
rated  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 substate-
ment.
    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.Fielm Interactively
evaluate  Emacs  Lisp  expressions.   Switches  to   the   buffer
`*ielm*', or creates it if it does not exist.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  The  regex  pattern to use for
creating a buffer index.

If non-nil this pattern is passed to `imenu--generic-function' to
create a buffer index.

The value should be an alist with elements that look like this:
 (MENU-TITLE REGEXP INDEX) or like this:
 (MENU-TITLE  REGEXP  INDEX  FUNCTION ARGUMENTS...)  with zero or
more ARGUMENTS.  The former format creates a  simple  element  in
the index alist when it matches; the latter creates a special el-
ement of the form  (NAME FUNCTION  POSITION-MARKER  ARGUMENTS...)
with FUNCTION and ARGUMENTS beiong copied from `imenu-generic-ex-
pression'.

MENU-TITLE is a string used as the title for the submenu  or  nil
if the entries are not nested.

REGEXP  is  a  regexp that should match a construct in the buffer
that is to be displayed in the menu; i.e., function  or  variable
definitions,  etc.   It contains a substring which is the name to
appear in the menu.  See the info section on Regexps for more in-
formation.

INDEX  points  to  the substring in REGEXP that contains the name
(of the function, variable or type) that  is  to  appear  in  the
menu.

The variable is buffer-local.

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.

For  example,  see  the  value of `lisp-imenu-generic-expression'
used by `lisp-mode' and `emacs-lisp-mode' with  `imenu-syntax-al-
ist'  set  locally  to  give  the  characters which normally have
"punctuation" syntax "word" syntax during matching.Vimenu-create-
index-function The function to use for creating a buffer index.

It  should  be  a function that takes no arguments and returns an
index of the current buffer as an alist.

Simple elements in the alist look like (INDEX-NAME .  INDEX-POSI-
TION).   Special  elements  look  like (INDEX-NAME INDEX-POSITION
FUNCTION ARGUMENTS...).  A nested sub-alist  element  looks  like
(INDEX-NAME  SUB-ALIST).   The function `imenu--subalist-p' tests
an element and returns t if it is a sub-alist.

This function is called within a `save-excursion'.

The variable is  buffer-local.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.

This  variable is local in all buffers.Vimenu-extract-index-name-
function Function for extracting the index item name, given a po-
sition.

This  function  is  called after `imenu-prev-index-position-func-
tion' finds a position for an index item, with point at that  po-
sition.  It should return the name for that index item.

This  variable  is local in all buffers.Vimenu-default-goto-func-
tion 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.Fi-
menu-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.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.Vinferior-lisp-
filter-regexp *What not to save on inferior Lisp's input history.
Input  matching  this regexp is not saved on the input history in
Inferior Lisp mode.  Default is whitespace followed  by  0  or  1
single-letter  colon-keyword  (as in :a, :c, etc.)Vinferior-lisp-
program *Program name for invoking an inferior Lisp with for  In-
ferior  Lisp  mode.Vinferior-lisp-load-command *Format-string for
building a Lisp expression to load a file.   This  format  string
should  use `%s' to substitute a file name and should result in a
Lisp expression that will command the inferior Lisp to load  that
file.   The  default  works acceptably on most Lisps.  The string
"(progn (load produces cosmetically superior output for this  ap-
plication, but it works only in Common Lisp.Vinferior-lisp-prompt
Regexp to recognise prompts in the Inferior Lisp mode.   Defaults
to  "^[^>  0*>+:? *", which works pretty good for Lucid, kcl, and
franz.  This variable is used to  initialize  `comint-prompt-reg-
exp' in the Inferior Lisp buffer.

More  precise  choices:  Lucid  Common  Lisp: "^\(>\|\(->\)+\) *"
franz: "^\(->\|<[0-9]*>:\) *" kcl: "^>+ *"

This is a fine thing to set in your  .emacs  file.Vinferior-lisp-
mode-hook *Hook for customising Inferior Lisp mode.Finferior-lisp
Run an inferior Lisp process, input and output via buffer `*infe-
rior-lisp*'.   If there is a process already running in `*inferi-
or-lisp*', just switch to that buffer.  With argument, allows you
to edit the command line (default is value of `inferior-lisp-pro-
gram').  Runs the hooks from `inferior-lisp-mode-hook' (after the
`comint-mode-hook'  is  run).  (Type  in the process buffer for a
list of commands.)Finfo-other-window Like `info' but show the In-
fo  buffer  in another window.Finfo Enter Info, the documentation
browser.  Optional argument FILE specifies the file  to  examine;
the default is the top-level directory of Info.

In  interactive  use,  a  prefix argument directs this command to
read a file name from the minibuffer.

The search path for Info files is in the variable  `Info-directo-
ry-list'.   The top-level Info directory is made by combining all
the files named `dir' in all the directories in that  path.Finfo-
standalone  Run Emacs as a standalone Info reader.  Usage:  emacs
-f info-standalone [filename] In standalone mode, <Info-mode-map>
exits  Emacs  itself.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 Command Index or in another
manual found via COMMAND's `info-file' property or  the  variable
`Info-file-list-for-emacs'.FInfo-goto-emacs-key-command-node   Go
to the Info node in the Emacs manual the command bound to KEY,  a
string.   Interactively,  if the binding is execute-extended-com-
mand, a command is read.  The command is found by looking  up  in
Emacs  manual's Command Index or in another manual found via COM-
MAND's `info-file' property or the variable  `Info-file-list-for-
emacs'.FInfo-speedbar-browser  Initialize  speedbar to display an
info node browser.   This  will  add  a  speedbar  major  display
mode.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 up-
dated on the system.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.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 de-
fault file name into the minibuffer so you can edit it.  The  de-
fault  file  name is the one found at point.Finfo-complete-symbol
Perform completion on symbol preceding  point.Finfo-complete-file
Perform completion on file preceding point.FInfo-tagify Create or
update Info file tag table in current buffer or in a  region.FIn-
fo-split  Split  an info file into an indirect file plus bounded-
size subfiles.  Each subfile will be up to 50,000 characters 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  sub-
files.FInfo-validate Check current buffer for validity as an Info
file.  Check that  every  node  pointer  points  to  an  existing
node.Fbatch-info-validate  Runs  `Info-validate' on the files re-
maining 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"Fisearch-toggle-specified-
input-method Select an input method and turn it on in interactive
search.Fisearch-toggle-input-method Toggle input method in inter-
active search.Fiso-accents-mode Toggle ISO Accents mode, in which
accents modify the following letter.  This permits easy insertion
of accented characters according to ISO-8859-1.  When Iso-accents
mode  is  enabled, accent character keys (`, ', ", ^, / and ~) do
not self-insert; instead, they modify the following letter key so
that it inserts an ISO accented letter.

You  can customize ISO Accents mode to a particular language with
the command `iso-accents-customize'.

Special combinations: ~c gives a c with cedilla, ~d gives an Ice-
landic eth (d with dash).  ~t gives an Icelandic thorn.  "s gives
German sharp s.  /a gives a with ring.  /e gives an a-e ligature.
~<  and  ~>  give  guillemots.   ~! gives an inverted exclamation
mark.  ~? gives an inverted question mark.

With an argument, a positive argument enables ISO  Accents  mode,
and  a  negative  argument disables it.Fiso-spanish Translate net
conventions for Spanish to ISO 8859-1.  The region  between  FROM
and  TO  is  translated  using the table TRANS-TAB.  Optional arg
BUFFER is ignored (so that the function can can be used in  `for-
mat-alist').Fiso-german  Translate  net conventions for German to
ISO 8859-1.  The region between FROM and TO is  translated  using
the table TRANS-TAB.  Optional arg BUFFER is ignored (so that the
function can can be used in  `format-alist').Fiso-iso2tex  Trans-
late  ISO 8859-1 characters to TeX sequences.  The region between
FROM and TO is translated using the  table  TRANS-TAB.   Optional
arg  BUFFER  is  ignored (so that the function can can be used in
`format-alist').Fiso-tex2iso  Translate  TeX  sequences  to   ISO
8859-1  characters.  The region between FROM and TO is translated
using the table TRANS-TAB.  Optional arg BUFFER  is  ignored  (so
that  the  function  can  can  be  used  in `format-alist').Fiso-
gtex2iso Translate German TeX sequences to ISO 8859-1 characters.
The  region  between  FROM  and  TO is translated using the table
TRANS-TAB.  Optional arg BUFFER is ignored (so that the  function
can  can  be  used in `format-alist').Fiso-iso2gtex Translate ISO
8859-1 characters to German TeX sequences.   The  region  between
FROM  and  TO  is translated using the table TRANS-TAB.  Optional
arg BUFFER is ignored (so that the function can can  be  used  in
`format-alist').Fiso-iso2duden Translate ISO 8859-1 characters to
German TeX sequences.  The region between FROM and TO  is  trans-
lated  using the table TRANS-TAB.  Optional arg BUFFER is ignored
(so that the function can can be  used  in  `format-alist').Fiso-
cvt-read-only  Warn  that format is read-only.Fiso-cvt-write-only
Warn that format is write-only.Fiso-cvt-define-menu Add  submenus
to  the  Files  menu, to convert to and from various formats.Vis-
pell-personal-dictionary *File name  of  your  personal  spelling
dictionary,  or  nil.   If  nil, the default personal dictionary,
"~/.ispell_DICTNAME" is used, where DICTNAME is the name of  your
default dictionary.Vispell-local-dictionary-alist *Contains local
or customized dictionary definitions.  See `ispell-dictionary-al-
ist'.Vispell-dictionary-alist  An alist of dictionaries and their
associated parameters.

Each element of this list is also a list:

(DICTIONARY-NAME CASECHARS NOT-CASECHARS  OTHERCHARS  MANY-OTHER-
CHARS-P
        ISPELL-ARGS EXTENDED-CHARACTER-MODE CHARACTER-SET)

DICTIONARY-NAME  is  a possible string value of variable `ispell-
dictionary', nil means the default dictionary.

CASECHARS is a regular expression of valid characters  that  com-
prise a word.

NOT-CASECHARS is the opposite regexp of CASECHARS.

OTHERCHARS is a regexp of characters in the NOT-CASECHARS set but
which can be used to construct words in  some  special  way.   If
OTHERCHARS   characters   follow   and  precede  characters  from
CASECHARS, they are parsed as part of a word, otherwise they  be-
come  word-breaks.   As an example in English, assume the regular
expression "[']" for OTHERCHARS.  Then "they're"  and  "Steven's"
are  parsed  as  single  words  including  the "'" character, but
"Stevens'" does not include the quote character as  part  of  the
word.   If you want OTHERCHARS to be empty, use the empty string.
Hint: regexp syntax requires the  hyphen  to  be  declared  first
here.

MANY-OTHERCHARS-P is non-nil when multiple OTHERCHARS are allowed
in a word.  Otherwise only a single OTHERCHARS character  is  al-
lowed to be part of any single word.

ISPELL-ARGS  is  a list of additional arguments passed to the is-
pell subprocess.

EXTENDED-CHARACTER-MODE should be used when dictionaries are used
which  have  been configured in an Ispell affix file.  (For exam-
ple, umlauts can be encoded as in English.  This has the same ef-
fect as the command-line `-T' option.  The buffer Major Mode con-
trols Ispell's parsing in tex or nroff mode, but  the  dictionary
can  control  the  extended character mode.  Both defaults can be
overruled in a buffer-local fashion. See `ispell-parsing-keyword'
for details on this.

CHARACTER-SET used for languages with multibyte characters.

Note  that the CASECHARS and OTHERCHARS slots of the alist should
contain the same character set as casechars and otherchars in the
LANGUAGE.aff  file  (e.g.,  english.aff).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 gFUNCTION ARGS) - FUNCTION called with ARGS returns end of
region.iispell-tex-skip-alists *Lists of regions to be skipped in
TeX  mone.   First  list is used raw.  Second list has key placed
inside {
       }
Delete or add any regions you want to be  automatically  selected
for  skipping  in  latex mode.Fispell-word Check spelling of word
under or before the cursor.  If the word is not found in  dictio-
nary,  display  possible  corrections in a window allowing you to
choose one.

If optional argument FOLLOWING is non-nil or  if  `ispell-follow-
ing-word'  is non-nil when called interactively, then the follow-
ing 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 inter-
rupted spell-checking of a buffer or region.

Word syntax described by `ispell-dictionary-alist' (which see).

This will check or reload the dictionary.  Use or  to update  the
Ispell  process.Fispell-help Display a list of the options avail-
able 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 ses-
sion.  `A':   Accept word and place in `buffer-local dictionary'.
`r':   Replace word with typed-in value.  Rechecked.  `R':    Re-
place   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':   redraws screen `C-r':  recursive edit `C-z':  suspend emacs
or iconify frameFispell-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.Fispell-change-dictionary
Change  `ispell-dictionary'  (q.v.)  to  DICT and kill old Ispell
process.  A new one will be started as soon as necessary.

By just answering RET you can find out what the  current  dictio-
nary is.

With  prefix  argument,  set the default directory.Fispell-region
Interactively check a region for spelling errors.  Return non-nil
if  spell session completed normally.Fispell-comments-and-strings
Check comments and strings in the current buffer for spelling er-
rors.Fispell-buffer  Check the current buffer for spelling errors
interactively.Fispell-continue Continue a halted spelling session
beginning with the current word.Fispell-complete-word Try to com-
plete the word before or under point (see `lookup-words') If  op-
tional  INTERIOR-FRAG is non-nil then the word may be a character
sequence inside of a word.

Standard ispell choices are then available.Fispell-complete-word-
interior-frag Completes word matching character sequence inside a
word.Fispell-minor-mode Toggle Ispell minor  mode.   With  prefix
arg, turn Ispell minor mode on iff arg is positive.

In Ispell minor mode, pressing SPC or RET warns you if the previ-
ous word is incorrectly spelled.

All the buffer-local variables and dictionaries are ignored -- to
read them into the running ispell process, type  SPC.Fispell-mes-
sage 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 the message send  so  that  you
can edit the buffer.

To  spell-check whenever a message is sent, include the appropri-
ate lines in your .emacs 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     "'ispell-mes-
sage)))Fiswitchb-read-buffer  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 select-
ed.Fiswitchb-default-keybindings Set up default  keybindings  for
`iswitchb-buffer'.   Call  this  function  to override the normal
bindings.    This   function   also   adds   a   hook   to    the
minibuffer.Fiswitchb-buffer Switch to another buffer.

The  buffer name is selected interactively by typing a substring.
The buffer is displayed according to `iswitchb-default-method' --
the  default  is  to show it in the same window, unless it is al-
ready visible in another frame.  For details of keybindings, do `
iswitchb'.Fiswitchb-buffer-other-window  Switch to another buffer
and show it in another window.  The buffer name is  selected  in-
teractively  by  typing a substring.  For details of keybindings,
do ` iswitchb'.Fiswitchb-display-buffer Display a buffer  in  an-
other  window  but  don't select it.  The buffer name is selected
interactively by typing a substring.  For details of keybindings,
do  `  iswitchb'.Fiswitchb-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,
do ` iswitchb'.Fsetup-japanese-environment Setup multilingual en-
vironment (MULE) for Japanese.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.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.Fjapanese-hankaku Convert  argu-
ment to `hankaku' and return that.  The argument may be a charac-
ter or string.  The result has the same type.  The  argument  ob-
ject  is  not  altered--the  value  is a copy.  Optional argument
ASCII-ONLY  non-nil  means   to   return   only   ASCII   charac-
ter.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.Fjapanese-katakana-region  Convert  Japanese   `hiragana'
chars  in the region to `katakana' chars.  Optional argument HAN-
KAKU t means to convert to `hankaku katakana' character of  which
charset   is   `japanese-jisx0201-kana'.Fjapanese-hiragana-region
Convert Japanese `katakana' chars in  the  region  to  `hiragana'
chars.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.Fjapanese-zenkaku-region Con-
vert hankaku' chars in the region to  Japanese  `zenkaku'  chars.
`Zenkaku' chars belong to `japanese-jisx0208' `Hankaku' chars be-
long to `ascii' or `japanese-jisx0201-kana'.   Optional  argument
KATAKANA-ONLY  non-nil means to convert only KATAKANA char.Fread-
hiragana-string Read  a  Hiragana  string  from  the  minibuffer,
prompting with string PROMPT.  If non-nil, second arg INITIAL-IN-
PUT is a string to insert  before  reading.Fauto-compression-mode
Toggle automatic file compression and uncompression.  With prefix
argument ARG, turn auto compression on  if  positive,  else  off.
Returns  the  new  status  of  auto  compression  (non-nil  means
on).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 mak-
ing 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.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 (in-
tegers or markers) specifying the target  region.   When  it  re-
turns,  the  point is at the tail of the selected conversion, and
the return value is the length of the conversion.Vdefault-korean-
keyboard  *The  kind  of Korean keyboard for Korean input method.
"" for 2, "3" for 3.Fsetup-korean-environment Setup  multilingual
environment (MULE) for Korean.Flm-test-run Run 100 Lm games, each
time saving the weights from the previous game.Flm Start  or  re-
sume  an  Lm 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 , if you did not use a
prefix  arg to ask for automatic start.  Use  for more info.Fset-
up-lao-environment  Setup  multilingual  environment  (MULE)  for
Lao.Flazy-lock-mode  Toggle  Lazy Lock mode.  With arg, turn Lazy
Lock mode on if and only if arg is positive.  Enable it automati-
cally in your `~/.emacs' by:

 (setq font-lock-support-mode 'lazy-lock-mode)

When  Lazy  Lock  mode is enabled, fontification can be lazy in a
number of ways:

- Demand-driven buffer fontification if  `lazy-lock-minimum-size'
is non-nil.
  This  means  initial fontification does not occur if the buffer
is greater than
  `lazy-lock-minimum-size'  characters   in   length.    Instead,
fontification occurs
  when necessary, such as when scrolling through the buffer would
otherwise
  reveal unfontified areas.  This is useful if buffer  fontifica-
tion is too slow
  for large buffers.

- Deferred scroll fontification if `lazy-lock-defer-on-scrolling'
is non-nil.
  This means demand-driven fontification does not  occur  as  you
scroll.
  Instead,  fontification  is deferred until after `lazy-lock-de-
fer-time' seconds
  of Emacs idle time, while Emacs remains idle.  This  is  useful
if
  fontification is too slow to keep up with scrolling.

-  Deferred  on-the-fly fontification if `lazy-lock-defer-on-the-
fly' is non-nil.
  This means on-the-fly fontification does not occur as you type.
Instead,
  fontification  is  deferred  until after `lazy-lock-defer-time'
seconds of Emacs
  idle time, while Emacs remains idle.  This is useful if fontif-
ication is too
  slow to keep up with your typing.

-  Deferred context fontification if `lazy-lock-defer-contextual-
ly' is non-nil.
  This means fontification updates the  buffer  corresponding  to
true syntactic
  context,  after  `lazy-lock-defer-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.

-  Stealthy  buffer  fontification if `lazy-lock-stealth-time' is
non-nil.
  This means remaining unfontified areas of buffers are fontified
if Emacs has
  been idle for `lazy-lock-stealth-time' seconds, while Emacs re-
mains idle.
  This is useful if any buffer has any deferred fontification.

Basic Font Lock mode on-the-fly fontification behaviour fontifies
modified  lines only.  Thus, if `lazy-lock-defer-contextually' is
non-nil, Lazy Lock mode on-the-fly fontification may fontify dif-
ferently,  albeit  correctly.   In  any  event, to refontify some
lines you can use .

Stealth fontification only occurs while the  system  remains  un-
loaded.   If the system load rises above `lazy-lock-stealth-load'
percent, stealth fontification is suspended.  Stealth  fontifica-
tion intensity is controlled via the variable `lazy-lock-stealth-
nice' and `lazy-lock-stealth-lines', and verbosity is  controlled
via  the  variable `lazy-lock-stealth-verbose'.Fturn-on-lazy-lock
Unconditionally turn on Lazy Lock mode.Vledit-save-files *Non-nil
means Ledit should save files before transferring to Lisp.Vledit-
go-to-lisp-string *Shell  commands  to  execute  to  resume  Lisp
job.Vledit-go-to-liszt-string  *Shell  commands to execute to re-
sume Lisp compiler job.Fledit-mode <ledit-mode-map>Major mode for
editing text and stuffing it to a Lisp job.  Like Lisp mode, plus
these special commands:
     -- record defun at or after point         for  later  trans-
mission to Lisp job.
   -- record region for later transmission to Lisp job.
   -- transfer to Lisp job and transmit saved text.
    -- transfer to Liszt (Lisp compiler) job         and transmit
saved text.  ledit-mode-map}  To  make  Lisp  mode  automatically
change  to  Ledit mode, do (setq lisp-mode-hook 'ledit-from-lisp-
mode)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).Funload-feature Unload the library that pro-
vided FEATURE, restoring all its autoloads.  If  the  feature  is
required  by  any  other  loaded code, and optional FORCE is nil,
raise an error.Flocate Run the program `locate', putting  results
in  `*Locate*'  buffer.Flocate-with-filter Run the locate command
with a filter.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 out-
put  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 recom-
mended 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 as with Unix command `lpr'.  `lpr-switches' is a
list of extra switches (strings)  to  pass  to  lpr.Fprint-buffer
Print  buffer  contents  as  with  Unix  command `lpr -p'.  `lpr-
switches' is a list  of  extra  switches  (strings)  to  pass  to
lpr.Flpr-region Print region contents as with Unix command `lpr'.
`lpr-switches' is a list of extra switches (strings) to  pass  to
lpr.Fprint-region Print region contents as with Unix command `lpr
-p'.  `lpr-switches' is a list of  extra  switches  (strings)  to
pass  to lpr.Vls-lisp-support-shell-wildcards *Non-nil means file
patterns are treated as shell  wildcards.   nil  means  they  are
treated  as  Emacs  regexps  (for  backward compatibility).  This
variable  is  checked  by   only  when  `ls-lisp.el'  package  is
used.Fphases-of-moon  Display  the  quarters of the moon for last
month, this month, and next month.  If called  with  an  optional
prefix argument, prompts for month and year.

This function is suitable for execution in a .emacs file.Fm4-mode
A major mode to edit m4 macro  files.   m4-mode-map}  Fname-last-
kbd-macro  Assign a name to the last keyboard macro defined.  Ar-
gument SYMBOL is the name to define.  The symbol's function defi-
nition becomes the keyboard macro string.  Such a "function" can-
not be called from Lisp, but it is a  valid  editor  command.Fin-
sert-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 interac-
tively).

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.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 com-
mands each time the macro executes.
  Without prefix argument, asks whether to continue  running  the
macro.   Your  options  are: <query-replace-map>      Finish this
iteration normally and continue with  the  next.        Skip  the
rest  of this iteration, and start the next.       Stop the macro
entirely right now.       Redisplay the screen, then  ask  again.
     Enter recursive edit; ask again when you exit from that.Fap-
ply-macro-to-region-lines For each complete  line  between  point
and  mark,  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 BOT-
TOM.  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 reg-
ular.

For example, in Usenet articles, sections of text quoted from an-
other 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 `' 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:

    (
       M-d { "},
    )

and then select the region of un-tablified names and  use  `'  to
build the table from the names.  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-AD-
DRESS).  If no name can be extracted, FULL-NAME will be nil.

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 el-
ement  for  each  recipient.  If ALL is nil, then if ADDRESS con-
tains more than one recipients, all but the first is ignored.

ADDRESS may be a string or a buffer.  If it is a buffer, the vis-
ible
 (narrowed)  portion of the buffer will be interpreted as the ad-
dress.
 (This feature exists so that the clever caller might be able  to
avoid
 consing a string.)Fwhat-domain Convert mail domain DOMAIN to the
country it corresponds to.Fmail-hist-define-keys Define keys  for
accessing mail header history.  For use in hooks.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.Vmail-use-rfc822 *If non-nil, use a full, hairy RFC822 pars-
er on mail addresses.  Otherwise, (the default)  use  a  smaller,
somewhat  faster,  and often correct parser.Fmail-fetch-field Re-
turn the value of the header field whose type is FIELD-NAME.  The
buffer  is expected to be narrowed to just the header of the mes-
sage.  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.Fmail-abbrevs-setup Initialize use of the
`mailabbrev' package.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'.Fdefine-mail-
abbrev Define NAME as a mail alias abbrev that translates to DEF-
INITION.  If DEFINITION  contains  multiple  addresses,  separate
them with commas.Vmail-complete-style *Specifies how  formats the
full name when it completes.  If `nil', they contain just the re-
turn 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.Fdefine-mail-alias  De-
fine  NAME  as  a mail alias that translates to DEFINITION.  This
means that sending a message to NAME will actually send to  DEFI-
NITION.

Normally,  the  addresses in DEFINITION must be separated by com-
mas.  If FROM-MAILRC-FILE is non-nil, then addresses  in  DEFINI-
TION can be separated by spaces; an address can contain spaces if
it is quoted with double-quotes.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.Fmakefile-mode Major mode for editing Makefiles.  This  func-
tion ends by invoking the function(n) `makefile-mode-hook'.

makefile-mode-map}

In the browser, use the following keys:

makefile-browser-map}

Makefile  mode can be configured by modifying the following vari-
ables:

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 tar-
gets
   (i.e. it calls `makefile-pickup-filenames-as-targets'), other-
wise
   filenames are omitted.

makefile-cleanup-continuations-p:
   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  make-
file-mode
   to MODIFY A FILE WITHOUT YOUR CONFIRMATION when "it seems nec-
essary".

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.Fmake-command-sum-
mary Make a summary of current key bindings in the buffer *Summa-
ry*.  Previous contents of that buffer are killed first.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 re-
sults in a Man mode  (manpage  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 im-
mediately.Fman-follow  Get  a  Un*x manual page of the item under
point and put it in a buffer.Vmessage-from-style  *Specifies  how
"From" headers 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.Vmessage-signature-separator Regexp  matching  the  signature
separator.Vmessage-user-organization-file  *Local  news organiza-
tion file.Vmessage-send-mail-function Function to  call  to  send
the current buffer as mail.  The headers should be delimited by a
line whose contents match the variable `mail-header-separator'.

Legal values include `message-send-mail-with-sendmail'  (the  de-
fault),   `message-send-mail-with-mh',   `message-send-mail-with-
qmail'   and   `smtpmail-send-it'.Vmessage-citation-line-function
*Function  called to insert the "Whomever writes:" line.Vmessage-
yank-prefix *Prefix inserted on the  lines  of  yanked  messages.
nil  means  use  indentation.Vmessage-cite-function *Function for
citing an original message.  Predefined functions  include  `mes-
sage-cite-original'   and   `message-cite-original-without-signa-
ture'.  Note that  `message-cite-original'  uses  `mail-citation-
hook' if that is non-nil.Vmessage-indent-citation-function *Func-
tion for modifying a citation just inserted in the  mail  buffer.
This can also be a list of functions.  Each function can find the
citation between (point) and (mark t).  And each function  should
leave  point  and mark around the citation text as modified.Vmes-
sage-signature *String to be inserted at the end of  the  message
buffer.  If t, the `message-signature-file' file will be inserted
instead.  If a function, the result from  the  function  will  be
used  instead.   If a form, the result from the form will be used
instead.Vmessage-signature-file *File containing the text insert-
ed  at end of message buffer.Fmessage-mode Major mode for editing
mail and news to be sent.  Like Text Mode but  with  these  addi-
tional  commands: C-c C-s  message-send (send the message)    C-c
C-c  message-send-and-exit 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-f  move to  Followup-To  C-c
C-t   message-insert-to  (add a To header to a news followup) 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 `mes-
sage-signature-file' file).  C-c C-y  message-yank-original  (in-
sert current message, if any).  C-c C-q  message-fill-yanked-mes-
sage (fill  what  was  yanked).   C-c  C-e   message-elide-region
(elide  the text between point and mark).  C-c C-z  message-kill-
to-signature (kill the text up to the signature).  C-c C-r   mes-
sage-caesar-buffer-body  (rot13  the  message body).Fmessage-mail
Start editing a mail message to be sent.  OTHER-HEADERS is an al-
ist  of header/value pairs.Fmessage-news Start editing a news ar-
ticle to be sent.Fmessage-reply Start editing a reply to the  ar-
ticle in the current buffer.Fmessage-wide-reply Make a "wide" re-
ply to the message in the current buffer.Fmessage-followup Follow
up  to  the message in the current buffer.  If TO-NEWSGROUPS, use
that as the new Newsgroups  line.Fmessage-cancel-news  Cancel  an
article  you  posted.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.Fmessage-recover Reread  contents  of  current  buffer
from its last auto-save file.Fmessage-forward Forward the current
message via mail.  Optional NEWS will use news to forward instead
of   mail.Fmessage-resend  Resend  the  current  article  to  AD-
DRESS.Fmessage-bounce Re-mail the  current  message.   This  only
makes  sense if the current message is a bounce message than con-
tains some mail you have written which has been bounced  back  to
you.Fmessage-mail-other-window  Like  `message-mail' command, but
display mail buffer in  another  window.Fmessage-mail-other-frame
Like  `message-mail'  command, but display mail buffer in another
frame.Fmessage-news-other-window Start editing a news article  to
be sent.Fmessage-news-other-frame Start editing a news article to
be sent.Fbold-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.Funbold-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.Fmetafont-mode Major
mode for editing Metafont sources.  Special commands:  meta-mode-
map}

Turning  on Metafont mode calls the value of the variables `meta-
common-mode-hook' and  `metafont-mode-hook'.Fmetapost-mode  Major
mode  for editing MetaPost sources.  Special commands: meta-mode-
map}

Turning on MetaPost mode calls the value of the  variable  `meta-
common-mode-hook'  and  `metafont-mode-hook'.Fmetamail-interpret-
header Interpret a header part  of  a  MIME  message  in  current
buffer.  Its body part is not interpreted at all.Fmetamail-inter-
pret-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.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  cur-
rent).   Optional  argument NODISPLAY non-nil means buffer is not
redisplayed as output is inserted.Fmetamail-region  Process  cur-
rent region through 'metamail'.  Optional argument VIEWMODE spec-
ifies the value of the EMACS_VIEW_MODE environment variable  (de-
faulted 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.Fmh-smail
Compose and send mail with the MH mail system.  This function  is
an  entry  point to mh-e, the Emacs front end to the MH mail sys-
tem.

See documentation of `' for more details on  composing  mail.Fmh-
smail-batch Set up a mail composition draft with the MH mail sys-
tem.  This function is an entry point to mh-e,  the  Emacs  front
end to the MH mail system.  This function does not prompt the us-
er for any header fields, and thus is suitable for  use  by  pro-
grams  that want to create a mail buffer.  Users should use `' to
compose mail.Fmh-smail-other-window Compose and send mail in oth-
er  window  with  the  MH mail system.  This function is an entry
point to mh-e, the Emacs front end to the MH mail system.

See documentation of `' for more details on  composing  mail.Fmh-
letter-mode  Mode  for composing letters in mh-e.<mh-letter-mode-
map> When you have finished composing, type  to send the  message
using  the  MH  mail  handling system.  See the documentation for
for information on composing MIME messages.

mh-letter-mode-map}

Variables controlling this mode (defaults in parentheses):

 mh-delete-yanked-msg-window (nil)
    If non-nil,  will delete any windows displaying
    the yanked message.

 mh-yank-from-start-of-msg (t)
    If non-nil,  will include the entire message.
    If `body', just yank the body (no header).
    If nil, only the portion of the message following  the  point
will be yanked.
    If there is a region, this variable is ignored.

 mh-ins-buf-prefix ("> ")
    String  to  insert before each non-blank line of a message as
it is
    inserted in a draft letter.

 mh-signature-file-name ("~/.signature")
    File to be inserted into message by .

This command runs the normal hooks `text-mode-hook' and  `mh-let-
ter-mode-hook'.Fmh-rmail Inc(c) new mail with MH, or, with
arg, scan an MH mail folder.  This function is an entry point  to
mh-e,  the Emacs front end to the MH mail system.Fmh-version Dis-
play version information about mh-e and the MH mail handling sys-
tem.Vmh-mime-content-types  Legal  MIME content types.  See docu-
mentation for .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.Fmidnight-delay-set  Modify `midnight-
timer' according to `midnight-delay'.  Sets  the  first  argument
SYMB  (which must be symbol `midnight-delay') to its second argu-
ment TM.Fconvert-mocklisp-buffer Convert buffer of Mocklisp  code
to real Lisp that GNU Emacs can run.Fmodula-2-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>
   begin          case
   definition     else
   for            header
   if             module
   loop           or
   procedure     Control-c Control-w with
   record         stdio
   type           until
   var            while
   export         import
   begin-comment  end-comment
   suspend Emacs      toggle
   compile            next-error
   link

   `m2-indent' controls the number of spaces  for  each  indenta-
tion.
   `m2-compile-command'  holds  the command to compile a Modula-2
program.
   `m2-link-command' holds the command to link  a  Modula-2  pro-
gram.Fmouse-sel-mode  Toggle  Mouse  Sel  mode.  With prefix ARG,
turn Mouse Sel mode on if and only if ARG is  positive.   Returns
the new status of Mouse Sel mode (non-nil means on).

When  Mouse  Sel  mode is enabled, mouse selection is enhanced in
various ways:

- Clicking mouse-1 starts (cancels) selection,  dragging  extends
it.

- Clicking or dragging mouse-3 extends the selection as well.

-  Double-clicking  on  word constituents selects words.  Double-
clicking on symbol constituents selects symbols.  Double-clicking
on  quotes  or  parentheses  selects  sexps.   Double-clicking on
whitespace selects whitespace.   Triple-clicking  selects  lines.
Quad-clicking selects paragraphs.

-  Selecting  sets the region & X primary selection, but does NOT
affect the kill-ring.  Because the mouse handlers set the primary
selection  directly,  mouse-sel  sets the variables interprogram-
cut-function and interprogram-paste-function to nil.

- Clicking mouse-2 inserts the contents of the primary  selection
at  the  mouse position (or point, if mouse-yank-at-point is non-
nil).

- Pressing mouse-2 while selecting or extending copies  selection
to the kill ring.  Pressing mouse-1 or mouse-3 kills it.

- Double-clicking mouse-3 also kills selection.

-  M-mouse-1,  M-mouse-2  &  M-mouse-3 work similarly to mouse-1,
mouse-2 & mouse-3, but  operate  on  the  X  secondary  selection
rather than the primary selection and region.Fmpuz Multiplication
puzzle with GNU Emacs.Vmsb-mode Toggle  msb-mode.   Setting  this
variable  directly does not take effect; use either  or the func-
tion `msb-mode'.Fmsb-mode Toggle Msb mode.  With  arg,  turn  Msb
mode  on if and only if arg is positive.  This mode overrides the
binding(g) of `mouse-buffer-menu' to provide a  different  buffer
menu using the function `msb'.Flist-character-sets Display a list
of all character sets.

The ID column contains a charset identification number for inter-
nal  Emacs use.  The B column contains a number of bytes occupied
in a buffer
  by any character in this character set.  The W column  contains
a number of columns occupied on the screen
  by any character in this character set.

With  prefix  arg, the output format gets more cryptic, but still
shows the full information.Fdescribe-coding-system Display infor-
mation    about    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 at the 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-systemFdescribe-current-cod-
ing-system  Display  coding  systems  currently  used,   in   de-
tail.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.Fdescribe-font
Display  information  about  fonts  which  partially  match FONT-
NAME.Fdescribe-fontset  Display  information  of  FONTSET.   This
shows the name, size, and style of FONTSET, and the list of fonts
contained in FONTSET.

The column WDxHT contains  width  and  height  (pixels)  of  each
fontset  (i.e.  those  of ASCII font in the fontset).  The letter
`-' in this column means that the corresponding  fontset  is  not
yet used in any frame.

The O column for each font contains one of the following letters:
 o -- font already opened
 - -- font not yet opened
 x -- font can't be opened
 ? -- no font specified

The Charset column for each font contains a name of character set
displayed  (for this fontset) using that font.Flist-fontsets Dis-
play a list of all fontsets.  This  shows  the  name,  size,  and
style  of  each fontset.  With prefix arg, it also list the fonts
contained in each fontset; see  the  function  `describe-fontset'
for  the  format of the list.Flist-input-methods Display informa-
tion about all input methods.Fmule-diag Display diagnosis of  the
multilingual environment (Mule).

This  shows  various information related to the current multilin-
gual environment, including lists of input methods,  coding  sys-
tems,  character  sets, and fontsets (if Emacs is running under a
window system which uses fontsets).Fdump-charsets  Dump  informa-
tion  about  all  charsets into the file `CHARSETS'.  The file is
saved in the directory `data-directory'.Fdump-codings Dump infor-
mation  about  all  coding  systems into the file `CODINGS'.  The
file is saved in  the  directory  `data-directory'.Fstring-to-se-
quence  Convert STRING to a sequence of TYPE which contains char-
acters in STRING.  TYPE should be `list' or  `vector'.Fstore-sub-
string   Embed   OBJ  (string  or  character)  at  index  IDX  of
STRING.Ftruncate-string-to-width Truncate string STR  to  end  at
column  END-COLUMN.   The  optional 2nd arg START-COLUMN, if non-
nil, specifies the starting column;  that  means  to  return  the
characters  occupying columns START-COLUMN ... END-COLUMN of STR.

The optional 3rd arg PADDING, if  non-nil,  specifies  a  padding
character  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  charac-
ter in STR.

If PADDING is nil, no padding is added in these cases, so the re-
sulting string may be narrower than  END-COLUMN.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
 is considered.  Optional argument BRANCHES if non-nil is branch-
es  for  a  keyseq  longer than KEYSEQ.  See the documentation of
`nested-alist-p' for more detail.Flookup-nested-alist Look up key
sequence  KEYSEQ  in  nested alist ALIST.  Return the definition.
Optional 1st argument LEN specifies the length  of  KEYSEQ.   Op-
tional  2nd  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  3rd  argument  NIL-FOR-TOO-
LONG non-nil means return nil
 even if ALIST is not deep enough.Fcoding-system-eol-type-mnemon-
ic Return the string indicating end-of-line format of CODING-SYS-
TEM.Fcoding-system-post-read-conversion  Return the value of COD-
ING-SYSTEM's  post-read-conversion   property.Fcoding-system-pre-
write-conversion  Return  the value of CODING-SYSTEM's pre-write-
conversion   property.Fcoding-system-translation-table-for-decode
Return  the value of CODING-SYSTEM's translation-table-for-decode
property.Fcoding-system-translation-table-for-encode  Return  the
value  of  CODING-SYSTEM's  translation-table-for-encode  proper-
ty.Fcoding-system-equal Return t if and only  if  CODING-SYSTEM-1
and  CODING-SYSTEM-2 are identical.  Two coding systems are iden-
tical if two symbols are equal or one is an  alias  of  the  oth-
er.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.Fdetect-coding-with-language-environment  De-
tect  a  coding system of the text between FROM and TO with LANG-
ENV.  The detection takes into account the coding system  priori-
ties  for  the language environment LANG-ENV.Fcompose-region Com-
pose all characters in the  current  region  into  one  composite
character.   When  called  from a program, expects two arguments,
positions (integers or markers) specifying the region.Fdecompose-
region  Decompose all composite characters in the current region.
Composite characters are broken up  into  individual  components.
When called from a program, expects two arguments, positions (in-
tegers or markers) specifying the region.Fdecompose-string Decom-
pose  all  composite  characters in STRING.Vreference-point-alist
Alist of reference point symbols vs  reference  point  codes.   A
reference  point  symbol  is  to be used to specify a composition
rule while making a composite character by the function `compose-
chars' (which see).

Meanings of reference point codes are as follows:

    0----1----2 <-- ascent    0:tl or top-left
    |         |               1:tc or top-center
    |         |               2:tr or top-right
    |         |               3:ml or mid-left
    |    4 <--+---- center    4:mc or mid-center
    |          |               5:mr  or mid-right --- 3         5
<-- baseline 6:bl or bottom-left
    |         |               7:bc or bottom-center
    6----7----8 <-- descent   8:br or bottom-right

Reference point symbols are to be  used  to  specify  composition
rule  of the form (GLOBAL-REF-POINT . NEW-REF-POINT), where GLOB-
AL-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 8 and  NEW-REF-POINT  is  1,
the overall glyph is updated as follows:

    +-------+--+ <--- new ascent
    |       |  |
    | global|  |
    | glyph |  | --- |       |  | <--- baseline (doesn't change)
    +----+--+--+
    |    | new |
    |    |glyph|
    +----+-----+  <--- new descent Fcompose-chars Return one char
string composed from the arguments.   For  relative  composition,
each  argument  should  be a non-composition character or a rela-
tive-composition  character.   For  rule-based  composition,  Nth
(where  N  is odd) argument should be a non-composition character
or a rule-based-composition character, and Mth (where M is  even)
argument  should  be  a composition rule.  A composition rule has
the form (GLOBAL-REF-POINT . NEW-REF-POINT).  See the  documenta-
tion  of  `reference-point-alist' for more detail.Fdecompose-com-
posite-char Convert composite character CHAR to a sequence of the
components.  Optional 1st arg TYPE specifies the type of sequence
returned.  It should be `string' (default), `list', or  `vector'.
Optional 2nd arg WITH-COMPOSITION-RULE non-nil means the returned
sequence contains embedded composition rules  if  any.   In  this
case,  the order of elements in the sequence is the same as argu-
ments for `compose-chars' to create CHAR.  If TYPE is omitted  or
is  `string', composition rules are omitted even if WITH-COMPOSI-
TION-RULE  is  t.Ftraceroute  Run  traceroute  program  for  TAR-
GET.Fping  Ping  HOST.  If your system's ping continues until in-
terrupted, you can try  setting  `ping-program-options'.Fipconfig
Run  ipconfig  program.Fnetstat  Run netstat program.Farp Run the
arp program.Froute Run the  route  program.Fnslookup-host  Lookup
the  DNS information for HOST.Fnslookup Run nslookup program.Fftp
Run ftp program.Ffinger Finger USER on 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 serv-
er.Fnetwork-connection-to-service Open a  network  connection  to
SERVICE  on HOST.Fnetwork-connection Open a network connection to
HOST on PORT.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.Fnnfolder-generate-active-file
Look for mbox folders in the nnfolder directory and make them in-
to groups.Fnnkiboze-generate-groups "Usage: emacs -batch -l nnki-
boze  -f  nnkiboze-generate-groups".  Finds out what articles are
to be part of  the  nnkiboze  groups.Fnnml-generate-nov-databases
Generate  NOV  databases  in  all  nnml directories.Fnnsoup-pack-
replies Make an outbound  package  of  SOUP  replies.Fnnsoup-set-
variables  Use  the  SOUP  methods  for  posting news and mailing
mail.Fnnsoup-revert-variables Revert posting and mailing  methods
to  the standard Emacs methods.Vdisabled-command-hook Function to
call to handle disabled commands.  If nil, the  feature  is  dis-
abled,  i.e.,  all  commands  work normally.Fenable-command Allow
COMMAND to be executed without special confirmation from now  on.
The  user's .emacs file is altered so that this will apply to fu-
ture sessions.Fdisable-command Require  special  confirmation  to
execute  COMMAND  from now on.  The user's .emacs file is altered
so that this will apply to future sessions.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 in-
serting closing requests for requests that are  used  in  matched
pairs.Foctave-help Get help on Octave symbols from the Octave in-
fo files.  Look up KEY in the function, operator and variable in-
dices  of  the files specified by `octave-help-files'.  If KEY is
not a string, prompt for it with completion.Finferior-octave  Run
an  inferior  Octave  process,  I/O via `inferior-octave-buffer'.
This buffer is put in Inferior Octave  mode.   See  `inferior-oc-
tave-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 ei-
ther in the file specified by  `inferior-octave-startup-file'  or
by the default startup file, `~/.emacs-octave'.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 bevo.che.wisc.edu in the  directory  `/pub/oc-
tave'.   Complete source and binaries for several popular systems
are available.

Type  to display the built-in abbrevs for Octave keywords.

Keybindings ===========

octave-mode-map}

Variables   you   can    use    to    customize    Octave    mode
==============================================

octave-auto-indent
  Non-nil means indent current line after a semicolon or space.
  Default is nil.

octave-auto-newline
  Non-nil  means  auto-insert  a newline and indent after a semi-
colon.
  Default is nil.

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-mode-startup-message
  Nil means do not display the Octave mode startup message.
  Default is t.

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 `.emacs' file:

  (autoload 'octave-mode "octave-mod" nil t)
  (setq auto-mode-alist
        (cons '("\.m$" . octave-mode) auto-mode-alist))

To automatically turn on the abbrev, auto-fill and font-lock fea-
tures, add the following lines to your `.emacs' file as well:

  (add-hook 'octave-mode-hook          (lambda ()            (ab-
brev-mode  1)              (auto-fill-mode  1)            (if (eq
window-system 'x)             (font-lock-mode 1))))

To submit a problem report, enter  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  prob-
lem,  including  a  reproducible  test  case  and  send  the mes-
sage.Flist-options Display a list of  Emacs  user  options,  with
values  and documentation.Fedit-options Edit a list of Emacs user
option values.  Selects a buffer containing such a list, in which
there  are  commands  to  set  the  option values.  Type  in that
buffer for a list of commands.

The Custom feature is intended to  make  this  obsolete.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 as-
terisks 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
move   by  visible  headings     outline-previous-visible-heading
outline-forward-same-level        similar  but  skip  subheadings
outline-backward-same-level           outline-up-heading
move from subheading to heading

     make all text invisible (not  headings).        make  every-
thing in buffer 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     make  body  and subheadings invisible.     show-
subtree     make body  and  subheadings  visible.      show-chil-
dren    make direct subheadings visible.             No effect on
body, or subheadings 2 or more levels down.             With  arg
N,  affects  subheadings N levels down.          make immediately
following body invisible.          make it visible.          make
body   under   heading   and  under  its  subheadings  invisible.
               The subheadings remain visible.    make  all  sub-
headings 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  some-
thing  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.Foutline-minor-
mode Toggle Outline minor mode.  With  arg,  turn  Outline  minor
mode on if arg is positive, off otherwise.  See the command `out-
line-mode' for more  information  on  this  mode.Fshow-paren-mode
Toggle Show Paren mode.  With prefix ARG, turn Show Paren mode on
if and only if ARG is positive.  Returns the new status  of  Show
Paren mode (non-nil means on).

When  Show  Paren  mode  is  enabled, any matching parenthesis is
highlighted in `show-paren-style' after  `show-paren-delay'  sec-
onds  of Emacs idle time.Fpascal-mode Major mode for editing Pas-
cal code. <pascal-mode-map> TAB indents for Pascal code.   Delete
converts tabs to spaces as it moves back.

 completes the word around current point with respect to position
in code  shows all possible completions at this point.

Other useful functions are:

     - Mark function.       - insert begin ... end;      - insert
(* ... *)      - Put marked area in a comment, fixing nested com-
ments.       - Uncomment an area commented with .       - Move to
beginning  of  current  function.        - Move to end of current
function.       - Goto function prompted for in  the  minibuffer.
     - Enter pascal-outline-mode (see also pascal-outline).

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  be-
tween 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.Fpc-bindings-
mode  Set up certain key bindings for PC compatibility.  The keys
affected are: Delete (and its variants) delete forward instead of
backward.  C-Backspace kills backward a word (as C-Delete normal-
ly would).  M-Backspace does undo.  Home and End move  to  begin-
ning  and  end of line C-Home and C-End move to beginning and end
of buffer.  C-Escape does list-buffers.Fpc-selection-mode  Change
mark  behaviour to emulate Motif, MAC or MS-Windows cut and paste
style.

This mode enables Delete Selection mode and Transient Mark  mode.

The arrow keys (and others) are bound to new functions which mod-
ify the status of the mark.

The ordinary arrow keys disable the mark.  The  shift-arrow  keys
move, leaving the mark behind.

C-LEFT  and  C-RIGHT move back or forward one word, disabling the
mark.  S-C-LEFT and S-C-RIGHT move  back  or  forward  one  word,
leaving the mark behind.

M-LEFT  and  M-RIGHT  move back or forward one word or sexp, dis-
abling the mark.  S-M-LEFT and S-M-RIGHT move back or forward one
word  or  sexp,  leaving the mark behind. To control wether these
keys move word-wise or sexp-wise set the variable pc-select-meta-
moves-sexps  after loading pc-select.el but before turning pc-se-
lection-mode on.

C-DOWN and C-UP move back or forward a paragraph,  disabling  the
mark.   S-C-DOWN  and  S-C-UP  move  back or forward a paragraph,
leaving the mark behind.

HOME moves to beginning of  line,  disabling  the  mark.   S-HOME
moves  to  beginning of line, leaving the mark behind.  With Ctrl
or Meta, these keys move to beginning of buffer instead.

END moves to end of line, disabling the mark.  S-END moves to end
of  line, leaving the mark behind.  With Ctrl or Meta, these keys
move to end of buffer instead.

PRIOR or PAGE-UP scrolls and disables the mark.   S-PRIOR  or  S-
PAGE-UP scrolls and leaves the mark behind.

S-DELETE  kills  the region (`kill-region').  S-INSERT yanks text
from the kill ring (`yank').  C-INSERT copies the region into the
kill ring (`copy-region-as-kill').

In  addition,  certain  other  PC bindings are imitated (to avoid
this, set the variable pc-select-selection-keys-only to  t  after
loading pc-select.el but before calling pc-selection-mode):

  F6           other-window
  DELETE       delete-char
  C-DELETE     kill-line
  M-DELETE     kill-word
  C-M-DELETE   kill-sexp
  C-BACKSPACE  backward-kill-word
  M-BACKSPACE   undoVpc-selection-mode  Toggle PC Selection mode.
Change mark behaviour to emulate Motif, MAC or MS-Windows cut and
paste  style,  and  cursor  movement commands.  This mode enables
Delete Selection mode and Transient Mark mode.  You  must  modify
via   for  this  variable to have an effect.Fperl-mode Major mode
for editing Perl code.  Expression and list  commands  understand
all  Perl brackets.  Tab indents for Perl code.  Comments are de-
limited with # ... 0 Paragraphs are separated by blank lines  on-
ly.  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  cur-
rent 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-in-
dented.
 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  substate-
ment.
    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.

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'.Fph-
get-email Get the email field of NAME from  the  PH/QI  directory
server.Fph-get-phone  Get  the phone field of NAME from the PH/QI
directory server.Fph-expand-inline Query the PH server,  and  ex-
pand 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.  If it contains more than one word,
the variable `ph-inline-query-format-list' controls to map  these
onto  CCSO  database  field names.  After querying the server for
the given string, the expansion  specified  by  `ph-inline-expan-
sion-format'  is  inserted in the buffer at point.  If REPLACE is
t, then this expansion replaces the name in the buffer.  If  `ph-
expanding-overwrites-query' is t, that inverts the meaning of RE-
PLACE.Fph-query-form Display a form to query the CCSO PH/QI name-
server.   If  given a non-nil argument the function first queries
the server for the existing fields and displays  a  corresponding
form.Fpicture-mode  Switch  to  Picture mode, in which a quarter-
plane screen model is used.  Printing characters replace  instead
of  inserting themselves with motion afterwards settable by these
commands:
  C-c <     Move left after insertion.
  C-c >     Move right after insertion.
  C-c ^     Move up after insertion.
  C-c .     Move down after insertion.
  C-c `     Move northwest (nw) after insertion.
  C-c '     Move northeast (ne) after insertion.
  C-c /     Move southwest (sw) after insertion.
  C-c    Move southeast (se) after insertion.
  C-u C-c `  Move westnorthwest (wnw) after insertion.
  C-u C-c '  Move eastnortheast (ene) after insertion.
  C-u C-c /  Move westsouthwest (wsw) after insertion.
  C-u C-c   Move eastsoutheast (ese) after insertion.   The  cur-
rent direction is displayed in the mode line.  The initial direc-
tion 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.
       Move vertically to SAME column in next line.
       Move to column following last non-whitespace character.
       Move right inserting spaces if required.
       Move left changing tabs to spaces if required.
  C-c C-f Move in direction of current picture motion.
  C-c C-b Move in opposite direction of current picture motion.
  Return  Move to beginning of next line.  You can  edit  tabular
text with these commands:
  M-Tab     Move to column beneath (or at) next interesting char-
acter.           `Indents' relative to a previous line.
  Tab       Move to next stop in tab stop list.
  C-c Tab Set tab stops according to context of this line.
With  ARG  resets  tab  stops  to  default (global) value.
See also documentation  of  variable     picture-tab-chars
which  defines  "interesting  character".  You can manually
change the tab stop list with command .  You can manipulate  text
with these commands:
  C-d        Clear (replace) ARG columns after point without mov-
ing.
  C-c C-d Delete char at point - the command normally assigned to
C-d.
     Clear  (replace)  ARG columns before point, moving back over
them.
       Clear ARG lines, advancing over them.  The  cleared
text is saved in the kill ring.
        Open blank line(e) beneath current line.  You can manipu-
late rectangles with these commands:
  C-c C-k Clear (or kill) a rectangle and save it.
  C-c C-w Like C-c C-k except rectangle is saved in named  regis-
ter.
  C-c C-y Overlay (or insert) currently saved rectangle at point.
  C-c C-x Like C-c C-y except rectangle is taken from named  reg-
ister.
  C-c C-r Draw a rectangular box around mark and point.
     Copies a rectangle to a register.
     Can undo effects of rectangle overlay commands          com-
mands if invoked soon enough.  You can  return  to  the  previous
mode with:
  C-c  C-c 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 defaultly assigned to keys.Fpp Output  the
pretty-printed  representation of OBJECT, any Lisp object.  Quot-
ing 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).Fpp-eval-expression
Evaluate  EXPRESSION  and  pretty-print  value into a new display
buffer.  If the pretty-printed value fits on one line,  the  mes-
sage  line  is  used  instead.  The value is also consed onto the
front of the list in the variable `values'.Fpp-eval-last-sexp Run
`pp-eval-expression'  on sexp before point (which see).  With ar-
gument, pretty-print output into current buffer.  Ignores leading
comment  characters.Fprolog-mode  Major  mode  for editing Prolog
code for Prologs.  Blank lines and `%%...'  separate  paragraphs.
`%'s  start  comments.   Commands: prolog-mode-map} Entry to this
mode calls the value of `prolog-mode-hook' if that value is  non-
nil.Frun-prolog  Run an inferior Prolog process, input and output
via buffer *prolog*.Vbdf-directory-list *List of  directories  to
search  for  `BDF'  font files.  The default value is '("/usr/lo-
cal/share/emacs/fonts/bdf").Vps-multibyte-buffer  *Specifies  the
multi-byte buffer handling.

Valid values are:

  nil                      This  is  the value to use the default
settings which                  is by default for printing buffer
with  only ASCII                  and Latin characters.   The de-
fault setting can be                    changed  by  setting  the
variable                     `ps-mule-font-info-database-default'
differently.                   The initial value of this variable
is                     `ps-mule-font-info-database-latin'  (which
see).

  `non-latin-printer'     This is the value to use when you  have
a Japanese                  or Korean PostScript printer and want
to print                  buffer with  ASCII,  Latin-1,  Japanese
(JISX0208  and                  JISX0201-Kana) and Korean charac-
ters.  At present,                  it was not tested the  Korean
characters  printing.                     If  you  have  a korean
PostScript printer, please,                  test it.

  `bdf-font'              This is the value to use when you  want
to  print                   buffer with BDF fonts.  BDF fonts in-
clude both  latin                    and  non-latin  fonts.   BDF
(Bitmap  Distribution                    Format) is a format used
for distributing X's  font                    source  file.   BDF
fonts are included in                  `intlfonts-1.1' which is a
collection of X11 fonts                  for all characters  sup-
ported by Emacs.  In order to                  use this value, be
sure to have installed                  `intlfonts-1.1'  and  set
the  variable                  `bdf-directory-list' appropriately
(see ps-bdf.el for                  documentation of  this  vari-
able).

  `bdf-font-except-latin'  This is like `bdf-font' except that it
is used                  PostScript default fonts to print  ASCII
and Latin-1                  characters.  This is convenient when
you want or                  need to use both latin and non-latin
characters  on                    the same buffer.  See `ps-font-
family',                  `ps-header-font-family'  and  `ps-font-
info-database'.

Any  other  value  is  treated as nil.Fps-mule-prepare-ascii-font
Setup special ASCII font for STRING.  STRING should contain  only
ASCII  characters.Fps-mule-plot-string  Generate  PostScript code
for ploting characters in the region FROM and TO.

It is assumed that all characters in this region  belong  to  the
same charset.

Optional argument BG-COLOR specifies background color.

Returns the value:

     (ENDPOS . RUN-WIDTH)

Where ENDPOS is the end position of the sequence and RUN-WIDTH is
the width of the sequence.Fps-mule-initialize  Initialize  global
data  for printing multi-byte characters.Fps-mule-begin-job Start
printing job for multi-byte chars  between  FROM  and  TO.   This
checks  if  all multi-byte characters in the region are printable
or not.Vps-paper-type *Specifies 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'.Fps-print-buffer
Generate and print a PostScript image of the buffer.

Interactively,  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, 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.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.Fps-print-region  Generate  and  print  a
PostScript  image  of  the  region.   Like `ps-print-buffer', but
prints just the current region.Fps-print-region-with-faces Gener-
ate  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.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.Fps-spool-buffer-with-faces   Generate   and   spool    a
PostScript  image of the buffer.  Like `ps-spool-buffer', but in-
cludes 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.Fps-spool-region  Generate  a PostScript image of the re-
gion 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.Fps-spool-region-with-faces Generate a  PostScript  image
of the region and spool locally.  Like `ps-spool-region', but in-
cludes 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.Fps-despool 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 print-
er.

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.Fps-
line-lengths Display the correspondence between a line length and
a font size, using the current ps-print setup.  Try: pr -t file |
awk  '{printf "%3d %s ", length($0), $0}' | sort -r | headFps-nb-
pages-buffer Display number of pages to print  this  buffer,  for
various  font heights.  The table depends on the current ps-print
setup.Fps-nb-pages-region Display number of pages  to  print  the
region,  for various font heights.  The table depends on the cur-
rent ps-print setup.Fps-setup Return the current  PostScript-gen-
eration setup.Fps-extend-face-list Extend face in `ps-print-face-
extension-alist'.

If optional MERGE-P is non-nil, extensions in FACE-EXTENSION-LIST
are  merged  with  face extension in `ps-print-face-extension-al-
ist'; otherwise, overrides.

The elements in FACE-EXTENSION-LIST is like those for `ps-extend-
face'.

See  `ps-extend-face'  for  documentation.Fps-extend-face  Extend
face in `ps-print-face-extension-alist'.

If optional MERGE-P is non-nil, extensions in FACE-EXTENSION list
are  merged  with face extensions in `ps-print-face-extension-al-
ist'; otherwise, overrides.

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.Fquail-use-pack-
age  Start using Quail package PACKAGE-NAME.  The remaining argu-
ments are libraries to be loaded before using the package.Fquail-
define-package  Define NAME as a new Quail package for input LAN-
GUAGE.  TITLE is a string to be displayed at mode-line  to  indi-
cate  this  package.  Optional arguments are GUIDANCE, DOCSTRING,
TRANSLATION-KEYS,
 FORGET-LAST-SELECTION, DETERMINISTIC,  KBD-TRANSLATE,  SHOW-LAY-
OUT,
 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.

TRANSLATION-KEYS specifies additional  key  bindings  used  while
translation region is active.  It is an alist of single key char-
acter 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 transla-
tion 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 transla-
tion  data.   By  default,  a translated text or a user's key se-
quence (if no translation for it) is inserted.

CONVERSION-KEYS specifies additional key bindings used while con-
version 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  com-
mands  such  as  C-f,  C-b, C-n, C-p and TAB; they are treated as
non-Quail  commands.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.Fquail-define-rules De-
fine translation rules of the current Quail package.  Each  argu-
ment is a list of KEY and TRANSLATION.  KEY is a string meaning a
sequence of keystrokes to be translated.  TRANSLATION is a  char-
acter,  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.Fquail-install-map  Install  the  Quail
map  MAP  in the current Quail package.  The installed map can be
referred  by  the  function  `quail-map'.Fquail-defrule  Add  one
translation  rule, KEY to TRANSLATION, in the current Quail pack-
age.  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 can-
didate 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 func-
tion,
 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 pack-
age 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.Fquail-defrule-internal  Define  KEY as TRANS in a Quail map
MAP.Fquail-update-leim-list-file Update entries for  Quail  pack-
ages  in `LEIM' list file in directory DIRNAME.  DIRNAME is a di-
rectory containing Emacs input methods; normally, it should spec-
ify 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 addition-
al  directory  names  to  search for Quail packages under `quail'
subdirectory of each directory.Fremote-compile  Compile  the  the
current buffer's directory on HOST.  Log in as USER.  See .Fmove-
to-column-force Move point to column COLUMN rigidly in  the  cur-
rent line.  If COLUMN is within a multi-column character, replace
it by spaces and tab.Fdelete-rectangle Delete (don't  save)  text
in  rectangle  with point and mark as corners.  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.Fdelete-extract-rectangle Delete contents of  rectangle  and
return  it as a list of strings.  Arguments START and END are the
corners of the rectangle.  The value is list of strings, one  for
each  line of the rectangle.Fextract-rectangle Return contents of
rectangle with corners at  START  and  END.   Value  is  list  of
strings,  one  for  each  line  of  the rectangle.Fkill-rectangle
Delete rectangle with corners at point and  mark;  save  as  last
killed one.  Calling from program, supply two args START and END,
buffer positions.  But  in  programs  you  might  prefer  to  use
`delete-extract-rectangle'.Fyank-rectangle  Yank  the last killed
rectangle with upper left corner at  point.Finsert-rectangle  In-
sert  text of RECTANGLE with upper left corner at point.  RECTAN-
GLE's first line is inserted at point, its second line is insert-
ed 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.Fopen-rectan-
gle Blank out rectangle with corners at point and mark,  shifting
text right.  The text previously in the region is not overwritten
by the blanks, but instead winds up to the right of  the  rectan-
gle.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.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.Fclear-rectangle Blank out rectangle with corners at point
and  mark.   The  text previously in the region is overwritten by
the blanks.  When called from a program, requires two args  which
specify  the corners.Fturn-on-reftex Turn on RefTandmoLabelsftcan
mode Minor mode with distinct support for el,
be created with `' and referenced with `'.  When referencing, you
get a menu with all labels of a given type and contexefomacro.la-
bel definition.  The selected label is inserted as a

Citations can be made with `' 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  A Table of
Contents of the entire (multifile) document with  browsing  capa-
bilities is available with `'.

Most  command  have  help available on the fly.  This help is ac-
cessed by pressing `?' to any prompt mentioning this feature.

Extensive documentation about RefTeX is available in Info format.
You can view this information with `'.

reftex-mode-map}  Under X, these and other functions will also be
available as `Ref' menu on the menu bar.

------------------------------------------------------------------------------Fref-
tex-citation  Make a citation using BibTeX database files.  After
prompting for a regular bxpression, scans the buffers with bibtex
entries (taken from the lography command) and offers the matching
entries for selection.  The selected entry is formated  according
to `reftex-cite-format' and inserted into the buffer.

If  NO-INSERT  is non-nil, nothing is inserted, only the selected
key returned.

When called with one or two `C-u'  prefixes,  first  rescans  the
document.   When called with a numeric prefix, make that many ci-
tations.  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.Fregexp-opt  Return  a  regexp  to
match  a  string  in  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 en-
closed by at least one regexp grouping construct.   The  returned
regexp is typically more efficient than the equivalent regexp:

 (let  ((open-paren  (if  PAREN  "\(" "")) (close-paren (if PAREN
"\)" "")))
   (concat  open-paren  (mapconcat  'regexp-quote  STRINGS  "\|")
close-paren))

but  typically  contains  more  regexp  grouping constructs.  Use
`regexp-opt-depth' to  count  them.Fregexp-opt-depth  Return  the
depth  of  REGEXP.  This means the number of regexp grouping con-
structs (parenthesised expressions) in REGEXP.Frepeat Repeat most
recently executed command.  With prefix arg, apply new prefix arg
to that command; otherwise, use the prefix arg that was used  be-
fore  (if  any).   This command is like the `.' command in the vi
editor.

If this command is invoked by a multi-character key sequence,  it
can then be repeated by repeating the final character of that se-
quence.  This behavior can be modified  by  the  global  variable
`repeat-on-final-keystroke'.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  on-
screen as possible.
  Initially `reposition-window' attempts to make both the defini-
tion 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).Fresume-suspend-hook Clear out the file used for
transmitting  args when Emacs resumes.Fring-p Returns t if X is a
ring; nil otherwise.Fmake-ring Make a ring that can contain  SIZE
elements.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 argu-
ments 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 ma-
chine.  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.Vrmail-dont-reply-to-names *A regexp
specifying names to prune of reply to messages.  A value  of  nil
means  exclude your own login name as an address plus whatever is
specified by  `rmail-default-dont-reply-to-names'.Vrmail-default-
dont-reply-to-names  A  regular expression specifying part of the
value of the default value of the variable  `rmail-dont-reply-to-
names',  for  when  the  user  does not set `rmail-dont-reply-to-
names' explicitly.  (The other part of the default value  is  the
user's name.)  It is useful to set this variable in the site cus-
tomization file.Vrmail-ignored-headers *Regexp  to  match  header
fields  that  Rmail  should normally hide.  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  mes-
sage  that  you  have already viewed, go to that message and type
twice.Vrmail-displayed-headers *Regexp  to  match  Header  fields
that Rmail should display.  If nil, display all header fields ex-
cept those  matched  by  `rmail-ignored-headers'.Vrmail-retry-ig-
nored-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.  See  also  `rmail-highlight-face'.Vrmail-
highlight-face  *Face  used by Rmail for highlighting headers.Vr-
mail-delete-after-output *Non-nil means  automatically  delete  a
message  that is copied to a file.Vrmail-primary-inbox-list *List
of  files  which  are  inboxes  for  user's  primary  mail   file
`~/RMAIL'.   `nil'  means  the  default,  which is something like
("/usr/spool/mail/$USER") (the name varies depending on the oper-
ating  system,  and  the  value  of the environment variable MAIL
overrides it).Vrmail-mail-new-frame *Non-nil means Rmail makes  a
new  frame  for composing outgoing mail.Vrmail-secondary-file-di-
rectory *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-get-new-mail-hook  List  of functions to call when
Rmail has retrieved  new  mail.Vrmail-show-message-hook  List  of
functions  to  call  when Rmail displays a message.Vrmail-delete-
message-hook List of functions to call when Rmail deletes a  mes-
sage.   When  the  hooks  are called, the message has been marked
deleted but is still the current message in the Rmail  buffer.Vr-
mail-file-coding-system Coding system used in RMAIL file.

This  is  set  to  nil by default.Vrmail-enable-mime *If non-nil,
RMAIL uses MIME feature.  If the value is t, RMAIL  automatically
shows  MIME  decoded message.  If the value is neither t nor nil,
RMAIL does not show MIME decoded message until a user  explicitly
requires  it.Vrmail-show-mime-function  Function to show MIME de-
coded message of RMAIL file.Vrmail-mime-feature  Feature  to  re-
quire  to  load  MIME  support in Rmail.  When starting Rmail, if
`rmail-enable-mime' is non-nil, this  feature  is  required  with
`require'.Vrmail-decode-mime-charset  *Non-nil means a message is
decoded by MIME's charset specification.   If  this  variable  is
nil,  or  the  message has not MIME specification, the message is
decoded as normal way.

If the variable `rmail-enable-mime' is non-nil, this variables is
ignored, and all the decoding work is done by a feature specified
by the variable  `rmail-mime-feature'.Vrmail-mime-charset-pattern
Regexp  to  match  MIME-charset specification in a header of mes-
sage.  The first parenthesized expression should match the  MIME-
charset  name.Frmail Read and edit incoming mail.  Moves messages
into file named by `rmail-file-name' (a babyl format file)
 and edits that file in RMAIL  Mode.   Type   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.Frmail-mode Rmail Mode is used by <rmail-mode-map> for
editing Rmail files.  All normal editing commands are turned off.
Instead, these commands are available:

     Move point to front of this message (same as ).       Scroll
to next screen of this message.       Scroll to  previous  screen
of   this   message.        Move  to  Next  non-deleted  message.
     Move to Previous non-deleted  message.        Move  to  Next
message  whether  deleted  or not.       Move to Previous message
whether deleted or not.       Move to the first message in  Rmail
file.       Move to the last message in Rmail file.       Jump to
message specified by numeric position in file.        Search  for
string  and  show  message it is found in.       Delete this mes-
sage, move to next nondeleted.       Delete this message, move to
previous  nondeleted.       Undelete message.  Tries current mes-
sage, then earlier messages      till a deleted message is found.
     Edit  the  current  message.   to return to Rmail.       Ex-
punge  deleted  messages.        Expunge  and  save   the   file.
Quit  Rmail: expunge, save, then switch to another buffer.   Save
without expunging.       Move new mail from system spool directo-
ry into this file.       Mail a message (same as ).       Contin-
ue composing outgoing message started before.       Reply to this
message.  Like  but initializes some fields.       Send this mes-
sage again.  Used on a mailer failure message.       Forward this
message  to another user.         Output this message to an Rmail
file (append it).       Output this message to a Unix-format mail
file  (append  it).        Save  message body to a file.  Default
filename comes from Subject line.       Input  Rmail  file.   Run
Rmail  on that file.       Add label to message.  It will be dis-
played in the mode line.       Kill label.  Remove a  label  from
current 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  .
Move  to  Previous message with specified label      Show headers
buffer, with a one line summary of each message.        Summarize
only  messages  with particular label(l).     Summarize only mes-
sages with particular recipient(t).     Summarize  only  messages
with  particular regexp(p).     Summarize only messages with sub-
ject line regexp(p).       Toggle display of complete  header.Fr-
mail-input Run Rmail on file FILENAME.Frmail-set-pop-password Set
PASSWORD to be used for retrieving mail from a POP server.Frmail-
edit-current-message  Edit  the  contents of this message.Frmail-
add-label Add LABEL to labels associated with current RMAIL  mes-
sage.  Completion is performed over known labels when reading.Fr-
mail-kill-label Remove LABEL from labels associated with  current
RMAIL  message.   Completion  is performed over known labels when
reading.Frmail-previous-labeled-message  Show  previous   message
with one of the labels LABELS.  LABELS should be a comma-separat-
ed list of label names.  If LABELS is empty, the last set of  la-
bels  specified is used.  With prefix argument N moves backward N
messages with these labels.Frmail-next-labeled-message Show  next
message with one of the labels LABELS.  LABELS should be a comma-
separated list of label names.  If LABELS is empty, the last  set
of  labels  specified is used.  With prefix argument N moves for-
ward N messages with these labels.Fset-rmail-inbox-list  Set  the
inbox list of the current RMAIL file to FILE-NAME.  You can spec-
ify one file name, or several  names  separated  by  commas.   If
FILE-NAME is empty, remove any existing inbox list.Vrmail-output-
file-alist *Alist matching  regexps  to  suggested  output  Rmail
files.   This  is  a list of elements of the form (REGEXP . NAME-
EXP).  The suggestion is taken if REGEXP matches anywhere in  the
message  buffer.   NAME-EXP  may  be a string constant giving the
file name to use, or more generally it may be any kind of expres-
sion that returns a file name as a string.Frmail-output-to-rmail-
file Append the current message to an Rmail file named FILE-NAME.
If the file does not exist, ask if it should be created.  If file
is being visited, the message is appended  to  the  Emacs  buffer
visiting that file.  If the file exists and is not an Rmail file,
the message is appended in inbox format, the same way `rmail-out-
put' does it.

The  default  file  name  comes  from `rmail-default-rmail-file',
which is updated to the name you use in this command.

A prefix argument N says to output N consecutive messages  start-
ing with the current one.  Deleted messages are skipped and don't
count.Vrmail-fields-not-to-output *Regexp  describing  fields  to
exclude  when outputting a message to a file.Frmail-output Append
this message to system-inbox-format mail file named FILE-NAME.  A
prefix  argument N says to output N consecutive messages starting
with the current one.  Deleted messages  are  skipped  and  don't
count.  When called from lisp code, N may be omitted.

If  the  pruned  message  header is shown on the current message,
then messages will be appended with  pruned  headers;  otherwise,
messages will be appended with their original headers.

The  default  file name comes from `rmail-default-file', which is
updated to the name you use in this command.

The optional third argument NOATTRIBUTE, if non-nil, says not  to
set the `filed' attribute, and not to display a message.

The  optional  fourth  argument FROM-GNUS is set when called from
GNUS.Frmail-output-body-to-file Write this message  body  to  the
file FILE-NAME.  FILE-NAME defaults, interactively, from the Sub-
ject field of the message.Frmail-sort-by-date  Sort  messages  of
current  Rmail  file by date.  If prefix argument REVERSE is non-
nil, sort them in reverse order.Frmail-sort-by-subject Sort  mes-
sages  of  current Rmail file by subject.  If prefix argument RE-
VERSE is non-nil, sort them in  reverse  order.Frmail-sort-by-au-
thor  Sort  messages  of current Rmail file by author.  If prefix
argument REVERSE is non-nil, sort them in  reverse  order.Frmail-
sort-by-recipient  Sort messages of current Rmail file by recipi-
ent.  If prefix argument REVERSE is non-nil, sort them in reverse
order.Frmail-sort-by-correspondent Sort messages of current Rmail
file by other correspondent.  If prefix argument REVERSE is  non-
nil,  sort  them  in reverse order.Frmail-sort-by-lines Sort mes-
sages of current Rmail file by number of lines.  If prefix  argu-
ment  REVERSE is non-nil, sort them in reverse order.Frmail-sort-
by-keywords Sort messages of current Rmail file  by  labels.   If
prefix  argument  REVERSE is non-nil, sort them in reverse order.
KEYWORDS is  a  comma-separated  list  of  labels.Vrmail-summary-
scroll-between-messages  *Non-nil means Rmail summary scroll com-
mands move between messages.Vrmail-summary-line-count-flag  *Non-
nil if Rmail summary should show the number of lines in each mes-
sage.Frmail-summary Display a summary of all messages,  one  line
per  message.Frmail-summary-by-labels  Display  a  summary of all
messages with one or more LABELS.  LABELS should be a string con-
taining  the  desired labels, separated by commas.Frmail-summary-
by-recipients Display a summary of all messages  with  the  given
RECIPIENTS.   Normally checks the To, From and Cc fields of head-
ers; but if PRIMARY-ONLY is non-nil (prefix arg given),
 only look in the To and From fields.  RECIPIENTS is a string  of
regexps  separated  by  commas.Frmail-summary-by-regexp Display a
summary of all messages according to regexp REGEXP.  If the regu-
lar  expression  is found in the header of the message (including
in the date and other lines, as well as the subject line),  Emacs
will list the header line in the RMAIL-summary.Frmail-summary-by-
topic Display a summary of all messages with the  given  SUBJECT.
Normally  checks  the Subject field of headers; but if WHOLE-MES-
SAGE is non-nil (prefix arg given),
 look in the whole message.  SUBJECT is a string of regexps sepa-
rated  by  commas.Frmail-summary-by-senders  Display a summary of
all messages with the given SENDERS.   SENDERS  is  a  string  of
names  separated  by commas.Vrmail-summary-line-decoder *Function
to decode summary-line.

By default, `identity' is set.Fnews-post-news Begin editing a new
USENET news article to be posted.  Type  once editing the article
to get a list of commands.  If NOQUERY  is  non-nil,  we  do  not
query  before  doing the work.Frot13-other-window Display current
buffer in rot 13 in another window.  To terminate the rot13  dis-
play, delete that window.Ftoggle-rot13-mode Toggle the use of rot
13 encoding for the current window.Vresize-minibuffer-mode Toggle
resizing the minibuffer so its entire contents are visible.  Set-
ting this variable directly does not take effect; use either   or
the  function `resize-minibuffer-mode'.Vresize-minibuffer-window-
max-height *Maximum size the minibuffer window is allowed to  be-
come.  If less than 1 or not a number, the limit is the height of
the frame in which the active minibuffer window  resides.Vresize-
minibuffer-window-exactly  *Allow  making  minibuffer exactly the
size to display all its contents.  If `nil', the minibuffer  win-
dow  can temporarily increase in size but never get smaller while
it is active.  Any other  value  allows  exact  resizing.Vresize-
minibuffer-frame  *Allow  changing the frame height of minibuffer
frames.  If non-`nil' and the active minibuffer is the sole  win-
dow  in  its  frame,  allow  changing  the  frame height.Vresize-
minibuffer-frame-max-height *Maximum size the minibuffer frame is
allowed  to  become.  If less than 1 or not a number, there is no
limit.Vresize-minibuffer-frame-exactly *Allow  making  minibuffer
frame  exactly  the  size to display all its contents.  If `nil',
the minibuffer frame can temporarily increase in size  but  never
get smaller while it is active.  Any other value allows exact re-
sizing.Fresize-minibuffer-mode  Toggle  resize-minibuffer   mode.
With argument, enable resize-minibuffer mode if and only if argu-
ment is positive.

When this minor mode is enabled, the  minibuffer  is  dynamically
resized  to  contain  the  entire region of text put in it as you
type.

The variable `resize-minibuffer-mode' is set to t or nil  depend-
ing on whether this mode is active or not.

The maximum height to which the minibuffer can grow is controlled
by the variable `resize-minibuffer-window-max-height'.

The   variable   `resize-minibuffer-window-exactly'    determines
whether the minibuffer window should ever be shrunk to make it no
larger than needed to display its contents.

When using a window system, it is possible for a minibuffer to be
the  sole  window  in  a frame.  Since that window is already its
maximum size, the only way to make more text visible at  once  is
to  increase  the  size  of  the  frame.   The  variable `resize-
minibuffer-frame' controls whether  this  should  be  done.   The
variables   `resize-minibuffer-frame-max-height'   and   `resize-
minibuffer-frame-exactly' are analogous to their window  counter-
parts.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 addi-
tional  commands  will be defined, for evaluating expressions and
controlling the interpreter, and the state of the process will be
displayed  in  the  modeline of all Scheme buffers.  The names of
commands  that  interact  with  the  Scheme  process  start  with
"xscheme-".   For  more  information  see  the  documentation for
xscheme-interaction-mode.

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.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.Fgnus-score-
mode Mode for editing Gnus score files.  This mode is an extended
emacs-lisp mode.

gnus-score-mode-map}Fscribe-mode Major mode for editing files  of
Scribe  (a  text formatter) source.  Scribe-mode is similar text-
mode, with a few extra commands added.  scribe-mode-map}

Interesting variables:

scribe-fancy-paragraphs
  Non-nil makes Scribe mode use a different  style  of  paragraph
separation.

scribe-electric-quote
  Non-nil  makes insert of double quote use `` or '' depending on
context.

scribe-electric-parenthesis
  Non-nil makes an open-parenthesis char (one of `([<{')
  automatically insert its  close  if  typed  after  an  @Command
form.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>  If  `system-de-
fault',  Rmail  allows  the  system  to  insert  its default From
field.Vmail-self-blind *Non-nil means insert BCC to self in  mes-
sages  to be sent.  This is done when the message is initialized,
so you can remove or alter the BCC  field  to  override  the  de-
fault.Vmail-interactive  *Non-nil  means  when  sending a message
wait for and display errors.  nil means let mailer  mail  back  a
message to report errors.Vmail-yank-ignored-headers *Delete these
headers from old message when it's  inserted  in  a  reply.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.Vmail-header-separator
*Line used to separate headers from text in messages  being  com-
posed.Vmail-archive-file-name *Name of file to write all outgoing
messages in, or nil for none.  This can be an inbox  file  or  an
Rmail  file.Vmail-default-reply-to  *Address to insert as default
Reply-to field of outgoing messages.  If nil, it will be initial-
ized  from  the  REPLYTO environment variable when you first send
mail.Vmail-alias-file *If non-nil, the name of a file to use  in-
stead of `/usr/lib/aliases'.  This file defines aliases to be ex-
panded by the mailer; this is a different feature  from  that  of
defining  aliases  in  `.mailrc'  to  be expanded in Emacs.  This
variable has no effect unless your system uses  sendmail  as  its
mailer.Vmail-personal-alias-file *If non-nil, the name of the us-
er'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-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 0 0
  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.Fmail-mode Major mode for
editing mail to be sent.  Like Text Mode but with these addition-
al  commands:    mail-send (send the message)      mail-send-and-
exit Here are commands that move to a header field (and create it
if  there  isn't):           move to To:   move to Subject:
move to CC:       move to BCC:         move to  FCC:    mail-text
(move  to  beginning  of message text).    mail-signature (insert
`mail-signature-file' file).    mail-yank-original  (insert  cur-
rent  message,  in Rmail).    mail-fill-yanked-message (fill what
was yanked).    mail-sent-via (add a Sent-via field for  each  To
or  CC).Vsendmail-coding-system  *Coding  system for encoding the
outgoing mail.  This has higher  priority  than  `default-buffer-
file-coding-system'   and  `default-sendmail-coding-system',  but
lower priority than the local value  of  `buffer-file-coding-sys-
tem'.  See also the function `select-sendmail-coding-system'.Vde-
fault-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-environ-
ment.   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-sendmail-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 val-
ue is t if the message was newly initialized; otherwise, nil.

Optionally,  the  signature file `mail-signature-file' can be in-
serted at the end; see the variable `mail-signature'.

<mail-mode-map> While editing message, type  to send the  message
and exit.

Various special commands starting with C-c are available in send-
mail 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.

When calling from a program, the first argument if  non-nil  says
not to erase the existing contents of the `*mail*' buffer.

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 argu-
ment 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 orig-
inal.
 Or  it can be nil, if not replying to anything.  The seventh ar-
gument 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'.Fmail-
other-window Like `mail' command, but display mail buffer in  an-
other  window.Fmail-other-frame  Like `mail' command, but display
mail buffer in another frame.Fserver-start Allow this Emacs  pro-
cess  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".

Prefix  arg  means  just  kill any existing server communications
subprocess.Fsgml-mode Major  mode  for  editing  SGML  documents.
Makes > match <.  Makes / blink matching /.  Keys <, &, SPC with-
in <>, " 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 'upcase)
in your `.emacs' file.

Use  to validate your document with an SGML parser.

Do  sgml- SPC to see available variables.  Do  on  the  following
bindings  to discover what they do.  sgml-mode-map}Fhtml-mode Ma-
jor mode based on SGML mode for editing HTML documents.  This al-
lows  inserting  skeleton  constructs used in hypertext documents
with completion.  See below for an introduction to HTML.  Use  to
see  how  this  comes out.  See also `sgml-mode' on which this is
based.

Do  html- SPC and  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>under-
lined</u> using the normal   M-g   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  some-
name</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}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  in-
dicates  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:

      case statement       for  loop         function  definition
       if  statement         indexed loop from 1 to n       while
getopts loop       repeat loop       select loop       until loop
      while loop

       Delete backward one position, even if it was a tab.
Delete unquoted space and indent  new  line  same  as  this  one.
      Go to end of successive commands.        Go to beginning of
successive commands.        Set this buffer's  shell,  and  maybe
its  magic number.        Have optional header and region be exe-
cuted in a subshell.

      Without prefix, following an unquoted < inserts here  docu-
ment.  {, (, [, ', ", `      Unless quoted with  insert the pairs
{}, (), [], or '', "", ``.

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
with your script for  an  edit-interpret-debug  cycle.Flist-load-
path-shadows Display a list of Emacs Lisp files that shadow other
files.

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  (un-
less 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  be-
cause  the XXX package was not distributed with versions of emacs
prior to 19.30.  An emacs maintainer downloaded  XXX  from  else-
where  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  shad-
owings.   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.

When run interactively, the shadowings (if any) are displayed  in
a  buffer  called `*Shadows*'.  Shadowings are located by calling
the (non-interactive) companion function,  `find-emacs-lisp-shad-
ows'.Vshell-prompt-pattern Regexp to match prompts in the inferi-
or shell.  Defaults to "^[^#$%>0*[#$%>] *",  which  works  pretty
well.  This variable is used to initialise `comint-prompt-regexp'
in the shell buffer.

The pattern should probably not match more than one line.  If  it
does, Shell mode may become confused trying to distinguish prompt
from input on lines which don't start with a prompt.

This is a fine thing to set in your `.emacs' file.Fshell  Run  an
inferior  shell,  with I/O through buffer *shell*.  If buffer ex-
ists but shell process is not running, make new shell.  If buffer
exists  and  shell  process  is  running,  just  switch to buffer
`*shell*'.  Program used  comes  from  variable  `explicit-shell-
file-name',
 or (if that is nil) from the ESHELL environment variable,
 or   else  from  SHELL  if  there  is  no  ESHELL.   If  a  file
`~/.emacs_SHELLNAME' exists, it is given as initial input
 (Note that this may lose 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 sub-
jobs 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 before  .   You  can  also
specify this with in the shell buffer, after you start the shell.
The default comes  from  `process-coding-system-alist'  and  `de-
fault-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  in the shell buffer for a list  of  commands.)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 sub-
statement,
    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 start-
ing 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 indenta-
tion.
 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 reindent-
ed.
 simula-abbrev-keyword 'upcase
    Determine how SIMULA keywords will be expanded.  Value is one
of
    the symbols `upcase', `downcase', `capitalize', (as in)  `ab-
brev-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

Warning: simula-mode-hook should not read in an abbrev file with-
out calling the function  simula-install-standard-abbrevs  after-
wards, preferably not at all.Vskeleton-filter Function for trans-
forming a skeleton proxy's aliases' variable value.Fdefine-skele-
ton  Define  a  user-configurable COMMAND that enters a statement
skeleton.  DOCUMENTATION is that of the command, while the  vari-
able  of  the same name, which contains the skeleton, has a docu-
mentation to that effect.  INTERACTOR and ELEMENT ... are as  de-
fined under `skeleton-insert'.Fskeleton-proxy-new Insert skeleton
defined by variable of same name (see `skeleton-insert').  Prefix
ARG  allows  wrapping  around words or regions (see `skeleton-in-
sert').  If no ARG was given, but the region is visible, ARG  de-
faults  to  -1  depending on `skeleton-autowrap'.  An ARG of  M-0
will prevent this just for once.  This command can also be an ab-
brev  expansion  (3rd  and  4th columns in   buffer: ""  command-
name).

When called as a function, optional first argument STR  may  also
be  a  string which will be the value of `str' whereas the skele-
ton's interactor is then ignored.Fskeleton-proxy Insert  skeleton
defined by variable of same name (see `skeleton-insert').  Prefix
ARG allows wrapping around words or  regions  (see  `skeleton-in-
sert').   If no ARG was given, but the region is visible, ARG de-
faults to -1 depending on `skeleton-autowrap'.  An  ARG  of   M-0
will prevent this just for once.  This command can also be an ab-
brev expansion (3rd and 4th columns  in    buffer:  ""   command-
name).

When  called  as a function, optional first argument STR may also
be a string which will be the value of `str' whereas  the  skele-
ton's interactor is then ignored.Fskeleton-insert Insert the com-
plex 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  inter-
regions  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  com-
plex read functions.

If  ELEMENT is a string or a character it gets inserted (see also
`skeleton-transformation').  Other possibilities are:

     go to next line and indent according to  mode       _    in-
teresting   point,  interregion  here,  point  after  termination
     >    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 charac-
ters (see `skeleton-untabify')       resume:   skipped,  continue
here if quit is signaled      nil  skipped

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 pro-
cessed as often as the user enters a non-empty  string.    termi-
nates skeleton insertion, but continues after `resume:' and posi-
tions 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  im-
plies 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 any-
thing you want

When done with skeleton, but before going back to `_'-point  call
`skeleton-end-hook'  if  that is non-`nil'.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' returns nil, pairing is performed.

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  oth-
ers.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>      Starts a new game of  Snake       Termi-
nates  the current game      Pauses (or resumes) the current game
     Makes the snake move left      Makes the  snake  move  right
     Makes the snake move up      Makes the snake move down

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'.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 new-
line  or  another --.  Delete converts tabs to spaces as it moves
back.  snmp-mode-map} Turning on snmp-mode runs the hooks in `sn-
mp-common-mode-hook', then `snmpv2-mode-hook'.Vcalendar-time-dis-
play-form *The pseudo-pattern that governs the way a time of  day
is formatted.

A  pseudo-pattern  is  a list of expressions that can involve the
keywords `12-hours', `24-hours', and `minutes',  all  numbers  in
string  form,  and  `am-pm'  and  `time-zone',   both  alphabetic
strings.

For example, the form

  '(24-hours ":" minutes
    (if time-zone " (") time-zone (if time-zone ")"))

would give military-style times like `21:07 (UTC)'.Vcalendar-lat-
itude *Latitude of `calendar-location-name' in degrees.

The value can be either a decimal fraction (one place of accuracy
is sufficient), + north, - south, such as 40.7 for New York City,
or  the  value can be a vector [degrees minutes north/south] such
as [40 50 north] for New York City.

This variable should be set  in  `site-start'.el.Vcalendar-longi-
tude *Longitude of `calendar-location-name' in degrees.

The value can be either a decimal fraction (one place of accuracy
is sufficient), + east, - west, such as -73.9 for New York  City,
or  the value can be a vector [degrees minutes east/west] such as
[73 55 west] for New York City.

This variable should be  set  in  `site-start'.el.Vcalendar-loca-
tion-name *Expression evaluating to name of `calendar-longitude',
`calendar-latitude'.  For example, "New York City".  Default val-
ue is just the latitude, longitude pair.

This  variable  should  be set in `site-start'.el.Fsunrise-sunset
Local time of sunrise and sunset for today.  Accurate  to  a  few
seconds.   If called with an optional prefix argument, 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 a .emacs  file.Fsolar-
equinoxes-solstices  *local*  date and time of equinoxes and sol-
stices, if visible in the  calendar  window.   Requires  floating
point.Fsolitaire Play Solitaire.

To  play  Solitaire, type .  <solitaire-mode-map> Move around the
board using the cursor keys.  Move stones using   followed  by  a
direction  key.  Undo moves using .  Check for possible moves us-
ing .  (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 sec-
ond, 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 favourite shortcuts:

solitaire-mode-map}Fsort-subr General text sorting routine to di-
vide  buffer  into  records and sort them.  Arguments are REVERSE
NEXTRECFUN ENDRECFUN &optional STARTKEYFUN ENDKEYFUN.

We divide the accessible portion  of  the  buffer  into  disjoint
pieces  called sort records.  A portion of each sort record (per-
haps 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 de-
scending 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.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.Fsort-paragraphs Sort paragraphs in region alphabeti-
cally; 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'  de-
termines  whether  alphabetic  case affects the sort order.Fsort-
pages Sort pages in region  alphabetically;  argument  means  de-
scending  order.   Called  from  a program, there are three argu-
ments: REVERSE (non-nil means reverse order), BEG and END (region
to  sort).   The variable `sort-fold-case' determines whether al-
phabetic case affects the  sort  order.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.  Spec-
ified  field  must  contain  a number in each line of the region.
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.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.Fsort-regexp-fields Sort the region lexicographically
as specified by RECORD-REGEXP and KEY.   RECORD-REGEXP  specifies
the textual units which should be sorted.
  For  example,  to  sort lines RECORD-REGEXP would be "^.*$" KEY
specifies the part of each record (ie each match for  RECORD-REG-
EXP)
  is to be used for sorting.
  If it is "\digit" then the digit'th "\(...\)" match field from
  RECORD-REGEXP is used.
  If it is "\&" then the whole record is used.
  Otherwise, it is a regular-expression for which to search with-
in the record.  If a match for KEY is not found within  a  record
then that record is ignored.

With a negative prefix arg sorts 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*\>"Fsort-
columns Sort lines in region alphabetically by a certain range of
columns.   For  the  purpose of this command, the region 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 alpha-
betic 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  to convert
tabs to spaces before sorting.Freverse-region Reverse  the  order
of  lines  in a region.  From a program takes two point or marker
arguments, BEG and  END.Fspeedbar-frame-mode  Enable  or  disable
speedbar.   Positive  ARG  means turn on, negative turn off.  nil
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.Fspeedbar-get-focus
Change frame focus to or from the speedbar frame.  If the select-
ed frame is not speedbar, then speedbar frame  is  selected.   If
the   speedbar   frame   is  active,  then  select  the  attached
frame.Fspell-buffer Check spelling of every word in  the  buffer.
For  each  incorrect word, you are asked for the correct spelling
and then put into a query-replace to fix some or all occurrences.
If  you  do not want to change a word, just give the same word as
its "correct" spelling; then the query replace is skipped.Fspell-
word  Check  spelling  of  word at or before point.  If it is not
correct, ask user for the correct  spelling  and  `query-replace'
the  entire  buffer  to  substitute it.Fspell-region Like `spell-
buffer' but applies only to region.  Used in a  program,  applies
from  START to END.  DESCRIPTION is an optional string naming the
unit  being  checked:  for  example,  "word".Fspell-string  Check
spelling  of string supplied as argument.Fspook Adds that special
touch of class to your outgoing mail.Fsnarf-spooks Return a  vec-
tor  containing  the  lines  from  `spook-phrases-file'.Fsql-help
Shows 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:

    PostGres:

Other non-free SQL implementations are also supported:

    MySQL:
    Solid:
    Oracle:
    Informix:
    Sybase:
    Ingres:
    Microsoft:

But we urge you to choose a free implementation instead of these.

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.

Put  a line with a call to autoload into your `~/.emacs' file for
each entry function you want to use regularly:

(autoload 'sql-postgres "sql" "Interactive SQL mode." t)

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 .  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 en-
tire buffer to the interactive SQL buffer (SQLi mode).   The  re-
sults are appended to the SQLi buffer without disturbing your SQL
buffer.Fsql-mode Major mode to edit SQL.

You can send SQL statements to the SQLi buffer using  .   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  sends the region to.  If this
SQLi buffer is killed,  is no longer able to determine where  the
strings should be sent to.  You can set the value of `sql-buffer'
using .

For information on how to create multiple SQLi buffers, see `sql-
interactive-mode'.Fsql-postgres  Run psql by Postgres as an infe-
rior 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'.  Lo-
gin  uses  the  variables  `sql-database' and `sql-server' as de-
fault, if set.

The buffer is put in sql-interactive-mode,  giving  commands  for
sending input.  See `sql-interactive-mode'.

To specify a coding system for converting non-ASCII characters in
the input and output to the process, use before .  You  can  also
specify this with in the SQL buffer, after you start the process.
The default comes  from  `process-coding-system-alist'  and  `de-
fault-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-fil-
ter-functions                                '(comint-strip-ctrl-
m)))

(Type   in  the  SQL buffer for a list of commands.)Vstrokes-mode
Non-nil when `strokes'  is  globally  enabledFstrokes-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'   func-
tion.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.  Option-
al  EVENT  is  acceptable  as  the starting event of the strokeF-
strokes-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 al-
lows the user to pen-up and pen-down.  This is implemented by al-
lowing the user to paint with button1 or button2  and  then  com-
plete  the  stroke with button3.  Optional EVENT is acceptable as
the starting event of the strokeFstrokes-do-stroke Read a  simple
stroke  from the user and then exectute its comand.  This must be
bound to a mouse event.Fstrokes-do-complex-stroke Read a  complex
stroke from the user and then exectute its command.  This must be
bound to a mouse event.Fstrokes-describe-stroke Displays the com-
mand which STROKE maps to, reading STROKE interactively.Fstrokes-
help Get instructional help on  using  the  the  `strokes'  pack-
age.Fstrokes-load-user-strokes  Load  user-defined  strokes  from
file named by `strokes-file'.Fstrokes-mode Toggle  strokes  being
enabled.   With  ARG, turn strokes on if and only if ARG is posi-
tive or true.  Note that `strokes-mode' is a global mode.   Think
of it as a minor mode in all buffers when activated.  By default,
strokes are invoked with mouse  button-2.   You  can  define  new
strokes with

> M-x global-set-stroke

To   use   strokes   for   pictographic  editing,  such  as  Chi-
nese/Japanese, use Sh-button-2, which draws strokes  and  inserts
them.  Encode/decode your strokes with

>  M-x strokes-encode-buffer > M-x strokes-decode-bufferFsc-cite-
original Workhorse citing function which performs the initial ci-
tation.  This is callable from the various mail and news readers'
reply function according to the agreed upon standard.  See `' 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.

For Emacs 19's, 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.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.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.Ftalk-
connect Connect to display DISPLAY for the Emacs talk group.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 Control-x Control-s, 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-block-
size'.   tar-mode-map}Ftcl-mode  Major  mode  for   editing   tcl
scripts.   The  following  keys  are bound: tcl-mode-map} Ftelnet
Open a network login connection to host named  HOST  (a  string).
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.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.Fmake-term Make a term process NAME in a buffer, run-
ning 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.Fterm Start a  terminal-emulator  in  a  new
buffer.Fansi-term Start a terminal-emulator in a new buffer.Fter-
minal-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 win-
dow -- 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 be-
haviour of the emulator -- see their documentation for  more  in-
formation:  terminal-escape-char,  terminal-scrolling,  terminal-
more-processing, terminal-redisplay-interval.

This function calls the value of terminal-mode-hook if  that  ex-
ists and is non-nil after the terminal buffer has been set up and
the subprocess started.Ftetris Play the Tetris game.  Shapes drop
from  the  top of the screen, and the user has to move and rotate
the shape to fit in with those at the bottom of the screen so  as
to form complete rows.

tetris-mode keybindings:
   <tetris-mode-map>      Starts a new game of Tetris      Termi-
nates the current game      Pauses (or resumes) the current  game
     Moves  the shape one square to the left      Moves the shape
one square to the right      Rotates the shape clockwise      Ro-
tates  the shape anticlockwise      Drops the shape to the bottom
of the playing area

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  or  when there are `input' commands with relative directo-
ries.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 in-
cludes 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  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-com-
mand *Command used to run SliTeX subjob.  SliTeX Mode sets  `tex-
command'  to  this  string.   See the documentation of that vari-
able.Vtex-start-options-string *TeX options to use  when  running
TeX.  These precede the input file name. If nil, TeX runs without
option.  See  the  documentation  of  `tex-command'.Vlatex-block-
names  *User defined LaTeX block names.  Combined with `standard-
latex-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   to
print  a  .dvi  file.  If this string contains an asterisk (`*'),
that is replaced by the file name; otherwise, the file name, pre-
ceded  by  blank,  is added at the end.Vtex-alt-dvi-print-command
*Command used by  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 vari-
able `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   with  a prefix argument to ask you which printer to
use.Vtex-dvi-view-command *Command used by  to display  a  `.dvi'
file.   If  this  string  contains an asterisk (`*'), that is re-
placed by the file name; otherwise, the file  name,  preceded  by
blank, is added at the end.

This can be set conditionally so that the previewer used is suit-
able for the window system being used.  For example,

    (setq tex-dvi-view-command
          (if (eq window-system 'x) "xdvi" "dvi2tty * | cat -s"))

would tell  to use xdvi under X windows and to use dvi2tty other-
wise.Vtex-show-queue-command *Command used by  to show the  print
queue.  Should show the queue(e) that  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  to open a  quo-
tation.Vtex-close-quote  *String  inserted  by typing  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 be-
ginning 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.Fplain-tex-mode Major mode for edit-
ing  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  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.   does  the  whole  buffer.
saves  the  buffer and then processes the file.   prints the .dvi
file made by any of these.   previews the .dvi file made  by  any
of these.   runs bibtex on the file of the current buffer.

Use   to check buffer for paragraphs containing mismatched $'s or
braces.

Special commands: tex-mode-map}

Mode variables: tex-run-command      Command string used by  or .
tex-directory       Directory  in which to create temporary files
for TeX jobs      run by  or .   tex-dvi-print-command       Com-
mand  string  used  by  to print a .dvi file.  tex-alt-dvi-print-
command      Alternative command string used by   (when  given  a
prefix      argument) to print a .dvi file.  tex-dvi-view-command
     Command string used by  to preview a .dvi  file.   tex-show-
queue-command       Command  string  used  by   to show the print
     queue that  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.Flatex-mode Major mode for editing files of input for La-
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  to run LaTeX on the current region, plus the preamble copied
from the top of the file (containing ocumentstyle, etc.), running
LaTeX under a special subshell.   does the whole buffer.    saves
the  buffer  and  then processes the file.   prints the .dvi file
made by any of these.   previews the .dvi file  made  by  any  of
these.   runs bibtex on the file of the current buffer.

Use   to check buffer for paragraphs containing mismatched $'s or
braces.

Special commands: tex-mode-map}

Mode variables: latex-run-command      Command string used by  or
.   tex-directory       Directory  in  which  to create temporary
files for LaTeX jobs      run  by   or  .   tex-dvi-print-command
     Command  string used by  to print a .dvi file.  tex-alt-dvi-
print-command      Alternative command string used by  (when giv-
en  a  prefix      argument) to print a .dvi file.  tex-dvi-view-
command      Command string used by   to  preview  a  .dvi  file.
tex-show-queue-command       Command  string used by  to show the
print      queue that  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 sub-
shell is initiated, `tex-shell-hook'  is  run.Fslitex-mode  Major
mode  for  editing files of input for SliTeX.  Makes $ and } dis-
play 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  to run SliTeX on  the  current  region,  plus  the  preamble
copied  from the top of the file (containing ocumentstyle, etc.),
running SliTeX under a special subshell.   does the whole buffer.
saves  the  buffer and then processes the file.   prints the .dvi
file made by any of these.   previews the .dvi file made  by  any
of these.   runs bibtex on the file of the current buffer.

Use   to check buffer for paragraphs containing mismatched $'s or
braces.

Special commands: tex-mode-map}

Mode variables: slitex-run-command      Command  string  used  by
or  .   tex-directory      Directory in which to create temporary
files for SliTeX jobs      run by   or  .   tex-dvi-print-command
     Command  string used by  to print a .dvi file.  tex-alt-dvi-
print-command      Alternative command string used by  (when giv-
en  a  prefix      argument) to print a .dvi file.  tex-dvi-view-
command      Command string used by   to  preview  a  .dvi  file.
tex-show-queue-command       Command  string used by  to show the
print      queue that  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 final-
ly the hook `slitex-mode-hook'.  When  the  special  subshell  is
initiated,  the  hook  `tex-shell-hook'  is  run.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.Ftexinfo-format-region  Con-
vert 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 .  The text that is converted to Info is
stored in  a  temporary  buffer.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 creat-
ed.  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.Ftex-
info-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  or the `make-
info' 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 , which runs `makeinfo' on  the  current
region.

  You  can show the structure of a Texinfo file with .  This com-
mand 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 , to jump to the corresponding spot in the Tex-
info 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  and later use the command  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-every-node-update
    texinfo-sequential-node-update

    texinfo-make-menu
    texinfo-all-menus-update
    texinfo-master-menu

    texinfo-indent-menu-description (column &optional region-p)

The `texinfo-column-for-description' variable specifies the  col-
umn to which menu descriptions are indented.

Passed an argument (a prefix argument, if interactive), the `tex-
info-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 excep-
tion  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.Ftexinfo-update-node  Without  any
prefix  argument, update the node in which point is located.  In-
teractively, a prefix argument means to operate on the region.

The functions for creating or updating nodes and menus, and their
keybindings, are:

    texinfo-update-node (&optional beginning end)
    texinfo-every-node-update ()
    texinfo-sequential-node-update (&optional region-p)

    texinfo-make-menu (&optional region-p)
    texinfo-all-menus-update ()
    texinfo-master-menu ()

    texinfo-indent-menu-description (column &optional region-p)

The  `texinfo-column-for-description' variable specifies the col-
umn to which menu descriptions are indented. Its default value is
32.Ftexinfo-every-node-update  Update  every  node  in  a Texinfo
file.Ftexinfo-sequential-node-update Update one node (or many) in
a Texinfo file with sequential pointers.

This function causes the `Next' or `Previous' pointer to point to
the immediately preceding or following node, even if it is  at  a
higher  or lower hierarchical level in the document.  Continually
pressing `n' or `p' takes you straight through the file.

Without any prefix argument, update the node in  which  point  is
located.   Non-nil argument (prefix, if interactive) means update
the nodes in the marked region.

This command makes it awkward to navigate among sections and sub-
sections;  it  should  be  used only for those documents that are
meant to be read like a novel rather than a  reference,  and  for
which the Info `g*' command is inadequate.Fsetup-thai-environment
Setup multilingual environment (MULE) for  Thai.Fthai-compose-re-
gion  Compose  Thai characters in the region.  When called from a
program, expects two arguments, positions (integers  or  markers)
specifying  the  region.Fthai-compose-string Compose Thai charac-
ters in STRING and  return  the  resulting  string.Fthai-compose-
buffer  Compose  Thai  characters in the current buffer.Fforward-
thing Move forward to the end of the next THING.Fbounds-of-thing-
at-point  Determine  the  start  and end buffer locations for the
THING at point.  THING is a symbol which specifies  the  kind  of
syntactic  entity  you  want.   Possibilities  include  `symbol',
`list', `sexp', `defun', `filename', `url',  `word',  `sentence',
`whitespace', `line', `page' and others.

See  the file `thingatpt.el' for documentation on how to define a
symbol as a valid THING.

The value is a cons cell (START . END) giving the start  and  end
positions  of  the  textual entity that was found.Fthing-at-point
Return the THING at point.  THING is a symbol which specifies the
kind  of  syntactic entity you want.  Possibilities include `sym-
bol', `list', `sexp', `defun', `filename', `url',  `word',  `sen-
tence', `whitespace', `line', `page' and others.

See  the file `thingatpt.el' for documentation on how to define a
symbol as a valid THING.Ftibetan-tibetan-to-transcription  Return
a transcription string of Tibetan character CHFtibetan-transcrip-
tion-to-tibetan Translate Roman transcription into a sequence  of
Tibetan  components.Ftibetan-char-examin  Check if char CH is Ti-
betan character.  Returns non-nil if CH  is  Tibetan.  Otherwise,
returns  nil.Ftibetan-composable-examin  Check if Tibetan char CH
is composable.  Returns t if CH is a composable char  (i.e.  nei-
ther  punctuation  nor digit).Ftibetan-complete-char-examin Check
if composite char CH contains one or more vowel/vowel  modifiers.
Returns  non-nil,  if CH contains vowel/vowel modifiers.Ftibetan-
vertical-stacking Return a vertically stacked composite char con-
sisting  of  FIRST and SECOND.  If UPWARD is non-nil, then SECOND
is put above FIRST.Ftibetan-compose-string Compose a sequence  of
Tibetan character components into a composite character.  Returns
a string containing  a  composite  character.Ftibetan-composition
Interface  to  quail  input method.  Takes two arguments: char PC
and string KEY, where PC is the preceding character  to  be  com-
posed  with current input KEY.  Returns a string which is the re-
sult of composition.Ftibetan-decompose-region  Decompose  Tibetan
characters  in  the region BEG END into their components.  Compo-
nents are: base and subjoined consonants, vowel signs, vowel mod-
ifiers.   One column punctuations are converted to their 2 column
equivalents.Ftibetan-compose-region Make composite chars from Ti-
betan  character  components  in  the region BEG END.  Two column
punctuations are converted to  their  1  column  equivalents.Fti-
betan-decompose-buffer   Decomposes  Tibetan  characters  in  the
buffer into their components.  See also docstring of the function
tibetan-decompose-region.Ftibetan-compose-buffer Composes Tibetan
character components in the buffer.  See also  docstring  of  the
function  tibetan-compose-region.Vdisplay-time-day-and-date *Non-
nil means  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.Fdisplay-time-mode  Toggle  display of
time, load level, and mail flag in mode lines.   With  a  numeric
arg, enable this display if arg is positive.

When  this  display  is  enabled,  it 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.Ftime-stamp Update the time
stamp string in the buffer.  A template in a file can be automat-
ically updated with a new time stamp  every  time  you  save  the
file.  Add this line to your .emacs file:
    (add-hook  'write-file-hooks  'time-stamp)  Normally the tem-
plate 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: <1998-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-for-
mat'.  The variables `time-stamp-line-limit', `time-stamp-start',
and `time-stamp-end' control  finding  the  template.Ftime-stamp-
toggle-active  Toggle  `time-stamp-active',  setting whether  up-
dates a buffer.  With arg, turn time stamping on if and  only  if
arg  is  positive.Fcancel-timer Remove TIMER from the list of ac-
tive timers.Fcancel-function-timers Cancel all  timers  scheduled
by `run-at-time' which would run FUNCTION.Frun-at-time Perform an
action at time TIME.  Repeat the action every REPEAT seconds,  if
REPEAT  is  non-nil.  TIME should be a string like "11:23pm", nil
meaning now, a number of seconds from now, a value from `current-
time',  or t (with non-nil REPEAT) meaning the next integral mul-
tiple of REPEAT.  REPEAT may be an integer or floating point num-
ber.  The action is to call FUNCTION with arguments ARGS.

This  function  returns a timer object which you can use in `can-
cel-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 `can-
cel-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.  If REPEAT is  non-
nil,  do this each time Emacs is idle for SECS seconds.  SECS may
be an integer or a floating point number.  The action is to  call
FUNCTION with arguments ARGS.

This  function  returns a timer object which you can use in `can-
cel-timer'.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 call should look
like:
 (with-timeout  (SECONDS  TIMEOUT-FORMS...) BODY...)  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 time-
out will not be detected.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.Fbatch-titdic-convert  Run  `titdic-convert'  on
the  files remaining on the command line.  Use this from the com-
mand 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".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.Ftmm-menubar-mouse Text-mode  emula-
tion  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 documenta-
tion for `tmm-prompt'.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 reli-
ably.

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.Ftpu-edt-on Turn on TPU/edt emulation.Ftpu-set-
scroll-margins Set scroll margins.Ftpu-set-cursor-free Allow  the
cursor to move freely about the screen.Ftpu-set-cursor-bound Con-
strain the cursor to the flow of the text.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.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-back-
ground'  instead.Ftrace-function-background  Traces FUNCTION with
trace output going quietly 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 ad-
vice there might be!! Trace output  will  quietly  go  to  BUFFER
without  changing  the window or buffer configuration at all.F2C-
two-columns Split current window vertically for two-column  edit-
ing.   When  called  the first time, associates a buffer with the
current buffer in two-column minor mode (see   ).  Runs  `2C-oth-
er-buffer-hook'  in  the new buffer.  When called again, restores
the screen layout with the current buffer first and the associat-
ed  buffer  to  its  right.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   .)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  preced-
ing characters at that column get split.  The ARG preceding char-
acters 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   with the point here.

(See   .)Vtype-break-mode Toggle typing break mode.  See the doc-
string  for  the  `type-break-mode' command for more information.
Setting this variable directly does not take effect;  use  either
or the function `type-break-mode'.Vtype-break-interval *Number of
seconds between scheduled typing breaks.Vtype-break-good-rest-in-
terval  *Number  of seconds of idle time considered to be an ade-
quate typing rest.

When this variable is non-`nil', emacs checks the idle  time  be-
tween keystrokes.  If this idle time is long enough to be consid-
ered a "good" rest from typing, then the  next  typing  break  is
simply rescheduled for later.

If a break is interrupted before this much time elapses, the user
will be asked whether or not really to interrupt the break.Vtype-
break-keystroke-threshold  *Upper  and  lower  bound on number of
keystrokes for considering typing break.   This  structure  is  a
pair of numbers (MIN . MAX).

The  first  number  is the minimum number of keystrokes that must
have been entered since the last typing break before  considering
another one, even if the scheduled time has elapsed; the break is
simply rescheduled until later if the  minimum  threshold  hasn't
been reached.  If this first value is nil, then there is no mini-
mum threshold; as soon as the scheduled time has elapsed, the us-
er will always be queried.

The second number is the maximum number of keystrokes that can be
entered before a typing break is requested immediately, pre-empt-
ing the originally scheduled break.  If this second value is nil,
then no pre-emptive breaks will occur; only scheduled ones  will.

Keys  with  bucky bits (shift, control, meta, etc) are counted as
only one keystroke even though they really require multiple  keys
to generate them.

The  command  `type-break-guesstimate-keystroke-threshold' can be
used to guess a reasonably good pair of  values  for  this  vari-
able.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 resched-
ule a break or reset the keystroke counter.

If the mode was previously disabled and is enabled  as  a  conse-
quence 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 initial-
izes the keystroke counter.

The variable `type-break-interval' specifies the number  of  sec-
onds  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  typ-
ing break.  Whenever that time has elapsed, typing breaks are au-
tomatically 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  con-
tinue.

The  variable  `type-break-keystroke-threshold' is used to deter-
mine the thresholds at which typing breaks should be  considered.
You can use the command `type-break-guesstimate-keystroke-thresh-
old' to try to approximate good values for this.

There are several variables that affect how or when warning  mes-
sages 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'

Finally, the command `type-break-statistics'  prints  interesting
things.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'.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.Ftype-break-guesstimate-keystroke-threshold
Guess values for the minimum/maximum keystroke threshold for typ-
ing 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.   (Per-
haps  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 assump-
tions about the average length of words  (5).   For  the  minimum
threshold,  it uses about a fifth of the computed maximum thresh-
old.

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.Funderline-
region Underline all nonblank characters in the region.  Works by
overstriking  underscores.   Called from program, takes two argu-
ments START and END which specify the range to operate  on.Funun-
derline-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.Fundigestify-rmail-mes-
sage Break up a digest message  into  its  constituent  messages.
Leaves  original  message, deleted, before the undigestified mes-
sages.Funforward-rmail-message Extract a forwarded  message  from
the  containing  message.  This puts the forwarded message into a
separate rmail message following the  containing  message.Fbatch-
unrmail  Convert Rmail files to system inbox format.  Specify the
input Rmail 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'.Funrmail  Convert Rmail file FILE to system inbox
format file TO-FILE.Fask-user-about-lock Ask user what to do when
he  wants  to edit FILE but it is locked by OPPONENT.  This func-
tion has a choice of three things to do:
  do (signal 'buffer-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.Fask-user-about-supersession-threat Ask a us-
er  who  is  about to modify an obsolete buffer what to do.  This
function has two choices: it can return, in which case the  modi-
fication  of the buffer will proceed, or it can (signal 'file-su-
persession (file)), in which case the proposed  buffer  modifica-
tion 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.Vvc-checkin-hook *Normal hook (list of func-
tions) run after a checkin is done.  See  `run-hooks'.Vvc-before-
checkin-hook  *Normal  hook (list of functions) run before a file
gets checked in.  See  `run-hooks'.Vvc-annotate-mode-hook  *Hooks
to  run  when VC-Annotate mode is turned on.Fwith-vc-file Execute
BODY, checking out a writable copy of FILE  first  if  necessary.
After  BODY  has  been  executed,  check-in  FILE with COMMENT (a
string).  FILE is passed through `expand-file-name'; BODY execut-
ed  within  `save-excursion'.   If FILE is not under version con-
trol, or locked by somebody else, signal error.Fedit-vc-file Edit
FILE  under  version  control, executing BODY.  Checkin with COM-
MENT.  This macro uses `with-vc-file', passing args to it.   How-
ever,  before  executing  BODY,  find  FILE, and after BODY, save
buffer.Fvc-next-action Do the next logical  checkin  or  checkout
operation on the current file.
   If  you  call this from within a VC dired buffer with no files
marked, it will operate on the file in the current line.
   If you call this from within a VC dired  buffer,  and  one  or
more  files are marked, it will accept a log message and then op-
erate on each one.  The log message will be used as a comment for
any register or checkin operations, but ignored when doing check-
outs.  Attempted lock steals will raise an error.
   A prefix argument lets you specify the version number to  use.

For RCS and SCCS files:
   If  the  file is not already registered, this registers it for
version control.
   If the file is registered  and  not  locked  by  anyone,  this
checks out a writable and locked file ready for editing.
   If  the  file  is  checked out and locked by the calling user,
this first checks to see if the file has changed since  checkout.
If not, it performs a revert.
   If  the file has been changed, this pops up a buffer for entry
of a log message; when the message has been entered, it checks in
the  resulting  changes along with the log message as change com-
mentary.  If the variable `vc-keep-workfiles' is  non-nil  (which
is  its default), a read-only copy of the changed file is left in
place afterwards.
   If the file is registered and locked by someone else, you  are
given the option to steal the lock.

For CVS files:
   If  the  file is not already registered, this registers it for
version control.  This does a "cvs add", but no "cvs commit".
   If the file is added but not committed, it is committed.
   If your working file is changed, but the  repository  file  is
unchanged, this pops up a buffer for entry of a log message; when
the message has been entered, it checks in the resulting  changes
along  with the logmessage as change commentary.  A writable file
is retained.
   If the repository file is changed, you are asked if  you  want
to  merge in the changes into your working copy.Fvc-register Reg-
ister the current file into your version-control  system.Fvc-diff
Display  diffs between file versions.  Normally this compares the
current file and buffer with the most recent checked  in  version
of  that  file.  This uses no arguments.  With a prefix argument,
it reads the file name to use and two version designators  speci-
fying  which  versions  to compare.Fvc-version-other-window Visit
version REV of the current buffer in another window.  If the cur-
rent  buffer  is  named  `F', the version is named `F.~REV~'.  If
`F.~REV~' already exists, it is used instead of  being  re-creat-
ed.Fvc-insert-headers  Insert headers in a file for use with your
version-control system.  Headers desired are inserted  at  point,
and  are  pulled from the variable `vc-header-alist'.Fvc-resolve-
conflicts Invoke  ediff  to  resolve  conflicts  in  the  current
buffer.   The  conflicts  must  be  marked with rcsmerge conflict
markers.Fvc-create-snapshot Make a  snapshot  called  NAME.   The
snapshot  is  made from all registered files at or below the cur-
rent directory.  For each file, the version level of  its  latest
version  becomes  part  of  the named configuration.Fvc-retrieve-
snapshot Retrieve the snapshot called NAME, or latest versions if
NAME is empty.  When retrieving a snapshot, there must not be any
locked files at or below the  current  directory.   If  none  are
locked,  all registered files are checked out (unlocked) at their
version levels in the  snapshot  NAME.   If  NAME  is  the  empty
string,  all  registered  files that are not currently locked are
updated to the latest versions.Fvc-print-log List the change  log
of  the  current  buffer in a window.Fvc-revert-buffer Revert the
current buffer's file back to the version it was based on.   This
asks for confirmation if the buffer contents are not identical to
that version.  Note that for RCS and CVS, this function does  not
automatically pick up newer changes found in the master file; use
C-u  RET to do so.Fvc-cancel-version Get  rid  of  most  recently
checked  in version of this file.  A prefix argument means do not
revert the buffer afterwards.Fvc-rename-file Rename file  OLD  to
NEW,  and  rename  its master file likewise.Fvc-update-change-log
Find change log file and add entries from  recent  RCS/CVS  logs.
Normally,  find  log  entries for all registered files in the de-
fault directory using `rcs2log', which finds CVS  logs  preferen-
tially.  The mark is left at the end of the text prepended to the
change log.

With prefix arg of C-u, 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 arguments are assumed to be filenames and are
passed  to the `rcs2log' script after massaging to be relative to
the default directory.Fvc-annotate Display the result of the  CVS
`annotate' command using colors.  New lines are displayed in red,
old in blue.  A prefix argument specifies a factor for stretching
the time scale.

`vc-annotate-menu-elements'  customizes  the menu elements of the
mode-specific  menu.  `vc-annotate-color-map'  and  `vc-annotate-
very-old-color'  defines the mapping of time to colors. `vc-anno-
tate-background' specifies the background color.Fvhdl-mode  Major
mode for editing VHDL code.

Usage: ------

- TEMPLATE INSERTION (electrification):  After typing a VHDL key-
word and
  entering `', you are prompted for arguments while a template is
generated
  for  that VHDL construct.  Typing `' or `' at the first (manda-
tory)
  prompt aborts the current template generation.  Optional  argu-
ments 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 `'.
  Typing  `'  after a keyword inserts a space without calling the
template
  generator.  Automatic template  generation  (i.e.  electrifica-
tion) can be
  disabled (enabled) by typing `' or by setting custom variable
  `vhdl-electric-mode' (see CUSTOMIZATION).
  Enabled electrification is indicated by `/e' in the modeline.
  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 `'.
  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-
electric'
  (see CUSTOMIZATION).

- HEADER INSERTION:  A file header can be inserted by `'.  A
  file  footer  (template at the end of the file) can be inserted
by
  `'.  See customization group `vhdl-header'.

- STUTTERING:  Double striking of some  keys  inserts  cumbersome
VHDL syntax
  elements.  Stuttering can be disabled (enabled) by typing `' or
by
  variable `vhdl-stutter-mode'.  Enabled stuttering is  indicated
by `/s' in
  the modeline.  The stuttering keys and their effects are:
      ;;    -->   " : "         [   -->  (        --    -->  com-
ment
      ;;;  -->  " := "        [[  -->  [        --CR   -->   com-
ment-out code
      ..    -->  " => "        ]   -->  )        ---   -->  hori-
zontal line
      ,,   -->  " <= "        ]]  -->  ]        ----   -->   dis-
play comment
      ==   -->  " == "        ''  -->

-  WORD COMPLETION:  Typing `' 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  `'  toggles through alternative word comple-
tions.
  This also works in the minibuffer (i.e. in  template  generator
prompts).
  Typing  `'  after  `(' looks for and inserts complete parenthe-
sized
  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 `' will toggle through all standard  types  beginning  with
"std").

  Typing `' 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.  `' always inserts a tabulator stop.

- COMMENTS:
      `--'       puts a single comment.
      `---'      draws a horizontal line for separating code seg-
ments.
      `----'     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.
      `'  comments out a region if not commented out,
                 uncomments a region if already commented out.

  You are prompted for comments after  object  definitions  (i.e.
signals,
  variables,  constants,  ports) and after subprogram and process
specifications
  if variable `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'.  `' 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.  `' re-fills
  multi-line comments.

- INDENTATION:  `' indents a line if  at  the  beginning  of  the
line.
  The amount of indentation is specified by variable `vhdl-basic-
offset'.
  `' always indents the current line (is bound to `TAB' if  vari-
able
  `vhdl-intelligent-tab' is nil).  Indentation can be done for an
entire region
  (`') or buffer (menu).  Argument and port  lists  are  indented
normally
  (nil)  or relative to the opening parenthesis (non-nil) accord-
ing to variable
  `vhdl-argument-list-indent'.   If  variable  `vhdl-indent-tabs-
mode' is nil,
  spaces are used instead of tabs.  `' and `' allow
  to convert spaces to tabs and vice versa.

-  ALIGNMENT:  The alignment functions align operators, keywords,
and inline
  comment to beautify argument lists, port maps, etc.  `'  aligns
a group
  of consecutive lines separated by blank lines.  `' aligns an
  entire  region.   If  variable  `vhdl-align-groups' is non-nil,
groups of code
  lines separated by empty lines are  aligned  individually.   `'
aligns
  inline comments for a group of lines, and `' for a region.
  Some  templates  are  automatically aligned after generation if
custom variable
  `vhdl-auto-align' is non-nil.
  `' fixes up whitespace in a region.  That is, operator symbols
  are surrounded by one space, and multiple spaces are  eliminat-
ed.

- PORT TRANSLATION:  Generic and port clauses from entity or com-
ponent
  declarations can be copied (`') and pasted as entity and
  component declarations, as component instantiations and  corre-
sponding
  internal constants and signals, as a generic map with constants
as actual
  parameters, and as a test bench (menu).
  A clause with several generic/port names on the same  line  can
be flattened
  (`') so that only one name per line exists.  Names for actual
  ports, instances, test benches, and design-under-test instances
can be
  derived   from   existing   names   according   to    variables
`vhdl-...-name'.
  Variables `vhdl-testbench-...' allow the insertion of addition-
al templates
  into a test bench.  New files are created for  the  test  bench
entity and
  architecture   according  to  variable  `vhdl-testbench-create-
files'.
  See customization group `vhdl-port'.

- TEST BENCH GENERATION:  See PORT TRANSLATION.

- KEY BINDINGS:  Key bindings (`C-c ...') exist for most commands
(see in
  menu).

- VHDL MENU:  All commands can be invoked from the VHDL menu.

-  FILE BROWSER:  The speedbar allows browsing of directories and
file contents.
  It can be accessed from the  VHDL  menu  and  is  automatically
opened if
  variable `vhdl-speedbar' 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  in  the source files/directories specified for a
project (see
  variable `vhdl-project-alist').
  The speedbar can be switched between file and hierarchy  brows-
ing mode in the
  VHDL menu or by typing `f' and `h' in speedbar.
  In  speedbar,  open design units with `mouse-2' on the name and
browse their
  hierarchy with `mouse-2' on the `+'.  The hierarchy can be res-
canned and
  ports  directly  be  copied from entities by using the speedbar
menu.

- PROJECTS:  Projects can be defined in  variable  `vhdl-project-
alist' and a
  current project be selected using variable `vhdl-project' (per-
manently) or
  from the menu (temporarily).  For each project, a title  string
(for the file
  headers) and source files/directories (for the hierarchy brows-
er) can be
  specified.

- SPECIAL MENUES:  As an alternative to the  speedbar,  an  index
menu can
  be  added  (set  variable `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.  Also, a
source file menu
  can be added (set variable `vhdl-source-file-menu' to  non-nil)
for browsing
  the current directory for VHDL source files.

-  SOURCE FILE COMPILATION:  The syntax of the current buffer can
be analyzed
  by calling a VHDL compiler (menu, `').  The compiler to be used
is
  specified by variable `vhdl-compiler'.  The available compilers
are listed
  in variable `vhdl-compiler-alist' including all required compi-
lation command,
  destination  directory,  and  error message syntax information.
New compilers
  can be added.  Additional compile command options can be set in
variable
  `vhdl-compiler-options'.
  An  entire  hierarchy  of  source  files can be compiled by the
`make' command
  (menu, `').  This only works if an appropriate Makefile exists.
  The  make  command  itself  as  well as a command to generate a
Makefile can also
  be specified in variable `vhdl-compiler-alist'.

- VHDL STANDARDS:  The VHDL standards to be used are specified in
variable
  `vhdl-standard'.   Available  standards are: VHDL'87/'93, VHDL-
AMS,
  Math Packages.

- KEYWORD CASE:  Lower and upper case for keywords and  standard-
ized types,
  attributes,  and enumeration values is supported.  If the vari-
able
  `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 (`') according to the variables
  `vhdl-upper-case-{keywords,types,attributes,enum-values}'.

- HIGHLIGHTING (fontification):  Keywords and standardized types,
attributes,
  enumeration values, and function names (controlled by variable
  `vhdl-highlight-keywords'),  as  well as comments, strings, and
template
  prompts are highlighted using different colors.  Unit,  subpro-
gram, signal,
  variable,  constant, parameter and generic/port names in decla-
rations as well
  as labels are highlighted if variable `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  variable  `vhdl-forbid-
den-words' or
  `vhdl-forbidden-syntax'  and  be highlighted in a warning color
(variable
  `vhdl-highlight-forbidden-words').  Verilog keywords are  high-
lighted as
  forbidden  words  if variable `vhdl-highlight-verilog-keywords'
is non-nil.

  Words with special syntax  can  be  highlighted  by  specifying
their syntax and
  color  in  variable  `vhdl-special-syntax-alist' and by setting
variable
  `vhdl-highlight-special-words' to non-nil.  This allows to  es-
tablish some
  naming conventions (e.g. to distinguish different kinds of sig-
nals or other
  objects by using name suffices) and to support them visually.

  Variable `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 variable `vhdl-highlight-
translate-off'
  is non-nil.

  All colors can be customized by command `'.
  For highlighting of  matching  parenthesis,  see  customization
group
  `paren-showing' (`').

-  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 custom variable `vhdl-model-alist'.

-  HIDE/SHOW:  The code of entire VHDL design units can be hidden
using the
  `Hide/Show' menu or by pressing  `S-mouse-2'  within  the  code
(variable
  `vhdl-hideshow-menu').

-  PRINTING:   Postscript printing with different faces (an opti-
mized 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 stan-
dard Emacs
  postscript printing commands.  Variable `vhdl-print-two-column'
defines
  appropriate  default  settings  for  nice  landscape two-column
printing.  The
  paper format can be set by variable  `ps-paper-type'.   Do  not
forget to
  switch  `ps-print-color-p'  to  nil  for printing on black-and-
white printers.

- CUSTOMIZATION:  All variables can easily  be  customized  using
the `Customize'
  menu entry or `' (`' for groups).
  Some  customizations  only  take effect after some action (read
the NOTE in
  the variable documentation).  Customization can  also  be  done
globally (i.e.
  site-wide, read the INSTALL file).

-  FILE EXTENSIONS:  As default, files with extensions ".vhd" and
".vhdl" are
  automatically recognized as VHDL source files.  To add  an  ex-
tension ".xxx",
  add the following line to your Emacs start-up file (`.emacs'):
    (setq  auto-mode-alist  (cons  '("\.xxx\'" . vhdl-mode) auto-
mode-alist))

- HINTS:
  - Type ` ' to interrupt long operations or if Emacs hangs.


Maintenance: ------------

To submit a bug report, enter `' within VHDL  Mode.   Add  a  de-
scription of the problem and include a reproducible test case.

Questions   and  enhancement  requests  can  be  sent  to  <vhdl-
mode@geocities.com>.

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 <vhdl-mode@geocities.com>.

VHDL Mode is officially distributed on the Emacs VHDL  Mode  Home
Page  <http://www.geocities.com/SiliconValley/Peaks/8287>,  where
the latest version and release notes can be found.


Bugs and Limitations: ---------------------

- Re-indenting large regions or expressions can be slow.   -  In-
dentation bug in simultaneous if- and case-statements (VHDL-AMS).
- Hideshow does not work under XEmacs.  -  Index  menu  and  file
tagging in speedbar do not work under XEmacs.  - Parsing compila-
tion error messages for Ikos and Viewlogic VHDL compilers
  does not work under XEmacs.


                                                  The  VHDL  Mode
Maintainers
                                                Reto   Zimmermann
and Rod Whitby

Key bindings: -------------

vhdl-mode-map}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 com-
mand 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 inser-
tion), 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 re-
draw 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-lo-
cate-def',
    `vi-mark-region', and 'vi-quote-words'.   Some  of  them  are
quite handy.
  - Use  to switch among different modes quickly.

Syntax  table and abbrevs while in vi mode remain as they were in
Emacs.Fviet-encode-viscii-char Return VISCII  character  code  of
CHAR if appropriate.Fsetup-vietnamese-environment Setup multilin-
gual environment (MULE) for Vietnamese VISCII users.Fviet-decode-
viqr-region  Convert  `VIQR'  mnemonics  of the current region to
Vietnamese characaters.  When called from a program, expects  two
arguments, positions (integers or markers) specifying the stretch
of the region.Fviet-decode-viqr-buffer Convert  `VIQR'  mnemonics
of  the  current  buffer  to Vietnamese characaters.Fviet-encode-
viqr-region Convert Vietnamese characaters of the current  region
to `VIQR' mnemonics.  When called from a program, expects two ar-
guments, positions (integers or markers) specifying  the  stretch
of  the region.Fviet-encode-viqr-buffer Convert Vietnamese chara-
caters of the current buffer to `VIQR' mnemonics.Vview-mode  Non-
nil  if View mode is enabled.  Don't change this variable direct-
ly, you must change it by one of the  functions  that  enable  or
disable view mode.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
list of all View commands, type H or h while viewing.

This command runs the  normal  hook  `view-mode-hook'.Fview-file-
other-window  View  FILE  in View mode in another window.  Return
that window to its 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 list of all View commands,  type  H  or  h
while viewing.

This  command  runs  the normal hook `view-mode-hook'.Fview-file-
other-frame View FILE in  View  mode  in  another  frame.   Maybe
delete  other  frame  and/or return to previous buffer when done.
Emacs commands editing the buffer contents are not available; in-
stead, a special set of commands (mostly letters and punctuation)
are defined for moving around in the buffer.  Space scrolls  for-
ward,  Delete  scrolls  backward.  For list of all View commands,
type H or h while viewing.

This command runs the normal  hook  `view-mode-hook'.Fview-buffer
View BUFFER in View mode, returning to previous buffer when done.
Emacs commands editing the buffer contents are not available; in-
stead, a special set of commands (mostly letters and punctuation)
are defined for moving around in the buffer.  Space scrolls  for-
ward,  Delete  scrolls  backward.  For 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 view-
ing buffer.  Use this  argument  instead  of  explicitly  setting
`view-exit-action'.Fview-buffer-other-window  View BUFFER in View
mode in another window.  Return to previous buffer when done, un-
less  optional NOT-RETURN is non-nil.  Emacs commands editing the
buffer contents are not available; instead, a special set of com-
mands  (mostly  letters  and  punctuation) are defined for moving
around in the buffer.   Space  scrolls  forward,  Delete  scrolls
backward.  For list of all View commands, type H or h while view-
ing.

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 view-
ing buffer.  Use this  argument  instead  of  explicitly  setting
`view-exit-action'.Fview-buffer-other-frame  View  BUFFER in View
mode in another frame.  Return to previous buffer when done,  un-
less  optional NOT-RETURN is non-nil.  Emacs commands editing the
buffer contents are not available; instead, a special set of com-
mands  (mostly  letters  and  punctuation) are defined for moving
around in the buffer.   Space  scrolls  forward,  Delete  scrolls
backward.  For list of all View commands, type H or h while view-
ing.

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 view-
ing buffer.  Use this  argument  instead  of  explicitly  setting
`view-exit-action'.Fview-mode  Toggle View mode, a minor mode for
viewing text but not editing it.  With arg, turn View mode on iff
arg is positive.

Emacs  commands that do not change the buffer contents are avail-
able as usual.  Kill commands insert text in kill buffers but  do
not delete.  Other commands (among them most letters and punctua-
tion) beep and tell that the buffer  is  read-only.   <view-mode-
map>  The  following additional commands are provided.  Most com-
mands take prefix arguments.   Page  commands  default  to  "page
size"  lines  which  is  almost a whole window full, or number of
lines set by  or .  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  prefix  argument.        move  to the beginning of
buffer.  >    move to the end of  buffer.        scroll  so  that
buffer end is at last line of window.  SPC  scroll forward prefix
(default "page size") lines.  DEL  scroll  backward  prefix  (de-
fault  "page size") lines.       like    except prefix sets "page
size".       like    except prefix sets "page size".       scroll
forward  (and if prefix set) "half page size" lines.       scroll
backward (and if prefix set) "half page size"  lines.   RET,  LFD
scroll  forward  prefix (default one) line(e).  y    scroll back-
ward prefix (default one) line(e).       revert-buffer if  neces-
sary  and  scroll  forward.           Use this to view a changing
file.       prints the current line number.       goes prefix ar-
gument (default 100) percent into buffer.       goes to line giv-
en by prefix argument (default first line).  x    exchanges point
and  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.       save current position in character register.   s    do
forward  incremental search.  r    do reverse incremental search.
     searches forward for regular expression, starting after cur-
rent  page.          ! and @ have a special meaning at the begin-
ning 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 regu-
lar expression, starting before current page.       searches for-
ward for last regular  expression.   p    searches  backward  for
last  regular expression.       quit View mode, trying to restore
window and buffer to previous state.          is the  normal  way
to  leave  view  mode.        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.       exit View mode and make
the current buffer editable.       quit View mode, trying to  re-
store  windows and buffer to previous state.       quit View mode
and maybe switch buffers, but don't kill this buffer.        quit
View mode, kill current buffer and go back to other buffer.

The  effect of  ,  and  depends on how view-mode was entered.  If
it was entered by view-file, view-file-other-window or view-file-
other-frame (, ,  or the dired mode v command), then  will try to
kill the current buffer.  If view-mode was entered  from  another
buffer as is done by View-buffer, View-buffer-other-window, View-
buffer-other frame, View-file,  View-file-other-window  or  View-
file-other-frame then  ,  and  will return to that buffer.

Entry  to  view-mode runs the normal hook `view-mode-hook'.Fview-
mode-enter Enter View mode and set up exit from view mode depend-
ing  on  optional arguments.  If RETURN-TO is non-nil it is added
as an element to the buffer local  alist  `view-return-to-alist'.
Save EXIT-ACTION in buffer local variable `view-exit-action'.  It
should be either nil or a function that takes a buffer  as  argu-
ment.  This function will be called by `view-mode-exit'.

RETURN-TO  is  either  nil,  meaning do nothing when exiting view
mode, or it has the format (WINDOW  OLD-WINDOW  .  OLD-BUF-INFO).
WINDOW  is  a  window used for viewing.  OLD-WINDOW is nil or the
window to select after viewing.  OLD-BUF-INFO tells  what  to  do
with WINDOW when exiting.  It is one of: 1) nil       Do nothing.
2) t         Delete WINDOW or, if it  is  the  only  window,  its
frame.   3)  (OLD-BUFF START POINT)  Display buffer OLD-BUFF with
displayed text
                           starting at START and point  at  POINT
in WINDOW.  4) quit-window   Do quit-window in WINDOW.

For list of all View commands, type H or h while viewing.

This  function  runs the normal hook `view-mode-hook'.FView-exit-
and-edit  Exit  View  mode  and  make  the  current  buffer   ed-
itable.Fvip-mode  Turn  on VIP emulation of VI.Ftoggle-viper-mode
Toggle Viper on/off.  If Viper is enabled, turn  it  off.  Other-
wise,  turn it on.Fviper-mode Turn on Viper emulation of Vi.Fweb-
jump 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>.Vwhich-func-mode-global *Toggle `which-
func-mode'  globally.   Setting  this  variable directly does not
take  effect;  use   either    or   the   function   `which-func-
mode'.Fwhich-func-mode  Toggle  Which  Function  mode,  globally.
When Which Function mode is enabled, the current function name is
continuously  displayed in the mode line, in certain major modes.

With prefix arg, turn Which Function mode on iff arg is positive,
and  off  otherwise.Fwidget-browse-at  Browse  the  widget  under
point.Fwidget-browse Create a widget browser for  WIDGET.Fwidget-
browse-other-window  Show widget browser for WIDGET in other win-
dow.Fwidget-minor-mode Togle minor mode for  traversing  widgets.
With  arg,  turn  widget  mode  on  if  and  only if arg is posi-
tive.Fwidget-prompt-value Prompt for a value matching WIDGET, us-
ing PROMPT.  The current value is assumed to be VALUE, unless UN-
BOUND is non-nil.Fwidget-create Create widget of TYPE.   The  op-
tional   ARGS  are  additional  keyword  arguments.Fwidget-delete
Delete  WIDGET.Vwinner-mode  Toggle  winner-mode.   Setting  this
variable  directly does not take effect; use either  or the func-
tion `winner-mode'.Fwinner-mode Toggle Winner  mode.   With  arg,
turn Winner mode on if and only if arg is positive.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 direc-
tion

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-horizontally
  C-o wo  other-window
  C-o wv  split-window-vertically

  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 Fxterm-mouse-mode Toggle XTerm mouse mode.
With prefix arg, turn XTerm mouse mode on iff arg is positive.

Turn it on to use emacs mouse commands,  and  off  to  use  xterm
mouse  commands.Fyow  Return or display a random Zippy quotation.
With prefix arg, insert it.Finsert-zippyism Prompt  with  comple-
tion  for  a known Zippy quotation, and insert it at point.Fapro-
pos-zippy Return a list of all Zippy quotes matching REGEXP.   If
called  interactively,  display a list of matches.Fpsychoanalyze-
pinhead Zippy goes to  the  analyst.Fzone-mode-update-serial-hook
Update  the  serial number in a zone if the file was modifiedVmi-
nor-mode-alist Alist saying how to show minor modes in  the  mode
line.   Each  element looks like (VARIABLE STRING); STRING is in-
cluded in the mode line iff VARIABLE's value is non-nil.

Actually, STRING need not be a string; any possible mode-line el-
ement is okay.  See `mode-line-format'.Fmap-y-or-n-p Ask a series
of boolean questions.  Takes args PROMPTER ACTOR  LIST,  and  op-
tional args HELP and ACTION-ALIST.

LIST  is  a list of objects, or a function of no arguments to re-
turn 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 ask-
ing 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 OB-
JECT is a string giving the singular noun for an elt of LIST; OB-
JECTS is the plural noun for elts of LIST, and ACTION is a  tran-
sitive 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 follow-
ing objects; ESC or q to exit (skip  all  following  objects);  .
(period)  to  act on the current object and then exit; or  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 repeat-
ed 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 re-
sponses, but not all of the responses which  `query-replace'  un-
derstands are meaningful here.

Returns  the number of actions taken.Vmule-version Version number
and  name  of  this  version  of  MULE   (multilingual   environ-
ment).Vmule-version-date  Distribution  date  of  this version of
MULE (multilingual  environment).Fload-with-code-conversion  Exe-
cute  a file of Lisp code named FILE whose absolute name is FULL-
NAME.  The file contents are decoded before evaluation if  neces-
sary.  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.  Return t if  file  ex-
ists.Fcharsetp  T  if  OBJECT is a charset.Fcharset-info Return a
vector of information of CHARSET.  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 (integer) is  the
identification  number  of  the  charset.  BYTES (integer) is the
length of multi-byte form of a character in
  the charset: one of 1, 2, 3, and 4.  DIMENSION (integer) is the
number  of bytes to represent a character of the charset: 1 or 2.
CHARS (integer) is the number of characters in a dimension: 94 or
96.   WIDTH (integer) is the number of columns a character in the
charset
  occupies on the screen: one of 0, 1, and 2.   DIRECTION  (inte-
ger) is the rendering direction of characters in the
  charset when rendering.  If 0, render from left to right, else
  render  from right to left.  LEADING-CODE-BASE (integer) is the
base leading-code for the
  charset.  LEADING-CODE-EXT (integer) is the  extended  leading-
code for the
  charset.  All charsets of less than 0xA0 has the value 0.  ISO-
FINAL-CHAR (character) is the final character of the
  corresponding ISO 2022 charset.  ISO-GRAPHIC-PLANE (integer) is
the graphic plane to be invoked
  while  encoding  to  variants of ISO 2022 coding system, one of
the
  following: 0/graphic-plane-left(t), 1/graphic-plane-right(t).
REVERSE-CHARSET (integer) is the charset which differs only in
  LEFT-TO-RIGHT value from the charset.  If there's no such a
  charset,  the  value  is  -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 descrip-
tion 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 Return charset
identification number of CHARSET.Fcharset-bytes Return  bytes  of
CHARSET.    See   the   function   `charset-info'  for  more  de-
tail.Fcharset-dimension Return dimension  of  CHARSET.   See  the
function  `charset-info'  for  more  detail.Fcharset-chars Return
character numbers contained in a dimension of CHARSET.   See  the
function  `charset-info'  for  more  detail.Fcharset-width Return
width (how many column occupied on a screen) of CHARSET.  See the
function `charset-info' for more detail.Fcharset-direction Return
direction of CHARSET.  See the function `charset-info'  for  more
detail.Fcharset-iso-final-char Return final char of CHARSET.  See
the function `charset-info' for more detail.Fcharset-iso-graphic-
plane   Return  graphic  plane  of  CHARSET.   See  the  function
`charset-info' for  more  detail.Fcharset-reverse-charset  Return
reverse  charset of CHARSET.  See the function `charset-info' for
more detail.Fcharset-short-name Return  short  name  of  CHARSET.
See  the  function  `charset-info' for more detail.Fcharset-long-
name Return long name of CHARSET.  See the function  `charset-in-
fo'  for  more  detail.Fcharset-description Return description of
CHARSET.   See  the  function   `charset-info'   for   more   de-
tail.Fcharset-plist Return list charset property of CHARSET.  See
the function `charset-info'  for  more  detail.Fset-charset-plist
Set CHARSET's property list to PLIST, and return PLIST.Fmake-char
Return a character of CHARSET and position codes CODE1 and CODE2.
CODE1  and CODE2 are optional, but if you don't supply sufficient
position codes, return a generic character which stands  for  all
characters or group of characters in the character set.  A gener-
ic character can be used to index  a  char  table  (e.g.  syntax-
table).Fcharset-list Return list of charsets ever defined.

This  function  is  provided  for backward compatibility.  Now we
have the variable `charset-list'.Fgeneric-char-p Return t if  and
only  if CHAR is a generic character.  See also the documentation
of make-char.Fcoding-system-type Return the coding type  of  COD-
ING-SYSTEM.  A coding type is an integer value indicating the en-
coding method of CODING-SYSTEM.  See the  function  `make-coding-
system'   for   more  detail.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 the arg is nil, return ?-.Fcoding-system-doc-string Return the
documentation  string  for CODING-SYSTEM.Fcoding-system-plist Re-
turn the property list of CODING-SYSTEM.Fcoding-system-flags  Re-
turn `flags' of CODING-SYSTEM.  A `flags' of a coding system is a
vector of length 32 indicating detailed information of  a  coding
system.   See  the  function  `make-coding-system'  for  more de-
tail.Fcoding-system-get  Extract  a  value  from  CODING-SYSTEM's
property  list  for property PROP.Fcoding-system-put Change value
in CODING-SYSTEM's property list PROP to VAL.Fcoding-system-cate-
gory  Return the coding category of CODING-SYSTEM.Fcoding-system-
base Return the base coding system of CODING-SYSTEM.  A base cod-
ing  system  is what made by `make-coding-system'.  Any alias nor
subsidiary coding systems are not base coding system.Fcoding-sys-
tem-eol-type  Return  eol-type  of CODING-SYSTEM.  An eol-type is
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  sub-
sidiary coding system whose eol-type is N.Fcoding-system-list Re-
turn a list of all existing  coding  systems.   If  optional  arg
BASE-ONLY  is non-nil, only base coding systems are listed.Fmake-
coding-system Define a new coding system CODING-SYSTEM  (symbol).
Remaining  arguments  are  TYPE, MNEMONIC, DOC-STRING, FLAGS (op-
tional), and PROPERTIES (optional) which construct a  coding-spec
of  CODING-SYSTEM  in  the  following format:      [TYPE MNEMONIC
DOC-STRING PLIST FLAGS]

TYPE is an integer value indicating the type of the coding system
as follows:
  0: Emacs internal format,
  1: Shift-JIS (or MS-Kanji) used mainly on Japanese PC,
  2: ISO-2022 including many variants,
  3: Big5 used mainly on Chinese PC,
  4: private, CCL programs provide encoding/decoding algorithm,
  5: Raw-text, which means that text contains random 8-bit codes.

MNEMONIC is a character to be displayed on mode line for the cod-
ing system.

DOC-STRING is a documentation string for the coding system.

FLAGS specifies more detailed information of the coding system as
follows:

  If TYPE is 2 (ISO-2022), FLAGS is a list of these elements:
      CHARSET0, CHARSET1, CHARSET2, CHARSET3, SHORT-FORM,
      ASCII-EOL, ASCII-CNTL, SEVEN, LOCKING-SHIFT, SINGLE-SHIFT,
      USE-ROMAN, USE-OLDJIS, NO-ISO6429,  INIT-BOL,  DESIGNATION-
BOL,
      SAFE, ACCEPT-LATIN-EXTRA-CODE.
    CHARSETn are character sets initially designated to Gn graph-
ic registers.
      If CHARSETn is nil, Gn is never used.
      If CHARSETn is t, Gn can be  used  but  nothing  designated
initially.
      If  CHARSETn  is  a list of character sets, those character
sets are
        designated to Gn on output, but nothing designated to  Gn
initially.
        But,  character set `ascii' can be designated only to G0.
    SHORT-FORM non-nil means use short  designation  sequence  on
output.
    ASCII-EOL  non-nil means designate ASCII to g0 at end of line
on output.
    ASCII-CNTL non-nil means designate ASCII to g0 before control
codes and
      SPACE on output.
    SEVEN non-nil means use 7-bit code only on output.
    LOCKING-SHIFT non-nil means use locking-shift.
    SINGLE-SHIFT non-nil means use single-shift.
    USE-ROMAN  non-nil means designate JIS0201-1976-Roman instead
of ASCII.
    USE-OLDJIS non-nil means designate  JIS0208-1976  instead  of
JIS0208-1983.
    NO-ISO6429 non-nil means not use ISO6429's direction specifi-
cation.
    INIT-BOL non-nil means any designation state is assumed to be
reset
      to initial at each beginning of line on output.
    DESIGNATION-BOL non-nil means designation sequences should be
placed
      at beginning of line on output.
    SAFE non-nil means convert unsafe characters to `?'  on  out-
put.
      Unsafe characters are what not specified in SAFE-CHARSET.
    ACCEPT-LATIN-EXTRA-CODE  non-nil means code-detection routine
accepts
      a code specified in `latin-extra-code-table' (which see) as
a valid
      code of the coding system.

  If TYPE is 4 (private), FLAGS should be a cons of CCL programs,
for
    decoding and encoding.  CCL programs should be  specified  by
their
    symbols.

PROPERTIES is an alist of properties vs the corresponding values.
These properties are set in PLIST, a property list.   This  func-
tion  also  sets  properties `coding-category' and `alias-coding-
systems' automatically.

Kludgy features for backward compatibility:

1. If TYPE is 4 and car or cdr of FLAGS is a vector,  the  vector
is treated as a compiled CCL code.

2.  If  PROPERTIES  is just a list of character sets, the list is
set as a value of `safe-charsets' in PLIST.Fdefine-coding-system-
alias  Define  ALIAS  as  an  alias for coding system CODING-SYS-
TEM.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 .

If  the buffer's previous file coding-system value specifies end-
of-line conversion, and CODING-SYSTEM does not specify one,  COD-
ING-SYSTEM  is merged with the already-specified end-of-line con-
version.  However, if the optional prefix argument FORCE is  non-
nil,  then  CODING-SYSTEM  is used exactly as specified.Vdefault-
terminal-coding-system Default value for the terminal coding sys-
tem.  This is normally set according to the selected language en-
vironment.   See  also  the   command   `set-terminal-coding-sys-
tem'.Fset-terminal-coding-system Set coding system of your termi-
nal to CODING-SYSTEM.  All text output to the  terminal  will  be
encoded with the specified coding system.  For a list of possible
values of CODING-SYSTEM, use .  The default is determined by  the
selected language environment or by the previous use of this com-
mand.Vdefault-keyboard-coding-system Default value  of  the  key-
board  coding  system.  This is normally set according to the se-
lected language environment.  See also the command `set-keyboard-
coding-system'.Fset-keyboard-coding-system  Set coding system for
keyboard input to CODING-SYSTEM.  In addition, this  command  en-
ables Encoded-kbd minor mode.  (If CODING-SYSTEM is nil, Encoded-
kbd mode is turned off.)  For a list of possible values  of  COD-
ING-SYSTEM, use .  The default is determined by the selected lan-
guage environment or by the previous use  of  this  command.Fset-
buffer-process-coding-system  Set  coding systems for the process
associated with the current buffer.  DECODING is the coding  sys-
tem  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 values of CODING-SYSTEM, use  .Fset-selec-
tion-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 COD-
ING-SYSTEM.Fset-next-selection-coding-system  Make  CODING-SYSTEM
used  for the next communication with other X clients.  This set-
ting is effective for the  next  communication  only.Fset-coding-
priority  Set  priority  of  coding categories according to LIST.
LIST is a list of coding categories  ordered  by  priority.Vauto-
coding-alist  Alist  of filename patterns vs corresponding coding
systems.  Each element looks like (REGEXP  .  CODING-SYSTEM).   A
file  whose  name  matches  REGEXP is decoded by CODING-SYSTEM on
reading.

The settings in this alist take priority over `coding:'  tags  in
the file (see the function `set-auto-coding') and the contents of
`file-coding-system-alist'.Vset-auto-coding-for-load      Non-nil
means  look for `load-coding' property instead of `coding'.  This
is used for loading and byte-compiling  Emacs  Lisp  files.Fauto-
coding-alist-lookup  Return the coding system specified by `auto-
coding-alist' for FILENAME.Fset-auto-coding Return 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.

It  checks FILENAME against the variable `auto-coding-alist'.  If
FILENAME doesn't match any entries in the variable, it checks for
a  `coding:'  tag  in the first one or two lines following point.
If no `coding:' tag is found, it checks for local variables  list
in the last 3K bytes out of the SIZE bytes.

The  return value is the specified coding system, or nil if noth-
ing specified.

The variable `set-auto-coding-function' (which  see)  is  set  to
this  function by default.Ffind-new-buffer-file-coding-system Re-
turn a coding system for a buffer when a file of  CODING  is  in-
serted.   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-cod-
ing-system-alist Modify one of look up tables for finding a  cod-
ing  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 opera-
tion.  The target is a file name if TARGET-TYPE is `file', a pro-
gram  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) specify-
ing the coding systems for decoding and encoding respectively, or
a  function  symbol  which,  when  called,  returns  such  a cons
cell.Fmake-translation-table  Make  a  translation  table   (char
table) from arguments.  Each argument is a list of the form (FROM
. TO), where FROM is a character to be translated to TO.

FROM can be a generic character (see `make-char').  In this case,
TO  is  a generic character containing the same number of charac-
ters, or a ordinary character.  If FROM and TO are  both  generic
characters,  all  characters  belonging to FROM are translated to
characters  belonging  to  TO  without  changing  their  position
code(e).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.  See also the vari-
able  `nonascii-translation-table'.Fdefine-translation-table  De-
fine SYMBOL as a name of translation table made by ARGS.

If  the first element of ARGS is a char-table of which purpose is
translation-table, just define SYMBOL as the name of it.

In the other case, ARGS are the same as arguments to the function
`make-translation-table' (which see).

This  function  sets properties `translation-table' and `transla-
tion-table-id' of SYMBOL to the created table itself and  identi-
fication number of the table respectively.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-SYS-
TEM 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.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  char-
acters that the current buffer contains.

We  suggest you avoid using use 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 list  up
many  languages  and characters.Funiversal-coding-system-argument
Execute an I/O command using the specified coding system.Fset-de-
fault-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.
  o default value for  the  command  `set-terminal-coding-system'
(not on MSDOS)
  o  default  value  for  the  command  `set-keyboard-coding-sys-
tem'.Fprefer-coding-system Add CODING-SYSTEM at the front of  the
priority  list  for automatic detection.  This also sets the fol-
lowing 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'
(not on MSDOS)
  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.

This command does not change the default value of terminal coding
system for MS-DOS terminal, because DOS terminals only support  a
single coding system, and Emacs automatically sets the default to
that coding system at startup.Ffind-coding-systems-region-subset-
p  Return non-nil if all elements in LIST1 are included in LIST2.
Comparison done with EQ.Ffind-coding-systems-region Return a list
of  proper  coding  systems to encode a text between FROM and TO.
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 sys-
tems 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  Re-
turn  a  list  of  proper  coding systems to encode characters of
CHARSETS.  CHARSETS is a list of character  sets.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 for-
mat:
  ((CHARSET COUNT CHAR ...) ...)  where
  CHARSET is a character set,
  COUNT is a number of characters,
  CHARs are found characters of the character set.  Optional  3rd
arg  MAXCOUNT  limits  how  many CHARs are put in the above list.
Optional 4th arg EXCLUDE is a list of character sets  to  be  ig-
nored.

For  invalid characters, CHARs are actually strings.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 af-
terward this variable will be non-nil only if the  user  was  ex-
plicitly asked and specified a coding system.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.

Optional arg DEFAULT-CODING-SYSTEM specifies a coding  system  to
be  checked  at  first.  If omitted, buffer-file-coding-system of
the current buffer is used.

If the text can be encoded safely by DEFAULT-CODING-SYSTEM, it is
returned without any user interaction.

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-buffer-file-coding-system'
  (4) value of `default-sendmail-coding-system' If the found cod-
ing 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.   Meaning-
ful 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 used by this
               language environment.
  sample-text           value    is    one    line    of    text,
               written    using     those     character     sets,
               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  en-
vironment.                 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 pri-
ority.                 This is used to set up the  coding  system
priority                list when you switch to this language en-
vironment.
  nonascii-translation                  value  is  a  translation
table to be set in the                variable `nonascii-transla-
tion-table' in this                 language  environment,  or  a
character  set from                which `nonascii-insert-offset'
is calculated.
  input-method       value is a default  input  method  for  this
language                environment.
  features            value  is  a  list of features requested in
this                language environment.

The following keys take effect only when multibyte characters are
globally  disabled,  i.e. the value of `default-enable-multibyte-
characters' is nil.

  unibyte-syntax     value is a  library  name  to  load  to  set
               unibyte   8-bit   character   syntaxes   for  this
               language environment.

  unibyte-display    value is a coding system to  encode  charac-
ters                 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-al-
ist'.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 `lan-
guage-info-alist'.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 `set-language-
info' 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 Euro-
pean 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 re-
turns a language environment name  as  a  string.Vleim-list-file-
name  Name  of  LEIM list file.  This file contains a list of li-
braries of Emacs input methods (LEIM) in the format of  Lisp  ex-
pression  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.Vdefault-input-method
*Default input method for multilingual text (a string).  This  is
the  input method activated automatically by the command `toggle-
input-method' ().Vinput-method-history History list for some com-
mands  that  read input methods.Vinactivate-current-input-method-
function Function to call  for  inactivating  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  `inactivate-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 mean-
ings of the elements.Fregister-input-method Register INPUT-METHOD
as  an  input  method for language environment ENV.  INPUT-METHOD
and LANG-ENV are symbols or strings.

The remaining arguments are:      ACTIVATE-FUNC, TITLE,  DESCRIP-
TION,  and  ARGS...  ACTIVATE-FUNC is a function to call to acti-
vate 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  building  time of emacs, registering all quail input
methods contained in the emacs distribution.

In case you want to register a new quail input  method  by  your-
self,  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 prece-
dence).

The  commands  `describe-input-method'  and  `list-input-methods'
need  this duplicated values to show some information about input
methods without loading the affected quail  packages.Fread-input-
method-name Read a name of input method from a minibuffer prompt-
ing 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 in-
put  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.Finactivate-
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.Ftoggle-input-method  Turn  on or off a multilingual text
input method for the current buffer.

With no prefix argument, if an input method is currently activat-
ed,  turn it off.  Otherwise, activate an input method -- the one
most recently used,  or  the  one  specified  in  `default-input-
method', or the one read from the minibuffer.

With  a prefix argument, read an input method from the minibuffer
and turn it on.

The default is to use the most recent input method specified (not
including  the  currently active input method, if any).Fdescribe-
input-method Describe  input  method  INPUT-METHOD.Fdescribe-cur-
rent-input-method   Describe   the   input  method  currently  in
use.Fread-multilingual-string Read  a  multilingual  string  from
minibuffer,  prompting  with string PROMPT.  The input method se-
lected last time is activated in minibuffer.  If optional  second
arg  INITIAL-INPUT  is  non-nil, insert it in the minibuffer ini-
tially.  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-verbose-flag  *A  flag  to
control  extra guidance given by input methods.  The value should
be nil, t, `complex-only', or `default'.

The extra guidance is done by showing list of available  keys  in
echo  area.  When you use the input method in the minibuffer, the
guidance is shown at the bottom short window (split from the  ex-
isting window).

If  the  value is t, extra guidance is always given, if the value
is nil, extra guidance is always suppressed.

If the value is `complex-only', only complex input  methods  such
as `chinese-py' and `japanese' give extra guidance.

If  the value is `default', complex input methods always give ex-
tra guidance, but simple input methods give it only when you  are
not in the minibuffer.

See   also   the  variable  `input-method-highlight-flag'.Vinput-
method-highlight-flag *If this flag  is  non-nil,  input  methods
highlight partially-entered text.  For instance, while you are in
the middle of a Quail input method sequence, the text inserted so
far  is  temporarily  underlined.  The underlining goes away when
you finish or abort the input  method  sequence.   See  also  the
variable  `input-method-verbose-flag'.Vinput-method-activate-hook
Normal hook run just after an input method is activated.

The variable `current-input-method' keeps the input  method  name
just activated.Vinput-method-inactivate-hook Normal hook run just
after an input method is inactivated.

The variable `current-input-method' still keeps the input  method
name  just inactivated.Vinput-method-after-insert-chunk-hook Nor-
mal hook run just after an input  method  insert  some  chunk  of
text.Vinput-method-exit-on-first-char This flag controls a timing
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, it  this  flag  is
non-nil,  the input method returns as soon as the current key se-
quence 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 corre-
sponding to the sequence, at point in the current  buffer.   But,
if  this  flag  is  non-nil,  it  displays  them in echo area in-
stead.Vinput-method-exit-on-invalid-key This  flag  controls  the
behaviour 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-en-
abled.   But,  if this flag is non-nil, the input method is never
back on.Vset-language-environment-hook Normal hook run after some
language environment is set.

When  you set some hook function here, that effect usually should
not be inherited to another language environment.   So,  you  had
better  set  another function in `exit-language-environment-hook'
(which see) to cancel the  effect.Vexit-language-environment-hook
Normal  hook  run  after  exiting from some language environment.
When this hook is run,  the  variable  `current-language-environ-
ment' is still bound to the language environment being exited.

This  hook  is  mainly used for canceling the effect of `set-lan-
guage-environment-hook' (which-see).Fsetup-specified-language-en-
vironment  Switch  to  a specified language environment.Vcurrent-
language-environment The last language environment specified with
`set-language-environment'.   This  variable  should  be set only
with , which is equivalent to using the  function  `set-language-
environment'.Freset-language-environment Reset multilingual envi-
ronment 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  categories  and  the  coding
system
  bound  to  each  category  are  as  follows      coding catego-
ry               coding                                    system
     --------------------------------------------------      cod-
ing-category-iso-8-2       iso-latin-1           coding-category-
iso-8-1       iso-latin-1                        coding-category-
iso-7-tight   iso-2022-jp                        coding-category-
iso-7         iso-2022-7bit                      coding-category-
iso-7-else    iso-2022-7bit-lock                 coding-category-
iso-8-else    iso-2022-8bit-ss2        coding-category-emacs-mule
   emacs-mule      coding-category-raw-text raw-text      coding-
category-sjis          japanese-shift-jis        coding-category-
big5          chinese-big5           coding-category-ccl      nil
     coding-category-binary        no-conversion   Fset-language-
environment Set up multi-lingual 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.Fset-language-environment-coding-systems Do vari-
ous coding system setups for language environment  LANGUAGE-NAME.

The  optional  arg EOL-TYPE specifies the eol-type of the default
value of  buffer-file-coding-system  set  by  this  function.Fde-
scribe-specified-language-support Describe how Emacs supports the
specified language environment.Fdescribe-language-environment De-
scribe   how   Emacs   supports  language  environment  LANGUAGE-
NAME.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-prop-
erty Store CHARSETS's PROPNAME property with value VALUE.  It can
be    retrieved   with   `(get-charset-property   CHARSET   PROP-
NAME)'.Vchar-code-property-table Char-table containing a property
list of each character code.

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 in `char-code-property-table'.Fput-char-
code-property Store CHAR's PROPNAME property with VALUE in `char-
code-property-table'.   It can be retrieved with `(get-char-code-
property  CHAR  PROPNAME)'.Fencoded-string-description  Return  a
pretty  description  of STR that is encoded by CODING-SYSTEM.Fen-
code-coding-char Encode CHAR by CODING-SYSTEM and return the  re-
sulting  string.   If CODING-SYSTEM can't safely encode CHAR, re-
turn nil.Fdescribe-buffer-case-table Describe the case  table  of
the  current  buffer.Fset-case-syntax-1 Offset CHAR by `set-case-
syntax-offset' if CHAR is a non-ASCII  8-bit  char.Fset-case-syn-
tax-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 in-
dicate left and right delimiters.Fset-case-syntax-pair Make char-
acters 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-case-syntax Make character  C  case-in-
variant  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  "_".Vcyrillic-koi8-r-decode-
table  Cyrillic  KOI8-R  decoding  table.Vcyrillic-koi8-r-encode-
table Cyrillic KOI8-R  encoding  table.Vcyrillic-koi8-r-nonascii-
translation-table Value of `nonascii-translation-table' in Cyril-
lic-KOI8  language   environment..Vcyrillic-alternativnyj-decode-
table  Cyrillic  ALTERNATIVNYJ  decoding table.Vcyrillic-alterna-
tivnyj-encode-table Cyrillic ALTERNATIVNYJ encoding table.Vcyril-
lic-alternativnyj-nonascii-translation-table  Value of `nonascii-
translation-table' in Cyrillic-ALT language  environment.Findian-
decode-itrans-region  Convert  `ITRANS'  mnemonics of the current
region to Indian characters.  When called from a program, expects
two  arguments,  positions  (integers  or markers) specifying the
stretch of the region.Findian-encode-itrans-region Convert indian
region  to ITRANS mnemonics.Fsetup-english-environment Reset mul-
tilingual environment of Emacs to the default  status.   See  the
function  `reset-language-environment'  for  more  detail.Fsetup-
latin1-environment Set up multilingual environment (MULE) for Eu-
ropean  Latin-1  users.Fsetup-latin2-environment Set up multilin-
gual  environment  (MULE)  for  European  Latin-2   users.Fsetup-
latin3-environment Set up multilingual environment (MULE) for Eu-
ropean Latin-3 users.Fsetup-latin4-environment Set  up  multilin-
gual   environment  (MULE)  for  European  Latin-4  users.Fsetup-
latin5-environment Set up multilingual environment (MULE) for Eu-
ropean  Latin-5  users.Fsetup-german-environment Set up multilin-
gual environment (MULE) for  German  users.Fsetup-slovenian-envi-
ronment Setup multilingual environment (MULE) for Slovenian.Fset-
up-czech-environment Setup multilingual  environment  (MULE)  for
Czech.Fsetup-slovak-environment  Setup  multilingual  environment
(MULE) for Slovak.Fsetup-romanian-environment Setup  multilingual
environment  (MULE)  for  Romanian.Fsetup-greek-environment Setup
multilingual environment (MULE) for  Greek.Fsetup-hebrew-environ-
ment  Setup  multilingual  environment  (MULE)  for Hebrew.  But,
please note that right-to-left writing is not yet  supported.Vti-
betan-regexp Regexp string to match a romanized Tibetan character
component, i.e., base and subjoined consonant,  vowel  and  vowel
modifier.  The  result of matching is to be used for indexing al-
ists at conversion from a roman transcription to the  correspond-
ing  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  precom-
posed  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  conver-
sion.Vviet-viscii-decode-table    Vietnamese    VISCII   decoding
table.Vviet-viscii-encode-table Vietnamese VISCII encoding table.
Cons of tables for encoding lower-case chars and upper-case char-
acters.  Both tables are indexed by the position  code  of  Viet-
namese  characters.Vviet-vscii-decode-table  Vietnamese VSCII de-
coding table.Vviet-vscii-encode-table Vietnamese  VSCII  encoding
table.   Cons  of tables for encoding lower-case chars and upper-
case characters.  Both tables are indexed by the position code of
Vietnamese     characters.Vviet-viscii-nonascii-translation-table
Value of `nonascii-translation-table' in Vietnamese language  en-
vironment.Fsetup-ipa-environment  Setup  multilingual environment
(MULE) for IPA.Vregister-alist Alist of  elements  (NAME  .  CON-
TENTS), one for each Emacs register.  NAME is a character (a num-
ber).  CONTENTS is a string, number, marker or list.  A  list  of
strings represents a rectangle.  A list of the form (file . NAME)
represents the file named NAME.  A list of the  form  (file-query
NAME POSITION) represents position POSITION
 in the file named 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  REG,
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 VALUE.Fpoint-to-register
Store current location of point in register REGISTER.  With  pre-
fix  argument,  store current frame configuration.  Use  to go to
that location or restore that configuration.  Argument is a char-
acter,   naming   the  register.Fwindow-configuration-to-register
Store the window configuration of the selected frame in  register
REGISTER.   Use   to  restore  the  configuration.  Argument is a
character, naming  the  register.Fframe-configuration-to-register
Store  the  window configuration of all frames in register REGIS-
TER.  Use  to restore the configuration.  Argument is  a  charac-
ter, 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 ar-
gument) says to delete any existing frames that the frame config-
uration  doesn't  mention.   (Otherwise,  these frames are iconi-
fied.)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.  Interac-
tively, NUMBER is the prefix arg (none means nil).Fincrement-reg-
ister  Add NUMBER to the contents of register REGISTER.  Interac-
tively, NUMBER is the prefix arg.Fview-register Display  what  is
contained in register named REGISTER.  The Lisp value REGISTER is
a character.Finsert-register Insert contents of  register  REGIS-
TER.   (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 REGIS-
TER.   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  pre-
fix  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.  Called from program, takes four args: REGISTER,
START, END and DELETE-FLAG.  START and END are  buffer  positions
giving  two  corners  of  rectangle.Vcase-replace  *Non-nil means
query-replace should  preserve  case  in  replacements.Vquery-re-
place-interactive  Non-nil  means  `query-replace'  uses the last
search string.  That becomes the "string  to  replace".Vquery-re-
place-from-history-variable  History list to use for the FROM ar-
gument of query-replace commands.  The  value  of  this  variable
should  be  a symbol; that symbol is used as a variable to hold a
history list for the strings or patterns to  be  replaced.Vquery-
replace-to-history-variable  History list to use for the TO argu-
ment of query-replace  commands.   The  value  of  this  variable
should  be  a symbol; that symbol is used as a variable to hold a
history list for replacement strings  or  patterns.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  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.

If  `query-replace-interactive'  is non-nil, the last incremental
search string is used as FROM-STRING--you don't have  to  specify
it with the minibuffer.

Replacement  transfers  the case 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.  (Preserving case means that if
the string matched is all caps, or capitalized, then its replace-
ment is upcased or capitalized.)

Third  arg  DELIMITED  (prefix  arg  if interactive), if non-nil,
means replace only matches surrounded by word boundaries.

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  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.

If `query-replace-interactive' is non-nil, the  last  incremental
search  regexp  is  used  as REGEXP--you don't have to specify it
with the minibuffer.

Preserves case in each replacement if `case-replace'  and  `case-
fold-search'  are  non-nil  and  REGEXP has no uppercase letters.
Third arg DELIMITED (prefix  arg  if  interactive),  if  non-nil,
means replace only matches surrounded by word boundaries.  In TO-
STRING, `' stands for whatever matched the whole of  REGEXP,  and
`=here N is a digit) stands for
 whatever  what matched the Nth `.' in REGEXP.Fmap-query-replace-
regexp Replace some matches for REGEXP with various  strings,  in
rotation.   The  second argument TO-STRINGS contains the replace-
ment 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.

If `query-replace-interactive' is non-nil, the  last  incremental
search  regexp  is  used  as REGEXP--you don't have to specify it
with the minibuffer.

A prefix argument N says to use each replacement string  N  times
before  rotating  to the next.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.)

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.

If  `query-replace-interactive'  is non-nil, the last incremental
search string is used as FROM-STRING--you don't have  to  specify
it with the minibuffer.

This  function  is  usually the wrong thing to use in a Lisp pro-
gram.  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.  Third arg DELIMITED (prefix arg if  inter-
active),  if  non-nil,  means  replace only matches surrounded by
word boundaries.  In TO-STRING, `' stands  for  whatever  matched
the whole of REGEXP, and `=here N is a digit) stands for
 whatever what matched the Nth `.' in 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.

If  `query-replace-interactive'  is non-nil, the last incremental
search regexp is used as REGEXP--you don't  have  to  specify  it
with the minibuffer.

This  function  is  usually the wrong thing to use in a Lisp pro-
gram.  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.Fkeep-lines
Delete  all  lines except those containing matches for REGEXP.  A
match split across lines preserves all the lines it lies in.  Ap-
plies to all lines after point.

If REGEXP contains upper case characters (excluding those preced-
ed by `'), the  matching  is  case-sensitive.Fflush-lines  Delete
lines  containing matches for REGEXP.  If a match is split across
lines, all the lines it lies in are deleted.   Applies  to  lines
after point.

If REGEXP contains upper case characters (excluding those preced-
ed by `'), the matching is case-sensitive.Fhow-many Print  number
of matches for REGEXP following point.

If REGEXP contains upper case characters (excluding those preced-
ed by `'), the matching is case-sensitive.Voccur-buffer  Name  of
buffer for last occur.Voccur-nlines Number of lines of context to
show around matching line.Voccur-command-arguments Arguments that
were  given to `occur' when it made this buffer.Foccur-mode Major
mode for output from .  <occur-mode-map>Move point to one of  the
items  in this buffer, then use  to go to the occurrence that the
item refers to.  Alternatively, click  on an item to go to it.

occur-mode-map}Foccur-mode-mouse-goto In Occur mode,  go  to  the
occurrence whose line you click on.Foccur-mode-goto-occurrence Go
to the occurrence the current line describes.Foccur-next Move  to
the  Nth (default 1) next match in the *Occur* buffer.Foccur-prev
Move to the  Nth  (default  1)  previous  match  in  the  *Occur*
buffer.Vlist-matching-lines-default-context-lines *Default number
of context lines to include around a `list-matching-lines' match.
A  negative  number  means  to include that many lines before the
match.  A positive number means to include that many  lines  both
before  and  after.Vlist-matching-lines-face  *Face  used  by M-x
list-matching-lines to show the text that matches.  If the  value
is  nil,  don't  highlight the matching portions specially.Foccur
Show all lines in the current buffer containing a match for  REG-
EXP.

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> in that buffer will explain how.

If REGEXP contains upper case characters (excluding those preced-
ed by `'),  the  matching  is  case-sensitive.Vquery-replace-help
Help message while in query-replaceVquery-replace-map Keymap that
defines the  responses  to  questions  in  `query-replace'.   The
"bindings"  in  this map are not commands; they are answers.  The
valid answers  include  `act',  `skip',  `act-and-show',  `exit',
`act-and-exit',  `edit', `delete-and-edit', `recenter', `automat-
ic', `backup', `exit-prefix', and `help'.Fperform-replace Subrou-
tine  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[  ]+bar" nil t)
    (replace-match "foobar" nil nil)) which will run  faster  and
probably  do exactly what you want.Vquery-replace-highlight *Non-
nil means to highlight words  during  query  replacement.Fnewline
Insert a newline, and move to left margin of the new line if it's
blank.  The newline is  marked  with  the  text-property  `hard'.
With  arg,  insert  that many newlines.  In Auto Fill mode, if no
numeric arg, break the preceding line if it's long.Fopen-line In-
sert  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.Fs-
plit-line Split current line, moving portion beyond point  verti-
cally  down.Fquoted-insert  Read  next input character and insert
it.  This is useful for inserting control characters.

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.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 ar-
gument, join this line to following 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.Fjust-one-space  Delete all
spaces and tabs around point,  leaving  one  space.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.Fback-to-in-
dentation Move point to the  first  non-whitespace  character  on
this  line.Fnewline-and-indent  Insert a newline, then indent ac-
cording 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.  Indenta-
tion 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'.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.
       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  ARG'th  occurrence  of  CHAR.  Case is ignored if
`case-fold-search' is non-nil in the current buffer.  Goes  back-
ward  if  ARG is negative; error if CHAR not found.Fbeginning-of-
buffer Move point to the beginning of the buffer; leave  mark  at
previous  position.   With  arg N, put point N/10 of the way from
the beginning.

If the buffer is narrowed, this command uses  the  beginning  and
size of the accessible part of the buffer.

Don't use this command in Lisp programs!  (goto-char (point-min))
is faster and  avoids  clobbering  the  mark.Fend-of-buffer  Move
point  to the end of the buffer; leave mark at previous position.
With arg N, put point N/10 of the way from the end.

If the buffer is narrowed, this command uses  the  beginning  and
size of the accessible part of the buffer.

Don't use this command in Lisp programs!  (goto-char (point-max))
is faster and avoids clobbering the  mark.Fmark-whole-buffer  Put
point  at  beginning  and  mark  at  end of 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.Fcount-lines-region Print number of lines and char-
acters  in  the  region.Fwhat-line  Print the current buffer line
number and narrowed line number of point.Fcount-lines Return num-
ber  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.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.

With prefix argument, print additional details about that charac-
ter, instead of the cursor position.  This includes the character
set name, the codes that identify the character within that char-
acter  set.   In addition, the encoding is fully shown.Ffundamen-
tal-mode Major mode not specialized for anything  in  particular.
Other  major modes are defined by comparison with this one.Vread-
expression-map Minibuffer keymap used for  reading  Lisp  expres-
sions.Feval-expression  Evaluate  EXPRESSION  and  print value in
minibuffer.  Value is also consed on to  front  of  the  variable
`values'.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 evalu-
ate 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> and to get different com-
mands to edit and resubmit.Vminibuffer-history Default minibuffer
history  list.  This is used for all minibuffer input except when
an alternate history list is  specified.Vminibuffer-history-sexp-
flag  Non-nil when doing history operations on `command-history'.
More generally, indicates that the history list  being  acted  on
contains  expressions  rather  than strings.  It is only valid if
its value equals the current minibuffer depth, to  handle  recur-
sive  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.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
and  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.  An uppercase letter in REGEXP makes the search  case-sen-
sitive.    See   also  `minibuffer-history-case-insensitive-vari-
ables'.Fnext-matching-history-element Find the next history  ele-
ment  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.  An uppercase letter in REGEXP makes the search  case-sen-
sitive.Fnext-history-element  Insert  the  next  element  of  the
minibuffer history into the  minibuffer.Fprevious-history-element
Inserts  the  previous element of the minibuffer history into the
minibuffer.Fnext-complete-history-element  Get  next  element  of
history  which  is a completion of minibuffer contents.Fprevious-
complete-history-element Get previous element of history which is
a  completion  of  minibuffer  contents.Fgoto-line Goto line ARG,
counting from line 1 at beginning of buffer.Fundo Undo some  pre-
vious  changes.  Repeat this command to undo more changes.  A nu-
meric argument serves as a repeat count.

Just C-u as argument requests selective undo, limited to  changes
within  the current region.  Likewise in Transient Mark mode when
the mark is active.Vpending-undo-list Within a run of consecutive
undo commands, list remaining to be undone.Vundo-in-progress Non-
nil while performing an undo.  Some change-hooks test this  vari-
able to do something different.Fundo-more Undo back N undo-bound-
aries 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 ele-
ments 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-un-
do-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 in-
side 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.Vshell-command-history History list for some commands
that  read  shell  commands.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 interactive-
ly.  A value of nil means that output to stderr and  stdout  will
be  intermixed in the output stream.Fshell-command Execute string
COMMAND in inferior shell; display output, if any.

If COMMAND ends in ampersand,  execute  it  asynchronously.   The
output  appears  in  the  buffer  `*Async  Shell Command*'.  That
buffer is in shell mode.

Otherwise, COMMAND is executed synchronously.  The output appears
in  the  buffer  `*Shell  Command Output*'.  If the output is one
line, it is displayed in the echo  area  *as  well*,  but  it  is
nonetheless  available  in  buffer `*Shell Command Output*', even
though that buffer is not automatically displayed.  If  there  is
no  output,  or if output is inserted in the current buffer, then
`*Shell Command Output*' is deleted.

To specify a coding system for converting non-ASCII characters in
the shell command output, use 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  output  is
inserted after point (leaving mark after it).

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-de-
fault-error-buffer'  specifies  the value of ERROR-BUFFER.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 before  this  com-
mand.  By default, the input (from the current buffer) is encoded
in the same coding system that will be used  to  save  the  file,
`buffer-file-coding-system'.   If  the output is going to replace
the region, then it is decoded from that same coding system.

The noninteractive arguments are  START,  END,  COMMAND,  OUTPUT-
BUFFER, REPLACE, ERROR-BUFFER.  Noninteractive callers can speci-
fy coding systems by binding `coding-system-for-read'  and  `cod-
ing-system-for-write'.

If  the output is one line, it is displayed in the echo area, but
it is nonetheless available in buffer  `*Shell  Command  Output*'
even though that buffer is not automatically displayed.  If there
is no output, or if output is inserted  in  the  current  buffer,
then `*Shell Command Output*' is deleted.

If  the  optional  fourth argument OUTPUT-BUFFER is non-nil, that
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 the current buffer.
In  either case, the output is inserted after point (leaving mark
after it).

If REPLACE, the optional fifth argument, is non-nil,  that  means
insert  the  output  in  place of text from START to END, putting
point and mark around it.

If optional sixth 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-de-
fault-error-buffer' specifies the value  of  ERROR-BUFFER.Fshell-
command-to-string  Execute  shell  command COMMAND and return its
output as a string.Vuniversal-argument-map Keymap used while pro-
cessing .Vuniversal-argument-num-events Number of argument-speci-
fying 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.Funiversal-argument  Be-
gin  a numeric argument for the following command.  Digits or mi-
nus sign following  make up the numeric argument.   following the
digits or minus sign ends the argument.   without digits or minus
sign provides 4 as argument.  Repeating  without digits or  minus
sign
 multiplies the argument by 4 each time.  For some commands, just
by itself serves as a flag which is different in effect from  any
particular numeric argument.  These commands include  and .Fnega-
tive-argument Begin a negative numeric argument for the next com-
mand.    following digits or minus sign ends the argument.Fdigit-
argument Part of the  numeric  argument  for  the  next  command.
following  digits or minus sign ends the argument.Fforward-to-in-
dentation Move forward ARG lines and position at  first  nonblank
character.Fbackward-to-indentation  Move  backward  ARG lines and
position at first nonblank  character.Vkill-whole-line  *If  non-
nil,  `kill-line'  with  no  arg  at  beg of line kills the whole
line.Fkill-line Kill the rest of the current  line;  if  no  non-
blanks there, kill thru newline.  With prefix argument, kill that
many lines from point.  Negative arguments kill lines backward.

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
.

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  .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.Vinterprogram-cut-function
Function to call to make a killed region available to other  pro-
grams.

Most window systems provide some sort of facility for cutting and
pasting text between the windows  of  different  programs.   This
variable  holds  a function that Emacs calls whenever text is put
in the kill ring, to make the new kill available  to  other  pro-
grams.

The  function  takes  one  or two arguments.  The first argument,
TEXT, is a string containing the text which should be made avail-
able.   The  second, PUSH, if non-nil means this is a "new" kill;
nil means appending to an "old" kill.Vinterprogram-paste-function
Function to call to get text cut from other programs.

Most window systems provide some sort of facility for cutting and
pasting text between the windows  of  different  programs.   This
variable  holds  a  function that Emacs calls to obtain text that
other programs have provided for pasting.

The function should be called with no arguments.  If the function
returns  nil,  then  no other program has provided such text, and
the top of the Emacs kill ring should be used.  If  the  function
returns  a  string, that string should be put in the kill ring as
the latest kill.

Note that the function should return a string only if  a  program
other than Emacs has provided a string for pasting; if Emacs pro-
vided the most recent string, the function should return nil.  If
it  is difficult to tell whether Emacs or some other program pro-
vided 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 `in-
terprogram-paste-function'.  The functions `kill-new',  `kill-ap-
pend', and `current-kill' are supposed to implement this interac-
tion; 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 the 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.Fkill-append  Append
STRING  to  the  end of the latest kill in the kill ring.  If BE-
FORE-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, `interprogram-paste-function' is set, and calling
it returns a string, then that string is added to  the  front  of
the  kill  ring and returned as the latest kill.  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  between  point  and  mark.  The text is deleted but
saved in the kill ring.  The command  can retrieve it from there.
(If  you  want  to kill and then yank immediately, use .)  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.

This  is  the  primitive for programs to kill text (as opposed to
deleting it).  Supply two arguments, character numbers 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 re-
gion  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.Fkill-ring-
save Save the region as if killed, but don't kill it.   In  Tran-
sient Mark mode, deactivate the mark.  If `interprogram-cut-func-
tion' is non-nil, also save the text for a window system cut  and
paste.

This  command is similar to `copy-region-as-kill', except that it
gives visual feedback indicating the extent of the  region  being
copied.Fappend-next-kill Cause following command, if it kills, to
append to previous kill.  The argument is used for internal  pur-
poses; do not supply one.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.Fyank Reinsert the last stretch of killed
text.  More precisely, reinsert the stretch of killed  text  most
recently killed OR yanked.  Put point at end, and set mark at be-
ginning.  With just C-u as argument, same but put point at begin-
ning  (and  mark at end).  With argument N, reinsert the Nth most
recently killed stretch of killed text.   See  also  the  command
.Frotate-yank-pointer  Rotate the yanking point in the kill ring.
With argument, rotate that many kills forward  (or  backward,  if
negative).Finsert-buffer  Insert  after  point  the  contents  of
BUFFER.  Puts mark after the inserted  text.   BUFFER  may  be  a
buffer  or  a  buffer  name.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 speci-
fied 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.Fmark Return this buffer's
mark value as integer; error if mark inactive.  If optional argu-
ment  FORCE is non-nil, access the mark value even if the mark is
not currently active, and return nil if there is no mark at  all.

If  you are using this in an editing command, you are most likely
making a mistake; see the  documentation  of  `set-mark'.Fdeacti-
vate-mark  Deactivate  the  mark by setting `mark-active' to nil.
(That makes a difference only in Transient Mark mode.)  Also runs
the  hook `deactivate-mark-hook'.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 conve-
nience.  Most editing commands should not alter the mark.  To re-
member  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))).Vmark-ring  The  list  of  former  marks of the current
buffer, most recent first.Vmark-ring-max *Maximum  size  of  mark
ring.   Start  discarding  off end if gets this big.Vglobal-mark-
ring The list of saved global marks, most  recent  first.Vglobal-
mark-ring-max  *Maximum size of global mark ring.  Start discard-
ing off end if gets this big.Fset-mark-command Set mark at  where
point  is,  or  jump to mark.  With no prefix argument, set mark,
push old mark position on local mark ring, and push mark on glob-
al  mark  ring.  With argument, jump to mark, and pop a new posi-
tion for mark off the ring (does not affect global mark ring).

Novice Emacs Lisp programmers often try to use the mark  for  the
wrong purposes.  See the documentation of `set-mark' for more in-
formation.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.  In Transient Mark mode, activate mark if optional third
arg ACTIVATE non-nil.

Novice  Emacs  Lisp programmers often try to use the mark for the
wrong purposes.  See the documentation of `set-mark' for more in-
formation.

In Transient Mark mode, this does not activate the mark.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.Ftransient-mark-mode Toggle  Transient  Mark
mode.   With arg, turn Transient Mark mode on if arg is positive,
off otherwise.

In Transient Mark mode, when the mark is active,  the  region  is
highlighted.   Changing the buffer "deactivates" the mark.  So do
certain other operations that set the mark but whose main purpose
is  something else--for example, incremental search, , and .Fpop-
global-mark Pop off global mark ring and jump to  the  top  loca-
tion.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.  If there is no character in the tar-
get line exactly under the current column, the  cursor  is  posi-
tioned  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 new-
line  character  to  create  a line, and moves the cursor to that
line.  Otherwise it moves the cursor to the end of the buffer.

The command  can be used to create a  semipermanent  goal  column
for  this command.  Then instead of trying to move exactly verti-
cally (or as close as possible), this command moves to the speci-
fied  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.

If you are thinking of using this in a Lisp program, consider us-
ing `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.  If there is no character in  the
target  line exactly over the current column, the cursor is posi-
tioned after the character in that line which spans this  column,
or at the end of the line if it is not long enough.

The  command   can  be used to create a semipermanent goal column
for this command.  Then instead of trying to move exactly  verti-
cally (or as close as possible), this command moves to the speci-
fied 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.

If you are thinking of using this in a Lisp program, consider us-
ing  `forward-line' with a negative argument instead.  It is usu-
ally easier to use and more reliable (no dependence on goal  col-
umn,  etc.).Vtrack-eol *Non-nil means vertical motion starting at
end of line keeps to ends of lines.  This means moving to the end
of  each line moved onto.  The beginning of a blank line does not
count as the end of a line.Vgoal-column *Semipermanent goal  col-
umn  for vertical motion, as set by , or nil.Vtemporary-goal-col-
umn Current goal column for vertical motion.  It  is  the  column
where  point  was  at the start of current run of vertical motion
commands.  When the `track-eol' feature is  doing  its  job,  the
value  is  9999.Vline-move-ignore-invisible  *Non-nil  means  and
ignore invisible lines.  Outline mode sets  this.Fset-goal-column
Set  the  current horizontal position as a goal for  and .  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, clears out the goal column so that  and  resume  verti-
cal motion.  The goal column is stored in the variable `goal-col-
umn'.Vhscroll-step *The number of columns to try scrolling a win-
dow  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.Fhscroll-point-visible
Scrolls the selected window  horizontally  to  make  point  visi-
ble.Fscroll-other-window-down  Scroll  the  "other  window" down.
For more details, see the  documentation  for  `scroll-other-win-
dow'.Fbeginning-of-buffer-other-window  Move  point to the begin-
ning 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.Ftrans-
pose-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 (back-
ward 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  but applies to  sex-
ps.  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.Vcomment-
column *Column to indent right-margin comments to.  Setting  this
variable  automatically  makes  it  local  to the current buffer.
Each mode establishes a different default value  for  this  vari-
able;  you  can  set  the  value for a particular mode using that
mode's hook.Vcomment-start *String to insert to start a new  com-
ment,  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 be-
gin at the place matched by the close of the first pair.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-
hook  Obsolete  variable for function to compute desired indenta-
tion for a comment.  This function is called with  no  args  with
point  at the beginning of the comment's starting delimiter.Vcom-
ment-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.Vblock-comment-
start  *String  to insert to start a new comment on a line by it-
self.  If nil, use `comment-start' instead.  Note that the  regu-
lar  expression  `comment-start-skip'  should skip this string as
well as the `comment-start' string.Vblock-comment-end *String  to
insert  to  end  a new comment on a line by itself.  Should be an
empty string if comments are terminated by end-of-line.  If  nil,
use  `comment-end' instead.Findent-for-comment Indent this line's
comment to comment column, or insert an  empty  comment.Fset-com-
ment-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 com-
ment column to indentation of the previous comment
 and then align or create a comment on this  line  at  that  col-
umn.Fkill-comment  Kill  the  comment on this line, if any.  With
argument, kill comments on that many  lines  starting  with  this
one.Vcomment-padding  Number  of spaces `comment-region' puts be-
tween comment chars and text.

Extra spacing between the comment characters and the comment text
makes the comment easier to read.  Default is 1.  Nil means 0 and
is more efficient.Fcomment-region Comment or uncomment each  line
in  the region.  With just C-u prefix arg, uncomment each line in
region.  Numeric prefix arg ARG means use ARG comment characters.
If  ARG is negative, delete that many comment characters instead.
Comments are terminated on each line, even for  syntax  in  which
newline  does  not  end the comment.  Blank lines do not get com-
ments.Fbackward-word Move backward until encountering the end  of
a word.  With argument, do this that many times.  In programs, it
is faster to call `forward-word' with negative arg.Fmark-word Set
mark arg words away from point.Fkill-word Kill characters forward
until encountering the end of a word.   With  argument,  do  this
that  many times.Fbackward-kill-word Kill characters backward un-
til encountering the end of a word.  With argument, do this  that
many times.Fcurrent-word Return the word point is on (or a nearby
word) as a string.  If optional arg STRICT is non-nil, return nil
unless point is within or adjacent to a word.Vfill-prefix *String
for filling to insert at front of new  line,  or  nil  for  none.
Setting this variable automatically makes it local to the current
buffer.Vauto-fill-inhibit-regexp *Regexp  to  match  lines  which
should not be auto-filled.Vcomment-line-break-function *Mode-spe-
cific function which line breaks and continues a comment.

This function is only called during  auto-filling  of  a  comment
section.   The  function  should take a single optional argument,
which is a flag indicating whether it should use soft newlines.

Setting this variable automatically makes it local to the current
buffer.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 Auto Fill mode.  With arg, turn
Auto Fill mode on if and only if arg is positive.  In  Auto  Fill
mode,  inserting a space at a column beyond `current-fill-column'
automatically breaks the line at a previous space.

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.Fset-fill-column  Set  `fill-column'  to
specified  argument.  Use  followed by a number to specify a col-
umn.  Just  as argument means to use the current column.Vcomment-
multi-line  *Non-nil  means   should continue same comment on new
line, with no new terminator or starter.  This  is  obsolete  be-
cause  you might as well use .Findent-new-comment-line Break line
at point and indent, continuing comment if within one.  This  in-
dents  the  body of the continued comment under the previous com-
ment 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 .

If  a  fill column is specified, it overrides the use of the com-
ment column or comment indentation.

The inserted newline is marked  hard  if  `use-hard-newlines'  is
true,  unless  optional  argument SOFT is non-nil.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 in-
dentation is >= that value are not displayed.  The variable  `se-
lective-display' has a separate value for each buffer.Voverwrite-
mode-textual The string displayed in the mode line when in  over-
write  mode.Voverwrite-mode-binary  The  string  displayed in the
mode line when in binary  overwrite  mode.Foverwrite-mode  Toggle
overwrite mode.  With arg, turn overwrite mode on iff arg is pos-
itive.  In overwrite mode, 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.   still inserts characters in overwrite mode; this  is
supposed  to  make  it  easier  to  insert characters when neces-
sary.Fbinary-overwrite-mode Toggle binary overwrite  mode.   With
arg, turn binary overwrite mode on iff arg is positive.  In bina-
ry overwrite mode, 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.   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 `over-
write-mode' variable to `overwrite-mode-binary'.Vline-number-mode
*Non-nil means display line number in mode line.Fline-number-mode
Toggle  Line Number mode.  With arg, turn Line Number mode on iff
arg is positive.  When Line Number mode is enabled, the line num-
ber appears in the mode line.

Line  numbers  do not appear for very large buffers, see variable
`line-number-display-limit'.Vcolumn-number-mode  *Non-nil   means
display  column  number  in  mode line.Fcolumn-number-mode Toggle
Column Number mode.  With arg, turn Column Number mode on iff arg
is positive.  When Column Number mode is enabled, the column num-
ber appears in the mode line.Vblink-matching-paren *Non-nil means
show  matching  open-paren  when  close-paren is inserted.Vblink-
matching-paren-on-screen *Non-nil means show matching  open-paren
when it is on screen.  If nil, means don't show it (but the open-
paren can still be shown when it is off  screen).Vblink-matching-
paren-distance  *If  non-nil,  is  maximum distance to search for
matching open-paren.Vblink-matching-delay *Time in seconds to de-
lay after showing a matching paren.Vblink-matching-paren-dont-ig-
nore-comments *Non-nil means `blink-matching-paren' will not  ig-
nore comments.Fblink-matching-open Move cursor momentarily to the
beginning of the sexp before point.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 cur-
rent buffer, or nil if none.   calls this function when its  more
local  actions  (such as cancelling 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).Vmail-user-agent  *Your
preference  for  a  mail composition package.  Various Emacs Lisp
packages (e.g. reporter) require you to compose an outgoing email
message.  This variable lets you specify which mail-sending pack-
age you prefer.

Valid values include:

    sendmail-user-agent -- use the default Emacs Mail package
    mh-e-user-agent     -- use the Emacs interface to the MH mail
system
    message-user-agent  -- use the GNUS mail sending package

Additional  valid symbols may be available; check with the author
of your package for details.Fdefine-mail-user-agent Define a sym-
bol 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  outgo-
ing  mail message buffer.  This function should set up the basics
of the buffer without requiring user interaction.  It should pop-
ulate 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 docu-
mentation.

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 mes-
sage 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'.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  compari-
son.Fassoc-ignore-representation  Like  `assoc', but ignores dif-
ferences in text representation.  KEY must be a string.   Unibyte
strings  are  converted to multibyte for comparison.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.

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 ap-
ply FUNCTION to ARGS, to insert the raw text of the original mes-
sage.   (The  user agent will also run `mail-citation-hook', *af-
ter* 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).Fcompose-mail-
other-window Like , but edit the outgoing message in another win-
dow.Fcompose-mail-other-frame  Like  , but edit the outgoing mes-
sage in another frame.Vset-variable-value-history History of val-
ues  entered  with  `set-variable'.Fset-variable  Set VARIABLE to
VALUE.  VALUE is a Lisp object.  When using  this  interactively,
enter a Lisp object for VALUE.  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  interac-
tively read VALUE.

If  VARIABLE has been defined with `defcustom', then the type in-
formation in the definition  is  used  to  check  that  VALUE  is
valid.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'  and   `mouse-choose-completion'.Vcompletion-
base-size Number of chars at beginning of minibuffer not involved
in completion.  This is a local variable in the  completion  list
buffer  but  it  talks about the buffer in `completion-reference-
buffer'.  If this is nil, it means to compare text  to  determine
which  part  of  the tail end of the buffer's text is involved in
completion.Fdelete-completion-window Delete the  completion  list
window.   Go  to  the  window  from which completion was request-
ed.Fprevious-completion Move to the previous item in the  comple-
tion  list.Fnext-completion  Move to the next item in the comple-
tion list.  With prefix argument N,  move  N  items  (negative  N
means  move  backward).Fchoose-completion  Choose  the completion
that point is in or next to.Fcompletion-list-mode Major mode  for
buffers showing lists of possible completions.  Type <completion-
list-mode-map> in the completion list to  select  the  completion
near  point.   Use  <completion-list-mode-map> to select one with
the mouse.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'.Fswitch-to-comple-
tions Select the completion list window.Fevent-apply-alt-modifier
Add the Alt modifier to the following event.  For  example,  type
&  to enter Alt-&.Fevent-apply-super-modifier Add the Super modi-
fier to the following event.  For example, type  & to  enter  Su-
per-&.Fevent-apply-hyper-modifier  Add  the Hyper modifier to the
following event.  For example, type  & to  enter  Hyper-&.Fevent-
apply-shift-modifier  Add  the  Shift  modifier  to the following
event.  For example, type  & to  enter  Shift-&.Fevent-apply-con-
trol-modifier  Add the Ctrl modifier to the following event.  For
example, type  & to enter  Ctrl-&.Fevent-apply-meta-modifier  Add
the  Meta  modifier to the following event.  For example, type  &
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.Vcommand-line-processed  Non-nil  once  command
line has been processedVinhibit-startup-message *Non-nil inhibits
the initial startup message.  This is for use  in  your  personal
init file, once you are familiar with the contents of the startup
message.Vinhibit-startup-echo-area-message *Non-nil inhibits  the
initial  startup  echo area message.  Setting this variable takes
effect only if you do it with the customization buffer or if your
`.emacs' file contains a line of this form:
 (setq   inhibit-startup-echo-area-message  "YOUR-USER-NAME")  If
your `.emacs' file is byte-compiled, use the following  form  in-
stead:
 (eval   '(setq   inhibit-startup-echo-area-message   "YOUR-USER-
NAME")) Thus, someone else using a copy  of  your  `.emacs'  file
will see the startup message unless he personally acts to inhibit
it.Vinhibit-default-init *Non-nil inhibits loading the  `default'
library.Vcommand-switch-alist  Alist  of  command-line  switches.
Elements look like (SWITCH-STRING . HANDLER-FUNCTION).   HANDLER-
FUNCTION receives switch name as sole arg; remaining command-line
args are in the variable  `command-line-args-left'.Vcommand-line-
args-left  List  of command-line args not yet processed.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.Vcom-
mand-line-x-option-alist  Alist  of X Windows options.  Each ele-
ment has the form
  (NAME NUMARGS HANDLER FRAME-PARAM VALUE) where NAME is the  op-
tion name string, NUMARGS is the number of arguments that the op-
tion accepts, HANDLER is a function to call to handle the option.
FRAME-PARAM  (optional) is the frame parameter this option speci-
fies, and VALUE is the value which is given to that frame parame-
ter (most options use the argument for this, so VALUE is not pre-
sent).Vbefore-init-hook Normal hook run after handling urgent op-
tions  but before loading init files.Vafter-init-hook Normal hook
run after loading the init files,  `~/.emacs'  and  `default.el'.
There  is  no  `condition-case' around the running of these func-
tions;  therefore,  if  you  set  `debug-on-error'   non-nil   in
`.emacs',  an error in one of these functions will invoke the de-
bugger.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.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.Vinitial-major-mode Major mode com-
mand symbol to use for the initial  *scratch*  buffer.Vinit-file-
user  Identity  of  user whose `.emacs' 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 the null string, meaning use the init
file for the user that 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 `.emacs' 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'.Vsite-run-file File containing site-wide run-time  initial-
izations.  This file is loaded at run-time before `~/.emacs'.  It
contains inits that need to be in place for the entire site,  but
which,  due to their higher incidence of change, don't make sense
to load into emacs' dumped image.  Thus, the run-time load  order
is:   1.   file  described  in  this  variable,  if  non-nil;  2.
`~/.emacs'; 3. `default.el'.

Don't use the `site-start.el' file for things some users may  not
like.   Put  them in `default.el' instead, so that users can more
easily override them.  Users  can  prevent  loading  `default.el'
with  the  `-q'  option  or  by setting `inhibit-default-init' in
their own init files,  but  inhibiting  `site-start.el'  requires
`--no-site-file',  which  is  less convenient.Viso-8859-n-locale-
regexp Regexp that specifies when to enable an ISO 8859-N charac-
ter set.  We do that if this regexp matches the locale name spec-
ified by one of the environment variables  LC_ALL,  LC_CTYPE,  or
LANG.   The  paren  group in the regexp should match the specific
character set number, N.  Currently only Latin-[12345]  are  sup-
ported.  (Note that Latin-5 is ISO 8859-9, because 8859-[678] are
non-Latin  alphabets;  hence,   supported   values   of   N   are
[12349].)Vmail-host-address  *Name  of this machine, for purposes
of naming users.Vuser-mail-address *Full mailing address of  this
user.   This  is  initialized based on `mail-host-address', after
your init file is read, in case it sets  `mail-host-address'.Vau-
to-save-list-file-prefix  Prefix  for generating `auto-save-list-
file-name'.  This is used after reading  your  `.emacs'  file  to
initialize  `auto-save-list-file-name',  by appending Emacs's pid
and the system name, if you have not already set `auto-save-list-
file-name' yourself.  Set this to nil if you want to prevent `au-
to-save-list-file-name' from  being  initialized.Vlocale-transla-
tion-file-name  *File  name  for the system's file of locale-name
aliases, or nil if none.Vdebian-emacs-flavor A symbol  represent-
ing  the  particular  debian  flavor of emacs running.  Something
like 'emacs20,  'xemacs20,  etc.Fnormal-top-level-add-subdirs-to-
load-path  Add  all subdirectories of current 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'.Vinitial-scratch-message  Initial message dis-
played in *scratch* buffer at startup.  If this is nil,  no  mes-
sage will be displayed.Fcommand-line-normalize-file-name Collapse
multiple slashes to one, to handle non-Emacs file  names.Vcustom-
declare-variable-list  Record `defcustom' calls made before `cus-
tom.el' is loaded to handle them.   Each  element  of  this  list
holds  the  arguments to one call to `defcustom'.Flambda Return a
lambda expression.  A call of the form (lambda ARGS DOCSTRING IN-
TERACTIVE  BODY)  is  self-quoting;  the result of evaluating the
lambda expression is the expression itself.  The  lambda  expres-
sion may then be treated as a function, i.e., stored as the func-
tion 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  `inter-
active',  which  see.   It may also be omitted.  BODY should be a
list of lisp  expressions.Fwhen  (when  COND  BODY...):  if  COND
yields  non-nil,  do  BODY,  else return nil.Funless (unless COND
BODY...): if COND yields nil, do BODY, else return nil.Fcaar  Re-
turn  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 the list X.  Its car
is the last element.  If X is nil, return nil.  If N is  non-nil,
return the Nth-to-last link of X.  If N is bigger than the length
of X, return X.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 eval-
uating  (TEST  (car  elt)  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.Fsuppress-keymap Make MAP override all  nor-
mally  self-inserting  keys to be undefined.  Normally, as an ex-
ception, digits and minus-sign are set to make prefix  args,  but
optional  second  arg  NODIGITS  non-nil  treats  them like other
chars.Vkey-substitution-in-progress Used  internally  by  substi-
tute-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 ap-
pears.  If optional fourth argument OLDMAP is specified, we rede-
fine  in KEYMAP as NEWDEF those chars which are defined as OLDDEF
in OLDMAP.Fdefine-key-after Add binding in KEYMAP for KEY => DEF-
INITION,  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, the new binding goes at the end of the keymap.

KEY  must contain just one event type--that is to say, it must be
a string or vector of length 1.

The order of bindings in a keymap matters when it is  used  as  a
menu.Fkbd  Convert KEYS to the internal Emacs key representation.
KEYS should be a string constant in the format  used  for  saving
keyboard   macros   (see  `insert-kbd-macro').Fkeyboard-translate
Translate character FROM to TO at a  low  level.   This  function
creates  a `keyboard-translate-table' if necessary and then modi-
fies one entry in it.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  De-
fault  keymap for ESC (meta) commands.  The normal global defini-
tion of the character ESC indirects to this keymap.Vctl-x-map De-
fault  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  4Vctl-x-5-map  Keymap  for  frame com-
mands.Flistify-key-sequence Convert a key sequence to a  list  of
events.Feventp  True  if  the argument is an event object.Fevent-
modifiers Returns 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'.Fevent-basic-type Returns
the basic type of the given event (all modifiers  removed).   The
value  is  an ASCII printing character (not upper case) or a sym-
bol.Fmouse-movement-p Return non-nil if OBJECT is a  mouse  move-
ment  event.Fevent-start  Return  the starting position of EVENT.
If EVENT is a mouse press or a mouse click, this returns the  lo-
cation of the event.  If EVENT is a drag, this returns the drag's
starting position.  The return value is of the form
   (WINDOW BUFFER-POSITION (X . Y) TIMESTAMP) The  `posn-'  func-
tions  access elements of such lists.Fevent-end Return the ending
location of EVENT.  EVENT should be a click or  drag  event.   If
EVENT  is  a  click  event,  this function is the same as `event-
start'.  The return value is of the form
   (WINDOW BUFFER-POSITION (X . Y) TIMESTAMP) The  `posn-'  func-
tions access elements of such lists.Fevent-click-count Return the
multi-click count of EVENT, a click or drag  event.   The  return
value is a positive integer.Fposn-window Return the window in PO-
SITION.  POSITION should be a list of the form
   (WINDOW BUFFER-POSITION (X . Y) TIMESTAMP) as 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
   (WINDOW  BUFFER-POSITION (X . Y) TIMESTAMP) as returned by the
`event-start' and `event-end' functions.Fposn-x-y  Return  the  x
and  y coordinates in POSITION.  POSITION should be a list of the
form
   (WINDOW BUFFER-POSITION (X . Y) TIMESTAMP) as returned by  the
`event-start'  and `event-end' functions.Fposn-col-row Return the
column and row in POSITION,  measured  in  characters.   POSITION
should be a list of the form
   (WINDOW  BUFFER-POSITION (X . Y) TIMESTAMP) as returned by the
`event-start' and `event-end' functions.  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.Fposn-timestamp  Return
the timestamp of POSITION.  POSITION should be a list of the form
   (WINDOW BUFFER-POSITION (X . Y) TIMESTAMP) as returned by  the
`event-start' and `event-end' functions.Fbaud-rate Obsolete func-
tion returning the value of  the  `baud-rate'  variable.   Please
convert  your  programs  to  use the variable `baud-rate' direct-
ly.Fmake-local-hook Make the  hook  HOOK  local  to  the  current
buffer.  The return value is HOOK.

When  a  hook  is local, its local and global values work in con-
cert: running the hook actually runs all the hook functions list-
ed  in *either* the local value *or* the global value of the hook
variable.

This function works by making `t' a member  of  the  buffer-local
value,  which acts as a flag to run the hook functions in the de-
fault value as well.  This works for all normal hooks,  but  does
not  work for most non-normal hooks yet.  We will be changing the
callers of non-normal hooks so that they  can  handle  localness;
this has to be done one by one.

This  function  does nothing if HOOK is already local in the cur-
rent buffer.

Do not use `make-local-variable' to make a hook variable  buffer-
local.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  default  value.
This  makes  no  difference  if the hook is not buffer-local.  To
make a hook variable buffer-local, always use  `make-local-hook',
not `make-local-variable'.

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.
This makes no difference if the hook  is  not  buffer-local.   To
make  a hook variable buffer-local, always use `make-local-hook',
not `make-local-variable'.Fadd-to-list Add to the value of  LIST-
VAR  the  element  ELEMENT  if  it isn't there yet.  The test for
presence of ELEMENT is done with `equal'.  If ELEMENT  is  added,
it is added at the beginning of the list.

If  you  want  to use `add-to-list' on a variable that is not de-
fined 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.Feval-after-load Arrange that, if FILE is ever loaded,
FORM will be run at that time.  This makes or adds to an entry on
`after-load-alist'.  If FILE is  already  loaded,  evaluate  FORM
right  now.   It  does nothing if FORM is already on the list for
FILE.  FILE should be the name of a library,  with  no  directory
name.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.Vread-quoted-char-radix *Radix for   and  other
uses  of  `read-quoted-char'.   Legitimate radix values are 8, 10
and 16.Fread-quoted-char Like `read-char', but do not allow quit-
ting.   Also,  if  the first character read is an octal digit, we
read any number of octal digits and return the specified  charac-
ter code.  Any nondigit terminates the sequence.  If the termina-
tor 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.Fread-passwd Read a password,
prompting with PROMPT.  Echo `.' for each character  typed.   End
with  RET,  LFD,  or  ESC.  DEL or C-h rubs out.  C-u kills line.
Optional argument CONFIRM, if non-nil, then read it twice to make
sure.   Optional  DEFAULT is a default password to use instead of
empty input.Fforce-mode-line-update Force the  mode-line  of  the
current  buffer  to  be  redisplayed.  With optional non-nil ALL,
force redisplay of all  mode-lines.Fmomentary-string-display  Mo-
mentarily  display  STRING in the buffer at POS.  Display remains
until next character is typed.  If the char is EXIT-CHAR (option-
al  third  arg,  default is SPC) 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.Vsuspend-
hook  Normal hook run by `suspend-emacs', before suspending.Vsus-
pend-resume-hook Normal hook run by `suspend-emacs', after  Emacs
is  continued.Vbuffer-file-type  Non-nil if the visited file is a
binary file.  This variable is meaningful on MS-DOG  and  Windows
NT.  On those systems, it is automatically local in every buffer.
On other systems, this  variable  is  normally  always  nil.Fget-
buffer-window-list Return windows currently displaying BUFFER, or
nil if none.  See `walk-windows' for the meaning of  MINIBUF  and
FRAME.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.Fstart-process-shell-command Start  a
program in a subprocess.  Return the process object for it.  Args
are NAME BUFFER COMMAND &rest COMMAND-ARGS.   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 associ-
ated
 with  any  buffer Third arg is command name, the name of a shell
command.  Remaining arguments are the arguments for the  command.
Wildcards   and   redirection   are   handled  as  usual  in  the
shell.Fwith-current-buffer Execute the forms in BODY with  BUFFER
as  the  current  buffer.  The value returned is the value of the
last form in BODY.  See  also  `with-temp-buffer'.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.   MES-
SAGE 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-output-to-string Execute BODY, return the
text  it  sent  to `standard-output', as a string.Fcombine-after-
change-calls Execute BODY, but don't call the after-change  func-
tions  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-func-
tions' in BODY.Fsave-match-data Execute the BODY forms, restoring
the global value of the match data.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 reg-
exp or whole string.  STRING should be given if the  last  search
was  by  `string-match' on STRING.Fmatch-string-no-properties Re-
turn string of text matched by last search, without text  proper-
ties.   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 reg-
exp or whole string.  STRING should be given if the  last  search
was  by `string-match' on STRING.Fsplit-string Splits STRING into
substrings where there are matches for  SEPARATORS.   Each  match
for  SEPARATORS is a splitting point.  The substrings between the
splitting points are made into a list which is returned.  If SEP-
ARATORS is absent, it defaults to "[ 0r.

If  there  is match for SEPARATORS at the beginning of STRING, we
do not include a null substring for that.  Likewise, if there  is
a  match  at the end of STRING, we don't include a null substring
for that.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.Fshell-quote-argument Quote an argu-
ment  for  passing as argument to an inferior shell.Fmake-syntax-
table Return a new syntax table.  If OLDTABLE  is  non-nil,  copy
OLDTABLE.   Otherwise,  create  a syntax table which inherits all
letters and control characters from the  standard  syntax  table;
other  characters are copied from the standard syntax table.Fadd-
to-invisibility-spec Add elements to  `buffer-invisibility-spec'.
See  documentation for `buffer-invisibility-spec' for the kind of
elements that can be added.Fremove-from-invisibility-spec  Remove
elements from `buffer-invisibility-spec'.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  in-
cluded 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 char-
acters  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 representing a sequence of keystrokes.Flocal-unset-key Re-
move local binding of KEY.  KEY is a string  representing  a  se-
quence of keystrokes.Fframe-configuration-p Return non-nil if OB-
JECT seems to be a frame configuration.  Any list  whose  car  is
`frame-configuration'   is  assumed  to  be  a  frame  configura-
tion.Ffunctionp Non-nil if OBJECT is a type of object that can be
called  as  a  function.Vfill-individual-varying-indent *Controls
criterion for a new  paragraph  in  `fill-individual-paragraphs'.
Non-nil means changing indent doesn't end a paragraph.  That mode
can handle paragraphs with extra indentation on the  first  line,
but  it  requires separator lines between paragraphs.  A value of
nil means that any change  in  indentation  starts  a  new  para-
graph.Vsentence-end-double-space  *Non-nil  means  a single space
does not end a sentence.

If you change this, you should also change  `sentence-end'.   See
Info  node `Sentences'.Vcolon-double-space *Non-nil means put two
spaces after a  colon  when  filling.Vsentence-end-without-period
*Non-nil  means a sentence will end without period.  For example,
Thai text ends with double space but  without  period.Vfill-para-
graph-function Mode-specific function to fill a paragraph, or nil
if there is none.  If the function returns nil, then  `fill-para-
graph' does its normal work.Venable-kinsoku *Non-nil means enable
"kinsoku" processing on filling paragraph.  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 pre-
fix 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.Vadaptive-fill-mode  *Non-nil  means  determine  a
paragraph's fill prefix from its text.Vadaptive-fill-regexp *Reg-
exp to match text at start of line that constitutes  indentation.
If  Adaptive Fill mode is enabled, a prefix matching this pattern
on the first and second lines of a paragraph is used as the stan-
dard indentation for the whole paragraph.

If the paragraph has just one line, the indentation is taken from
that line, but in that case `adaptive-fill-first-line-regexp' al-
so plays a role.Vadaptive-fill-first-line-regexp *Regexp specify-
ing whether to set fill prefix from a one-line paragraph.  When a
paragraph  has  just  one line, then after `adaptive-fill-regexp'
finds the prefix at the beginning of  the  line,  if  it  doesn't
match this regexp, it is replaced with whitespace.

By  default,  this  regexp  matches  sequences of just spaces and
tabs.

However, we never use a prefix from a one-line  paragraph  if  it
would  act  as  a paragraph-starter on the second line.Vadaptive-
fill-function *Function to call to choose a  fill  prefix  for  a
paragraph.   This  function  is  used when `adaptive-fill-regexp'
does not match.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-col-
umn'.

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-
context-prefix  Compute  a fill prefix from the text between FROM
and TO.   This  uses  the  variables  `adaptive-fill-prefix'  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-sep-
arator.Vfill-nobreak-predicate If non-nil, a predicate for recog-
nizing  places not to break a line.  The predicate is called with
no arguments, with point at the place to be tested.   If  it  re-
turns  t,  fill  commands do not break the line there.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
LINEBEG.   If the charset has no such property, do nothing.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  `cur-
rent-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-justi-
fication' function, but with a prefix arg, does  full  justifica-
tion 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.

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.Ffill-paragraph  Fill  paragraph at or after point.  Prefix
arg means justify as  well.   If  `sentence-end-double-space'  is
non-nil,  then  period  followed by one space does not end a sen-
tence, 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.Ffill-region  Fill each of the paragraphs in the region.  A
prefix arg means justify as well.  Ordinarily the variable `fill-
column' controls the width.

Noninteractively, the third argument JUSTIFY specifies which kind
of justification to do: `full',  `left',  `right',  `center',  or
`none'  (equivalent  to  nil).   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 `use-hard-newlines' is on).

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.Vdefault-justification  *Method of justifying text not oth-
erwise specified.  Possible values are `left',  `right',  `full',
`center', or `none'.  The requested kind of justification is done
whenever lines are  filled.   The  `justification'  text-property
can  locally override this variable.  This variable automatically
becomes buffer-local when set in any  fashion.Fcurrent-justifica-
tion  How should we justify this line?  This returns the value of
the text-property `justification', or the variable  `default-jus-
tification'  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.  The kind of justification
to use is prompted for.  If the mark is not active, this  command
operates  on  the  current paragraph.  If the mark is active, the
region is used.  However, if the beginning and end of the  region
are  not at paragraph breaks, they are moved to the beginning and
end of the paragraphs they are  in.   If  `use-hard-newlines'  is
true, all hard newlines are taken to be paragraph breaks.

When  calling from a program, operates just on region between BE-
GIN 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 is usually
the default, but see the  variable  `default-justification'.   If
the  mark  is  not  active,  this  applies  to  the current para-
graph.Fset-justification-right  Make  paragraphs  in  the  region
right-justified:  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  in-
serting  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 jus-
tification: 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  para-
graph,  so it will not be stretched by full justification.  Third
arg NOSQUEEZE non-nil means  to  leave  interior  whitespace  un-
changed,  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 inden-
tation 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 be-
tween words.  It does nothing in other justification modes.   Ar-
guments  BEGIN  and  END  are  optional;  default  is  the  whole
buffer.Ffill-nonuniform-paragraphs Fill paragraphs within the re-
gion, allowing varying indentation within each.  This command di-
vides 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  ar-
guments.

Optional third and fourth arguments JUSTIFY and MAIL-FLAG: JUSTI-
FY to justify paragraphs (prefix arg), When filling a  mail  mes-
sage, pass a regexp for CITATION-REGEXP which will match the pre-
fix 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  para-
graphs  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 MAIL-FLAG: JUSTI-
FY  to  justify paragraphs (prefix arg), When filling a mail mes-
sage, pass a regexp for CITATION-REGEXP which will match the pre-
fix  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.Fforward-page Move forward to page bound-
ary.  With arg, repeat, or go back if negative.  A page  boundary
is  any  line  whose  beginning  matches  the regexp `page-delim-
iter'.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  Re-
port  number of lines on current page, and how many are before or
after point.Fwhat-page Print page and line number of  point.Vuse-
hard-newlines  Non-nil  means  to  distinguish hard and soft new-
lines.  See also the documentation for  the  function  `use-hard-
newlines'.Fuse-hard-newlines  Minor  mode to distinguish hard and
soft newlines.  When active, 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.

Prefix  argument  says  to turn mode on if positive, off if nega-
tive.  When the mode is turned on, if there are newlines  in  the
buffer but no hard newlines, ask the user whether to mark as hard
any newlines preceeding a `paragraph-start' line.   From  a  pro-
gram,  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 inter-
nal  to  paragraphs.   The  fill functions insert and delete only
soft newlines.Vparagraph-start *Regexp for beginning  of  a  line
that  starts  OR  separates paragraphs.  This regexp should match
lines that separate paragraphs and should also match  lines  that
start a paragraph (and are part of that paragraph).

This is matched against the text at the left margin, which is not
necessarily the beginning of the line, so it should never use "^"
as  an  anchor.   This  ensures that the paragraph functions will
work equally well within a region of text indented  by  a  margin
setting.

The  variable  `paragraph-separate'  specifies how to distinguish
lines that start paragraphs from lines that separate them.

If the variable `use-hard-newlines' is nonnil,  then  only  lines
following a hard newline are considered to match.Vparagraph-sepa-
rate *Regexp for beginning of a line that  separates  paragraphs.
If  you change this, you may have to change `paragraph-start' al-
so.

This is matched against the text at the left margin, which is not
necessarily  the  beginning of the line, so it should not use "^"
as an anchor.  This ensures that  the  paragraph  functions  will
work  equally  within  a region of text indented by a margin set-
ting.Vsentence-end *Regexp describing the end of a sentence.  All
paragraph boundaries also end sentences, regardless.

The default value specifies that in order to be recognized as the
end of a sentence, the ending period, question mark, or  exclama-
tion  point  must  be  followed by two spaces, unless it's inside
some sort of quotes or parenthesis.

See also the variable `sentence-end-double-space' and  Info  node
`Sentences'.Vpage-delimiter  *Regexp  describing  line-beginnings
that separate pages.Vparagraph-ignore-fill-prefix *Non-nil  means
the  paragraph  commands are not affected by `fill-prefix'.  This
is desirable in modes where blank lines are the paragraph  delim-
iters.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 para-
graphs (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 previ-
ous  line  belongs,  or the end of the buffer.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  `first-
line-of-paragraph'  or which is ordinary text and follows a para-
graph-separating line; except: if the first real line of a  para-
graph  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.Fkill-
paragraph  Kill  forward  to  end of paragraph.  With arg N, kill
forward to Nth end of paragraph; negative arg -N means kill back-
ward 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 para-
graph.Ftranspose-paragraphs Interchange this (or next)  paragraph
with  previous  one.Fforward-sentence  Move forward to next `sen-
tence-end'.  With argument, repeat.  With negative argument, move
backward repeatedly to `sentence-beginning'.

The  variable `sentence-end' is a regular expression that matches
ends of sentences.  Also,  every  paragraph  boundary  terminates
sentences  as  well.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 sen-
tence.  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'.Ftranspose-
sentences  Interchange  this  (next) and previous sentence.Vtext-
mode-hook Normal hook run when entering Text mode and many relat-
ed  modes.Vtext-mode-variant  Non-nil if this buffer's major mode
is a variant of Text  mode.Vtext-mode-syntax-table  Syntax  table
used while in text mode.Vtext-mode-abbrev-table Abbrev 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 Ma-
jor  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-in-
dent-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.  Special commands: text-mode-map} Turning
on  Paragraph-Indent  Text mode runs the normal hooks `text-mode-
hook' and `paragraph-indent-text-mode-hook'.Ftext-mode-hook-iden-
tify  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 `cen-
ter-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-col-
umn'.   The argument NLINES says how many lines to center.Vvc-de-
fault-back-end *Back-end actually used by this interface; may  be
SCCS  or RCS.  The value is only computed when needed to avoid an
expensive search.Vvc-handle-cvs *If non-nil,  use  VC  for  files
managed  with  CVS.   If  it  is  nil,  don't  use  VC  for those
files.Vvc-rcsdiff-knows-brief *Indicates whether  rcsdiff  under-
stands  the  --brief option.  The value is either `yes', `no', or
nil.  If it is nil, VC tries to use --brief and sets  this  vari-
able to remember whether it worked.Vvc-path *List of extra direc-
tories to search  for  version  control  commands.Vvc-master-tem-
plates  *Where  to  look  for  version-control master files.  The
first pair corresponding to a given back end is used  as  a  tem-
plate  when  creating  new masters.  Setting this variable to nil
turns off use of VC entirely.Vvc-make-backup-files  *If  non-nil,
backups of registered files are made as with other files.  If nil
(the default), files covered by version control don't  get  back-
ups.Vvc-follow-symlinks *Indicates what to do if you visit a sym-
bolic link to a file that is under version control.  Editing such
a  file  through  the  link  bypasses the version control system,
which is dangerous and probably not what you want.
  If this variable is t, VC follows the link and visits the  real
file,  telling you about it in the echo area.  If it is `ask', VC
asks for confirmation whether it should follow the link.  If nil,
the  link  is  visited and a warning displayed.Vvc-display-status
*If non-nil, display revision number and lock status in modeline.
Otherwise, not displayed.Vvc-consult-headers *If non-nil, identi-
fy work files by searching for version headers.Vvc-keep-workfiles
*If   non-nil,  don't  delete  working  files  after  registering
changes.  If the back-end is CVS, workfiles are always kept,  re-
gardless  of  the value of this flag.Vvc-mistrust-permissions *If
non-nil, don't assume that permissions and ownership  track  ver-
sion-control  status.   If  nil, do rely on the permissions.  See
also variable `vc-consult-headers'.Vvc-ignore-vc-files  *If  non-
nil  don't  look  for  version  control  information when finding
files.

It may be useful to set this if (say) you edit files in a  direc-
tory containing corresponding RCS files but don't have RCS avail-
able; similarly for other version control  systems.Vvc-file-prop-
obarray  Obarray for per-file properties.Fvc-name Return the mas-
ter name of a file, nil if it is not registered.   For  CVS,  the
full  name of CVS/Entries is returned.Fvc-backend Return the ver-
sion-control type of a file, nil if  it  is  not  registered.Fvc-
buffer-backend  Return  the  version-control  type of the visited
file, or nil if none.Fvc-toggle-read-only Change read-only status
of current buffer, perhaps via version control.  If the buffer is
visiting a file registered with version control, then  check  the
file in or out.  Otherwise, just change the read-only flag of the
buffer.  With prefix argument, ask for version number to check in
or  check  out.  Check-out of a specified version number does not
lock the file; to do that, use this command a second time with no
argument.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.  Second optional arg LABEL is
put in place of version control  system  name.Fvc-file-not-found-
hook  When  file  is  not  found, try to check it out from RCS or
SCCS.  Returns t if checkout was successful,  nil  otherwise.Fde-
fine-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  wid-
get.Fone-window-p  Returns  non-nil if the selected window is the
only window (in its frame).  Optional arg  NOMINI  non-nil  means
don't count the minibuffer even if it is active.

The  optional arg ALL-FRAMES t means count windows on all frames.
If it is `visible', count windows on all  visible  frames.   ALL-
FRAMES  nil  or omitted means count only the selected frame, plus
the minibuffer it uses (which may be on another frame).  If  ALL-
FRAMES is neither nil nor t, count only the selected frame.Fwalk-
windows Cycle through all visible windows, calling PROC for  each
one.  PROC is called with a window as argument.

Optional  second  arg MINIBUF t means count the minibuffer window
even if not active.  MINIBUF  nil  or  omitted  means  count  the
minibuffer iff it is active.  MINIBUF neither t nor nil means not
to count the minibuffer even if it is active.

Several frames may share a single minibuffer; if  the  minibuffer
counts,  all  windows  on  all  frames that share that minibuffer
count too.  Therefore, if you are  using  a  separate  minibuffer
frame  and  the  minibuffer is active and MINIBUF says it counts,
`walk-windows' includes the windows in the frame from  which  you
entered the minibuffer, as well as the minibuffer window.

ALL-FRAMES  is  the  optional  third argument.  ALL-FRAMES nil or
omitted means cycle within the frames as specified  above.   ALL-
FRAMES  =  `visible' means include windows on all visible frames.
ALL-FRAMES = 0 means include windows on all visible and iconified
frames.   ALL-FRAMES  = t means include windows on all frames in-
cluding invisible frames.  Anything else means  restrict  to  the
selected  frame.Fminibuffer-window-active-p Return t if WINDOW (a
minibuffer window) is  now  active.Fsave-selected-window  Execute
BODY,   then   select   the   window  that  was  selected  before
BODY.Fcount-windows Returns the number of visible windows.   This
counts  the  windows in the selected frame and (if the minibuffer
is to be counted) its minibuffer frame (if that's  not  the  same
frame).   The  optional  arg  MINIBUF  non-nil  means  count  the
minibuffer even if it is inactive.Fbalance-windows Makes all vis-
ible  windows the same height (approximately).Vsplit-window-keep-
point *If non-nil, split windows keeps the original point in both
children.   This  is  often more convenient for editing.  If nil,
adjust point in each of the two windows  to  minimize  redisplay.
This is convenient on slow terminals, but point can move strange-
ly.Fsplit-window-vertically Split current window  into  two  win-
dows,  one  above the other.  The uppermost window gets ARG lines
and the other gets the rest.  Negative arg means select the  size
of the lowermost window instead.  With no argument, split equally
or close to it.  Both windows display the same  buffer  now  cur-
rent.

If  the  variable  `split-window-keep-point' is non-nil, both new
windows will get the same value of point as the  current  window.
This is often more convenient for editing.

Otherwise, we chose window starts so as to minimize the amount of
redisplay; this is convenient on slow terminals.  The new select-
ed  window is the one that the current value of point appears in.
The value of point can change if the text around point is  hidden
by  the  new  mode  line.Fsplit-window-horizontally Split current
window into two windows side by side.  This  window  becomes  the
leftmost  of  the  two, and gets ARG columns.  Negative arg means
select the size of the rightmost window  instead.   The  argument
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.  No arg means split equally.Fenlarge-win-
dow-horizontally Make current window ARG  columns  wider.Fshrink-
window-horizontally  Make  current  window  ARG  columns  narrow-
er.Fwindow-buffer-height Return the height (in screen  lines)  of
the  buffer  that  WINDOW is displaying.Fshrink-window-if-larger-
than-buffer Shrink the WINDOW to be as small as possible to  dis-
play  its  contents.   Do  not  shrink  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 the window is not the full  width
of  the  frame,  or  if  the  window  is  the  only window of its
frame.Fkill-buffer-and-window Kill the current buffer and  delete
the  selected  window.Fquit-window Quit the current buffer.  Bury
it, and maybe delete the selected frame.  (The frame  is  deleted
if  it  is  contains  a dedicated window for the buffer.)  With a
prefix argument, kill the buffer instead.

Noninteractively, if KILL  is  non-nil,  then  kill  the  current
buffer, otherwise bury it.

If  WINDOW is non-nil, it specifies a window; we delete that win-
dow, and the buffer that is killed or buried is the one  in  that
window.Vemacs-version   Version   numbers   of  this  version  of
Emacs.Vemacs-build-time  Time   at   which   Emacs   was   dumped
out.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.