What steps will reproduce the problem?
1. create a library, including keywords.txt--or modify an existing
2. create or change a keyword of type KEYWORD, essentially typo and leave off
the number
3. load up the IDE (or restart if already running)
4. include the library
5. enter any text
6. enter the keyword with the typo type
7. see broken IDE
(using an existing library and one of it's examples is probably easiest. Just
change a keyword you know will be included like begin to KEYWORD)
---
What is the expected output? What do you see instead?
Should ignore the keyword (maybe print an error in message area when parsing
keywords.txt)
Instead the window is not painted properly, missing lines, and the messages
area shows java exception errors for ArrayIndexOutOfBoundsException.
---
What version of the Arduino software are you using? On what operating
system? Which Arduino board are you using?
Arduino 1.0 on Mac
board doesn't matter
---
Please provide any additional information below.
Possibly related, and certainly in the same area bugs: 546 and 895
https://github.com/arduino/Arduino/blob/master/app/src/processing/app/syntax/Syn
taxUtilities.java#L151
Error repainting line range {48,74}:
java.lang.ArrayIndexOutOfBoundsException: 25
at processing.app.syntax.SyntaxUtilities.paintSyntaxLine(SyntaxUtilities.java:151)
at processing.app.syntax.TextAreaPainter.paintSyntaxLine(TextAreaPainter.java:644)
at processing.app.syntax.TextAreaPainter.paintLine(TextAreaPainter.java:603)
at processing.app.syntax.TextAreaPainter.paint(TextAreaPainter.java:415)
at javax.swing.JComponent._paintImmediately(JComponent.java:5098)
at javax.swing.JComponent.paintImmediately(JComponent.java:4882)
at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:812)
at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:714)
at javax.swing.RepaintManager.prePaintDirtyRegions(RepaintManager.java:694)
at javax.swing.RepaintManager.access$700(RepaintManager.java:41)
at javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1672)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:677)
at java.awt.EventQueue.access$000(EventQueue.java:85)
at java.awt.EventQueue$1.run(EventQueue.java:638)
at java.awt.EventQueue$1.run(EventQueue.java:636)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:647)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:296)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:211)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:196)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:188)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
Original issue reported on code.google.com by j...@blackcatmicro.com on 8 May 2012 at 5:50
Original issue reported on code.google.com by
j...@blackcatmicro.com
on 8 May 2012 at 5:50