Bug 49485 Extra carriage return required after auto-completion of brackets
When typing in a statement such as for(), when completion is enabled (so that the closing bracket is added automatically), an extra carriage return keystroke is sometimes required. For example, type the following: for( Eclipse adds the closing bracket to complete the statement, and leaves the caret between the two brackets. If you then cursor-right, to place the caret at the end of the statement and press Enter (carriage return), nothing happens. The caret does not move, and no new line is created. If, instead of cursor-right, you type the closing bracket youself (overwriting the one Eclipse added) and press Enter (carriage-return), then a new line is created and the caret moves to it as you would expect. When typing in a hurry, this is a real nuisance! I don't know which Java preferences are relevant to help to reproduce this, but for reference, the Java|Editor|Typing preferences are all checked. Please ask if you need more info. This occurs in Eclipse M6
org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/link/LinkedUIControl.java
protected final ITextViewer fTextViewer;
		
		protected final ITextEditor fTextEditor;
		/**
		 * Creates a new instance.
		 * 
		 * @param viewer the viewer
		 * @param editor the editor displaying <code>viewer</code>, or <code>null</code>
		 */
		public EditorTarget(ITextViewer viewer, ITextEditor editor) {
			Assert.isNotNull(viewer);
			fTextViewer= viewer;
			fTextEditor= editor;
		}
		/*
		 * @see org.eclipse.jdt.internal.ui.text.link2.LinkedUIControl.ILinkedUITarget#getViewer()
		 */
		public ITextViewer getViewer() {
			return fTextViewer;
		}
		/*
		 * @see org.eclipse.jdt.internal.ui.text.link2.LinkedUIControl.ILinkedUITarget#enter()
		 */
		public void enter() {
			if (fTextEditor != null)
				return;
			IWorkbenchPage page= fTextEditor.getEditorSite().getPage();
			if (page != null) {