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
} catch (BadLocationException e) {
			return false;	
		}
	}
		
	/**
	 * Returns the annotation closest to the given range respecting the given
	 * direction. If an annotation is found, the annotations current position
	 * is copied into the provided annotation position.
	 * 
	 * @param offset the region offset
	 * @param length the region length
	 * @param forward <code>true</code> for forwards, <code>false</code> for backward
	 * @param annotationPosition the position of the found annotation
	 * @return the found annotation
	 */
	private Annotation getNextAnnotation(final int offset, final int length, boolean forward, Position annotationPosition) {
		
		Annotation nextAnnotation= null;
		Position nextAnnotationPosition= null;
		Annotation containingAnnotation= null;
		Position containingAnnotationPosition= null;
		boolean currentAnnotation= false;
		
		IDocument document= getDocumentProvider().getDocument(getEditorInput());
		int endOfDocument= document.getLength(); 
		int distance= Integer.MAX_VALUE;
		
		IAnnotationModel model= getDocumentProvider().getAnnotationModel(getEditorInput());
		Iterator e= new JavaAnnotationIterator(model, true, true);