The DECset Environment Manager for OpenVMS provides a single
mechanism for tailoring the execution environment for a set of
DECset tools. The tailoring factor is known simply as a context.
Using the DECwindows user interface, a context may be applied
to all tools displaying on a particular DECwindows display.
Using the command line interface, a context may be applied to
a particular process and all subprocesses subsequently created by
that process.
Context
A context is defined as a named set of values that tailors the
DECset tools to a specific software development activity (for
example, fixing bugs or implementing enhancements). The supported
attributes for which these values are supplied are: logical name
definitions; symbol definitions; MMS macro definitions; MMS build
options; linker options file specifications; library settings; a
source directory specification; output directory specifications;
and a default directory specification.
Each context has a unique name. The context name is limited to
a length of 16 characters. There can be only one context in a
particular context database with that name.
At any given time, the named context most recently applied to a
tool is known as the tool's current context. If no context has
been applied, the tool has no current context.
A tool's execution environment is not fully defined by the values
associated with a named context. Rather, a tool's execution
environment is constructed from the following sources:
1. the parent process
2. the X Windows resource file (if applicable)
3. the named context (if applicable)
4. the command line qualifiers used to invoke the tool
A specification retrieved from a higher-numbered source always
supersedes any specification of the same object retrieved from a
lower-numbered source.
Context Hierarchy
A project context is one that is associated with a development
project. A project context is typically used by all persons
working on the particular project.
A user-specific context may be based upon a project context,
thereby tailoring the project context to a particular user. In
this case, the project context becomes a parent context.
A context that is based upon another context is said to be a
child context. Each child context inherits all the information
associated with its parent context. If the same attribute in both
a child and its parent have different values, the child's value
overrides that of the parent.
Any context may be based upon another context, which (in turn)
may itself be based upon yet another context. A child context
inherits information from its entire `chain' of parent contexts.
The term context object refers to a context that includes all of
this inherited information.
Context File
A context file is used to store information that is specific
to a particular named context. The context file is specified by
an OpenVMS file specification, which is stored in the context
database entry associated with the named context. The default
context file type is .DECSET_CONTEXT.
The context file is a sequential ASCII text file. In a context
file, a continuation line must be terminated by a hyphen
character. Trailing comments are not allowed on a continuation
line. The context file specification must exist in the format:
disk:[directory.subdirectory]*.decset_context. If you specify a
node name in the File menu New Context... Context File field-
even if the node name is part of a local cluster-the node
specification is invalid at the time of context file retrieval
from the context database.
Context Database
A context is defined in a context database. This database is
stored as a sequential ASCII text file. Each record of this file
has the following format:
context-name context-file-spec [parent-context] ["context-description"]
A context database entry must include a complete file
specification; for example, DISK12:[USER.DIRECTORY]context_
database_file.DECSET_CONTEXT_DB.
For more information about managing windows, or using the mouse,
double click on an item from the list of additional topics below.
For information about using help, choose Help from the
Help menu above.