Bug 84446 OperationHistory should protect itself better against runtime exceptions
Since clients of the history might rely on getting certain events even if a operation causes runtime exceptions (for example listeners) the history should protect itself better agains runtime exceptions. This envloves: - listeners causing runtime exceptions in the call back - Operation execution causing runtime exceptions. In this case listeners must be informed as well.
bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/operations/DefaultOperationHistory.java
for (int i = 0; i < filtered.length; i++) {
			IUndoableOperation operation = (IUndoableOperation) filtered[i];
			if (context == GLOBAL_UNDO_CONTEXT || operation.getContexts().length == 1) {
				
				fRedo.remove(operation);
				internalRemove(operation);
			} else {
				
				operation.removeContext(context);
			}
		}
	}
	
	/*
	 * Flush the undo stack of all operations that have the given context.
	 */
	void flushUndo(IUndoContext context) {
		Object[] filtered = filter(fUndo, context);
		for (int i = 0; i < filtered.length; i++) {
			IUndoableOperation operation = (IUndoableOperation) filtered[i];
			if (context == GLOBAL_UNDO_CONTEXT || operation.getContexts().length == 1) {
				
				fUndo.remove(operation);
				internalRemove(operation);
			} else {
				
				operation.removeContext(context);
			}
		}