### ERR_TUNE

Set an ERR tuning parameter

#### Description:

The value of the ERR tuning parameter is set appropriately, according to the value given. ERR_TUNE may be called multiple times for the same parameter.

The given value can be overridden by setting an environment variable, ERR_PARAM (where PARAM is the tuning parameter name in upper case), at run time.

The routine will attempt to execute regardless of the given value of STATUS. If the given value is not SAI__OK, then it is left unchanged, even if the routine fails to complete. If the STATUS is SAI__OK on entry and the routine fails to complete, STATUS will be set and an error report made.

#### Invocation

CALL ERR_TUNE( PARAM, VALUE, STATUS )

#### Arguments

##### PARAM = CHARACTER$\ast$($\ast$) (Given)
The tuning parameter to be set (case insensitive).
##### VALUE = INTEGER (Given)
The desired value (see Notes).
##### STATUS = INTEGER (Given and Returned)
The global status.

#### Notes:

1. The following values of PARAM may be used:
• ’SZOUT’ Specifies a maximum line length to be used in the line wrapping process. By default the message to be output is split into chunks of no more than the maximum line length, and each chunk is written on a new line. The split is made at word boundaries if possible. The default maximum line length is 79 characters.

If VALUE is set to 0, no wrapping will occur. If it is set greater than 6, it specifies the maximum output line length. Note that the minimum VALUE is 7, to allow for exclamation marks and indentation.

• ’STREAM’ Specifies whether or not ERR should treat its output unintelligently as a stream of characters. If VALUE is set to 0 (the default) all non-printing characters are replaced by blanks, and line wrapping occurs (subject to SZOUT). If VALUE is set to 1, no cleaning or line wrapping occurs.
• ’REVEAL’ Allows the user to display all error messages cancelled when ERR_ANNUL is called. This is a diagnostic tool which enables the programmer to see all error reports, even those ’handled’ by the program. If VALUE is set to 0 (the default) annulling occurs in the normal way. If VALUE is set to 1, the message will be displayed.
• ’ENVIRONMENT’ This is not a true tuning parameter name but causes the environment variables associated with all the true tuning parameters to be used if set. If the environment variable is not set, the tuning parameter is not altered. The VALUE argument is not used.

2. The tuning parameters for MSG and ERR operate partially at the EMS level and may conflict in their requirements of EMS.

3. The use of SZOUT and STREAM may be affected by the message delivery system in use. For example there may be a limit on the the size of a line output by a Fortran WRITE and automatic line wrapping may occur. In particular, a NULL character will terminate a message delivered by the ADAM message system.

4. With REVEAL, messages are displayed at the time of the ANNUL. As REVEAL operates at the EMS level they are displayed with Fortran WRITE statements so, depending upon the delivery mechanism for normal messages, they may appear out of order.

#### D.3 Deprecated Routine ERR_OUT

Purely for compatibility with previous versions of ERR, the routine ERR_OUT is provided. It should not be used in any new code – usually a call to ERR_REP is all that is required. If it is essential that the message be delivered to the user immediately, ERR_REP should be followed by a call to ERR_FLUSH.