summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doc/lispref/ChangeLog101
-rw-r--r--doc/lispref/abbrevs.texi9
-rw-r--r--doc/lispref/backups.texi4
-rw-r--r--doc/lispref/buffers.texi2
-rw-r--r--doc/lispref/commands.texi9
-rw-r--r--doc/lispref/compile.texi1
-rw-r--r--doc/lispref/control.texi5
-rw-r--r--doc/lispref/customize.texi4
-rw-r--r--doc/lispref/debugging.texi6
-rw-r--r--doc/lispref/display.texi27
-rw-r--r--doc/lispref/files.texi6
-rw-r--r--doc/lispref/frames.texi8
-rw-r--r--doc/lispref/functions.texi3
-rw-r--r--doc/lispref/hash.texi2
-rw-r--r--doc/lispref/help.texi2
-rw-r--r--doc/lispref/keymaps.texi4
-rw-r--r--doc/lispref/lists.texi9
-rw-r--r--doc/lispref/loading.texi4
-rw-r--r--doc/lispref/macros.texi3
-rw-r--r--doc/lispref/markers.texi7
-rw-r--r--doc/lispref/minibuf.texi5
-rw-r--r--doc/lispref/nonascii.texi5
-rw-r--r--doc/lispref/os.texi9
-rw-r--r--doc/lispref/positions.texi1
-rw-r--r--doc/lispref/processes.texi3
-rw-r--r--doc/lispref/searching.texi5
-rw-r--r--doc/lispref/strings.texi7
-rw-r--r--doc/lispref/syntax.texi7
-rw-r--r--doc/lispref/text.texi9
-rw-r--r--doc/lispref/variables.texi3
-rw-r--r--doc/lispref/windows.texi2
31 files changed, 272 insertions, 0 deletions
diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog
index 12554dd2321..5bf23bc895d 100644
--- a/doc/lispref/ChangeLog
+++ b/doc/lispref/ChangeLog
@@ -1,3 +1,104 @@
+2014-12-23 Eli Zaretskii <eliz@gnu.org>
+
+ * windows.texi (Recombining Windows): Index subject of sections.
+
+ * variables.texi (Variables with Restricted Values)
+ (Generalized Variables): Index subject of sections.
+
+ * text.texi (Buffer Contents, Examining Properties)
+ (Changing Properties, Property Search, Substitution): Index
+ subject of sections.
+
+ * syntax.texi (Motion and Syntax, Parsing Expressions)
+ (Motion via Parsing, Position Parse, Control Parsing): Index
+ subject of sections.
+
+ * strings.texi (Predicates for Strings, Creating Strings)
+ (Modifying Strings, Text Comparison): Index subject of sections.
+
+ * searching.texi (Syntax of Regexps, Regexp Special)
+ (Regexp Functions, Regexp Functions): Index subject of sections.
+
+ * processes.texi (Subprocess Creation, Process Information): Index
+ subject of sections.
+
+ * positions.texi (Screen Lines): Index subject of sections.
+
+ * nonascii.texi (Scanning Charsets, Specifying Coding Systems):
+ Index subject of sections.
+
+ * minibuf.texi (Text from Minibuffer, Object from Minibuffer)
+ (Multiple Queries, Minibuffer Contents): Index subject of
+ sections.
+
+ * markers.texi (Predicates on Markers, Creating Markers)
+ (Information from Markers, Moving Markers): Index subject of
+ sections.
+
+ * macros.texi (Defining Macros, Problems with Macros): Index
+ subject of sections.
+
+ * loading.texi (Loading Non-ASCII, Where Defined): Index subject
+ of sections.
+
+ * lists.texi (List-related Predicates, List Variables, Setcar)
+ (Setcdr, Plist Access): Index subject of sections.
+
+ * keymaps.texi (Controlling Active Maps, Scanning Keymaps)
+ (Modifying Menus): Index subject of sections.
+
+ * help.texi (Accessing Documentation, Help Functions): Index
+ subject of sections.
+
+ * hash.texi (Hash Access): Index subject of sections.
+
+ * functions.texi (Core Advising Primitives)
+ (Advising Named Functions, Porting old advices): Index subject of
+ sections.
+
+ * frames.texi (Creating Frames, Initial Parameters)
+ (Position Parameters, Buffer Parameters, Minibuffers and Frames)
+ (Pop-Up Menus, Drag and Drop): Index subject of sections.
+
+ * files.texi (Visiting Functions, Kinds of Files)
+ (Unique File Names): Index subject of sections.
+
+ * display.texi (Refresh Screen, Echo Area Customization)
+ (Warning Variables, Warning Options, Delayed Warnings)
+ (Temporary Displays, Managing Overlays, Overlay Properties)
+ (Finding Overlays, Size of Displayed Text, Defining Faces)
+ (Attribute Functions, Displaying Faces, Face Remapping)
+ (Basic Faces, Font Lookup, Fontsets, Replacing Specs)
+ (Defining Images, Showing Images): Index subject of sections.
+
+ * debugging.texi (Debugging, Explicit Debug)
+ (Invoking the Debugger, Excess Open, Excess Close): Index subject
+ of sections.
+
+ * customize.texi (Defining New Types, Applying Customizations)
+ (Custom Themes): Index subject of sections.
+
+ * control.texi (Sequencing, Combining Conditions)
+ (Processing of Errors, Cleanups): Index subject of sections.
+
+ * compile.texi (Eval During Compile): Index subject of sections.
+
+ * commands.texi (Using Interactive, Distinguish Interactive)
+ (Command Loop Info, Classifying Events, Event Mod)
+ (Invoking the Input Method): Index subject of sections.
+
+ * buffers.texi (Buffer List, Buffer Gap): Index subject of sections.
+
+ * backups.texi (Making Backups, Numbered Backups, Backup Names)
+ (Reverting): Index subject of sections.
+
+ * abbrevs.texi (Abbrev Tables, Defining Abbrevs, Abbrev Files)
+ (Abbrev Expansion, Standard Abbrev Tables, Abbrev Properties)
+ (Abbrev Table Properties): Index subject of sections.
+
+ * os.texi (Time of Day, Time Conversion, Time Parsing)
+ (Time Calculations, Idle Timers): Index subject of sections.
+
2014-12-18 Stefan Monnier <monnier@iro.umontreal.ca>
* display.texi (Forcing Redisplay): Remove references to
diff --git a/doc/lispref/abbrevs.texi b/doc/lispref/abbrevs.texi
index 73a3f5f1e05..c00af616240 100644
--- a/doc/lispref/abbrevs.texi
+++ b/doc/lispref/abbrevs.texi
@@ -59,6 +59,7 @@ expanded in the buffer. For the user-level commands for abbrevs, see
@node Abbrev Tables
@section Abbrev Tables
+@cindex abbrev tables
This section describes how to create and manipulate abbrev tables.
@@ -126,6 +127,7 @@ to add these to @var{name} separately.)
@node Defining Abbrevs
@section Defining Abbrevs
+@cindex defining abbrevs
@code{define-abbrev} is the low-level basic function for defining an
abbrev in an abbrev table.
@@ -181,6 +183,7 @@ callers.
@node Abbrev Files
@section Saving Abbrevs in Files
+@cindex save abbrevs in files
A file of saved abbrev definitions is actually a file of Lisp code.
The abbrevs are saved in the form of a Lisp program to define the same
@@ -232,6 +235,9 @@ define the same abbrevs. If @var{filename} is @code{nil} or omitted,
@node Abbrev Expansion
@section Looking Up and Expanding Abbreviations
+@cindex looking up abbrevs
+@cindex expanding abbrevs
+@cindex abbrevs, looking up and expanding
Abbrevs are usually expanded by certain interactive commands,
including @code{self-insert-command}. This section describes the
@@ -367,6 +373,7 @@ definitions of @code{local-abbrev-table} and @code{text-mode-abbrev-table}.
@node Standard Abbrev Tables
@section Standard Abbrev Tables
+@cindex standard abbrev tables
Here we list the variables that hold the abbrev tables for the
preloaded major modes of Emacs.
@@ -409,6 +416,7 @@ Properties}.
@node Abbrev Properties
@section Abbrev Properties
+@cindex abbrev properties
Abbrevs have properties, some of which influence the way they work.
You can provide them as arguments to @code{define-abbrev}, and
@@ -449,6 +457,7 @@ modifies the capitalization of the expansion.
@node Abbrev Table Properties
@section Abbrev Table Properties
+@cindex abbrev table properties
Like abbrevs, abbrev tables have properties, some of which influence
the way they work. You can provide them as arguments to
diff --git a/doc/lispref/backups.texi b/doc/lispref/backups.texi
index 63f8f227c84..ca30f3e17ca 100644
--- a/doc/lispref/backups.texi
+++ b/doc/lispref/backups.texi
@@ -50,6 +50,7 @@ don't want them any more, or Emacs can delete them automatically.
@node Making Backups
@subsection Making Backup Files
+@cindex making backup files
@defun backup-buffer
This function makes a backup of the file visited by the current
@@ -238,6 +239,7 @@ The default is 200.
@node Numbered Backups
@subsection Making and Deleting Numbered Backup Files
+@cindex numbered backups
If a file's name is @file{foo}, the names of its numbered backup
versions are @file{foo.~@var{v}~}, for various integers @var{v}, like
@@ -299,6 +301,7 @@ file. The default is@tie{}2.
@node Backup Names
@subsection Naming Backup Files
+@cindex naming backup files
The functions in this section are documented mainly because you can
customize the naming conventions for backup files by redefining them.
@@ -668,6 +671,7 @@ not initialize @code{auto-save-list-file-name}.
@node Reverting
@section Reverting
+@cindex reverting buffers
If you have made extensive changes to a file and then change your mind
about them, you can get rid of them by reading in the previous version
diff --git a/doc/lispref/buffers.texi b/doc/lispref/buffers.texi
index 5ac2d6786e8..7c4fb876135 100644
--- a/doc/lispref/buffers.texi
+++ b/doc/lispref/buffers.texi
@@ -762,6 +762,7 @@ signal an error if the current buffer is read-only.
@node Buffer List
@section The Buffer List
@cindex buffer list
+@cindex listing all buffers
The @dfn{buffer list} is a list of all live buffers. The order of the
buffers in this list is based primarily on how recently each buffer has
@@ -1215,6 +1216,7 @@ in the text it is swapped with will not interfere with auto-saving.
@node Buffer Gap
@section The Buffer Gap
+@cindex buffer gap
Emacs buffers are implemented using an invisible @dfn{gap} to make
insertion and deletion faster. Insertion works by filling in part of
diff --git a/doc/lispref/commands.texi b/doc/lispref/commands.texi
index 5e22941c037..45654cf5e3f 100644
--- a/doc/lispref/commands.texi
+++ b/doc/lispref/commands.texi
@@ -144,6 +144,7 @@ Lisp code.
@node Using Interactive
@subsection Using @code{interactive}
@cindex arguments, interactive entry
+@cindex interactive spec, using
This section describes how to write the @code{interactive} form that
makes a Lisp function an interactively-callable command, and how to
@@ -744,6 +745,8 @@ part of the prompt.
@node Distinguish Interactive
@section Distinguish Interactive Calls
+@cindex distinguish interactive calls
+@cindex is this call interactive
Sometimes a command should display additional visual feedback (such
as an informative message in the echo area) for interactive calls
@@ -832,6 +835,7 @@ Here is another example that contrasts direct and indirect calls to
@node Command Loop Info
@section Information from the Command Loop
+@cindex command loop variables
The editor command loop sets several Lisp variables to keep status
records for itself and for commands that are run. With the exception of
@@ -1855,6 +1859,7 @@ bind it to the @code{signal usr1} event sequence:
@node Classifying Events
@subsection Classifying Events
@cindex event type
+@cindex classifying events
Every event has an @dfn{event type}, which classifies the event for
key binding purposes. For a keyboard event, the event type equals the
@@ -2580,6 +2585,9 @@ then continues to wait for a valid input character, or keyboard-quit.
@node Event Mod
@subsection Modifying and Translating Input Events
+@cindex modifiers of events
+@cindex translating input events
+@cindex event translation
Emacs modifies every event it reads according to
@code{extra-keyboard-modifiers}, then translates it through
@@ -2661,6 +2669,7 @@ at the level of @code{read-key-sequence}.
@node Invoking the Input Method
@subsection Invoking the Input Method
+@cindex invoking input method
The event-reading functions invoke the current input method, if any
(@pxref{Input Methods}). If the value of @code{input-method-function}
diff --git a/doc/lispref/compile.texi b/doc/lispref/compile.texi
index fe492df1d94..cb6cba99c11 100644
--- a/doc/lispref/compile.texi
+++ b/doc/lispref/compile.texi
@@ -347,6 +347,7 @@ it does nothing. It always returns @var{function}.
@node Eval During Compile
@section Evaluation During Compilation
+@cindex eval during compilation
These features permit you to write code to be evaluated during
compilation of a program.
diff --git a/doc/lispref/control.texi b/doc/lispref/control.texi
index 800e174d3fc..62c73dd583b 100644
--- a/doc/lispref/control.texi
+++ b/doc/lispref/control.texi
@@ -44,6 +44,8 @@ structure constructs (@pxref{Macros}).
@node Sequencing
@section Sequencing
+@cindex sequencing
+@cindex sequential execution
Evaluating forms in the order they appear is the most common way
control passes from one form to another. In some contexts, such as in a
@@ -401,6 +403,7 @@ the variable @code{x}.
@node Combining Conditions
@section Constructs for Combining Conditions
+@cindex combining conditions
This section describes three constructs that are often used together
with @code{if} and @code{cond} to express complicated conditions. The
@@ -958,6 +961,7 @@ concept of continuable errors.
@node Processing of Errors
@subsubsection How Emacs Processes Errors
+@cindex processing of errors
When an error is signaled, @code{signal} searches for an active
@dfn{handler} for the error. A handler is a sequence of Lisp
@@ -1363,6 +1367,7 @@ and their conditions.
@node Cleanups
@subsection Cleaning Up from Nonlocal Exits
+@cindex nonlocal exits, cleaning up
The @code{unwind-protect} construct is essential whenever you
temporarily put a data structure in an inconsistent state; it permits
diff --git a/doc/lispref/customize.texi b/doc/lispref/customize.texi
index 0c6497fb4ef..cdf599b8f16 100644
--- a/doc/lispref/customize.texi
+++ b/doc/lispref/customize.texi
@@ -1227,6 +1227,8 @@ arguments, which will be used when creating the @code{radio-button} or
@node Defining New Types
@subsection Defining New Types
+@cindex customization types, define new
+@cindex define new customization types
In the previous sections we have described how to construct elaborate
type specifications for @code{defcustom}. In some cases you may want
@@ -1296,6 +1298,7 @@ its @code{:type} argument only when needed.
@node Applying Customizations
@section Applying Customizations
+@cindex applying customizations
The following functions are responsible for installing the user's
customization settings for variables and faces, respectively. When
@@ -1353,6 +1356,7 @@ evaluated. @var{comment} is a string describing the customization.
@node Custom Themes
@section Custom Themes
+@cindex custom themes
@dfn{Custom themes} are collections of settings that can be enabled
or disabled as a unit. @xref{Custom Themes,,, emacs, The GNU Emacs
Manual}. Each Custom theme is defined by an Emacs Lisp source file,
diff --git a/doc/lispref/debugging.texi b/doc/lispref/debugging.texi
index 66f12a022cb..0b3c47f4339 100644
--- a/doc/lispref/debugging.texi
+++ b/doc/lispref/debugging.texi
@@ -5,6 +5,7 @@
@c See the file elisp.texi for copying conditions.
@node Debugging
@chapter Debugging Lisp Programs
+@cindex debugging lisp programs
There are several ways to find and investigate problems in an Emacs
Lisp program.
@@ -284,6 +285,8 @@ not currently set up to break on entry.
@node Explicit Debug
@subsection Explicit Entry to the Debugger
+@cindex debugger, explicit entry
+@cindex force entry to debugger
You can cause the debugger to be called at a certain point in your
program by writing the expression @code{(debug)} at that point. To do
@@ -456,6 +459,7 @@ Toggle the display of local variables of the current stack frame.
@node Invoking the Debugger
@subsection Invoking the Debugger
+@cindex invoking lisp debugger
Here we describe in full detail the function @code{debug} that is used
to invoke the debugger.
@@ -707,6 +711,7 @@ find the mismatch.)
@node Excess Open
@subsection Excess Open Parentheses
+@cindex excess open parentheses
The first step is to find the defun that is unbalanced. If there is
an excess open parenthesis, the way to do this is to go to the end of
@@ -741,6 +746,7 @@ anything.
@node Excess Close
@subsection Excess Close Parentheses
+@cindex excess close parentheses
To deal with an excess close parenthesis, first go to the beginning
of the file, then type @kbd{C-u -1 C-M-u} to find the end of the first
diff --git a/doc/lispref/display.texi b/doc/lispref/display.texi
index c4753ecbb2a..5d3202e67ef 100644
--- a/doc/lispref/display.texi
+++ b/doc/lispref/display.texi
@@ -39,6 +39,8 @@ that Emacs presents to the user.
@node Refresh Screen
@section Refreshing the Screen
+@cindex refresh the screen
+@cindex screen refresh
The function @code{redraw-frame} clears and redisplays the entire
contents of a given frame (@pxref{Frames}). This is useful if the
@@ -509,6 +511,7 @@ are logged that share a common prefix ending in @samp{...}.
@node Echo Area Customization
@subsection Echo Area Customization
+@cindex echo area customization
These variables control details of how the echo area works.
@@ -636,6 +639,7 @@ specify a specific warning type.
@node Warning Variables
@subsection Warning Variables
+@cindex warning variables
Programs can customize how their warnings appear by binding
the variables described in this section.
@@ -713,6 +717,7 @@ all.
@node Warning Options
@subsection Warning Options
+@cindex warning options
These variables are used by users to control what happens
when a Lisp program reports a warning.
@@ -746,6 +751,7 @@ that warning is not logged.
@node Delayed Warnings
@subsection Delayed Warnings
+@cindex delayed warnings
Sometimes, you may wish to avoid showing a warning while a command is
running, and only show it only after the end of the command. You can
@@ -1069,6 +1075,8 @@ You can use a display table to substitute other text for the ellipsis
@node Temporary Displays
@section Temporary Displays
+@cindex temporary display
+@cindex temporary buffer display
Temporary displays are used by Lisp programs to put output into a
buffer and then present it to the user for perusal rather than for
@@ -1280,6 +1288,8 @@ inside the overlay or outside, and likewise for the end of the overlay.
@node Managing Overlays
@subsection Managing Overlays
+@cindex managing overlays
+@cindex overlays, managing
This section describes the functions to create, delete and move
overlays, and to examine their contents. Overlay changes are not
@@ -1440,6 +1450,7 @@ faster if you do @code{(overlay-recenter (point-max))} first.
@node Overlay Properties
@subsection Overlay Properties
+@cindex overlay properties
Overlay properties are like text properties in that the properties that
alter how a character is displayed can come from either source. But in
@@ -1692,6 +1703,8 @@ Properties}.
@node Finding Overlays
@subsection Searching for Overlays
+@cindex searching for overlays
+@cindex overlays, searching for
@defun overlays-at pos &optional sorted
This function returns a list of all the overlays that cover the character at
@@ -1759,6 +1772,8 @@ changes.
@node Size of Displayed Text
@section Size of Displayed Text
+@cindex size of text on display
+@cindex character width on display
Since not all characters have the same width, these functions let you
check the width of a character. @xref{Primitive Indent}, and
@@ -2249,6 +2264,7 @@ suitable for use with @code{:stipple} (see above). It returns
@node Defining Faces
@subsection Defining Faces
+@cindex defining faces
@cindex face spec
The usual way to define a face is through the @code{defface} macro.
@@ -2423,6 +2439,7 @@ Any other value of @var{spec-type} is reserved for internal use.
@node Attribute Functions
@subsection Face Attribute Functions
+@cindex face attributes, access and modification
This section describes functions for directly accessing and
modifying the attributes of a named face.
@@ -2624,6 +2641,8 @@ a non-@code{nil} @code{:inverse-video} attribute.
@node Displaying Faces
@subsection Displaying Faces
+@cindex displaying faces
+@cindex face merging
When Emacs displays a given piece of text, the visual appearance of
the text may be determined by faces drawn from different sources. If
@@ -2679,6 +2698,7 @@ at the next level of face merging.
@node Face Remapping
@subsection Face Remapping
+@cindex face remapping
The variable @code{face-remapping-alist} is used for buffer-local or
global changes in the appearance of a face. For instance, it is used
@@ -2876,6 +2896,7 @@ usually assign faces to around 400 to 600 characters at each call.
@node Basic Faces
@subsection Basic Faces
+@cindex basic faces
If your Emacs Lisp program needs to assign some faces to text, it is
often a good idea to use certain existing faces or inherit from them,
@@ -3042,6 +3063,8 @@ nominal heights and widths would suggest.
@node Font Lookup
@subsection Looking Up Fonts
+@cindex font lookup
+@cindex looking up fonts
@defun x-list-fonts name &optional reference-face frame maximum width
This function returns a list of available font names that match
@@ -3099,6 +3122,7 @@ encoding of the font.
@node Fontsets
@subsection Fontsets
+@cindex fontset
A @dfn{fontset} is a list of fonts, each assigned to a range of
character codes. An individual font cannot display the whole range of
@@ -4032,6 +4056,7 @@ display specifications and what they mean.
@node Replacing Specs
@subsection Display Specs That Replace The Text
+@cindex replacing display specs
Some kinds of display specifications specify something to display
instead of the text that has the property. These are called
@@ -4908,6 +4933,7 @@ Supports the @code{:index} property. @xref{Multi-Frame Images}.
@node Defining Images
@subsection Defining Images
+@cindex define image
The functions @code{create-image}, @code{defimage} and
@code{find-image} provide convenient ways to create image descriptors.
@@ -5035,6 +5061,7 @@ Here is an example of using @code{image-load-path-for-library}:
@node Showing Images
@subsection Showing Images
+@cindex show image
You can use an image descriptor by setting up the @code{display}
property yourself, but it is easier to use the functions in this
diff --git a/doc/lispref/files.texi b/doc/lispref/files.texi
index b071c6a8f35..895ae426a5f 100644
--- a/doc/lispref/files.texi
+++ b/doc/lispref/files.texi
@@ -81,6 +81,8 @@ computer program, however, it is good to keep the distinction in mind.
@node Visiting Functions
@subsection Functions for Visiting Files
+@cindex visiting files, functions for
+@cindex how to visit files
This section describes the functions normally used to visit files.
For historical reasons, these functions have names starting with
@@ -948,6 +950,8 @@ Unix. These conventions are also followed by @code{file-attributes}
@node Kinds of Files
@subsection Distinguishing Kinds of Files
+@cindex file classification
+@cindex classification of file types
This section describes how to distinguish various kinds of files, such
as directories, symbolic links, and ordinary files.
@@ -2285,6 +2289,8 @@ through the immediately preceding @samp{/}).
@node Unique File Names
@subsection Generating Unique File Names
+@cindex unique file names
+@cindex temporary files
Some programs need to write temporary files. Here is the usual way to
construct a name for such a file:
diff --git a/doc/lispref/frames.texi b/doc/lispref/frames.texi
index d5617ed3cfd..df8efee6e0c 100644
--- a/doc/lispref/frames.texi
+++ b/doc/lispref/frames.texi
@@ -106,6 +106,7 @@ for @code{framep} above.
@node Creating Frames
@section Creating Frames
+@cindex frame creation
To create a new frame, call the function @code{make-frame}.
@@ -484,6 +485,7 @@ parameter values to frames that will be created henceforth.
@node Initial Parameters
@subsection Initial Frame Parameters
+@cindex parameters of initial frame
You can specify the parameters for the initial startup frame by
setting @code{initial-frame-alist} in your init file (@pxref{Init
@@ -623,6 +625,7 @@ named, this parameter will be @code{nil}.
@node Position Parameters
@subsubsection Position Parameters
@cindex window position on display
+@cindex frame position
Position parameters' values are normally measured in pixels, but on
text terminals they count characters or lines instead.
@@ -839,6 +842,8 @@ integer). @xref{Line Height}, for more information.
@node Buffer Parameters
@subsubsection Buffer Parameters
+@cindex frame, which buffers to display
+@cindex buffers to display on frame
These frame parameters, meaningful on all kinds of terminals, deal
with which buffers have been, or should, be displayed in the frame.
@@ -1526,6 +1531,7 @@ is used whenever that frame is selected. If the frame has a minibuffer,
you can get it with @code{minibuffer-window} (@pxref{Definition of
minibuffer-window}).
+@cindex frame without a minibuffer
However, you can also create a frame with no minibuffer. Such a frame
must use the minibuffer window of some other frame. When you create the
frame, you can explicitly specify the minibuffer window to use (in some
@@ -1933,6 +1939,7 @@ allows to know if the pointer has been hidden.
@node Pop-Up Menus
@section Pop-Up Menus
+@cindex menus, popup
A Lisp program can pop up a menu so that the user can choose an
alternative with the mouse. On a text terminal, if the mouse is not
@@ -2197,6 +2204,7 @@ clipboard as empty.
@node Drag and Drop
@section Drag and Drop
+@cindex drag and drop
@vindex x-dnd-test-function
@vindex x-dnd-known-types
diff --git a/doc/lispref/functions.texi b/doc/lispref/functions.texi
index f551a6c749d..d9477d2c0b1 100644
--- a/doc/lispref/functions.texi
+++ b/doc/lispref/functions.texi
@@ -1215,6 +1215,7 @@ ways to do it. The added function is also called an @emph{advice}.
@node Core Advising Primitives
@subsection Primitives to manipulate advices
+@cindex advice, add and remove
@defmac add-function where place function &optional props
This macro is the handy way to add the advice @var{function} to the function
@@ -1313,6 +1314,7 @@ the current prefix argument.
@node Advising Named Functions
@subsection Advising Named Functions
+@cindex advising named functions
A common use of advice is for named functions and macros.
You could just use @code{add-function} as in:
@@ -1498,6 +1500,7 @@ More specifically, the composition of the two functions behaves like:
@node Porting old advices
@subsection Adapting code using the old defadvice
+@cindex old advices, porting
A lot of code uses the old @code{defadvice} mechanism, which is largely made
obsolete by the new @code{advice-add}, whose implementation and semantics is
diff --git a/doc/lispref/hash.texi b/doc/lispref/hash.texi
index 536777add72..323a2edca12 100644
--- a/doc/lispref/hash.texi
+++ b/doc/lispref/hash.texi
@@ -188,6 +188,8 @@ Such objects may be added to the hash table after it is created.
@node Hash Access
@section Hash Table Access
+@cindex accessing hash tables
+@cindex hash table access
This section describes the functions for accessing and storing
associations in a hash table. In general, any Lisp object can be used
diff --git a/doc/lispref/help.texi b/doc/lispref/help.texi
index 20fb0e651f9..2e3b51e28e2 100644
--- a/doc/lispref/help.texi
+++ b/doc/lispref/help.texi
@@ -90,6 +90,7 @@ hyperlinks in the @file{*Help*} buffer.)
@node Accessing Documentation
@section Access to Documentation Strings
+@cindex accessing documentation strings
@defun documentation-property symbol property &optional verbatim
This function returns the documentation string recorded in
@@ -507,6 +508,7 @@ non-@code{nil}, the return value is always a vector.
@node Help Functions
@section Help Functions
+@cindex help functions
Emacs provides a variety of built-in help functions, all accessible to
the user as subcommands of the prefix @kbd{C-h}. For more information
diff --git a/doc/lispref/keymaps.texi b/doc/lispref/keymaps.texi
index 7cc2b393456..d4299520510 100644
--- a/doc/lispref/keymaps.texi
+++ b/doc/lispref/keymaps.texi
@@ -782,6 +782,7 @@ Lookup}.
@node Controlling Active Maps
@section Controlling the Active Keymaps
+@cindex active keymap, controlling
@defvar global-map
This variable contains the default global keymap that maps Emacs
@@ -1825,6 +1826,8 @@ local map.
@node Scanning Keymaps
@section Scanning Keymaps
+@cindex scanning keymaps
+@cindex keymaps, scanning
This section describes functions used to scan all the current keymaps
for the sake of printing help information.
@@ -2794,6 +2797,7 @@ function keys.
@node Modifying Menus
@subsection Modifying Menus
+@cindex menu modification
When you insert a new item in an existing menu, you probably want to
put it in a particular place among the menu's existing items. If you
diff --git a/doc/lispref/lists.texi b/doc/lispref/lists.texi
index cde7d9ce44c..2e7b7384ae8 100644
--- a/doc/lispref/lists.texi
+++ b/doc/lispref/lists.texi
@@ -84,6 +84,8 @@ structure made out of cons cells as a @dfn{list structure}.
@node List-related Predicates
@section Predicates on Lists
+@cindex predicates for lists
+@cindex list predicates
The following predicates test whether a Lisp object is an atom,
whether it is a cons cell or is a list, or whether it is the
@@ -681,6 +683,8 @@ Some examples:
@node List Variables
@section Modifying List Variables
+@cindex modify a list
+@cindex list modification
These functions, and one macro, provide convenient ways
to modify a list which is stored in a variable.
@@ -837,6 +841,8 @@ new @sc{car} or @sc{cdr}.
@node Setcar
@subsection Altering List Elements with @code{setcar}
+@cindex replace list element
+@cindex list, replace element
Changing the @sc{car} of a cons cell is done with @code{setcar}. When
used on a list, @code{setcar} replaces one element of a list with a
@@ -942,6 +948,7 @@ x2: |
@node Setcdr
@subsection Altering the CDR of a List
+@cindex replace part of list
The lowest-level primitive for modifying a @sc{cdr} is @code{setcdr}:
@@ -1898,6 +1905,8 @@ and later discarded; this is not possible with a property list.
@node Plist Access
@subsection Property Lists Outside Symbols
+@cindex plist access
+@cindex accessing plist properties
The following functions can be used to manipulate property lists.
They all compare property names using @code{eq}.
diff --git a/doc/lispref/loading.texi b/doc/lispref/loading.texi
index a07c2e8a792..a0393c957d4 100644
--- a/doc/lispref/loading.texi
+++ b/doc/lispref/loading.texi
@@ -419,6 +419,8 @@ the shadowed files as a string.
@node Loading Non-ASCII
@section Loading Non-@acronym{ASCII} Characters
+@cindex loading, and non-ASCII characters
+@cindex non-ASCII characters in loaded files
When Emacs Lisp programs contain string constants with non-@acronym{ASCII}
characters, these can be represented within Emacs either as unibyte
@@ -907,6 +909,8 @@ with a call to @code{provide}. The order of the elements in the
@node Where Defined
@section Which File Defined a Certain Symbol
+@cindex symbol, where defined
+@cindex where was a symbol defined
@defun symbol-file symbol &optional type
This function returns the name of the file that defined @var{symbol}.
diff --git a/doc/lispref/macros.texi b/doc/lispref/macros.texi
index 9be12fa431b..8a4741c2ff1 100644
--- a/doc/lispref/macros.texi
+++ b/doc/lispref/macros.texi
@@ -194,6 +194,8 @@ During Compile}).
@node Defining Macros
@section Defining Macros
+@cindex defining macros
+@cindex macro, how to define
A Lisp macro object is a list whose @sc{car} is @code{macro}, and
whose @sc{cdr} is a function. Expansion of the macro works
@@ -253,6 +255,7 @@ Form}.
@node Problems with Macros
@section Common Problems Using Macros
+@cindex macro caveats
Macro expansion can have counterintuitive consequences. This
section describes some important consequences that can lead to
diff --git a/doc/lispref/markers.texi b/doc/lispref/markers.texi
index 51b87ab1e5b..5902a3a836f 100644
--- a/doc/lispref/markers.texi
+++ b/doc/lispref/markers.texi
@@ -118,6 +118,8 @@ m1
@node Predicates on Markers
@section Predicates on Markers
+@cindex predicates for markers
+@cindex markers, predicates for
You can test an object to see whether it is a marker, or whether it is
either an integer or a marker. The latter test is useful in connection
@@ -141,6 +143,8 @@ integer or floating point) or a marker, @code{nil} otherwise.
@node Creating Markers
@section Functions that Create Markers
+@cindex creating markers
+@cindex marker creation
When you create a new marker, you can make it point nowhere, or point
to the present position of point, or to the beginning or end of the
@@ -269,6 +273,7 @@ if they both point nowhere.
@node Information from Markers
@section Information from Markers
+@cindex marker information
This section describes the functions for accessing the components of a
marker object.
@@ -342,6 +347,8 @@ specify the insertion type, create them with insertion type
@node Moving Markers
@section Moving Marker Positions
+@cindex moving markers
+@cindex marker, how to move position
This section describes how to change the position of an existing
marker. When you do this, be sure you know whether the marker is used
diff --git a/doc/lispref/minibuf.texi b/doc/lispref/minibuf.texi
index 4a94f41d732..cf36953098f 100644
--- a/doc/lispref/minibuf.texi
+++ b/doc/lispref/minibuf.texi
@@ -107,6 +107,7 @@ password hiding, etc.) are available in batch mode.
@node Text from Minibuffer
@section Reading Text Strings with the Minibuffer
+@cindex minibuffer input, reading text strings
The most basic primitive for minibuffer input is
@code{read-from-minibuffer}, which can be used to read either a string
@@ -390,6 +391,7 @@ following bindings, in addition to those of @code{minibuffer-local-map}:
@node Object from Minibuffer
@section Reading Lisp Objects with the Minibuffer
+@cindex minibuffer input, reading lisp objects
This section describes functions for reading Lisp objects with the
minibuffer.
@@ -2021,6 +2023,7 @@ Do you really want to remove everything? (yes or no)
@node Multiple Queries
@section Asking Multiple Y-or-N Questions
+@cindex multiple yes-or-no questions
When you have a series of similar questions to ask, such as ``Do you
want to save this buffer'' for each buffer in turn, you should use
@@ -2238,6 +2241,8 @@ active minibuffer window.
@node Minibuffer Contents
@section Minibuffer Contents
+@cindex access minibuffer contents
+@cindex minibuffer contents, accessing
These functions access the minibuffer prompt and contents.
diff --git a/doc/lispref/nonascii.texi b/doc/lispref/nonascii.texi
index d5bfacca976..d5fabe71b07 100644
--- a/doc/lispref/nonascii.texi
+++ b/doc/lispref/nonascii.texi
@@ -757,6 +757,8 @@ of them is @code{nil}, it defaults to the first or last codepoint of
@node Scanning Charsets
@section Scanning for Character Sets
+@cindex scanning for character sets
+@cindex character set, searching
Sometimes it is useful to find out which character set a particular
character belongs to. One use for this is in determining which coding
@@ -1594,6 +1596,9 @@ contents (as it usually does), it should examine the contents of
@node Specifying Coding Systems
@subsection Specifying a Coding System for One Operation
+@cindex specify coding system
+@cindex force coding system for operation
+@cindex coding system for operation
You can specify the coding system for a specific operation by binding
the variables @code{coding-system-for-read} and/or
diff --git a/doc/lispref/os.texi b/doc/lispref/os.texi
index 3b63e08676c..88aed7a8bf3 100644
--- a/doc/lispref/os.texi
+++ b/doc/lispref/os.texi
@@ -1198,6 +1198,7 @@ return value is @code{nil}.
@node Time of Day
@section Time of Day
+@cindex time of day
This section explains how to determine the current time and time
zone.
@@ -1305,6 +1306,7 @@ time zone.
@node Time Conversion
@section Time Conversion
@cindex calendrical information
+@cindex time conversion
These functions convert time values (lists of two to four integers,
as explained in the previous section) into calendrical information and
@@ -1399,6 +1401,9 @@ on others, years as early as 1901 do work.
@node Time Parsing
@section Parsing and Formatting Times
+@cindex time parsing
+@cindex time formatting
+@cindex formatting time values
These functions convert time values to text in a string, and vice versa.
Time values are lists of two to four integers (@pxref{Time of Day}).
@@ -1631,6 +1636,9 @@ interactively, it prints the duration in the echo area.
@node Time Calculations
@section Time Calculations
+@cindex time calculations
+@cindex comparing time values
+@cindex calendrical computations
These functions perform calendrical computations using time values
(the kind of list that @code{current-time} returns).
@@ -1811,6 +1819,7 @@ cause anything special to happen.
@node Idle Timers
@section Idle Timers
+@cindex idle timers
Here is how to set up a timer that runs when Emacs is idle for a
certain length of time. Aside from how to set them up, idle timers
diff --git a/doc/lispref/positions.texi b/doc/lispref/positions.texi
index fee36fa833d..b8608cc1197 100644
--- a/doc/lispref/positions.texi
+++ b/doc/lispref/positions.texi
@@ -465,6 +465,7 @@ beginning or end of a line.
@node Screen Lines
@subsection Motion by Screen Lines
+@cindex screen lines, moving by
The line functions in the previous section count text lines, delimited
only by newline characters. By contrast, these functions count screen
diff --git a/doc/lispref/processes.texi b/doc/lispref/processes.texi
index c91afdffdeb..798f2116623 100644
--- a/doc/lispref/processes.texi
+++ b/doc/lispref/processes.texi
@@ -63,6 +63,8 @@ Processes}.
@node Subprocess Creation
@section Functions that Create Subprocesses
+@cindex create subprocess
+@cindex process creation
There are three primitives that create a new subprocess in which to run
a program. One of them, @code{start-process}, creates an asynchronous
@@ -734,6 +736,7 @@ happen sooner or later).
@node Process Information
@section Process Information
+@cindex process information
Several functions return information about processes.
diff --git a/doc/lispref/searching.texi b/doc/lispref/searching.texi
index 992ad001fe7..19c515f3ca2 100644
--- a/doc/lispref/searching.texi
+++ b/doc/lispref/searching.texi
@@ -257,6 +257,8 @@ it easier to verify even very complex regexps.
@node Syntax of Regexps
@subsection Syntax of Regular Expressions
+@cindex regexp syntax
+@cindex syntax of regular expressions
Regular expressions have a syntax in which a few characters are
special constructs and the rest are @dfn{ordinary}. An ordinary
@@ -294,6 +296,7 @@ need to use one of the special regular expression constructs.
@node Regexp Special
@subsubsection Special Characters in Regular Expressions
+@cindex regexp, special characters in
Here is a list of the characters that are special in a regular
expression.
@@ -894,6 +897,7 @@ beyond the minimum needed to end a sentence.
These functions operate on regular expressions.
+@cindex quote special characters in regexp
@defun regexp-quote string
This function returns a regular expression whose only exact match is
@var{string}. Using this regular expression in @code{looking-at} will
@@ -924,6 +928,7 @@ whitespace:
@end example
@end defun
+@cindex optimize regexp
@defun regexp-opt strings &optional paren
This function returns an efficient regular expression that will match
any of the strings in the list @var{strings}. This is useful when you
diff --git a/doc/lispref/strings.texi b/doc/lispref/strings.texi
index e6b00f06f79..0fd7fd1ef3f 100644
--- a/doc/lispref/strings.texi
+++ b/doc/lispref/strings.texi
@@ -92,6 +92,8 @@ representations and to encode and decode character codes.
@node Predicates for Strings
@section Predicates for Strings
+@cindex predicates for strings
+@cindex string predicates
For more information about general sequence and array predicates,
see @ref{Sequences Arrays Vectors}, and @ref{Arrays}.
@@ -113,6 +115,8 @@ character (i.e., an integer), @code{nil} otherwise.
@node Creating Strings
@section Creating Strings
+@cindex creating strings
+@cindex string creation
The following functions create strings, either from scratch, or by
putting strings together, or by taking them apart.
@@ -367,6 +371,8 @@ usual value is @w{@code{"[ \f\t\n\r\v]+"}}.
@node Modifying Strings
@section Modifying Strings
+@cindex modifying strings
+@cindex string modification
The most basic way to alter the contents of an existing string is with
@code{aset} (@pxref{Array Functions}). @code{(aset @var{string}
@@ -400,6 +406,7 @@ zeros. It may also change @var{string}'s length.
@node Text Comparison
@section Comparison of Characters and Strings
@cindex string equality
+@cindex text comparison
@defun char-equal character1 character2
This function returns @code{t} if the arguments represent the same
diff --git a/doc/lispref/syntax.texi b/doc/lispref/syntax.texi
index 25e6089491e..33577e74157 100644
--- a/doc/lispref/syntax.texi
+++ b/doc/lispref/syntax.texi
@@ -592,6 +592,8 @@ in turn, repeatedly, until they all return @code{nil}.
@node Motion and Syntax
@section Motion and Syntax
+@cindex moving across syntax classes
+@cindex skipping characters of certain syntax
This section describes functions for moving across characters that
have certain syntax classes.
@@ -631,6 +633,8 @@ expression prefix syntax class, and characters with the @samp{p} flag.
@node Parsing Expressions
@section Parsing Expressions
+@cindex parsing expressions
+@cindex scanning expressions
This section describes functions for parsing and scanning balanced
expressions. We will refer to such expressions as @dfn{sexps},
@@ -673,6 +677,7 @@ result, Emacs treats them as four consecutive empty string constants.
@node Motion via Parsing
@subsection Motion Commands Based on Parsing
+@cindex motion based on parsing
This section describes simple point-motion functions that operate
based on parsing expressions.
@@ -738,6 +743,7 @@ cannot exceed that many.
@node Position Parse
@subsection Finding the Parse State for a Position
+@cindex parse state for a position
For syntactic analysis, such as in indentation, often the useful
thing is to compute the syntactic state corresponding to a given buffer
@@ -919,6 +925,7 @@ nicely.
@node Control Parsing
@subsection Parameters to Control Parsing
+@cindex parsing, control parameters
@defvar multibyte-syntax-as-symbol
If this variable is non-@code{nil}, @code{scan-sexps} treats all
diff --git a/doc/lispref/text.texi b/doc/lispref/text.texi
index 09dec5671f9..27ea8bcbd91 100644
--- a/doc/lispref/text.texi
+++ b/doc/lispref/text.texi
@@ -162,6 +162,7 @@ the end of a line.
@node Buffer Contents
@section Examining Buffer Contents
+@cindex buffer portion as string
This section describes functions that allow a Lisp program to
convert any portion of the text in the buffer into a string.
@@ -2673,6 +2674,8 @@ along with the characters; this includes such diverse functions as
@node Examining Properties
@subsection Examining Text Properties
+@cindex examining text properties
+@cindex text properties, examining
The simplest way to examine text properties is to ask for the value of
a particular property of a particular character. For that, use
@@ -2764,6 +2767,8 @@ used instead. Here is an example:
@node Changing Properties
@subsection Changing Text Properties
+@cindex changing text properties
+@cindex text properties, changing
The primitives for changing properties apply to a specified range of
text in a buffer or string. The function @code{set-text-properties}
@@ -2927,6 +2932,8 @@ buffer but does not copy its properties.
@node Property Search
@subsection Text Property Search Functions
+@cindex searching text properties
+@cindex text properties, searching
In typical use of text properties, most of the time several or many
consecutive characters have the same value for a property. Rather than
@@ -3980,6 +3987,8 @@ coalesced whenever possible. @xref{Property Search}.
@node Substitution
@section Substituting for a Character Code
+@cindex replace characters in region
+@cindex substitute characters
The following functions replace characters within a specified region
based on their character codes.
diff --git a/doc/lispref/variables.texi b/doc/lispref/variables.texi
index e890dbce359..b3466e60c4e 100644
--- a/doc/lispref/variables.texi
+++ b/doc/lispref/variables.texi
@@ -1951,6 +1951,7 @@ foo
@node Variables with Restricted Values
@section Variables with Restricted Values
+@cindex lisp variables defined in C, restrictions
Ordinary Lisp variables can be assigned any value that is a valid
Lisp object. However, certain Lisp variables are not defined in Lisp,
@@ -1987,6 +1988,8 @@ Attempting to assign them any other value will result in an error:
@node Generalized Variables
@section Generalized Variables
+@cindex generalized variable
+@cindex place form
A @dfn{generalized variable} or @dfn{place form} is one of the many places
in Lisp memory where values can be stored. The simplest place form is
a regular Lisp variable. But the @sc{car}s and @sc{cdr}s of lists, elements
diff --git a/doc/lispref/windows.texi b/doc/lispref/windows.texi
index 1e27d744c7e..aa6ec2c9943 100644
--- a/doc/lispref/windows.texi
+++ b/doc/lispref/windows.texi
@@ -1167,6 +1167,8 @@ are the opposite of what they are in those other functions.
@node Recombining Windows
@section Recombining Windows
+@cindex recombining windows
+@cindex windows, recombining
When deleting the last sibling of a window @var{W}, its parent window
is deleted too, with @var{W} replacing it in the window tree. This