$.DELIMOPT Option

(Type: Boolean, Default: FALSE)

<$.DELIMOPT option>

── $.DELIMOPT ─────────────────────────────────────────────────────────┤

The $.DELIMOPT option insulates succeeding patches from option changes in a particular patch. Whenever $.DELIMOPT is SET—implicitly or explicitly—on a $. record, the option on the record is SET, and the current value is recorded for each of the following options:

  • $.CONFLICT

  • $.LISTP

  • $.MARK

  • $.MARKBLANK

  • $.OUT

Whenever a $# patch delimiter record is read while $.DELIMOPT remains TRUE, all these options are restored to the values they had when $.DELIMOPT was last TRUE. The stacked historical values of these options are RESET; thus, a POP is equivalent to a RESET for an option like $.LISTP that has been restored by a $# record read while $.DELIMOPT was SET.

A patch control record can specify SET, RESET, or POP for the $.DELIMOPT option. If the patch control record specifies POP for the $.DELIMOPT option, and this changes the $.DELIMOPT option from RESET to SET, the option values from the most recent occasion when $.DELIMOPT was SET are restored.

The simplest way to use $.DELIMOPT is to SET it as the last option before the first $# delimiter in the input set. Then the specified or default values of the several options apply to each patch in turn, even if a prior patch has changed one or more options.

Example

In the following example, the $.MARKBLANK option applies to the input for patch one, but not for patches two or three. The $.MARK option applies to patches one and three but not to patch two.

 $.SET COMPARE MARK DELIMOPT
 $#PATCH ONE
 $.MARKBLANK
 .
 .
 .
 $#PATCH TWO
 $.RESET MARK
 .
 .
 .
 $#PATCH THREE