Bug 61565 [navigation] next / previous sub-word jumping misses some sub-word start/ends
I200405060200 Preferences > Java > Editor > Navigation > "Smart cursor positioning in Java names" checked. /** * @see GenericVisitor#visitNode(ASTNode) */ - set caret to after "Generic", Ctrl+Right -> was: caret jumps to after "visitNode"; expected: caret after "Visitor" - set caret to after "visit", Ctrl+Left -> was caret before "Generic"; expected: caret before "visit" I guess the problem is the '#' character, since it works fine if '#' is replaced by '.'
org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/javaeditor/JavaEditor.java
int position= widgetOffset2ModelOffset(viewer, viewer.getTextWidget().getCaretOffset());
			
				
				final IPreferenceStore store= getPreferenceStore();
				final ITypedRegion region= TextUtilities.getPartition(document, IJavaPartitions.JAVA_PARTITIONING, position, false);
				if (!store.getBoolean(PreferenceConstants.EDITOR_SUB_WORD_NAVIGATION)) {
					super.run();
					return;				
				}
				
				if (Character.isJavaIdentifierPart(document.getChar(position))) {
					int offset= 0;
					int order= CollationElementIterator.NULLORDER;
					short previous= Short.MAX_VALUE;
					short next= Short.MAX_VALUE;
					
					final String buffer= document.get(position, region.getOffset() + region.getLength() - position);
					final CollationElementIterator iterator= fCollator.getCollationElementIterator(buffer);
					
					do {
						
						offset= iterator.getOffset();
						if (!Character.isJavaIdentifierPart(document.getChar(position + offset))) {
							if (offset > 0)
								setCaretPosition(position + offset - 1);
							super.run();
							return;
						}
						
						order= iterator.next();