#### 4.7.5 AtomicUndo

Syntax: `AtomicUndo [0|+|-]`
Abbreviation: `AU`

increases, decreases, sets or clears the `AtomicUndo` level. The normal level is zero. All current document changes made while the `AtomicUndo` level is above zero are treated as a single change by the `Undo` and `Redo` commands. If no parameter is given, a level of 0 is set to 1; otherwise the current non-zero level is decremented. If 0 is given, the level is reset to zero. Parameters of ‘`+`’ and ‘`-`’ respectively increment and decrement the level, which in no case can be negative. If the level is above zero, the `DoUndo` flag in the status bar, which is normally a lower-case ‘`u`’, becomes upper case ‘`U`’.

Two other actions will reset the `AtomicUndo` level to zero: invoking the `Undo` command, and disabling the undo system with the `DoUndo` command. You cannot set a non-zero `AtomicUndo` level unless the undo system is enabled.

Note: macros that you wish to undo and redo atomically—i.e., as if they were single commands—should begin with `AtomicUndo +` and end with `AtomicUndo -` so that they can call and/or be called by other macros.