changeset 16850:ee4b53003fd5

Add when and unless.
author Richard M. Stallman <rms@gnu.org>
date Thu, 09 Jan 1997 07:58:14 +0000
parents ec7768e50ba8
children a689a6716261
files lispref/control.texi
diffstat 1 files changed, 35 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/lispref/control.texi	Wed Jan 08 14:59:41 1997 +0000
+++ b/lispref/control.texi	Thu Jan 09 07:58:14 1997 +0000
@@ -143,8 +143,9 @@
 @cindex conditional evaluation
 
   Conditional control structures choose among alternatives.  Emacs Lisp
-has two conditional forms: @code{if}, which is much the same as in other
-languages, and @code{cond}, which is a generalized case statement.
+has four conditional forms: @code{if}, which is much the same as in
+other languages; @code{when} and @code{unless}, which are variants of
+@code{if}; and @code{cond}, which is a generalized case statement.
 
 @defspec if condition then-form else-forms@dots{}
 @code{if} chooses between the @var{then-form} and the @var{else-forms}
@@ -171,6 +172,38 @@
 @end example
 @end defspec
 
+@defspec when condition then-forms@dots{}
+This is a variant of @code{if} where there are no @var{else-forms},
+and possibly several @var{then-forms}.  In particular,
+
+@example
+(when @var{condition} @var{a} @var{b} @var{c})
+@end example
+
+@noindent
+is entirely equivalent to
+
+@example
+(if @var{condition} (progn @var{a} @var{b} @var{c}) nil)
+@end example
+@end defspec
+
+@defspec unless condition forms@dots{}
+This is a variant of @code{if} where there is no @var{then-form}:
+
+@example
+(unless @var{condition} @var{a} @var{b} @var{c})
+@end example
+
+@noindent
+is entirely equivalent to
+
+@example
+(if @var{condition} nil
+   @var{a} @var{b} @var{c})
+@end example
+@end defspec
+
 @defspec 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