Update of cube display

Updating of the cube display is controlled by the Update flag that can be set or cleared via the Unravel Options dialog.

When the Update flag is clear, the display is updated only when the user presses the <enter> key or clicks OK in the Command Sequence input dialog. If the user decides not to discard a sequence that is in error, the erroneous sequence is re-entered in the edit window with the selection unchanged.

When the Update flag is set, the display will be updated after each new valid command sequence is entered in the Command Sequence input dialog edit window. However, the update will not take place if an error is detected when decoding the complete sequence in the edit window. Since many commands involve multiple characters (e.g. -12U), errors will be detected until all the required characters have been entered for a given command. The display of error messages is inhibited until the user presses the <enter> key or clicks OK. If the user keys in some valid commands and the display does not update, that is a clear indication that there is an error in the command sequence. When the Update flag is set the program determines whether it is faster to execute the full command line or the change relative to the previous sequence and adopts the faster option. If the Update flag is set and an error is detected on <enter>, the user is presented with the option of retaining or discarding changes made to the cube state in the current line. The erroneous sequence is not re-entered in the edit window.

On pressing <enter>, in the Command Sequence input dialog, the cube display is not updated if the state has not changed (for slower computers that can result in screen flicker not being present in such cases). Since the cube display will have been updated before <enter> if the Update flag is set, the display will not be updated on <enter> in that case.

With the Update flag set, there may be a tendency to enter long command sequences in the Command Sequence input dialog edit window. Care needs to be taken to not enter excessively long sequences that will result in a "Command sequence too long" error message.