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)
This commit is contained in:
Eli Zaretskii 2018-11-24 10:00:55 +02:00
parent 7a4992a0d3
commit 56e3e4fe68
2 changed files with 16 additions and 0 deletions

View file

@ -6,6 +6,7 @@
@node Control Structures @node Control Structures
@chapter Control Structures @chapter Control Structures
@cindex special forms for control structures @cindex special forms for control structures
@cindex forms for control structures
@cindex control structures @cindex control structures
A Lisp program consists of a set of @dfn{expressions}, or A Lisp program consists of a set of @dfn{expressions}, or
@ -48,6 +49,7 @@ structure constructs (@pxref{Macros}).
@section Sequencing @section Sequencing
@cindex sequencing @cindex sequencing
@cindex sequential execution @cindex sequential execution
@cindex forms for sequential execution
Evaluating forms in the order they appear is the most common way 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 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 @node Conditionals
@section Conditionals @section Conditionals
@cindex conditional evaluation @cindex conditional evaluation
@cindex forms, conditional
Conditional control structures choose among alternatives. Emacs Lisp Conditional control structures choose among alternatives. Emacs Lisp
has five conditional forms: @code{if}, which is much the same as in 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 @section Iteration
@cindex iteration @cindex iteration
@cindex recursion @cindex recursion
@cindex forms, iteration
Iteration means executing part of a program repetitively. For Iteration means executing part of a program repetitively. For
example, you might want to repeat some computation once for each element example, you might want to repeat some computation once for each element
@ -1496,6 +1500,7 @@ exited.
@node Catch and Throw @node Catch and Throw
@subsection Explicit Nonlocal Exits: @code{catch} and @code{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 Most control constructs affect only the flow of control within the
construct itself. The function @code{throw} is the exception to this 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 @subsubsection Writing Code to Handle Errors
@cindex error handler @cindex error handler
@cindex handling errors @cindex handling errors
@cindex forms for handling errors
The usual effect of signaling an error is to terminate the command The usual effect of signaling an error is to terminate the command
that is running and return immediately to the Emacs editor command loop. that is running and return immediately to the Emacs editor command loop.
@ -2235,6 +2241,7 @@ and their conditions.
@node Cleanups @node Cleanups
@subsection Cleaning Up from Nonlocal Exits @subsection Cleaning Up from Nonlocal Exits
@cindex nonlocal exits, cleaning up @cindex nonlocal exits, cleaning up
@cindex forms for cleanup
The @code{unwind-protect} construct is essential whenever you The @code{unwind-protect} construct is essential whenever you
temporarily put a data structure in an inconsistent state; it permits temporarily put a data structure in an inconsistent state; it permits

View file

@ -127,6 +127,7 @@ with the other types, which are self-evaluating forms.
@cindex vector evaluation @cindex vector evaluation
@cindex literal evaluation @cindex literal evaluation
@cindex self-evaluating form @cindex self-evaluating form
@cindex form, self-evaluating
A @dfn{self-evaluating form} is any form that is not a list or A @dfn{self-evaluating form} is any form that is not a list or
symbol. Self-evaluating forms evaluate to themselves: the result of symbol. Self-evaluating forms evaluate to themselves: the result of
@ -179,6 +180,8 @@ program. Here is an example:
@node Symbol Forms @node Symbol Forms
@subsection Symbol Forms @subsection Symbol Forms
@cindex symbol evaluation @cindex symbol evaluation
@cindex symbol forms
@cindex forms, symbol
When a symbol is evaluated, it is treated as a variable. The result 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 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 @node Classifying Lists
@subsection Classification of List Forms @subsection Classification of List Forms
@cindex list form evaluation @cindex list form evaluation
@cindex forms, list
A form that is a nonempty list is either a function call, a macro 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 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 @subsection Evaluation of Function Forms
@cindex function form evaluation @cindex function form evaluation
@cindex function call @cindex function call
@cindex forms, function call
If the first element of a list being evaluated is a Lisp function 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 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 @node Macro Forms
@subsection Lisp Macro Evaluation @subsection Lisp Macro Evaluation
@cindex macro call evaluation @cindex macro call evaluation
@cindex forms, macro call
If the first element of a list being evaluated is a macro object, then 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 the list is a @dfn{macro call}. When a macro call is evaluated, the
@ -418,6 +424,7 @@ expansion.
@node Special Forms @node Special Forms
@subsection Special Forms @subsection Special Forms
@cindex special forms @cindex special forms
@cindex forms, special
@cindex evaluation of special forms @cindex evaluation of special forms
A @dfn{special form} is a primitive function specially marked so that A @dfn{special form} is a primitive function specially marked so that
@ -539,6 +546,7 @@ described in @ref{Autoload}.
@node Quoting @node Quoting
@section Quoting @section Quoting
@cindex forms, quote
The special form @code{quote} returns its single argument, as written, The special form @code{quote} returns its single argument, as written,
without evaluating it. This provides a way to include constant symbols 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 backquote (list substitution)
@cindex ` (list substitution) @cindex ` (list substitution)
@findex ` @findex `
@cindex forms, backquote
@dfn{Backquote constructs} allow you to quote a list, but @dfn{Backquote constructs} allow you to quote a list, but
selectively evaluate elements of that list. In the simplest case, it selectively evaluate elements of that list. In the simplest case, it