added coefficient typedef
[pspp-builds.git] / doc / flow-control.texi
index 2145033180f2449b1c17b37ea7de0af47c421f02..ea9f5a570c951b35e6126c04cb27899a40588fe7 100644 (file)
@@ -64,7 +64,7 @@ When @cmd{DO IF} or @cmd{ELSE IF} is specified following @cmd{TEMPORARY}
 @vindex DO REPEAT
 
 @display
-DO REPEAT repvar_name=expansion@dots{}.
+DO REPEAT dummy_name=expansion@dots{}.
         @dots{}
 END REPEAT [PRINT].
 
@@ -82,28 +82,28 @@ num_or_range takes one of the following forms:
 different variables, numbers, or strings into the block with each
 repetition.
 
-Specify a repeat variable name followed by an equals sign (@samp{=}) and
+Specify a dummy variable name followed by an equals sign (@samp{=}) and
 the list of replacements.  Replacements can be a list of variables
-(which may be existing variables or new variables or a combination
-thereof), of numbers, or of strings.  When new variable names are
+(which may be existing variables or new variables or some combination),
+numbers, or strings.  When new variable names are
 specified, @cmd{DO REPEAT} creates them as numeric variables.  When numbers
-are specified, runs of integers may be indicated with TO notation, for
-instance @samp{1 TO 5} and @samp{1 2 3 4 5} would be equivalent.  There
-is no equivalent notation for string values.
+are specified, runs of increasing integers may be indicated as
+@code{@var{num1} TO @var{num2}}, so that
+@samp{1 TO 5} is short for @samp{1 2 3 4 5}.
 
-Multiple repeat variables can be specified.  When this is done, each
+Multiple dummy variables can be specified.  Each
 variable must have the same number of replacements.
 
 The code within @cmd{DO REPEAT} is repeated as many times as there are
 replacements for each variable.  The first time, the first value for
-each repeat variable is substituted; the second time, the second value
-for each repeat variable is substituted; and so on.
+each dummy variable is substituted; the second time, the second value
+for each dummy variable is substituted; and so on.
 
-Repeat variable substitutions work like macros.  They take place
-anywhere in a line that the repeat variable name occurs as a token,
-including command and subcommand names.  For this reason it is not a
-good idea to select words commonly used in command and subcommand names
-as repeat variable identifiers.
+Dummy variable substitutions work like macros.  They take place
+anywhere in a line that the dummy variable name occurs as a token,
+including command and subcommand names.  For this reason,
+words commonly used in command and subcommand names should not be used
+as dummy variable identifiers.
 
 If PRINT is specified on @cmd{END REPEAT}, the commands after substitutions
 are made are printed to the listing file, prefixed by a plus sign
@@ -158,6 +158,12 @@ loop is executed MXLOOPS (@pxref{SET}) times.
 
 @cmd{BREAK} also terminates @cmd{LOOP} execution (@pxref{BREAK}).
 
+Loop index variables are by default reset to system-missing from one
+case to another, not left, unless a scratch variable is used as index.
+When loops are nested, this is usually undesired behavior, which can
+be corrected with @cmd{LEAVE} (@pxref{LEAVE}) or by using a scratch
+variable as the loop index.
+
 When @cmd{LOOP} or @cmd{END LOOP} is specified following @cmd{TEMPORARY}
 (@pxref{TEMPORARY}), the @cmd{LAG} function may not be used
 (@pxref{LAG}).