The following exception seems to hold back JEdit from proper syntax highlighting. [error] AWT-EventQueue-4: Exception during event dispatch: [error] AWT-EventQueue-4: java.lang.AbstractMethodError: unimplemented interface method [error] AWT-EventQueue-4: at gnu.regexp.RE.makeCharIndexed(RE.java:2086) [error] AWT-EventQueue-4: at gnu.regexp.RE.isMatch(RE.java:1500) [error] AWT-EventQueue-4: at gnu.regexp.RE.isMatch(RE.java:1476) [error] AWT-EventQueue-4: at org.gjt.sp.jedit.syntax.TokenMarker.markKeyword(TokenMarker.java:700) [error] AWT-EventQueue-4: at org.gjt.sp.jedit.syntax.TokenMarker.markTokens(TokenMarker.java:232) [error] AWT-EventQueue-4: at org.gjt.sp.jedit.Buffer.markTokens(Buffer.java:2115) [error] AWT-EventQueue-4: at org.gjt.sp.jedit.textarea.ChunkCache.lineToChunkList(ChunkCache.java:752) [error] AWT-EventQueue-4: at org.gjt.sp.jedit.textarea.ChunkCache.updateChunksUpTo(ChunkCache.java:627) [error] AWT-EventQueue-4: at org.gjt.sp.jedit.textarea.ChunkCache.getLineInfo(ChunkCache.java:244) [error] AWT-EventQueue-4: at org.gjt.sp.jedit.textarea.ExtensionManager.paintScreenLineRange(ExtensionManager.java:93) [error] AWT-EventQueue-4: at org.gjt.sp.jedit.textarea.TextAreaPainter.paintComponent(TextAreaPainter.java:722) [error] AWT-EventQueue-4: at javax.swing.JComponent.paint(JComponent.java:1756) [error] AWT-EventQueue-4: at javax.swing.JComponent.paintDoubleBuffered(JComponent.java:2197) [error] AWT-EventQueue-4: at javax.swing.JComponent.paintImmediately2(JComponent.java:2145) [error] AWT-EventQueue-4: at javax.swing.JComponent.paintImmediately(JComponent.java:2131) [error] AWT-EventQueue-4: at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:551) [error] AWT-EventQueue-4: at javax.swing.RepaintManager$RepaintWorker.run(RepaintManager.java:127) [error] AWT-EventQueue-4: at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:200) [error] AWT-EventQueue-4: at java.awt.EventQueue.dispatchEvent(EventQueue.java:465) [error] AWT-EventQueue-4: at java.awt.EventDispatchThread.run(EventDispatchThread.java:95)
I'm a bit confused by this trace. Perhaps we're calling setIndexed (see the code in makeCharIndexed) on an object supplied by jedit?
This was caused by JEdit having its own old version of GNU Regexp. I fixed this by moving the Classpath impl to gnu.java.util.regex.