Bug 66501 [typing] In smart mode: Delete Next/Previous Word delete selection
200406092000 In the java editor, Delete Next Word (Ctrl+Delete) and Delete Previous Word (Ctrl+Backspace) behave unexpected. They should always just delete the selection iff it is not zero-length. That's the behavior we're used to with unmodified Delete and Backspace, and it's also what the Text Editor already does. void foo() { System.out.println(123); } Set cursor to before "out.", then press 2x Ctrl+Shift+Right to select "out." with the caret after the selection. Expected: Ctrl+Delete deletes selection. Was: Ctrl+Delete then deletes "println", leaving the selection alone. Similar problems with Ctrl+Backspace and when caret is at the start of the selection.
org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/javaeditor/JavaEditor.java
private void updateKeyModifierMask() {
			String modifiers= getPreferenceStore().getString(BROWSER_LIKE_LINKS_KEY_MODIFIER);
			fKeyModifierMask= computeStateMask(modifiers);
			if (fKeyModifierMask == -1) {
				
				fKeyModifierMask= getPreferenceStore().getInt(BROWSER_LIKE_LINKS_KEY_MODIFIER_MASK);
			}
		}
		private int computeStateMask(String modifiers) {
			if (modifiers == null)
				return -1;
		
			if (modifiers.length() == 0)
				return SWT.NONE;
			int stateMask= 0;
			StringTokenizer modifierTokenizer= new StringTokenizer(modifiers, ",;.:+-* "); 
			while (modifierTokenizer.hasMoreTokens()) {
				int modifier= EditorUtility.findLocalizedModifier(modifierTokenizer.nextToken());
				if (modifier == 0 || (stateMask & modifier) == modifier)
					return -1;
				stateMask= stateMask | modifier;
			}
			return stateMask;
		}
		
		public void uninstall() {
			if (fColor != null) {
				fColor.dispose();
				fColor= null;