diff man/lispref/control.texi @ 5361:62b9ef1ed4ac

Change "special form" to "special operator" in the manuals, too 2011-03-01 Aidan Kehoe <kehoea@parhasard.net> * lispref/commands.texi (Using Interactive): * lispref/compile.texi (Eval During Compile): * lispref/compile.texi (Compiled-Function Objects): * lispref/control.texi (Sequencing): * lispref/control.texi (Conditionals): * lispref/control.texi (Combining Conditions): * lispref/control.texi (Iteration): * lispref/control.texi (Catch and Throw): * lispref/control.texi (Handling Errors): * lispref/control.texi (Cleanups): * lispref/display.texi (Temporary Displays): * lispref/eval.texi (Quoting): * lispref/eval.texi (Multiple values): * lispref/frames.texi (Input Focus): * lispref/functions.texi (Argument List): * lispref/functions.texi (Defining Functions): * lispref/functions.texi (Anonymous Functions): * lispref/internationalization.texi (Level 3 Primitives): * lispref/internationalization.texi (Domain Specification): * lispref/intro.texi (A Sample Function Description): * lispref/intro.texi (A Sample Variable Description): * lispref/lists.texi (Sets And Lists): * lispref/macros.texi (Defining Macros): * lispref/macros.texi (Backquote): * lispref/positions.texi (Excursions): * lispref/positions.texi (Narrowing): * lispref/searching.texi (Saving Match Data): * lispref/sequences.texi (Sequence Functions): * lispref/sequences.texi (Array Functions): * lispref/specifiers.texi (Adding Specifications): * lispref/variables.texi (Local Variables): * lispref/variables.texi (Defining Variables): * lispref/variables.texi (Setting Variables): * lispref/variables.texi (Default Value): * lispref/windows.texi (Selecting Windows): * lispref/windows.texi (Window Configurations): No longer use @defspec, since we no longer use the term "special form"; instead use @deffn {Special Operator}. Unfortunately there's no way in texinfo to redefine @defspec in one place.
author Aidan Kehoe <kehoea@parhasard.net>
date Tue, 01 Mar 2011 14:18:45 +0000
parents 755ae5b97edb
children 9fae6227ede5
line wrap: on
line diff
--- a/man/lispref/control.texi	Sat Feb 19 11:03:46 2011 +0000
+++ b/man/lispref/control.texi	Tue Mar 01 14:18:45 2011 +0000
@@ -76,7 +76,7 @@
 needed now most often inside an @code{unwind-protect}, @code{and},
 @code{or}, or in the @var{then}-part of an @code{if}.
 
-@defspec progn forms@dots{}
+@deffn {Special Operator} progn forms@dots{}
 This special operator evaluates all of the @var{forms}, in textual
 order, returning the result of the final form.
 
@@ -91,12 +91,12 @@
 @result{} "The third form"
 @end group
 @end example
-@end defspec
+@end deffn
 
   Two other control constructs likewise evaluate a series of forms but return
 a different value:
 
-@defspec prog1 form1 forms@dots{}
+@deffn {Special Operator} prog1 form1 forms@dots{}
 This special operator evaluates @var{form1} and all of the @var{forms}, in
 textual order, returning the result of @var{form1}.
 
@@ -118,9 +118,9 @@
 @example
 (prog1 (car x) (setq x (cdr x)))
 @end example
-@end defspec
+@end deffn
 
-@defspec prog2 form1 form2 forms@dots{}
+@deffn {Special Operator} prog2 form1 form2 forms@dots{}
 This special operator evaluates @var{form1}, @var{form2}, and all of the
 following @var{forms}, in textual order, returning the result of
 @var{form2}.
@@ -136,7 +136,7 @@
 @result{} "The second form"
 @end group
 @end example
-@end defspec
+@end deffn
 
 @node Conditionals
 @section Conditionals
@@ -146,7 +146,7 @@
 has two conditional forms: @code{if}, which is much the same as in other
 languages, and @code{cond}, which is a generalized case statement.
 
-@defspec if condition then-form else-forms@dots{}
+@deffn {Special Operator} if condition then-form else-forms@dots{}
 @code{if} chooses between the @var{then-form} and the @var{else-forms}
 based on the value of @var{condition}.  If the evaluated @var{condition} is
 non-@code{nil}, @var{then-form} is evaluated and the result returned.
@@ -169,9 +169,9 @@
 @result{} very-false
 @end group
 @end example
-@end defspec
+@end deffn
 
-@defspec cond clause@dots{}
+@deffn {Special Operator} cond clause@dots{}
 @code{cond} chooses among an arbitrary number of alternatives.  Each
 @var{clause} in the @code{cond} must be a list.  The @sc{car} of this
 list is the @var{condition}; the remaining elements, if any, the
