10/17/84 value_set, vs Syntax as a command: vs {name} {value_string} {-control_args} Syntax as an active function: [vs {name} {value_string} {-control_args}] Function: associates a character string name with a character string value. The value replaces any previous value for name. Arguments: name is a character string. It can be -name STR to specify a name beginning with a minus sign, to distinguish it from a control argument. There is no restriction on the length of the name. value_string is a character string value, quoted if it contains blanks or other special characters. It can be -value STR to specify a value STR that begins with a minus sign, to distinguish it from a control argument. There is no restriction on the length of the value. Control arguments: -add N adds N to the integer value of each name selected by the other control arguments. If any of the names has no value or has a value that is not the character string representation of an integer, an error occurs. N can be negative or zero, as can be the resulting value. -exclude STR, -ex STR changes all existing associations except those for names that match STR. If STR is surrounded by slashes (/), it is interpreted as a qedx regular expression to match names; otherwise, it is interpreted as a starname. Only per-process associations are changed if you select -perprocess, only permanent ones if you supply -permanent, and both are changed by default. (See "Notes.") -if VALUE_STR sets value_string only if an old value exists and is equal to VALUE_STR, otherwise returns an error. If you also specify -match and/or -exclude, all selected names with current values equal to VALUE_STR are set to value_string. -match STR changes all existing associations for names that match STR. If STR is surrounded by slashes, it is interpreted as a qedx regular expression to match names; otherwise, it is interpreted as a starname. Only per-process associations are changed if you select -perprocess, only permanent ones if you supply -permanent, and both are changed by default. (See "Notes.") -pathname path, -pn path specifies a value segment other than the current default one, without changing the default (see "Notes on value segment"). -permanent, -perm sets a value in the value segment, regardless of whether any old value is per process or permanent. The default is to change any existing per-process value, otherwise to change the permanent value if one exists, otherwise to set a permanent value. -perprocess, -pp sets a per-process value, regardless of whether any old value is per process or permanent. -pop restores the previous value, saved by an invocation of "value_set -push", for each variable specified on the command line. If any given variable lacks a previous value, an error message is printed and the other variables' values are still popped. This control argument is incompatible with specifying a value and with -push. -push saves the old value of each variable before setting the value specified. -update, -ud makes the active function return the previous value or null string if there is no previous value. (Default: return the value that is set) Access required: You need rw access on the value segment except for per-process values. Notes: You must give one of value_string, -value STR, -add, or -pop. The -match and -exclude control arguments are applied in the order specified. Successive -match control arguments add to the set of names processed (union), and successive -exclude control arguments narrow down the set (intersection). They are incompatible with the name argument and can appear multiple times together. (See "Examples.") You can't use either -match or -exclude in the active function. If you supply -perprocess or the old value is a per-process one, the value set is per process; otherwise, the association is stored in a value segment (see "Notes on value segment"). Per-process values are stored in a temporary value segment in the process directory and disappear when the process terminates. When a value is set in a value segment that does not exist, you are asked whether to create the segment. Your default value segment [hd]>[user name].value is created automatically and a message is printed. See value_defined, value_delete, value_get, value_list, value_path, and value_set_path. Notes on value segment: The value segment searched is either the one specified by -pathname or the current default value segment. The default segment is initially [home_dir]>[user name].value but you can change it by value_set_path. Use of -pathname does not change the default segment. ----------------------------------------------------------- Historical Background This edition of the Multics software materials and documentation is provided and donated to Massachusetts Institute of Technology by Group BULL including BULL HN Information Systems Inc. as a contribution to computer science knowledge. This donation is made also to give evidence of the common contributions of Massachusetts Institute of Technology, Bell Laboratories, General Electric, Honeywell Information Systems Inc., Honeywell BULL Inc., Groupe BULL and BULL HN Information Systems Inc. to the development of this operating system. Multics development was initiated by Massachusetts Institute of Technology Project MAC (1963-1970), renamed the MIT Laboratory for Computer Science and Artificial Intelligence in the mid 1970s, under the leadership of Professor Fernando Jose Corbato. Users consider that Multics provided the best software architecture for managing computer hardware properly and for executing programs. Many subsequent operating systems incorporated Multics principles. Multics was distributed in 1975 to 2000 by Group Bull in Europe , and in the U.S. by Bull HN Information Systems Inc., as successor in interest by change in name only to Honeywell Bull Inc. and Honeywell Information Systems Inc. . ----------------------------------------------------------- Permission to use, copy, modify, and distribute these programs and their documentation for any purpose and without fee is hereby granted,provided that the below copyright notice and historical background appear in all copies and that both the copyright notice and historical background and this permission notice appear in supporting documentation, and that the names of MIT, HIS, BULL or BULL HN not be used in advertising or publicity pertaining to distribution of the programs without specific prior written permission. Copyright 1972 by Massachusetts Institute of Technology and Honeywell Information Systems Inc. Copyright 2006 by BULL HN Information Systems Inc. Copyright 2006 by Bull SAS All Rights Reserved