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
if (length < 1)
			return;
			
		int anchor= fBracketMatcher.getAnchor();
		
		int targetOffset= (JavaPairMatcher.RIGHT == anchor) ? offset + 1: offset + length;
		
		boolean visible= false;
		if (sourceViewer instanceof ITextViewerExtension5) {
			ITextViewerExtension5 extension= (ITextViewerExtension5) sourceViewer;
			visible= (extension.modelOffset2WidgetOffset(targetOffset) > -1);
		} else {
			IRegion visibleRegion= sourceViewer.getVisibleRegion();
			
			visible= (targetOffset >= visibleRegion.getOffset() && targetOffset <= visibleRegion.getOffset() + visibleRegion.getLength());
		}
		
		if (!visible) {
			setStatusLineErrorMessage(JavaEditorMessages.getString("GotoMatchingBracket.error.bracketOutsideSelectedElement"));			
			sourceViewer.getTextWidget().getDisplay().beep();
			return;
		}
		
		if (selection.getLength() < 0)
			targetOffset -= selection.getLength();
			
		sourceViewer.setSelectedRange(targetOffset, selection.getLength());
		sourceViewer.revealRange(targetOffset, selection.getLength());
	}
	/**