eparam: Edit parameters of a task

Package: language

Usage

eparam task [task ...]

Parameters

task
The name of the task whose parameter set is to be edited.

Description

The eparam command calls up an interactive screen editor to edit the parameters of the named task or tasks. The syntax of the page editor is controlled by the environment variable `editor' which may have the values "edt", "emacs", or "vi". The user may also customize the editor by copying the associated "dev$*.ed" file to their home directory, and editing the file.

The CL parameter "epinit" may be used to set the following options:

[no]standout
Enables or disables use of standout mode (reverse video) in the display.
[no]showall
Controls whether or not hidden parameters are displayed and edited.

The eparam task may be used to edit either ordinary task parameter sets, or named parameter files. The presence or absence of a .par filename extension is used to determine whether an operand is a taskname or a filename. For example,

cl> eparam skypars.par

will edit the parameter file skypars.par in the current directory, whereas

cl> eparam skypars

will edit the parameter set for the pset-task skypars. Lastly, since spypars is a pset-task, we could just type

cl> skypars

to edit or review the contents of the pset.

The parameter file skypars.par in the above example would probably be created using the new colon-command extensions to eparam. The original eparam supported only single keystroke editing commands. The new colon commands are used to enter command lines of arbitrary length to be processed by eparam.

A colon command is entered by typing the colon character (`:') while the cursor is positioned to the starting column of any value field of the parameter set being edited. The colon character is not recognized as a special character beyond column one, e.g., when entering the string value of a parameter. When colon command mode is entered, the colon character will be echoed at the start of the bottom line on the screen, and the cursor will move to the character following the colon, waiting for the command to be entered. The command is read in raw mode, but the usual delete, <ctrl/c>, <ctrl/u>, etc. sequences are recognized.

The following eparam colon commands are currently supported. All commands are carefully error checked before being executed to avoid having eparam abort with a stack trace. An illegal operation causes colon command entry mode to be exited, leaving an error message on the command entry line. All commands which cause editing of the current pset to terminate may include the ! character to avoid updating the current pset before reading in the new one or exiting eparam. The default is to update the current pset. In all cases, pset may be either the name of a task or the name of a parameter file. Parameter files are always indicated by a .par extension, even though the actual file may be a .cl file: only .par files will be written, although either type of file may be read.

:e[!] [pset]
Edit a new pset. If pset is omitted and the cursor was positioned to a pset parameter when the colon command was entered then eparam descends into the referenced pset; when editing of the sub-pset is complete eparam returns to editing the higher level pset at the point at which the ':e' command was entered. If a pset is named the editor context is switched to the new pset, updating the current pset first unless the ':e!' command was given.
:q[!]
Exit eparam for the current pset; equivalent to a <ctrl/z>. The variant ':q!' causes eparam to be exited without updating the current pset. Entering this command when editing a sub-pset causes an exit to the higher level pset. To abort eparam entirely without updating anything, <ctrl/c> should be used.
:r[!] [pset]
Read in a new pset. If the command is ':r', an error message is printed. If the command is ':r!' the pset currently being edited is reread, canceling any modifications made since the last update. If a pset is specified the contents of the named pset are merged into the current pset, i.e., the named pset is loaded into the current pset, overwriting the contents of the current pset. The command ':r pfile.par' is commonly used to load a pset formerly saved in a user file with ':w pfile.par' into the UPARM version of the parameter set for a task.
:w[!] pset
Write or update a pset. If pset is omitted the pset currently being edited is updated on disk. If pset is given it should normally be the name of a parameter file to be written. If the file exists an error message will be printed unless the command ':w! pfile.par' is given to force the file to be overwritten.
:g[o][!]
Run the task. Eparam exits, updating the pset and running the task whose pset was being edited. This is implemented by pushing a command back into the input stream of the task which called eparam, hence if eparam was called in a script or with other commands on the same line, execution may be delayed until these other commands have been edited. The feature works as expected when used interactively. Since the run command is pushed back into the command input stream it will appear in the history record and in any log files.

To get out of colon command mode without doing anything, simply type delete until the colon prompt is deleted and the cursor returns to the parameter it was positioned to when colon command entry mode was entered.

Examples

1. Set standout mode and disable the editing of hidden parameters (leaving only the positional parameters).

cl> epinit = "standout noshowall"

2. Edit the parameters for the delete task.

cl> ep delete

See also

lparam, ehistory