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:
parent
7a4992a0d3
commit
56e3e4fe68
2 changed files with 16 additions and 0 deletions
|
@ -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
|
||||
|
|
Loading…
Add table
Reference in a new issue