update.
[chise/xemacs-chise.git-] / info / lispref.info-27
index fc1d7cc..bfdf263 100644 (file)
@@ -1,5 +1,5 @@
-This is Info file ../../info/lispref.info, produced by Makeinfo version
-1.68 from the input file lispref.texi.
+This is ../info/lispref.info, produced by makeinfo version 4.0 from
+lispref/lispref.texi.
 
 INFO-DIR-SECTION XEmacs Editor
 START-INFO-DIR-ENTRY
@@ -50,6 +50,635 @@ may be included in a translation approved by the Free Software
 Foundation instead of in the original English.
 
 \1f
+File: lispref.info,  Node: Resizing Windows,  Next: Window Configurations,  Prev: Position of Window,  Up: Windows
+
+Changing the Size of a Window
+=============================
+
+   The window size functions fall into two classes: high-level commands
+that change the size of windows and low-level functions that access
+window size.  XEmacs does not permit overlapping windows or gaps between
+windows, so resizing one window affects other windows.
+
+ - Command: enlarge-window size &optional horizontal window
+     This function makes the selected window SIZE lines taller,
+     stealing lines from neighboring windows.  It takes the lines from
+     one window at a time until that window is used up, then takes from
+     another.  If a window from which lines are stolen shrinks below
+     `window-min-height' lines, that window disappears.
+
+     If HORIZONTAL is non-`nil', this function makes WINDOW wider by
+     SIZE columns, stealing columns instead of lines.  If a window from
+     which columns are stolen shrinks below `window-min-width' columns,
+     that window disappears.
+
+     If the requested size would exceed that of the window's frame,
+     then the function makes the window occupy the entire height (or
+     width) of the frame.
+
+     If SIZE is negative, this function shrinks the window by -SIZE
+     lines or columns.  If that makes the window smaller than the
+     minimum size (`window-min-height' and `window-min-width'),
+     `enlarge-window' deletes the window.
+
+     If WINDOW is non-`nil', it specifies a window to change instead of
+     the selected window.
+
+     `enlarge-window' returns `nil'.
+
+ - Command: enlarge-window-horizontally columns
+     This function makes the selected window COLUMNS wider.  It could
+     be defined as follows:
+
+          (defun enlarge-window-horizontally (columns)
+            (enlarge-window columns t))
+
+ - Command: enlarge-window-pixels count &optional side window
+     This function makes the selected window COUNT pixels larger.  When
+     called from Lisp, optional second argument SIDE non-`nil' means to
+     grow sideways COUNT pixels, and optional third argument WINDOW
+     specifies the window to change instead of the selected window.
+
+ - Command: shrink-window size &optional horizontal window
+     This function is like `enlarge-window' but negates the argument
+     SIZE, making the selected window smaller by giving lines (or
+     columns) to the other windows.  If the window shrinks below
+     `window-min-height' or `window-min-width', then it disappears.
+
+     If SIZE is negative, the window is enlarged by -SIZE lines or
+     columns.
+
+     If WINDOW is non-`nil', it specifies a window to change instead of
+     the selected window.
+
+ - Command: shrink-window-horizontally columns
+     This function makes the selected window COLUMNS narrower.  It
+     could be defined as follows:
+
+          (defun shrink-window-horizontally (columns)
+            (shrink-window columns t))
+
+ - Command: shrink-window-pixels count &optional side window
+     This function makes the selected window COUNT pixels smaller.
+     When called from Lisp, optional second argument SIDE non-`nil'
+     means to shrink sideways COUNT pixels, and optional third argument
+     WINDOW specifies the window to change instead of the selected
+     window.
+
+   The following two variables constrain the window-size-changing
+functions to a minimum height and width.
+
+ - User Option: window-min-height
+     The value of this variable determines how short a window may become
+     before it is automatically deleted.  Making a window smaller than
+     `window-min-height' automatically deletes it, and no window may be
+     created shorter than this.  The absolute minimum height is two
+     (allowing one line for the mode line, and one line for the buffer
+     display).  Actions that change window sizes reset this variable to
+     two if it is less than two.  The default value is 4.
+
+ - User Option: window-min-width
+     The value of this variable determines how narrow a window may
+     become before it automatically deleted.  Making a window smaller
+     than `window-min-width' automatically deletes it, and no window
+     may be created narrower than this.  The absolute minimum width is
+     one; any value below that is ignored.  The default value is 10.
+
+ - Variable: window-size-change-functions
+     This variable holds a list of functions to be called if the size
+     of any window changes for any reason.  The functions are called
+     just once per redisplay, and just once for each frame on which
+     size changes have occurred.
+
+     Each function receives the frame as its sole argument.  There is no
+     direct way to find out which windows changed size, or precisely
+     how; however, if your size-change function keeps track, after each
+     change, of the windows that interest you, you can figure out what
+     has changed by comparing the old size data with the new.
+
+     Creating or deleting windows counts as a size change, and therefore
+     causes these functions to be called.  Changing the frame size also
+     counts, because it changes the sizes of the existing windows.
+
+     It is not a good idea to use `save-window-excursion' in these
+     functions, because that always counts as a size change, and it
+     would cause these functions to be called over and over.  In most
+     cases, `save-selected-window' is what you need here.
+
+\1f
+File: lispref.info,  Node: Window Configurations,  Prev: Resizing Windows,  Up: Windows
+
+Window Configurations
+=====================
+
+   A "window configuration" records the entire layout of a frame--all
+windows, their sizes, which buffers they contain, what part of each
+buffer is displayed, and the values of point and the mark.  You can
+bring back an entire previous layout by restoring a window
+configuration previously saved.
+
+   If you want to record all frames instead of just one, use a frame
+configuration instead of a window configuration.  *Note Frame
+Configurations::.
+
+ - Function: current-window-configuration
+     This function returns a new object representing XEmacs's current
+     window configuration, namely the number of windows, their sizes
+     and current buffers, which window is the selected window, and for
+     each window the displayed buffer, the display-start position, and
+     the positions of point and the mark.  An exception is made for
+     point in the current buffer, whose value is not saved.
+
+ - Function: set-window-configuration configuration
+     This function restores the configuration of XEmacs's windows and
+     buffers to the state specified by CONFIGURATION.  The argument
+     CONFIGURATION must be a value that was previously returned by
+     `current-window-configuration'.
+
+     This function always counts as a window size change and triggers
+     execution of the `window-size-change-functions'.  (It doesn't know
+     how to tell whether the new configuration actually differs from
+     the old one.)
+
+     Here is a way of using this function to get the same effect as
+     `save-window-excursion':
+
+          (let ((config (current-window-configuration)))
+            (unwind-protect
+                (progn (split-window-vertically nil)
+                       ...)
+              (set-window-configuration config)))
+
+ - Special Form: save-window-excursion forms...
+     This special form records the window configuration, executes FORMS
+     in sequence, then restores the earlier window configuration.  The
+     window configuration includes the value of point and the portion
+     of the buffer that is visible.  It also includes the choice of
+     selected window.  However, it does not include the value of point
+     in the current buffer; use `save-excursion' if you wish to
+     preserve that.
+
+     Don't use this construct when `save-selected-window' is all you
+     need.
+
+     Exit from `save-window-excursion' always triggers execution of the
+     `window-size-change-functions'.  (It doesn't know how to tell
+     whether the restored configuration actually differs from the one in
+     effect at the end of the FORMS.)
+
+     The return value is the value of the final form in FORMS.  For
+     example:
+
+          (split-window)
+               => #<window 25 on control.texi>
+          (setq w (selected-window))
+               => #<window 19 on control.texi>
+          (save-window-excursion
+            (delete-other-windows w)
+            (switch-to-buffer "foo")
+            'do-something)
+               => do-something
+               ;; The frame is now split again.
+
+ - Function: window-configuration-p object
+     This function returns `t' if OBJECT is a window configuration.
+
+   Primitives to look inside of window configurations would make sense,
+but none are implemented.  It is not clear they are useful enough to be
+worth implementing.
+
+\1f
+File: lispref.info,  Node: Frames,  Next: Consoles and Devices,  Prev: Windows,  Up: Top
+
+Frames
+******
+
+   A FRAME is a rectangle on the screen that contains one or more
+XEmacs windows (*note Windows::).  A frame initially contains a single
+main window (plus perhaps an echo area), which you can subdivide
+vertically or horizontally into smaller windows.  Each window is
+associated with a modeline (*note Modeline Format::), and optionally two
+scrollbars (*note Scrollbars::).  By default the vertical scrollbar is
+on, the horizontal scrollbar is off.
+
+   The frame may also contain menubars (*note Menubar::), toolbars
+(*note Toolbar Intro::), and gutters (*note Gutter Intro::).  By default
+there is one of each at the top of the frame, with menubar topmost,
+toolbar next, and gutter lowest, immediately above the windows.
+(Warning: the gutter is a new, experimental, and unstable feature of
+XEmacs version 21.2.)
+
+   When XEmacs runs on a text-only terminal, it starts with one "TTY
+frame".  If you create additional ones, XEmacs displays one and only
+one at any given time--on the terminal screen, of course.
+
+   When XEmacs communicates directly with an X server, it does not have
+a TTY frame; instead, it starts with a single "X window frame".  It can
+display multiple X window frames at the same time, each in its own X
+window.
+
+ - Function: framep object
+     This predicate returns `t' if OBJECT is a frame, and `nil'
+     otherwise.
+
+* Menu:
+
+* Creating Frames::            Creating additional frames.
+* Frame Properties::           Controlling frame size, position, font, etc.
+* Frame Titles::                Automatic updating of frame titles.
+* Deleting Frames::            Frames last until explicitly deleted.
+* Finding All Frames::         How to examine all existing frames.
+* Frames and Windows::         A frame contains windows;
+                                 display of text always works through windows.
+* Minibuffers and Frames::     How a frame finds the minibuffer to use.
+* Input Focus::                        Specifying the selected frame.
+* Visibility of Frames::       Frames may be visible or invisible, or icons.
+* Raising and Lowering::       Raising a frame makes it hide other X windows;
+                                 lowering it makes the others hide them.
+* Frame Configurations::       Saving the state of all frames.
+* Frame Hooks::                 Hooks for customizing frame behavior.
+
+   *Note Display::, for related information.
+
+\1f
+File: lispref.info,  Node: Creating Frames,  Next: Frame Properties,  Up: Frames
+
+Creating Frames
+===============
+
+   To create a new frame, call the function `make-frame'.
+
+ - Function: make-frame &optional props device
+     This function creates a new frame on DEVICE, if DEVICE permits
+     creation of frames.  (An X server does; an ordinary terminal does
+     not (yet).)  DEVICE defaults to the selected device if omitted.
+     *Note Consoles and Devices::.
+
+     The argument PROPS is a property list (a list of alternating
+     keyword-value specifications) of properties for the new frame. (An
+     alist is accepted for backward compatibility but should not be
+     passed in.) Any properties not mentioned in PROPS default
+     according to the value of the variable `default-frame-plist'.  For
+     X devices, properties not specified in `default-frame-plist'
+     default in turn from `default-x-frame-plist' and, if not specified
+     there, from the X resources.  For TTY devices,
+     `default-tty-frame-plist' is consulted as well as
+     `default-frame-plist'.
+
+     The set of possible properties depends in principle on what kind of
+     window system XEmacs uses to display its frames.  *Note X Frame
+     Properties::, for documentation of individual properties you can
+     specify when creating an X window frame.
+
+\1f
+File: lispref.info,  Node: Frame Properties,  Next: Frame Titles,  Prev: Creating Frames,  Up: Frames
+
+Frame Properties
+================
+
+   A frame has many properties that control its appearance and behavior.
+Just what properties a frame has depends on which display mechanism it
+uses.
+
+   Frame properties exist for the sake of window systems.  A terminal
+frame has few properties, mostly for compatibility's sake; only the
+height, width and `buffer-predicate' properties really do something.
+
+* Menu:
+
+* Property Access::    How to change a frame's properties.
+* Initial Properties:: Specifying frame properties when you make a frame.
+* X Frame Properties:: List of frame properties.
+* Size and Position::  Changing the size and position of a frame.
+* Frame Name::         The name of a frame (as opposed to its title).
+
+\1f
+File: lispref.info,  Node: Property Access,  Next: Initial Properties,  Up: Frame Properties
+
+Access to Frame Properties
+--------------------------
+
+   These functions let you read and change the properties of a frame.
+
+ - Function: frame-properties &optional frame
+     This function returns a plist listing all the properties of FRAME
+     and their values.
+
+ - Function: frame-property frame property &optional default
+     This function returns FRAME's value for the property PROPERTY.
+
+ - Function: set-frame-properties frame plist
+     This function alters the properties of frame FRAME based on the
+     elements of property list PLIST.  If you don't mention a property
+     in PLIST, its value doesn't change.
+
+ - Function: set-frame-property frame prop val
+     This function sets the property PROP of frame FRAME to the value
+     VAL.
+
+\1f
+File: lispref.info,  Node: Initial Properties,  Next: X Frame Properties,  Prev: Property Access,  Up: Frame Properties
+
+Initial Frame Properties
+------------------------
+
+   You can specify the properties for the initial startup frame by
+setting `initial-frame-plist' in your `.emacs' file.
+
+ - Variable: initial-frame-plist
+     This variable's value is a plist of alternating property-value
+     pairs used when creating the initial X window frame.
+
+     XEmacs creates the initial frame before it reads your `~/.emacs'
+     file.  After reading that file, XEmacs checks
+     `initial-frame-plist', and applies the property settings in the
+     altered value to the already created initial frame.
+
+     If these settings affect the frame geometry and appearance, you'll
+     see the frame appear with the wrong ones and then change to the
+     specified ones.  If that bothers you, you can specify the same
+     geometry and appearance with X resources; those do take affect
+     before the frame is created.  *Note X Resources: (xemacs)Resources
+     X.
+
+     X resource settings typically apply to all frames.  If you want to
+     specify some X resources solely for the sake of the initial frame,
+     and you don't want them to apply to subsequent frames, here's how
+     to achieve this: specify properties in `default-frame-plist' to
+     override the X resources for subsequent frames; then, to prevent
+     these from affecting the initial frame, specify the same
+     properties in `initial-frame-plist' with values that match the X
+     resources.
+
+   If these properties specify a separate minibuffer-only frame via a
+`minibuffer' property of `nil', and you have not yet created one,
+XEmacs creates one for you.
+
+ - Variable: minibuffer-frame-plist
+     This variable's value is a plist of properties used when creating
+     an initial minibuffer-only frame--if such a frame is needed,
+     according to the properties for the main initial frame.
+
+ - Variable: default-frame-plist
+     This is a plist specifying default values of frame properties for
+     subsequent XEmacs frames (not the initial ones).
+
+   See also `special-display-frame-plist', in *Note Choosing Window::.
+
+   If you use options that specify window appearance when you invoke
+XEmacs, they take effect by adding elements to `default-frame-plist'.
+One exception is `-geometry', which adds the specified position to
+`initial-frame-plist' instead.  *Note Command Arguments:
+(xemacs)Command Arguments.
+
+\1f
+File: lispref.info,  Node: X Frame Properties,  Next: Size and Position,  Prev: Initial Properties,  Up: Frame Properties
+
+X Window Frame Properties
+-------------------------
+
+   Just what properties a frame has depends on what display mechanism it
+uses.  Here is a table of the properties of an X window frame; of these,
+`name', `height', `width', and `buffer-predicate' provide meaningful
+information in non-X frames.
+
+`name'
+     The name of the frame.  Most window managers display the frame's
+     name in the frame's border, at the top of the frame.  If you don't
+     specify a name, and you have more than one frame, XEmacs sets the
+     frame name based on the buffer displayed in the frame's selected
+     window.
+
+     If you specify the frame name explicitly when you create the
+     frame, the name is also used (instead of the name of the XEmacs
+     executable) when looking up X resources for the frame.
+
+`display'
+     The display on which to open this frame.  It should be a string of
+     the form `"HOST:DPY.SCREEN"', just like the `DISPLAY' environment
+     variable.
+
+`left'
+     The screen position of the left edge, in pixels, with respect to
+     the left edge of the screen.  The value may be a positive number
+     POS, or a list of the form `(+ POS)' which permits specifying a
+     negative POS value.
+
+     A negative number -POS, or a list of the form `(- POS)', actually
+     specifies the position of the right edge of the window with
+     respect to the right edge of the screen.  A positive value of POS
+     counts toward the left.  If the property is a negative integer
+     -POS then POS is positive!
+
+`top'
+     The screen position of the top edge, in pixels, with respect to the
+     top edge of the screen.  The value may be a positive number POS,
+     or a list of the form `(+ POS)' which permits specifying a
+     negative POS value.
+
+     A negative number -POS, or a list of the form `(- POS)', actually
+     specifies the position of the bottom edge of the window with
+     respect to the bottom edge of the screen.  A positive value of POS
+     counts toward the top.  If the property is a negative integer -POS
+     then POS is positive!
+
+`icon-left'
+     The screen position of the left edge _of the frame's icon_, in
+     pixels, counting from the left edge of the screen.  This takes
+     effect if and when the frame is iconified.
+
+`icon-top'
+     The screen position of the top edge _of the frame's icon_, in
+     pixels, counting from the top edge of the screen.  This takes
+     effect if and when the frame is iconified.
+
+`user-position'
+     Non-`nil' if the screen position of the frame was explicitly
+     requested by the user (for example, with the `-geometry' option).
+     Nothing automatically makes this property non-`nil'; it is up to
+     Lisp programs that call `make-frame' to specify this property as
+     well as specifying the `left' and `top' properties.
+
+`height'
+     The height of the frame contents, in characters.  (To get the
+     height in pixels, call `frame-pixel-height'; see *Note Size and
+     Position::.)
+
+`width'
+     The width of the frame contents, in characters.  (To get the
+     height in pixels, call `frame-pixel-width'; see *Note Size and
+     Position::.)
+
+`window-id'
+     The number of the X window for the frame.
+
+`minibuffer'
+     Whether this frame has its own minibuffer.  The value `t' means
+     yes, `nil' means no, `only' means this frame is just a minibuffer.
+     If the value is a minibuffer window (in some other frame), the
+     new frame uses that minibuffer. (Minibuffer-only and
+     minibuffer-less frames are not yet implemented in XEmacs.)
+
+`buffer-predicate'
+     The buffer-predicate function for this frame.  The function
+     `other-buffer' uses this predicate (from the selected frame) to
+     decide which buffers it should consider, if the predicate is not
+     `nil'.  It calls the predicate with one arg, a buffer, once for
+     each buffer; if the predicate returns a non-`nil' value, it
+     considers that buffer.
+
+`scroll-bar-width'
+     The width of the vertical scroll bar, in pixels.
+
+`cursor-color'
+     The color for the cursor that shows point.
+
+`border-color'
+     The color for the border of the frame.
+
+`border-width'
+     The width in pixels of the window border.
+
+`internal-border-width'
+     The distance in pixels between text and border.
+
+`unsplittable'
+     If non-`nil', this frame's window is never split automatically.
+
+`inter-line-space'
+     The space in pixels between adjacent lines of text. (Not currently
+     implemented.)
+
+`modeline'
+     Whether the frame has a modeline.
+
+\1f
+File: lispref.info,  Node: Size and Position,  Next: Frame Name,  Prev: X Frame Properties,  Up: Frame Properties
+
+Frame Size And Position
+-----------------------
+
+   You can read or change the size and position of a frame using the
+frame properties `left', `top', `height', and `width'.  Whatever
+geometry properties you don't specify are chosen by the window manager
+in its usual fashion.
+
+   Here are some special features for working with sizes and positions:
+
+ - Function: set-frame-position frame left top
+     This function sets the position of the top left corner of FRAME to
+     LEFT and TOP.  These arguments are measured in pixels, and count
+     from the top left corner of the screen.  Negative property values
+     count up or rightward from the top left corner of the screen.
+
+ - Function: frame-height &optional frame
+ - Function: frame-width &optional frame
+     These functions return the height and width of FRAME, measured in
+     lines and columns.  If you don't supply FRAME, they use the
+     selected frame.
+
+ - Function: frame-pixel-height &optional frame
+ - Function: frame-pixel-width &optional frame
+     These functions return the height and width of FRAME, measured in
+     pixels.  If you don't supply FRAME, they use the selected frame.
+
+ - Function: set-frame-size frame cols rows &optional pretend
+     This function sets the size of FRAME, measured in characters; COLS
+     and ROWS specify the new width and height.  (If PRETEND is
+     non-nil, it means that redisplay should act as if the frame's size
+     is COLS by ROWS, but the actual size of the frame should not be
+     changed.  You should not normally use this option.)
+
+   You can also use the functions `set-frame-height' and
+`set-frame-width' to set the height and width individually.  The frame
+is the first argument and the size (in rows or columns) is the second.
+(There is an optional third argument, PRETEND, which has the same
+purpose as the corresponding argument in `set-frame-size'.)
+
+\1f
+File: lispref.info,  Node: Frame Name,  Prev: Size and Position,  Up: Frame Properties
+
+The Name of a Frame (As Opposed to Its Title)
+---------------------------------------------
+
+   Under X, every frame has a name, which is not the same as the title
+of the frame.  A frame's name is used to look up its resources and does
+not normally change over the lifetime of a frame.  It is perfectly
+allowable, and quite common, for multiple frames to have the same name.
+
+ - Function: frame-name &optional frame
+     This function returns the name of FRAME, which defaults to the
+     selected frame if not specified.  The name of a frame can also be
+     obtained from the frame's properties.  *Note Frame Properties::.
+
+ - Variable: default-frame-name
+     This variable holds the default name to assign to newly-created
+     frames.  This can be overridden by arguments to `make-frame'.  This
+     must be a string.
+
+\1f
+File: lispref.info,  Node: Frame Titles,  Next: Deleting Frames,  Prev: Frame Properties,  Up: Frames
+
+Frame Titles
+============
+
+   Every frame has a title; most window managers display the frame
+title at the top of the frame.  You can specify an explicit title with
+the `name' frame property.  But normally you don't specify this
+explicitly, and XEmacs computes the title automatically.
+
+   XEmacs computes the frame title based on a template stored in the
+variable `frame-title-format'.
+
+ - Variable: frame-title-format
+     This variable specifies how to compute a title for a frame when
+     you have not explicitly specified one.
+
+     The variable's value is actually a modeline construct, just like
+     `modeline-format'.  *Note Modeline Data::.
+
+ - Variable: frame-icon-title-format
+     This variable specifies how to compute the title for an iconified
+     frame, when you have not explicitly specified the frame title.
+     This title appears in the icon itself.
+
+ - Function: x-set-frame-icon-pixmap frame pixmap &optional mask
+     This function sets the icon of the given frame to the given image
+     instance, which should be an image instance object (as returned by
+     `make-image-instance'), a glyph object (as returned by
+     `make-glyph'), or `nil'.  If a glyph object is given, the glyph
+     will be instantiated on the frame to produce an image instance
+     object.
+
+     If the given image instance has a mask, that will be used as the
+     icon mask; however, not all window managers support this.
+
+     The window manager is also not required to support color pixmaps,
+     only bitmaps (one plane deep).
+
+     If the image instance does not have a mask, then the optional
+     third argument may be the image instance to use as the mask (it
+     must be one plane deep).  *Note Glyphs::.
+
+\1f
+File: lispref.info,  Node: Deleting Frames,  Next: Finding All Frames,  Prev: Frame Titles,  Up: Frames
+
+Deleting Frames
+===============
+
+   Frames remain potentially visible until you explicitly "delete"
+them.  A deleted frame cannot appear on the screen, but continues to
+exist as a Lisp object until there are no references to it.
+
+ - Command: delete-frame &optional frame
+     This function deletes the frame FRAME.  By default, FRAME is the
+     selected frame.
+
+ - Function: frame-live-p frame
+     The function `frame-live-p' returns non-`nil' if the frame FRAME
+     has not been deleted.
+
+\1f
 File: lispref.info,  Node: Finding All Frames,  Next: Frames and Windows,  Prev: Deleting Frames,  Up: Frames
 
 Finding All Frames
@@ -61,18 +690,18 @@ Finding All Frames
      buffers.  The list that you get is newly created, so modifying the
      list doesn't have any effect on the internals of XEmacs.
 
- - Function: device-frame-list &optional DEVICE
+ - Function: device-frame-list &optional device
      This function returns a list of all frames on DEVICE.  If DEVICE
      is `nil', the selected device will be used.
 
- - Function: visible-frame-list &optional DEVICE
+ - Function: visible-frame-list &optional device
      This function returns a list of just the currently visible frames.
      If DEVICE is specified only frames on that device will be returned.
      *Note Visibility of Frames::.  (TTY frames always count as
      "visible", even though only the selected one is actually
      displayed.)
 
- - Function: next-frame &optional FRAME MINIBUF
+ - Function: next-frame &optional frame minibuf
      The function `next-frame' lets you cycle conveniently through all
      the frames from an arbitrary starting point.  It returns the "next"
      frame after FRAME in the cycle.  If FRAME is omitted or `nil', it
@@ -102,7 +731,7 @@ Finding All Frames
     anything else
           Consider all frames.
 
- - Function: previous-frame &optional FRAME MINIBUF
+ - Function: previous-frame &optional frame minibuf
      Like `next-frame', but cycles through all frames in the opposite
      direction.
 
@@ -118,11 +747,11 @@ Frames and Windows
    Each window is part of one and only one frame; you can get the frame
 with `window-frame'.
 
- - Function: frame-root-window &optional FRAME
+ - Function: frame-root-window &optional frame
      This returns the root window of frame FRAME.  FRAME defaults to
      the selected frame if not specified.
 
- - Function: window-frame &optional WINDOW
+ - Function: window-frame &optional window
      This function returns the frame that WINDOW is on.  WINDOW
      defaults to the selected window if omitted.
 
@@ -132,7 +761,7 @@ upper left corner, down and to the right, until it reaches the window at
 the lower right corner (always the minibuffer window, if the frame has
 one), and then it moves back to the top.
 
- - Function: frame-top-window FRAME
+ - Function: frame-top-window frame
      This returns the topmost, leftmost window of frame FRAME.
 
    At any time, exactly one window on any frame is "selected within the
@@ -140,7 +769,7 @@ frame".  The significance of this designation is that selecting the
 frame also selects this window.  You can get the frame's current
 selected window with `frame-selected-window'.
 
- - Function: frame-selected-window &optional FRAME
+ - Function: frame-selected-window &optional frame
      This function returns the window on FRAME that is selected within
      FRAME.  FRAME defaults to the selected frame if not specified.
 
@@ -159,7 +788,7 @@ Minibuffers and Frames
    Normally, each frame has its own minibuffer window at the bottom,
 which is used whenever that frame is selected.  If the frame has a
 minibuffer, you can get it with `minibuffer-window' (*note Minibuffer
-Misc::.).
+Misc::).
 
    However, you can also create a frame with no minibuffer.  Such a
 frame must use the minibuffer window of some other frame.  When you
@@ -184,7 +813,7 @@ selected window always resides on the selected frame.  As the focus
 moves from device to device, the selected frame on each device is
 remembered and restored when the focus moves back to that device.
 
- - Function: selected-frame &optional DEVICE
+ - Function: selected-frame &optional device
      This function returns the selected frame on DEVICE.  If DEVICE is
      not specified, the selected device will be used.  If no frames
      exist on the device, `nil' is returned.
@@ -205,9 +834,9 @@ effect lasts until overridden by a subsequent call to `select-frame'.
 Only the selected terminal frame is actually displayed on the terminal.
 Each terminal screen except for the initial one has a number, and the
 number of the selected frame appears in the mode line after the word
-`XEmacs' (*note Modeline Variables::.).
+`XEmacs' (*note Modeline Variables::).
 
- - Function: select-frame FRAME
+ - Function: select-frame frame
      This function selects frame FRAME, temporarily disregarding the
      focus of the X server if any.  The selection of FRAME lasts until
      the next time the user does something to select a different frame,
@@ -224,17 +853,17 @@ number of the selected frame appears in the mode line after the word
      `set-buffer'.  In order to effect a permanent focus change use
      `focus-frame'.
 
- - Function: focus-frame FRAME
+ - Function: focus-frame frame
      This function selects FRAME and gives it the window system focus.
      The operation of `focus-frame' is not affected by the value of
      `focus-follows-mouse'.
 
- - Macro: save-selected-frame FORMS...
+ - Macro: save-selected-frame forms...
      This macro records the selected frame, executes FORMS in sequence,
      then restores the earlier selected frame.  The value returned is
      the value of the last form.
 
- - Macro: with-selected-frame FRAME FORMS...
+ - Macro: with-selected-frame frame forms...
      This macro records the selected frame, then selects FRAME and
      executes FORMS in sequence.  After the last form is finished, the
      earlier selected frame is restored.  The value returned is the
@@ -254,26 +883,26 @@ frame is invisible, it doesn't show on the screen, not even as an icon.
    Visibility is meaningless for TTY frames, since only the selected
 one is actually displayed in any case.
 
- - Command: make-frame-visible &optional FRAME
+ - Command: make-frame-visible &optional frame
      This function makes frame FRAME visible.  If you omit FRAME, it
      makes the selected frame visible.
 
- - Command: make-frame-invisible &optional FRAME
+ - Command: make-frame-invisible &optional frame
      This function makes frame FRAME invisible.
 
- - Command: iconify-frame &optional FRAME
+ - Command: iconify-frame &optional frame
      This function iconifies frame FRAME.
 
- - Command: deiconify-frame &optional FRAME
+ - Command: deiconify-frame &optional frame
      This function de-iconifies frame FRAME.  Under X, this is
      equivalent to `make-frame-visible'.
 
- - Function: frame-visible-p FRAME
+ - Function: frame-visible-p frame
      This returns whether FRAME is currently "visible" (actually in use
      for display).  A frame that is not visible is not updated, and, if
      it works through a window system, may not show at all.
 
- - Function: frame-iconified-p FRAME
+ - Function: frame-iconified-p frame
      This returns whether FRAME is iconified.  Not all window managers
      use icons; some merely unmap the window, so this function is not
      the inverse of `frame-visible-p'.  It is possible for a frame to
@@ -282,7 +911,7 @@ one is actually displayed in any case.
      functionality of this function is obtained through
      `frame-visible-p'.)
 
- - Function: frame-totally-visible-p FRAME
+ - Function: frame-totally-visible-p frame
      This returns whether FRAME is not obscured by any other X windows.
      On TTY frames, this is the same as `frame-visible-p'.
 
@@ -308,10 +937,10 @@ screen.
 
    You can raise and lower XEmacs's X windows with these functions:
 
- - Command: raise-frame &optional FRAME
+ - Command: raise-frame &optional frame
      This function raises frame FRAME.
 
- - Command: lower-frame &optional FRAME
+ - Command: lower-frame &optional frame
      This function lowers frame FRAME.
 
    You can also specify auto-raise (raising automatically when a frame
@@ -332,7 +961,7 @@ frame properties.)
 
    Auto-raising and auto-lowering is implemented through functions
 attached to `select-frame-hook' and `deselect-frame-hook' (*note Frame
-Hooks::.).  Under normal circumstances, you should not call these
+Hooks::).  Under normal circumstances, you should not call these
 functions directly.
 
  - Function: default-select-frame-hook