@@ -239,7 +239,7 @@
 @noindent
 This expression is a @code{cond} which returns @code{foo} if the value
 of @code{a} is 1, and returns the string @code{"default"} otherwise.
-@end defspec
+@end deffn
 
 Any conditional construct can be expressed with @code{cond} or with
 @code{if}.  Therefore, the choice between them is a matter of style.
@@ -268,7 +268,7 @@
 using the name @code{null} if you are testing for an empty list.
 @end defun
 
-@defspec and conditions@dots{}
+@deffn {Special Operator} and conditions@dots{}
 The @code{and} special operator tests whether all the @var{conditions} are
 true.  It works by evaluating the @var{conditions} one by one in the
 order written.
@@ -320,9 +320,9 @@
 (cond (@var{arg1} (cond (@var{arg2} @var{arg3}))))
 @end group
 @end example
-@end defspec
+@end deffn
 
-@defspec or conditions@dots{}
+@deffn {Special Operator} or conditions@dots{}
 The @code{or} special operator tests whether at least one of the
 @var{conditions} is true.  It works by evaluating all the
 @var{conditions} one by one in the order written.
@@ -369,7 +369,7 @@
 This is not completely equivalent because it can evaluate @var{arg1} or
 @var{arg2} twice.  By contrast, @code{(or @var{arg1} @var{arg2}
 @var{arg3})} never evaluates any argument more than once.
-@end defspec
+@end deffn
 
 @node Iteration
 @section Iteration
@@ -381,7 +381,7 @@
 of a list, or once for each integer from 0 to @var{n}.  You can do this
 in XEmacs Lisp with the special operator @code{while}:
 
-@defspec while condition forms@dots{}
+@deffn {Special Operator} while condition forms@dots{}
 @code{while} first evaluates @var{condition}.  If the result is
 non-@code{nil}, it evaluates @var{forms} in textual order.  Then it
 reevaluates @var{condition}, and if the result is non-@code{nil}, it
@@ -427,7 +427,7 @@
 This moves forward one line and continues moving by lines until it
 reaches an empty.  It is unusual in that the @code{while} has no body,
 just the end test (which also does the real work of moving point).
-@end defspec
+@end deffn
 
 @node Nonlocal Exits
 @section Nonlocal Exits
@@ -499,15 +499,7 @@
 @code{throw} can be used in commands such as @code{exit-recursive-edit}
 that throw back to the editor command loop (@pxref{Recursive Editing}).
 
-@cindex CL note---only @code{throw} in Emacs
-@quotation
-@b{Common Lisp note:} Most other versions of Lisp, including Common Lisp,
-have several ways of transferring control nonsequentially: @code{return},
-@code{return-from}, and @code{go}, for example.  XEmacs Lisp has only
-@code{throw}.
-@end quotation
-
-@defspec catch tag body@dots{}
+@deffn {Special Operator} catch tag body@dots{}
 @cindex tag on run time stack
 @code{catch} establishes a return point for the @code{throw} function.  The
 return point is distinguished from other such return points by @var{tag},
@@ -522,7 +514,7 @@
 If a @code{throw} is done within @var{body} specifying the same value
 @var{tag}, the @code{catch} exits immediately; the value it returns is
 whatever was specified as the second argument of @code{throw}.
-@end defspec
+@end deffn
 
 @defun throw tag value
 The purpose of @code{throw} is to return from a return point previously
@@ -1028,7 +1020,7 @@
 by an error handler (though using @code{throw} when there is no suitable
 @code{catch} signals an error that can be handled).
 
-@defspec condition-case var protected-form handlers@dots{}
+@deffn {Special Operator} condition-case var protected-form handlers@dots{}
 This special operator establishes the error handlers @var{handlers} around
 the execution of @var{protected-form}.  If @var{protected-form} executes
 without error, the value it returns becomes the value of the
@@ -1077,7 +1069,7 @@
 
 If @var{var} is @code{nil}, that means no variable is bound.  Then the
 error symbol and associated data are not available to the handler.
-@end defspec
+@end deffn
 
 @cindex @code{arith-error} example
 Here is an example of using @code{condition-case} to handle the error
@@ -1252,7 +1244,7 @@
 temporarily put a data structure in an inconsistent state; it permits
 you to ensure the data are consistent in the event of an error or throw.
 
-@defspec unwind-protect body cleanup-forms@dots{}
+@deffn {Special Operator} unwind-protect body cleanup-forms@dots{}
 @cindex cleanup forms
 @cindex protected forms
 @cindex error cleanup
@@ -1278,7 +1270,7 @@
 The number of currently active @code{unwind-protect} forms counts,
 together with the number of local variable bindings, against the limit
 @code{max-specpdl-size} (@pxref{Local Variables}).
-@end defspec
+@end deffn
 
   For example, here we make an invisible buffer for temporary use, and
 make sure to kill it before finishing: