From: Eli Zaretskii Date: Sat, 24 Nov 2018 08:00:55 +0000 (+0200) Subject: Improve indexing in the ELisp manual X-Git-Tag: emacs-26.1.91~89 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=56e3e4fe6816b5f13c410300e2bf5a0c1fcbe03a;p=emacs.git Improve indexing in the ELisp manual * doc/lispref/control.texi (Control Structures, Sequencing) (Conditionals, Iteration, Catch and Throw, Handling Errors) (Cleanups): * doc/lispref/eval.texi (Self-Evaluating Forms) (Symbol Forms, Function Forms, Macro Forms, Special Forms) (Quoting, Backquote): Add index entries that begin with "forms". (Bug#33440) --- diff --git a/doc/lispref/control.texi b/doc/lispref/control.texi index 8989b7de91b..4e5422aaa70 100644 --- a/doc/lispref/control.texi +++ b/doc/lispref/control.texi @@ -6,6 +6,7 @@ @node Control Structures @chapter Control Structures @cindex special forms for control structures +@cindex forms for control structures @cindex control structures A Lisp program consists of a set of @dfn{expressions}, or @@ -48,6 +49,7 @@ structure constructs (@pxref{Macros}). @section Sequencing @cindex sequencing @cindex sequential execution +@cindex forms for 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 @@ -146,6 +148,7 @@ following @var{forms}, in textual order, returning the result of @node Conditionals @section Conditionals @cindex conditional evaluation +@cindex forms, conditional Conditional control structures choose among alternatives. Emacs Lisp has five conditional forms: @code{if}, which is much the same as in @@ -1273,6 +1276,7 @@ up being equivalent to @code{dolist} (@pxref{Iteration}). @section Iteration @cindex iteration @cindex recursion +@cindex forms, iteration Iteration means executing part of a program repetitively. For example, you might want to repeat some computation once for each element @@ -1496,6 +1500,7 @@ exited. @node Catch and Throw @subsection Explicit Nonlocal Exits: @code{catch} and @code{throw} +@cindex forms for nonlocal exits Most control constructs affect only the flow of control within the construct itself. The function @code{throw} is the exception to this @@ -1867,6 +1872,7 @@ variables precisely as they were at the time of the error. @subsubsection Writing Code to Handle Errors @cindex error handler @cindex handling errors +@cindex forms for handling errors The usual effect of signaling an error is to terminate the command that is running and return immediately to the Emacs editor command loop. @@ -2235,6 +2241,7 @@ and their conditions. @node Cleanups @subsection Cleaning Up from Nonlocal Exits @cindex nonlocal exits, cleaning up +@cindex forms for cleanup 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/eval.texi b/doc/lispref/eval.texi index 373b12e79d5..416815e1900 100644 --- a/doc/lispref/eval.texi +++ b/doc/lispref/eval.texi @@ -127,6 +127,7 @@ with the other types, which are self-evaluating forms. @cindex vector evaluation @cindex literal evaluation @cindex self-evaluating form +@cindex form, self-evaluating A @dfn{self-evaluating form} is any form that is not a list or symbol. Self-evaluating forms evaluate to themselves: the result of @@ -179,6 +180,8 @@ program. Here is an example: @node Symbol Forms @subsection Symbol Forms @cindex symbol evaluation +@cindex symbol forms +@cindex forms, symbol When a symbol is evaluated, it is treated as a variable. The result is the variable's value, if it has one. If the symbol has no value as @@ -215,6 +218,7 @@ its value ordinarily cannot be changed. @xref{Constant Variables}. @node Classifying Lists @subsection Classification of List Forms @cindex list form evaluation +@cindex forms, list A form that is a nonempty list is either a function call, a macro call, or a special form, according to its first element. These three @@ -349,6 +353,7 @@ Here is how you could define @code{indirect-function} in Lisp: @subsection Evaluation of Function Forms @cindex function form evaluation @cindex function call +@cindex forms, function call If the first element of a list being evaluated is a Lisp function object, byte-code object or primitive function object, then that list is @@ -372,6 +377,7 @@ body form becomes the value of the function call. @node Macro Forms @subsection Lisp Macro Evaluation @cindex macro call evaluation +@cindex forms, macro call If the first element of a list being evaluated is a macro object, then the list is a @dfn{macro call}. When a macro call is evaluated, the @@ -418,6 +424,7 @@ expansion. @node Special Forms @subsection Special Forms @cindex special forms +@cindex forms, special @cindex evaluation of special forms A @dfn{special form} is a primitive function specially marked so that @@ -539,6 +546,7 @@ described in @ref{Autoload}. @node Quoting @section Quoting +@cindex forms, quote The special form @code{quote} returns its single argument, as written, without evaluating it. This provides a way to include constant symbols @@ -598,6 +606,7 @@ only part of a list, while computing and substituting other parts. @cindex backquote (list substitution) @cindex ` (list substitution) @findex ` +@cindex forms, backquote @dfn{Backquote constructs} allow you to quote a list, but selectively evaluate elements of that list. In the simplest case, it