Verified in Eclipse 3.4, plugin version 2.3.3:
Start by creating the following 2 line jamon document:
<
<& a &>
Next, go to the beginging of the document, type a '<' and a '&'. The cursor will end up between the '<' and '&' characters. If you advance the cursor by one to follow the & and start typing, the cursor will fail to advance, resulting in backwards typing.
Anonymous
Is there anything in the error log?
Stack trace in log is:
java.lang.IllegalArgumentException: Argument not valid
at org.eclipse.swt.SWT.error(SWT.java:3761)
at org.eclipse.swt.SWT.error(SWT.java:3695)
at org.eclipse.swt.SWT.error(SWT.java:3666)
at org.eclipse.swt.custom.StyledText.setStyleRanges(StyledText.java:7914)
at org.eclipse.swt.custom.StyledText.replaceStyleRanges(StyledText.java:6376)
at org.eclipse.jface.text.TextViewer.addPresentation(TextViewer.java:4442)
at org.eclipse.jface.text.TextViewer.changeTextPresentation(TextViewer.java:4521)
at org.eclipse.jface.text.presentation.PresentationReconciler.applyTextRegionCollection(PresentationReconciler.java:579)
at org.eclipse.jface.text.presentation.PresentationReconciler.processDamage(PresentationReconciler.java:568)
at org.eclipse.jface.text.presentation.PresentationReconciler.access$3(PresentationReconciler.java:564)
at org.eclipse.jface.text.presentation.PresentationReconciler$InternalListener.textChanged(PresentationReconciler.java:225)
at org.eclipse.jface.text.TextViewer.updateTextListeners(TextViewer.java:2650)
at org.eclipse.jface.text.TextViewer$VisibleDocumentListener.documentChanged(TextViewer.java:387)
at org.eclipse.jface.text.AbstractDocument.doFireDocumentChanged2(AbstractDocument.java:739)
at org.eclipse.jface.text.AbstractDocument.doFireDocumentChanged(AbstractDocument.java:712)
at org.eclipse.jface.text.AbstractDocument.doFireDocumentChanged(AbstractDocument.java:697)
at org.eclipse.jface.text.AbstractDocument.fireDocumentChanged(AbstractDocument.java:762)
at org.eclipse.jface.text.AbstractDocument.replace(AbstractDocument.java:1157)
at org.eclipse.core.internal.filebuffers.SynchronizableDocument.replace(SynchronizableDocument.java:151)
at org.eclipse.jface.text.AbstractDocument.replace(AbstractDocument.java:1176)
at org.eclipse.core.internal.filebuffers.SynchronizableDocument.replace(SynchronizableDocument.java:137)
at org.eclipse.jface.text.DefaultDocumentAdapter.replaceTextRange(DefaultDocumentAdapter.java:248)
at org.eclipse.swt.custom.StyledText.modifyContent(StyledText.java:5876)
at org.eclipse.swt.custom.StyledText.sendKeyEvent(StyledText.java:6631)
at org.eclipse.swt.custom.StyledText.doContent(StyledText.java:2186)
at org.eclipse.swt.custom.StyledText.handleKey(StyledText.java:5145)
at org.eclipse.swt.custom.StyledText.handleKeyDown(StyledText.java:5170)
at org.eclipse.swt.custom.StyledText$7.handleEvent(StyledText.java:4873)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1158)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1182)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1167)
at org.eclipse.swt.widgets.Widget.sendIMKeyEvent(Widget.java:1244)
at org.eclipse.swt.widgets.Control.gtk_commit(Control.java:2595)
at org.eclipse.swt.widgets.Canvas.gtk_commit(Canvas.java:163)
at org.eclipse.swt.widgets.Widget.windowProc(Widget.java:1533)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:4502)
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4099)
at org.eclipse.swt.internal.gtk.OS._gtk_im_context_filter_keypress(Native Method)
at org.eclipse.swt.internal.gtk.OS.gtk_im_context_filter_keypress(OS.java:5315)
at org.eclipse.swt.widgets.Control.filterKey(Control.java:2038)
at org.eclipse.swt.widgets.Control.gtk_key_press_event(Control.java:2754)
at org.eclipse.swt.widgets.Composite.gtk_key_press_event(Composite.java:702)
at org.eclipse.swt.widgets.Widget.windowProc(Widget.java:1543)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:4502)
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4099)
at org.eclipse.swt.internal.gtk.OS._gtk_main_do_event(Native Method)
at org.eclipse.swt.internal.gtk.OS.gtk_main_do_event(OS.java:5783)
at org.eclipse.swt.widgets.Display.eventProc(Display.java:1177)
at org.eclipse.swt.internal.gtk.OS._g_main_context_iteration(Native Method)
at org.eclipse.swt.internal.gtk.OS.g_main_context_iteration(OS.java:1541)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3031)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2382)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2346)
at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2198)
at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:493)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:288)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:488)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:113)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:193)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:382)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:549)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:504)
at org.eclipse.equinox.launcher.Main.run(Main.java:1236)