@@ -356,7 +985,7 @@ all their properties, and the window configuration of each one.
      This function returns a frame configuration list that describes
      the current arrangement of frames and their contents.
 
- - Function: set-frame-configuration CONFIGURATION
+ - Function: set-frame-configuration configuration
      This function restores the state of frames described in
      CONFIGURATION.
 
@@ -380,7 +1009,7 @@ frame's lifetime.  *Note Hooks::.
  - Variable: select-frame-hook
      This is a normal hook that is run just after a frame is selected.
      The function `default-select-frame-hook', which implements
-     auto-raising (*note Raising and Lowering::.), is normally attached
+     auto-raising (*note Raising and Lowering::), is normally attached
      to this hook.
 
      Note that calling `select-frame' does not necessarily set the
@@ -392,7 +1021,7 @@ frame's lifetime.  *Note Hooks::.
      This is a normal hook that is run just before a frame is deselected
      (and another frame is selected).  The function
      `default-deselect-frame-hook', which implements auto-lowering
-     (*note Raising and Lowering::.), is normally attached to this hook.
+     (*note Raising and Lowering::), is normally attached to this hook.
 
  - Variable: map-frame-hook
      This hook is called each time a frame is mapped (i.e. made
@@ -413,7 +1042,7 @@ Consoles and Devices
    A "console" is an object representing a single input connection to
 XEmacs, such as an X display or a TTY connection.  It is possible for
 XEmacs to have frames on multiple consoles at once (even on
-heterogeneous types - you can simultaneously have a frame on an X
+heterogeneous types--you can simultaneously have a frame on an X
 display and a TTY connection).  Normally, there is only one console in
 existence.
 
@@ -449,10 +1078,10 @@ example the frame-creation functions) take an optional device argument
 specifying which device the function pertains to.  If the argument is
 omitted, it defaults to the selected device (see below).
 
- - Function: consolep OBJECT
+ - Function: consolep object
      This returns non-`nil' if OBJECT is a console.
 
