there are still undo-bugs:
have two tabs, type something (multiple lines) in the first (main) tab,
switch to the second, type something,
switch back to first tab and start undoing.
the first line gets undone ok, then it starts duplication the code ...
i had a case where i couldn't select or edit the top of the code anymore.
save and reopen rescued the project ..
F
from the case where i could only recover by save-reopen:
( not sure when the out of memory error occured, but there should have been enough mem available anyway ..? )
Code:
java.lang.OutOfMemoryError
javax.swing.text.BadLocationException: Length must be positive
at javax.swing.text.AbstractDocument.getText(AbstractDocument.java:810)
at processing.app.syntax.JEditTextArea.getText(JEditTextArea.java:916)
at processing.app.syntax.JEditTextArea.getLineText(JEditTextArea.java:944)
at processing.app.syntax.JEditTextArea.xToOffset(JEditTextArea.java:621)
at processing.app.syntax.InputHandler$prev_line.actionPerformed(InputHandler.java:940)
at processing.app.syntax.InputHandler.executeAction(InputHandler.java:286)
at processing.app.syntax.DefaultInputHandler.keyPressed(DefaultInputHandler.java:210)
at processing.app.syntax.JEditTextArea.processKeyEvent(JEditTextArea.java:1630)
at java.awt.Component.processEvent(Component.java:4975)
at java.awt.Container.processEvent(Container.java:1613)
at java.awt.Component.dispatchEventImpl(Component.java:3681)
at java.awt.Container.dispatchEventImpl(Container.java:1671)
at java.awt.Component.dispatchEvent(Component.java:3543)
at java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1713)
at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(DefaultKeyboardFocusManager.java:627)
at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(DefaultKeyboardFocusManager.java:831)
at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:741)
at java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:592)
at java.awt.Component.dispatchEventImpl(Component.java:3572)
at java.awt.Container.dispatchEventImpl(Container.java:1671)
at java.awt.Window.dispatchEventImpl(Window.java:1606)
at java.awt.Component.dispatchEvent(Component.java:3543)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:456)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:234)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:178)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:170)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:100)