Bug 94438 [Undo] - javadoc - clarify operation remaining in history for undo/redo with INFO/WARNING
The javadoc for the IOperationHistory#undo(...) redo(...) methods is very explicit about the operation remaining in the history on CANCEL and ERROR status, and that it is moved between undo/redo histories when ok. Some minor clarifications: The lack of an explicit statement about INFO and WARNING makes one wonder what happens to the operation. It remains in the history in this case also... Technically, on OK status the operation is not guaranteed to move between the stacks. If it cannot redo after undoing, or cannot undo after redoing, it won't be transferred to the other stack, but in effect will be removed from the history.
bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/operations/IOperationHistory.java
* @param monitor
	 *            the progress monitor to be used for the redo, or code>null</code>
	 *            if no progress monitor is provided
	 * @param info
	 *            the IAdaptable (or <code>null</code>) provided by the
	 *            caller in order to supply UI information for prompting the
	 *            user if necessary. When this parameter is not <code>null</code>,
	 *            it should minimally contain an adapter for the
	 *            org.eclipse.swt.widgets.Shell.class.
	 * 
	 * @return the IStatus indicating whether the redo succeeded.
	 * 
	 * <p>
	 * The severity code in the returned status describes whether the operation
	 * succeeded and whether it remains in the history. <code>OK</code>
	 * severity indicates that the redo operation was successful and that the
	 * operation has been placed on the undo history. Listeners will receive the
	 * <code>REDONE</code> notification.
	 * </p>
	 * <p>
	 * <code>CANCEL</code> severity indicates that the user cancelled the
	 * operation and that the operation remains in the redo history. <code>ERROR</code>
	 * severity indicates that the operation could not successfully be redone.
	 * The operation will remain at its current location in the history, and
	 * callers must explicitly remove it if desired. Any other severity code is
	 * not interpreted by the history, and is simply passed back to the caller.
	 * For all severities other than <code>OK</code>, listeners will receive
	 * the <code>OPERATION_NOT_OK</code> notification instead of the <code>REDONE</code>
	 * notification.
	 * </p>