You need to understand the difference between a global action and a local transition.
When you run a command
or or when you start editing an object, you start a global
action. Such action is identified in the Undo/Redo Overview
dialog box by a name beginning with "Start" (e.g. "Start Edition : Part xxx,
"Start line definition...", etc.).
Inside a command, you perform internal transitions and some of
them are displayed in the Undo/Redo Overview dialog box
with a name ending with "..." to distinguish them from global
commands (e.g. "Select search results...").
When a command is over, local actions are committed and replaced
in the Undo/Redo Overview dialog box by a global action
representing everything you did while running the command.
A global action can sometimes be seen as a local action
from a more global point of view: this is the case, for instance,
for an exclusive command performed while editing, or for a shared
command used while running another command.
You can reverse then recover internal transitions as long as you are in
the command. If several reverse actions are successively performed until the command itself is reversed, then you cannot recover
the command's
internal transitions. When a command is reversed, you cannot use
the Redo command to restart it.
For instance, suppose the following scenario with three steps
and two
different cases:
- step 1: copy an object.
- step 2: paste the object.
- step 3: select the object then move it.
Case 1
Click Undo: this moves the object back to its original
position in step 2.
Click Redo: this moves the object to the location
defined in step 3.
You can reverse then recover the move because you are still in the
Select command.
Case 2
Click Undo: this moves the object back to its original
position in step 2.
Click Undo again: the paste action is canceled
and you go back to step 1.
Click Redo: the object is pasted. But you cannot recover step 3 after this and if you display the
overview, you can see that it is empty. You cannot recover the move
because the second reversion impacts the Paste command and
not the Select command anymore.