Partial revert "work on getting better output into documentation"
[pspp] / doc / flow-control.texi
index d74a83b5735e25c656928643b73b38734ed370a6..c0931f1bcedca679601d48545da52e0e9f904fab 100644 (file)
@@ -1,3 +1,12 @@
+@c PSPP - a program for statistical analysis.
+@c Copyright (C) 2017, 2020 Free Software Foundation, Inc.
+@c Permission is granted to copy, distribute and/or modify this document
+@c under the terms of the GNU Free Documentation License, Version 1.3
+@c or any later version published by the Free Software Foundation;
+@c with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
+@c A copy of the license is included in the section entitled "GNU
+@c Free Documentation License".
+@c
 
 @node Conditionals and Looping
 @chapter Conditional and Looping Constructs
@@ -108,18 +117,21 @@ strings, comments, unquoted strings (such as the text on the
 @cmd{TITLE} or @cmd{DOCUMENT} command), or inside @cmd{BEGIN
 DATA}@dots{}@cmd{END DATA}.
 
+Substitution occurs only on whole words, so that, for example, a dummy
+variable PRINT would not be substituted into the word PRINTOUT.
+
 New variable names used as replacements are not automatically created
 as variables, but only if used in the code block in a context that
-would create them, e.g.@: on a @cmd{NUMERIC} or @cmd{STRING} command
+would create them, @i{e.g.}@: on a @cmd{NUMERIC} or @cmd{STRING} command
 or on the left side of a @cmd{COMPUTE} assignment.
 
 Any command may appear within @subcmd{DO REPEAT}, including nested @subcmd{DO REPEAT}
 commands.  If @cmd{INCLUDE} or @cmd{INSERT} appears within @subcmd{DO REPEAT},
 the substitutions do not apply to the included file.
 
-If @subcmd{PRINT} is specified on @cmd{END REPEAT}, the commands after substitutions
-are made are printed to the listing file, prefixed by a plus sign
-(@samp{+}).
+If @subcmd{PRINT} is specified on @cmd{END REPEAT}, the commands after
+substitutions are made should be printed to the listing file, prefixed
+by a plus sign (@samp{+}).  This feature is not yet implemented.
 
 @node LOOP
 @section LOOP
@@ -137,11 +149,11 @@ termination options are offered.
 Specify index_var to make that variable count from one value to
 another by a particular increment.  @var{index_var} must be a pre-existing
 numeric variable.  @var{start}, @var{end}, and @var{incr} are numeric expressions
-(@pxref{Expressions}.)  
+(@pxref{Expressions}.)
 
 During the first iteration, @var{index_var} is set to the value of @var{start}.
 During each successive iteration, @var{index_var} is increased by the value of
-@var{incr}.  If @var{end} > @var{start}, then the loop terminates 
+@var{incr}.  If @var{end} > @var{start}, then the loop terminates
 when @var{index_var} > @var{end};
 otherwise it terminates when @var{index_var} < @var{end}.  If @var{incr} is not specified
 then it defaults to +1 or -1 as appropriate.
@@ -170,9 +182,11 @@ code block is executed.  The condition is evaluated at the end of the
 loop, not at the beginning, so that the body of a loop with only a
 condition on @cmd{END LOOP} will always execute at least once.
 
-If neither the index clause nor either condition clause is
-present, then the loop is executed MXLOOPS (@pxref{SET}) times.
-The default MXLOOPS is 40.
+If the index clause is not
+present, then the loop is executed at most @var{max_loops} (@pxref{SET}) times
+(but possibly fewer, if a condition clause evaluates to false or if
+@cmd{BREAK} executes).
+The default value of @var{max_loops} is 40.
 
 @cmd{BREAK} also terminates @cmd{LOOP} execution (@pxref{BREAK}).