Commit 56e3e4fe authored by Eli Zaretskii's avatar Eli Zaretskii

Improve indexing in the ELisp manual

* doc/lispref/control.texi (Control Structures, Sequencing)
(Conditionals, Iteration, Catch and Throw, Handling Errors)
* 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)
parent 7a4992a0
Pipeline #133 passed with stage
in 25 minutes and 43 seconds
......@@ -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
......@@ -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
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment