From: Eli Zaretskii Date: Tue, 23 Dec 2014 18:42:30 +0000 (+0200) Subject: Improve indexing on the chapter/section/subsection levels. X-Git-Tag: emacs-24.4.90~114 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=20cfd24;p=emacs.git Improve indexing on the chapter/section/subsection levels. doc/lispref/windows.texi (Recombining Windows): Index subject of sections. doc/lispref/variables.texi (Variables with Restricted Values) (Generalized Variables): Index subject of sections. doc/lispref/text.texi (Buffer Contents, Examining Properties) (Changing Properties, Property Search, Substitution): Index subject of sections. doc/lispref/syntax.texi (Motion and Syntax, Parsing Expressions) (Motion via Parsing, Position Parse, Control Parsing): Index subject of sections. doc/lispref/strings.texi (Predicates for Strings, Creating Strings) (Modifying Strings, Text Comparison): Index subject of sections. doc/lispref/searching.texi (Syntax of Regexps, Regexp Special) (Regexp Functions, Regexp Functions): Index subject of sections. doc/lispref/processes.texi (Subprocess Creation, Process Information): Index subject of sections. doc/lispref/positions.texi (Screen Lines): Index subject of sections. doc/lispref/nonascii.texi (Scanning Charsets, Specifying Coding Systems): Index subject of sections. doc/lispref/minibuf.texi (Text from Minibuffer, Object from Minibuffer) (Multiple Queries, Minibuffer Contents): Index subject of sections. doc/lispref/markers.texi (Predicates on Markers, Creating Markers) (Information from Markers, Moving Markers): Index subject of sections. doc/lispref/macros.texi (Defining Macros, Problems with Macros): Index subject of sections. doc/lispref/loading.texi (Loading Non-ASCII, Where Defined): Index subject of sections. doc/lispref/lists.texi (List-related Predicates, List Variables, Setcar) (Setcdr, Plist Access): Index subject of sections. doc/lispref/keymaps.texi (Controlling Active Maps, Scanning Keymaps) (Modifying Menus): Index subject of sections. doc/lispref/help.texi (Accessing Documentation, Help Functions): Index subject of sections. doc/lispref/hash.texi (Hash Access): Index subject of sections. doc/lispref/functions.texi (Core Advising Primitives) (Advising Named Functions, Porting old advices): Index subject of sections. doc/lispref/frames.texi (Creating Frames, Initial Parameters) (Position Parameters, Buffer Parameters, Minibuffers and Frames) (Pop-Up Menus, Drag and Drop): Index subject of sections. doc/lispref/files.texi (Visiting Functions, Kinds of Files) (Unique File Names): Index subject of sections. doc/lispref/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. doc/lispref/debugging.texi (Debugging, Explicit Debug) (Invoking the Debugger, Excess Open, Excess Close): Index subject of sections. doc/lispref/customize.texi (Defining New Types, Applying Customizations) (Custom Themes): Index subject of sections. doc/lispref/control.texi (Sequencing, Combining Conditions) (Processing of Errors, Cleanups): Index subject of sections. doc/lispref/compile.texi (Eval During Compile): Index subject of sections. doc/lispref/commands.texi (Using Interactive, Distinguish Interactive) (Command Loop Info, Classifying Events, Event Mod) (Invoking the Input Method): Index subject of sections. doc/lispref/buffers.texi (Buffer List, Buffer Gap): Index subject of sections. doc/lispref/backups.texi (Making Backups, Numbered Backups, Backup Names) (Reverting): Index subject of sections. doc/lispref/abbrevs.texi (Abbrev Tables, Defining Abbrevs, Abbrev Files) (Abbrev Expansion, Standard Abbrev Tables, Abbrev Properties) (Abbrev Table Properties): Index subject of sections. doc/lispref/os.texi (Time of Day, Time Conversion, Time Parsing) (Time Calculations, Idle Timers): Index subject of sections. --- 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 + + * 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 * 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