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
public static int[] getBidiLineSegments(ITextViewer viewer, int lineOffset) throws BadLocationException {
			
		IDocument document= viewer.getDocument();
		if (document == null)
			return null;
			
		IRegion line= document.getLineInformationOfOffset(lineOffset);
		ITypedRegion[] linePartitioning= TextUtilities.computePartitioning(document, IJavaPartitions.JAVA_PARTITIONING, lineOffset, line.getLength(), false);
		
		List segmentation= new ArrayList();
		for (int i= 0; i < linePartitioning.length; i++) {
			if (IJavaPartitions.JAVA_STRING.equals(linePartitioning[i].getType()))
				segmentation.add(linePartitioning[i]);
		}
		
		
		if (segmentation.size() == 0) 
			return null;
			
		int size= segmentation.size();
		int[] segments= new int[size * 2 + 1];
		
		int j= 0;
		for (int i= 0; i < size; i++) {
			ITypedRegion segment= (ITypedRegion) segmentation.get(i);
			
			if (i == 0)
				segments[j++]= 0;
				
			int offset= segment.getOffset() - lineOffset;