Bug 344181 - [Compatibility] Not all emacs keybindings override default
keybindings

If we add a binding to the table, we should make sure the binding is
correct.
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/keys/BindingService.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/keys/BindingService.java
index b5590cc..fcc92d7 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/keys/BindingService.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/keys/BindingService.java
@@ -696,6 +696,8 @@
 	static public MKeyBinding createORupdateMKeyBinding(MApplication application,
 			MBindingTable table,
 			Binding binding) {
+		boolean addToTable = false;
+
 		ParameterizedCommand parmCmd = binding.getParameterizedCommand();
 
 		String id = parmCmd.getId();
@@ -725,9 +727,9 @@
 		}
 
 		if (keyBinding == null) {
+			addToTable = true;
 			keyBinding = CommandsFactoryImpl.eINSTANCE.createKeyBinding();
 			keyBinding.setCommand(cmd);
-			table.getBindings().add(keyBinding);
 		}
 		keyBinding.setKeySequence(binding.getTriggerSequence().format());
 
@@ -773,6 +775,9 @@
 			tags.add(EBindingService.TYPE_ATTR_TAG + ":user"); //$NON-NLS-1$
 		}
 		keyBinding.getTransientData().put(EBindingService.MODEL_TO_BINDING_KEY, binding);
+		if (addToTable) {
+			table.getBindings().add(keyBinding);
+		}
 		return keyBinding;
 	}