- - Function: devicep OBJECT
+ - Function: devicep object
      This returns non-`nil' if OBJECT is a device.
 
 * Menu:
@@ -474,7 +1103,7 @@ Basic Console Functions
  - Function: console-list
      This function returns a list of all existing consoles.
 
- - Function: console-device-list &optional CONSOLE
+ - Function: console-device-list &optional console
      This function returns a list of all devices on CONSOLE.  If
      CONSOLE is `nil', the selected console will be used.
 
@@ -487,15 +1116,15 @@ Basic Device Functions
  - Function: device-list
      This function returns a list of all existing devices.
 
- - Function: device-or-frame-p OBJECT
+ - Function: device-or-frame-p object
      This function returns non-`nil' if OBJECT is a device or frame.
      This function is useful because devices and frames are similar in
      many respects and many functions can operate on either one.
 
- - Function: device-frame-list DEVICE
+ - Function: device-frame-list device
      This function returns a list of all frames on DEVICE.
 
- - Function: frame-device FRAME
+ - Function: frame-device frame
      This function returns the device that FRAME is on.
 
 \1f
@@ -536,23 +1165,23 @@ particular "class", which describes other characteristics of the device
 `mono'
      A device that can only display two colors (e.g. black and white).
 
- - Function: device-type DEVICE
+ - Function: device-type device
      This function returns the type of DEVICE.  This is a symbol whose
      name is one of the device types mentioned above.
 
