X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=doc%2Fflow-control.texi;h=892887e211f9cb5b9f68f4f79a562b7796b33d55;hb=9ade26c8349b4434008c46cf09bc7473ec743972;hp=868143b35a5a0ba8b73c5f628834f9b7a39cc87a;hpb=afdf3096926b561f4e6511c10fcf73fc6796b9d2;p=pspp-builds.git diff --git a/doc/flow-control.texi b/doc/flow-control.texi index 868143b3..892887e2 100644 --- a/doc/flow-control.texi +++ b/doc/flow-control.texi @@ -72,6 +72,7 @@ expansion takes one of the following forms: var_list num_or_range@dots{} 'string'@dots{} + ALL num_or_range takes one of the following forms: number @@ -82,13 +83,11 @@ num_or_range takes one of the following forms: different variables, numbers, or strings into the block with each repetition. -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 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 increasing integers may be indicated as -@code{@var{num1} TO @var{num2}}, so that +Specify a dummy variable name followed by an equals sign (@samp{=}) +and the list of replacements. Replacements can be a list of existing +or new variables, numbers, strings, or @code{ALL} to specify all +existing variables. When numbers 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 dummy variables can be specified. Each @@ -100,10 +99,22 @@ each dummy variable is substituted; the second time, the second value for each dummy variable is substituted; and so on. 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. +anywhere in a line that the dummy variable name occurs. This includes +command and subcommand names, so command and subcommand names that +appear in the code block should not be used as dummy variable +identifiers. Dummy variable substitutions do not occur inside quoted +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}. + +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 +or on the left side of a @cmd{COMPUTE} assignment. + +Any command may appear within DO REPEAT, including nested DO REPEAT +commands. If @cmd{INCLUDE} or @cmd{INSERT} appears within DO REPEAT, +the substitutions do not apply to the included file. 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