program undo command


program undo <i >

Undo commands.


As with all program commands, use of the command word program is optional; program undo and undo are both valid.

If possible, this command undoes the last i lines of commands sent to the command processor. These could be commands typed at the command prompt or commands issued via the user interface. The undo operation is performed by “playing back” the record of interactive commands recorded since the last model reset or save state, minus the last i step(s). i is optional and defaults to 1 if omitted.

A call to a data file is interpreted as a single line by undo (that is, it is not “expanded” into its component commands for the purposes of undo). During playback, commands that caused an error previously will not halt processing, though error reporting will still occur as before. [DR: review previous description; discuss with CS if improvement/correction is needed]

If a model save file has been created from an allowed state, undo will start by restoring that file by executing a model restore. You can therefore not undo past that point.


undo is not always available.

  • Commands that were interrupted in an unsafe way will prevent the undo playback.
  • You cannot undo past a model restore.
  • It is possible for undo to fail or result in a different model state if the execution environment has changed.
  • Save states created during states when the model new command is not allowed (for example, while processing a FISH command/end.command) cannot be used as a starting point for an undo.
  • Be aware that if you are using this command directly (by typing undo at the command prompt), no check is made to see how long the playback will take.