@node Group Definitions
@section Defining Custom Groups
+@cindex define custom group
@cindex custom groups, how to define
Each Emacs Lisp package should have one main customization group which
@node Variable Definitions
@section Defining Customization Variables
+@cindex define customization options
@cindex customization variables, how to define
@cindex declare user-editable variables
@node Scroll Bars
@section Scroll Bars
+@cindex scroll bars
Normally the frame parameter @code{vertical-scroll-bars} controls
whether the windows in the frame have vertical scroll bars, and
@node Frame Titles
@section Frame Titles
+@cindex frame title
Every frame has a @code{name} parameter; this serves as the default
for the frame title which window systems typically display at the top of
@kindex wrong-number-of-arguments
@cindex argument binding
@cindex binding arguments
+@cindex argument lists, features
Our simple sample function, @code{(lambda (a b c) (+ a b c))},
specifies three argument variables, so it must be called with three
@node Creating Hash
@section Creating Hash Tables
+@cindex create hash table
The principal function for creating a hash table is
@code{make-hash-table}.
@node Defining Hash
@section Defining Hash Comparisons
@cindex hash code
+@cindex define hash comparisons
You can define new methods of key lookup by means of
@code{define-hash-table-test}. In order to use this feature, you need
@node Searching Keymaps
@section Searching the Active Keymaps
+@cindex search active keymaps for keys
After translation of event subsequences (@pxref{Translation
Keymaps}) Emacs looks for them in the active keymaps. Here is a
@node Translation Keymaps
@section Keymaps for Translating Sequences of Events
+@cindex keymaps for translating events
This section describes keymaps that are used during reading a key
sequence, to translate certain event sequences into others.
@node Library Search
@section Library Search
+@cindex library search
+@cindex find library
When Emacs loads a Lisp library, it searches for the library
in a list of directories specified by the variable @code{load-path}.
@node Minibuffer Completion
@subsection Completion and the Minibuffer
+@cindex minibuffer completion
+@cindex reading from minibuffer with completion
This section describes the basic interface for reading from the
minibuffer with completion.
@node Recursive Mini
@section Recursive Minibuffers
+@cindex recursive minibuffers
These functions and variables deal with recursive minibuffers
(@pxref{Recursive Editing}):
@node Predicates on Numbers
@section Type Predicates for Numbers
+@cindex predicates for numbers
The functions in this section test for numbers, or for a specific
type of number. The functions @code{integerp} and @code{floatp} can
@node Comparison of Numbers
@section Comparison of Numbers
@cindex number equality
+@cindex number comparison
+@cindex compare numbers
To test numbers for numerical equality, you should normally use
@code{=}, not @code{eq}. There can be many distinct floating point
@node Numeric Conversions
@section Numeric Conversions
@cindex rounding in conversions
+@cindex numeric conversions
+@cindex convert number
To convert an integer to floating point, use the function @code{float}.
@node X11 Keysyms
@section Operating on X11 Keysyms
+@cindex x11 keysyms
To define system-specific X11 keysyms, set the variable
@code{system-key-alist}.
@node Shell Arguments
@section Shell Arguments
+@cindex pass arguments to shell commands
Lisp programs sometimes need to run a shell and give it a command
that contains file names that were specified by the user. These
@node Replacing Match
@subsection Replacing the Text that Matched
+@cindex replace match
This function replaces all or part of the text matched by the last
search. It works by means of the match data.
@node Search and Replace
@section Search and Replace
@cindex replacement
+@cindex search and replace
If you want to find all matches for a regexp in part of the buffer,
and replace them, the best way is to write an explicit loop using
@node Output Variables
@section Variables Affecting Output
+@cindex variables affecting output
@defvar standard-output
The value of this variable is the default output stream---the stream
@node Frame-Local Variables
@section Frame-Local Variables
+@cindex frame-local variables
Just as variables can have buffer-local bindings, they can also have
frame-local bindings. These bindings belong to one frame, and are in
@node Window Start
@section The Window Start Position
+@cindex window start position
Each window contains a marker used to keep track of a buffer position
that specifies where in the buffer display should start. This position
@node Window Hooks
@section Hooks for Window Scrolling and Changes
+@cindex hooks for window operations
This section describes how a Lisp program can take action whenever a
window displays a different part of its buffer or a different buffer.