- - Function: device-or-frame-type DEVICE-OR-FRAME
+ - Function: device-or-frame-type device-or-frame
      This function returns the type of DEVICE-OR-FRAME.
 
- - Function: device-class DEVICE
+ - Function: device-class device
      This function returns the class (color behavior) of DEVICE.  This
      is a symbol whose name is one of the device classes mentioned
      above.
 
- - Function: valid-device-type-p DEVICE-TYPE
+ - Function: valid-device-type-p device-type
      This function returns whether DEVICE-TYPE (which should be a
      symbol) species a valid device type.
 
- - Function: valid-device-class-p DEVICE-CLASS
+ - Function: valid-device-class-p device-class
      This function returns whether DEVICE-CLASS (which should be a
      symbol) species a valid device class.
 
@@ -566,13 +1195,13 @@ File: lispref.info,  Node: Connecting to a Console or Device,  Next: The Selecte
 Connecting to a Console or Device
 =================================
 
- - Function: make-device &optional TYPE DEVICE-DATA
+ - Function: make-device &optional type device-data
      This function creates a new device.
 
    The following two functions create devices of specific types and are
 written in terms of `make-device'.
 
- - Function: make-tty-device &optional TTY TERMINAL-TYPE
+ - Function: make-tty-device &optional tty terminal-type
      This function creates a new tty device on TTY.  This also creates
      the tty's first frame.  TTY should be a string giving the name of
      a tty device file (e.g. `/dev/ttyp3' under SunOS et al.), as
