X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=doc%2Fflow-control.texi;h=7b3ef04662eee5f6efac6f6f383f5ce9128346b4;hb=35a4fe8e90c1658f652930863615ce096075abe3;hp=2145033180f2449b1c17b37ea7de0af47c421f02;hpb=1fc3af93c0ba6cbaf7ef09edc979096b6f16dd6f;p=pspp diff --git a/doc/flow-control.texi b/doc/flow-control.texi index 2145033180..7b3ef04662 100644 --- a/doc/flow-control.texi +++ b/doc/flow-control.texi @@ -84,14 +84,14 @@ repetition. Specify a repeat 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 repeat 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 @@ -101,8 +101,8 @@ for each repeat 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 +including command and subcommand names. For this reason, +words commonly used in command and subcommand names should not be used as repeat variable identifiers. If PRINT is specified on @cmd{END REPEAT}, the commands after substitutions @@ -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}).