Bug 78666 [KeyBindings] errors: No warning if keybinding definitions collide
Using 3.1 M3, if I define a keybinding in the default "windows" context and with keybinding of "CTRL+B" or "CTRL+U", the keybindings are silently removed. In the very least, the conflict should be logged. Ideally, the user would also see the collision in the keybindings preference page. In this case, I think it's better to show some information than to just kill these mapping and not explain why. Eclipse is a dynamic platform. There are lots of scenarios where keybindings get added into a configuration and start conflicting with previously working keybindings.
bundles/org.eclipse.jface/src/org/eclipse/jface/bindings/BindingManager.java
matches.add(binding);
			} else {
				possibleBindings.put(trigger, binding);
			}
		}
		/*
		 * THIRD PASS: In this pass, we move any non-conflicting bindings
		 * directly into the map. In the case of conflicts, we apply some
		 * further logic to try to resolve them. If the conflict can't be
		 * resolved, then we log the problem.
		 */
		final Iterator possibleBindingItr = possibleBindings.entrySet()
				.iterator();
		while (possibleBindingItr.hasNext()) {
			final Map.Entry entry = (Map.Entry) possibleBindingItr.next();
			final TriggerSequence trigger = (TriggerSequence) entry.getKey();
			final Object match = entry.getValue();
			/*
			 * What we do depends slightly on whether we are trying to build a
			 * list of all possible bindings (disregarding context), or a flat
			 * map given the currently active contexts.
			 */
			if (activeContextTree == null) {
				
				final Collection bindings = new ArrayList();
				if (match instanceof Binding) {
					bindings.add(match);
					bindingsByTrigger.put(trigger, bindings);
					addReverseLookup(triggersByCommandId, ((Binding) match)
							.getParameterizedCommand(), trigger);