@@ -583,12 +1212,12 @@ written in terms of `make-device'.
      If it is `nil', the terminal type will be inferred from the
      `TERM' environment variable.
 
- - Function: make-x-device &optional DISPLAY ARGV-LIST
+ - Function: make-x-device &optional display argv-list
      This function creates a new device connected to DISPLAY.  Optional
      argument ARGV-LIST is a list of strings describing command line
      options.
 
- - Function: delete-device DEVICE
+ - Function: delete-device device
      This function deletes DEVICE, permanently eliminating it from use.
      This disconnects XEmacs's connection to the device.
 
@@ -600,614 +1229,15 @@ written in terms of `make-device'.
      This variable, if non-`nil', should contain a list of functions,
      which are called when a device is deleted.
 
- - Function: console-live-p OBJECT
+ - Function: console-live-p object
      This function returns non-`nil' if OBJECT is a console that has
      not been deleted.
 
- - Function: device-live-p OBJECT
+ - Function: device-live-p object
      This function returns non-`nil' if OBJECT is a device that has not
      been deleted.
 
- - Function: device-x-display DEVICE
+ - Function: device-x-display device
      This function returns the X display which DEVICE is connected to,
      if DEVICE is an X device.
 
-\1f
-File: lispref.info,  Node: The Selected Console and Device,  Next: Console and Device I/O,  Prev: Connecting to a Console or Device,  Up: Consoles and Devices
-
-The Selected Console and Device
-===============================
-
- - Function: select-console CONSOLE
-     This function selects the console CONSOLE.  Subsequent editing
-     commands apply to its selected device, selected frame, and selected
-     window.  The selection of CONSOLE lasts until the next time the
-     user does something to select a different console, or until the
-     next time this function is called.
-
- - Function: selected-console
-     This function returns the console which is currently active.
-
- - Function: select-device DEVICE
-     This function selects the device DEVICE.
-
- - Function: selected-device &optional CONSOLE
-     This function returns the device which is currently active.  If
-     optional CONSOLE is non-`nil', this function returns the device
-     that would be currently active if CONSOLE were the selected
-     console.
-
-\1f
-File: lispref.info,  Node: Console and Device I/O,  Prev: The Selected Console and Device,  Up: Consoles and Devices
-
-Console and Device I/O
-======================
-
- - Function: console-disable-input CONSOLE
-     This function disables input on console CONSOLE.
-
- - Function: console-enable-input CONSOLE
-     This function enables input on console CONSOLE.
-
-   Each device has a "baud rate" value associated with it.  On most
-systems, changing this value will affect the amount of padding and
-other strategic decisions made during redisplay.
-
- - Function: device-baud-rate &optional DEVICE
-     This function returns the output baud rate of DEVICE.
-
- - Function: set-device-baud-rate DEVICE RATE
-     This function sets the output baud rate of DEVICE to RATE.
-
-\1f
-File: lispref.info,  Node: Positions,  Next: Markers,  Prev: Consoles and Devices,  Up: Top
-
-Positions
-*********
-
-   A "position" is the index of a character in the text of a buffer.
-More precisely, a position identifies the place between two characters
-(or before the first character, or after the last character), so we can
-speak of the character before or after a given position.  However, we
-often speak of the character "at" a position, meaning the character
-after that position.
-
-   Positions are usually represented as integers starting from 1, but
-can also be represented as "markers"--special objects that relocate
-automatically when text is inserted or deleted so they stay with the
-surrounding characters.  *Note Markers::.
-
-* Menu:
-
-* Point::         The special position where editing takes place.
-* Motion::        Changing point.
-* Excursions::    Temporary motion and buffer changes.
-* Narrowing::     Restricting editing to a portion of the buffer.
-
-\1f
-File: lispref.info,  Node: Point,  Next: Motion,  Up: Positions
-
-Point
-=====
-
-   "Point" is a special buffer position used by many editing commands,
-including the self-inserting typed characters and text insertion
-functions.  Other commands move point through the text to allow editing
-and insertion at different places.
-
-   Like other positions, point designates a place between two characters
-(or before the first character, or after the last character), rather
-than a particular character.  Usually terminals display the cursor over
-the character that immediately follows point; point is actually before
-the character on which the cursor sits.
-
-   The value of point is a number between 1 and the buffer size plus 1.
-If narrowing is in effect (*note Narrowing::.), then point is
-constrained to fall within the accessible portion of the buffer
-(possibly at one end of it).
-
-   Each buffer has its own value of point, which is independent of the
-value of point in other buffers.  Each window also has a value of point,
-which is independent of the value of point in other windows on the same
-buffer.  This is why point can have different values in various windows
-that display the same buffer.  When a buffer appears in only one window,
-the buffer's point and the window's point normally have the same value,
-so the distinction is rarely important.  *Note Window Point::, for more
-details.
-
- - Function: point &optional BUFFER
-     This function returns the value of point in BUFFER, as an integer.
-     BUFFER defaults to the current buffer if omitted.
-
-          (point)
-               => 175
-
- - Function: point-min &optional BUFFER
-     This function returns the minimum accessible value of point in
-     BUFFER.  This is normally 1, but if narrowing is in effect, it is
-     the position of the start of the region that you narrowed to.
-     (*Note Narrowing::.) BUFFER defaults to the current buffer if
-     omitted.
-
- - Function: point-max &optional BUFFER
-     This function returns the maximum accessible value of point in
-     BUFFER.  This is `(1+ (buffer-size buffer))', unless narrowing is
-     in effect, in which case it is the position of the end of the
-     region that you narrowed to. (*note Narrowing::.).  BUFFER
-     defaults to the current buffer if omitted.
-
- - Function: buffer-end FLAG &optional BUFFER
-     This function returns `(point-min buffer)' if FLAG is less than 1,
-     `(point-max buffer)' otherwise.  The argument FLAG must be a
-     number.  BUFFER defaults to the current buffer if omitted.
-
- - Function: buffer-size &optional BUFFER
-     This function returns the total number of characters in BUFFER.
-     In the absence of any narrowing (*note Narrowing::.), `point-max'
-     returns a value one larger than this.  BUFFER defaults to the
-     current buffer if omitted.
-
-          (buffer-size)
-               => 35
-          (point-max)
-               => 36
-
- - Variable: buffer-saved-size
-     The value of this buffer-local variable is the former length of the
-     current buffer, as of the last time it was read in, saved or
-     auto-saved.
-
-\1f
-File: lispref.info,  Node: Motion,  Next: Excursions,  Prev: Point,  Up: Positions
-
-Motion
-======
-
-   Motion functions change the value of point, either relative to the
-current value of point, relative to the beginning or end of the buffer,
-or relative to the edges of the selected window.  *Note Point::.
-
-* Menu:
-
-* Character Motion::       Moving in terms of characters.
-* Word Motion::            Moving in terms of words.
-* Buffer End Motion::      Moving to the beginning or end of the buffer.
-* Text Lines::             Moving in terms of lines of text.
-* Screen Lines::           Moving in terms of lines as displayed.
-* List Motion::            Moving by parsing lists and sexps.
-* Skipping Characters::    Skipping characters belonging to a certain set.
-
-\1f
-File: lispref.info,  Node: Character Motion,  Next: Word Motion,  Up: Motion
-
-Motion by Characters
---------------------
-
-   These functions move point based on a count of characters.
-`goto-char' is the fundamental primitive; the other functions use that.
-
- - Command: goto-char POSITION &optional BUFFER
-     This function sets point in `buffer' to the value POSITION.  If
-     POSITION is less than 1, it moves point to the beginning of the
-     buffer.  If POSITION is greater than the length of the buffer, it
-     moves point to the end.  BUFFER defaults to the current buffer if
-     omitted.
-
-     If narrowing is in effect, POSITION still counts from the
-     beginning of the buffer, but point cannot go outside the accessible
-     portion.  If POSITION is out of range, `goto-char' moves point to
-     the beginning or the end of the accessible portion.
-
-     When this function is called interactively, POSITION is the
-     numeric prefix argument, if provided; otherwise it is read from the
-     minibuffer.
-
-     `goto-char' returns POSITION.
-
- - Command: forward-char &optional COUNT BUFFER
-     This function moves point COUNT characters forward, towards the
-     end of the buffer (or backward, towards the beginning of the
-     buffer, if COUNT is negative).  If the function attempts to move
-     point past the beginning or end of the buffer (or the limits of
-     the accessible portion, when narrowing is in effect), an error is
-     signaled with error code `beginning-of-buffer' or `end-of-buffer'.
-     BUFFER defaults to the current buffer if omitted.
-
-     In an interactive call, COUNT is the numeric prefix argument.
-
- - Command: backward-char &optional COUNT BUFFER
-     This function moves point COUNT characters backward, towards the
-     beginning of the buffer (or forward, towards the end of the
-     buffer, if COUNT is negative).  If the function attempts to move
-     point past the beginning or end of the buffer (or the limits of
-     the accessible portion, when narrowing is in effect), an error is
-     signaled with error code `beginning-of-buffer' or `end-of-buffer'.
-     BUFFER defaults to the current buffer if omitted.
-
-     In an interactive call, COUNT is the numeric prefix argument.
-
-\1f
-File: lispref.info,  Node: Word Motion,  Next: Buffer End Motion,  Prev: Character Motion,  Up: Motion
-
-Motion by Words
----------------
-
-   These functions for parsing words use the syntax table to decide
-whether a given character is part of a word.  *Note Syntax Tables::.
-
- - Command: forward-word COUNT &optional BUFFER
-     This function moves point forward COUNT words (or backward if
-     COUNT is negative).  Normally it returns `t'.  If this motion
-     encounters the beginning or end of the buffer, or the limits of the
-     accessible portion when narrowing is in effect, point stops there
-     and the value is `nil'.  BUFFER defaults to the current buffer if
-     omitted.
-
-     In an interactive call, COUNT is set to the numeric prefix
-     argument.
-
- - Command: backward-word COUNT &optional BUFFER
-     This function is just like `forward-word', except that it moves
-     backward until encountering the front of a word, rather than
-     forward.  BUFFER defaults to the current buffer if omitted.
-
-     In an interactive call, COUNT is set to the numeric prefix
-     argument.
-
-     This function is rarely used in programs, as it is more efficient
-     to call `forward-word' with a negative argument.
-
- - Variable: words-include-escapes
-     This variable affects the behavior of `forward-word' and everything
-     that uses it.  If it is non-`nil', then characters in the "escape"
-     and "character quote" syntax classes count as part of words.
-     Otherwise, they do not.
-
-\1f
-File: lispref.info,  Node: Buffer End Motion,  Next: Text Lines,  Prev: Word Motion,  Up: Motion
-
-Motion to an End of the Buffer
-------------------------------
-
-   To move point to the beginning of the buffer, write:
-
-     (goto-char (point-min))
-
-Likewise, to move to the end of the buffer, use:
-
-     (goto-char (point-max))
-
-   Here are two commands that users use to do these things.  They are
-documented here to warn you not to use them in Lisp programs, because
-they set the mark and display messages in the echo area.
-
- - Command: beginning-of-buffer &optional N
-     This function moves point to the beginning of the buffer (or the
-     limits of the accessible portion, when narrowing is in effect),
-     setting the mark at the previous position.  If N is non-`nil',
-     then it puts point N tenths of the way from the beginning of the
-     buffer.
-
-     In an interactive call, N is the numeric prefix argument, if
-     provided; otherwise N defaults to `nil'.
-
-     Don't use this function in Lisp programs!
-
- - Command: end-of-buffer &optional N
-     This function moves point to the end of the buffer (or the limits
-     of the accessible portion, when narrowing is in effect), setting
-     the mark at the previous position.  If N is non-`nil', then it puts
-     point N tenths of the way from the end of the buffer.
-
-     In an interactive call, N is the numeric prefix argument, if
-     provided; otherwise N defaults to `nil'.
-
-     Don't use this function in Lisp programs!
-
-\1f
-File: lispref.info,  Node: Text Lines,  Next: Screen Lines,  Prev: Buffer End Motion,  Up: Motion
-
-Motion by Text Lines
---------------------
-
-   Text lines are portions of the buffer delimited by newline
-characters, which are regarded as part of the previous line.  The first
-text line begins at the beginning of the buffer, and the last text line
-ends at the end of the buffer whether or not the last character is a
-newline.  The division of the buffer into text lines is not affected by
-the width of the window, by line continuation in display, or by how
-tabs and control characters are displayed.
-
- - Command: goto-line LINE
-     This function moves point to the front of the LINEth line,
-     counting from line 1 at beginning of the buffer.  If LINE is less
-     than 1, it moves point to the beginning of the buffer.  If LINE is
-     greater than the number of lines in the buffer, it moves point to
-     the end of the buffer--that is, the *end of the last line* of the
-     buffer.  This is the only case in which `goto-line' does not
-     necessarily move to the beginning of a line.
-
-     If narrowing is in effect, then LINE still counts from the
-     beginning of the buffer, but point cannot go outside the accessible
-     portion.  So `goto-line' moves point to the beginning or end of the
-     accessible portion, if the line number specifies an inaccessible
-     position.
-
-     The return value of `goto-line' is the difference between LINE and
-     the line number of the line to which point actually was able to
-     move (in the full buffer, before taking account of narrowing).
-     Thus, the value is positive if the scan encounters the real end of
-     the buffer.  The value is zero if scan encounters the end of the
-     accessible portion but not the real end of the buffer.
-
-     In an interactive call, LINE is the numeric prefix argument if one
-     has been provided.  Otherwise LINE is read in the minibuffer.
-
- - Command: beginning-of-line &optional COUNT BUFFER
-     This function moves point to the beginning of the current line.
-     With an argument COUNT not `nil' or 1, it moves forward COUNT-1
-     lines and then to the beginning of the line.  BUFFER defaults to
-     the current buffer if omitted.
-
-     If this function reaches the end of the buffer (or of the
-     accessible portion, if narrowing is in effect), it positions point
-     there.  No error is signaled.
-
- - Command: end-of-line &optional COUNT BUFFER
-     This function moves point to the end of the current line.  With an
-     argument COUNT not `nil' or 1, it moves forward COUNT-1 lines and
-     then to the end of the line.  BUFFER defaults to the current
-     buffer if omitted.
-
-     If this function reaches the end of the buffer (or of the
-     accessible portion, if narrowing is in effect), it positions point
-     there.  No error is signaled.
-
- - Command: forward-line &optional COUNT BUFFER
-     This function moves point forward COUNT lines, to the beginning of
-     the line.  If COUNT is negative, it moves point -COUNT lines
-     backward, to the beginning of a line.  If COUNT is zero, it moves
-     point to the beginning of the current line.  BUFFER defaults to
-     the current buffer if omitted.
-
-     If `forward-line' encounters the beginning or end of the buffer (or
-     of the accessible portion) before finding that many lines, it sets
-     point there.  No error is signaled.
-
-     `forward-line' returns the difference between COUNT and the number
-     of lines actually moved.  If you attempt to move down five lines
-     from the beginning of a buffer that has only three lines, point
-     stops at the end of the last line, and the value will be 2.
-
-     In an interactive call, COUNT is the numeric prefix argument.
-
- - Function: count-lines START END
-     This function returns the number of lines between the positions
-     START and END in the current buffer.  If START and END are equal,
-     then it returns 0.  Otherwise it returns at least 1, even if START
-     and END are on the same line.  This is because the text between
-     them, considered in isolation, must contain at least one line
-     unless it is empty.
-
-     Here is an example of using `count-lines':
-
-          (defun current-line ()
-            "Return the vertical position of point..."
-            (+ (count-lines (window-start) (point))
-               (if (= (current-column) 0) 1 0)
-               -1))
-
-   Also see the functions `bolp' and `eolp' in *Note Near Point::.
-These functions do not move point, but test whether it is already at the
-beginning or end of a line.
-
-\1f
-File: lispref.info,  Node: Screen Lines,  Next: List Motion,  Prev: Text Lines,  Up: Motion
-
-Motion by Screen Lines
-----------------------
-
-   The line functions in the previous section count text lines,
-delimited only by newline characters.  By contrast, these functions
-count screen lines, which are defined by the way the text appears on
-the screen.  A text line is a single screen line if it is short enough
-to fit the width of the selected window, but otherwise it may occupy
-several screen lines.
-
-   In some cases, text lines are truncated on the screen rather than
-continued onto additional screen lines.  In these cases,
-`vertical-motion' moves point much like `forward-line'.  *Note
-Truncation::.
-
-   Because the width of a given string depends on the flags that control
-the appearance of certain characters, `vertical-motion' behaves
-differently, for a given piece of text, depending on the buffer it is
-in, and even on the selected window (because the width, the truncation
-flag, and display table may vary between windows).  *Note Usual
-Display::.
-
-   These functions scan text to determine where screen lines break, and
-thus take time proportional to the distance scanned.  If you intend to
-use them heavily, Emacs provides caches which may improve the
-performance of your code.  *Note cache-long-line-scans: Text Lines.
-
- - Function: vertical-motion COUNT &optional WINDOW PIXELS
-     This function moves point to the start of the frame line COUNT
-     frame lines down from the frame line containing point.  If COUNT
-     is negative, it moves up instead.  The optional second argument
-     WINDOW may be used to specify a window other than the selected
-     window in which to perform the motion.
-
-     Normally, `vertical-motion' returns the number of lines moved.  The
-     value may be less in absolute value than COUNT if the beginning or
-     end of the buffer was reached.  If the optional third argument,
-     PIXELS is non-`nil', the vertical pixel height of the motion which
-     took place is returned instead of the actual number of lines
-     moved.  A motion of zero lines returns the height of the current
-     line.
-
-     Note that `vertical-motion' sets WINDOW's buffer's point, not
-     WINDOW's point. (This differs from FSF Emacs, which buggily always
-     sets current buffer's point, regardless of WINDOW.)
-
- - Function: vertical-motion-pixels COUNT &optional WINDOW HOW
-     This function moves point to the start of the frame line PIXELS
-     vertical pixels down from the frame line containing point, or up if
-     PIXELS is negative.  The optional second argument WINDOW is the
-     window to move in, and defaults to the selected window.  The
-     optional third argument HOW specifies the stopping condition.  A
-     negative integer indicates that the motion should be no more than
-     PIXELS.  A positive value indicates that the motion should be at
-     least PIXELS.  Any other value indicates that the motion should be
-     as close as possible to PIXELS.
-
- - Command: move-to-window-line COUNT &optional WINDOW
-     This function moves point with respect to the text currently
-     displayed in WINDOW, which defaults to the selected window.  It
-     moves point to the beginning of the screen line COUNT screen lines
-     from the top of the window.  If COUNT is negative, that specifies a
-     position -COUNT lines from the bottom (or the last line of the
-     buffer, if the buffer ends above the specified screen position).
-
-     If COUNT is `nil', then point moves to the beginning of the line
-     in the middle of the window.  If the absolute value of COUNT is
-     greater than the size of the window, then point moves to the place
-     that would appear on that screen line if the window were tall
-     enough.  This will probably cause the next redisplay to scroll to
-     bring that location onto the screen.
-
-     In an interactive call, COUNT is the numeric prefix argument.
-
-     The value returned is the window line number point has moved to,
-     with the top line in the window numbered 0.
-
-\1f
-File: lispref.info,  Node: List Motion,  Next: Skipping Characters,  Prev: Screen Lines,  Up: Motion
-
-Moving over Balanced Expressions
---------------------------------
-
-   Here are several functions concerned with balanced-parenthesis
-expressions (also called "sexps" in connection with moving across them
-in XEmacs).  The syntax table controls how these functions interpret
-various characters; see *Note Syntax Tables::.  *Note Parsing
-Expressions::, for lower-level primitives for scanning sexps or parts of
-sexps.  For user-level commands, see *Note Lists and Sexps:
-(emacs)Lists and Sexps.
-
- - Command: forward-list &optional ARG
-     This function moves forward across ARG balanced groups of
-     parentheses. (Other syntactic entities such as words or paired
-     string quotes are ignored.) ARG defaults to 1 if omitted.  If ARG
-     is negative, move backward across that many groups of parentheses.
-
- - Command: backward-list &optional ARG
-     This function moves backward across ARG balanced groups of
-     parentheses. (Other syntactic entities such as words or paired
-     string quotes are ignored.) ARG defaults to 1 if omitted.  If ARG
-     is negative, move forward across that many groups of parentheses.
-
- - Command: up-list ARG
-     This function moves forward out of ARG levels of parentheses.  A
-     negative argument means move backward but still to a less deep
-     spot.
-
- - Command: down-list ARG
-     This function moves forward into ARG levels of parentheses.  A
-     negative argument means move backward but still go deeper in
-     parentheses (-ARG levels).
-
- - Command: forward-sexp &optional ARG
-     This function moves forward across ARG balanced expressions.
-     Balanced expressions include both those delimited by parentheses
-     and other kinds, such as words and string constants.  ARG defaults
-     to 1 if omitted.  If ARG is negative, move backward across that
-     many balanced expressions.  For example,
-
-          ---------- Buffer: foo ----------
-          (concat-!- "foo " (car x) y z)
-          ---------- Buffer: foo ----------
-          
-          (forward-sexp 3)
-               => nil
-          
-          ---------- Buffer: foo ----------
-          (concat "foo " (car x) y-!- z)
-          ---------- Buffer: foo ----------
-
- - Command: backward-sexp &optional ARG
-     This function moves backward across ARG balanced expressions.  ARG
-     defaults to 1 if omitted.  If ARG is negative, move forward across
-     that many balanced expressions.
-
- - Command: beginning-of-defun &optional ARG
-     This function moves back to the ARGth beginning of a defun.  If
-     ARG is negative, this actually moves forward, but it still moves
-     to the beginning of a defun, not to the end of one.  ARG defaults
-     to 1 if omitted.
-
- - Command: end-of-defun &optional ARG
-     This function moves forward to the ARGth end of a defun.  If ARG
-     is negative, this actually moves backward, but it still moves to
-     the end of a defun, not to the beginning of one.  ARG defaults to
-     1 if omitted.
-
- - User Option: defun-prompt-regexp
-     If non-`nil', this variable holds a regular expression that
-     specifies what text can appear before the open-parenthesis that
-     starts a defun.  That is to say, a defun begins on a line that
-     starts with a match for this regular expression, followed by a
-     character with open-parenthesis syntax.
-
-\1f
-File: lispref.info,  Node: Skipping Characters,  Prev: List Motion,  Up: Motion
-
-Skipping Characters
--------------------
-
-   The following two functions move point over a specified set of
-characters.  For example, they are often used to skip whitespace.  For
-related functions, see *Note Motion and Syntax::.
-
- - Function: skip-chars-forward CHARACTER-SET &optional LIMIT BUFFER
-     This function moves point in BUFFER forward, skipping over a given
-     set of characters.  It examines the character following point,
-     then advances point if the character matches CHARACTER-SET.  This
-     continues until it reaches a character that does not match.  The
-     function returns `nil'.  BUFFER defaults to the current buffer if
-     omitted.
-
-     The argument CHARACTER-SET is like the inside of a `[...]' in a
-     regular expression except that `]' is never special and `\' quotes
-     `^', `-' or `\'.  Thus, `"a-zA-Z"' skips over all letters,
-     stopping before the first non-letter, and `"^a-zA-Z'" skips
-     non-letters stopping before the first letter.  *Note Regular
-     Expressions::.
-
-     If LIMIT is supplied (it must be a number or a marker), it
-     specifies the maximum position in the buffer that point can be
-     skipped to.  Point will stop at or before LIMIT.
-
-     In the following example, point is initially located directly
-     before the `T'.  After the form is evaluated, point is located at
-     the end of that line (between the `t' of `hat' and the newline).
-     The function skips all letters and spaces, but not newlines.
-
-          ---------- Buffer: foo ----------
-          I read "-!-The cat in the hat
-          comes back" twice.
-          ---------- Buffer: foo ----------
-          
-          (skip-chars-forward "a-zA-Z ")
-               => nil
-          
-          ---------- Buffer: foo ----------
-          I read "The cat in the hat-!-
-          comes back" twice.
-          ---------- Buffer: foo ----------
-
- - Function: skip-chars-backward CHARACTER-SET &optional LIMIT BUFFER
-     This function moves point backward, skipping characters that match
-     CHARACTER-SET, until LIMIT.  It just like `skip-chars-forward'
-     except for the direction of motion.
-