This is a reoccurrence of the French keyboard problem:
"problem with french keyboard"
https://sourceforge.net/tracker/index.php?func=detail&aid=1027217&group_id=44253&atid=438935
Probably also related:
"Cannot enter braces { } on Icelandic Mac OS X"
https://sourceforge.net/tracker/?func=detail&atid=438935&aid=2813140&group_id=44253
and
""Go to Opening/Closing Brace" Shortcut Inserts { or }"
https://sourceforge.net/tracker/?func=detail&atid=438935&aid=2953661&group_id=44253
From customer:
Same for stable and dev release.
MacOS-X, Snow Leopard.
- Launching DrJava, writing a class Foo.java with {} and [ ], no problem. Saving ok.
- Closing DrJava
- Launching DrJava, opening Foo.java, ok for {} but IMPOSSIBLE TO GET [ ] at the keyboard ! Copy-paste is ok.
When I start a new file from scratch just after launching DrJava, I get the [ ].
As soon as a file has been opened for editing, I can't type [ ], only { }. Even if the file is closed and if I ask "New file" !
From Mathias:
I don't think we ever had it right. It may have worked for the French
keyboard, but it didn't for the Icelandic keyboard:
http://sourceforge.net/tracker/?func=detail&atid=438935&aid=2813140&group_id=44253
When I fixed that, I may have inadvertantly broken it for the French
keyboard. What I find really confusing is that it first works, but
stops working after a file has been loaded.
Fascinating. I was just able to reproduce the problem using the Mac OS
X on-screen keyboard. At least that will make it easier to debug.
> I suspect two other keyboard-related changes may have broken the
> French keyboard. You could try using one of these versions:
>
> drjava-beta-20100711-r5314:
> https://sourceforge.net/projects/drjava/files/1.%20DrJava%20Stable%20Releases/drjava-beta-20100711-r5314/
>
> drjava-stable-20080904-r4668:
> https://sourceforge.net/projects/drjava/files/1.%20DrJava%20Stable%20Releases/drjava-stable-20080904-r4668/
Only the r4668 works with [ ]...
That means the change to make the Icelandic keyboard work broke the
French keyboard. Thanks for letting us know.
I started looking at this, and the code that was added for the Icelandic keyboard fix doesn't even get executed for []. I'm also puzzled by the fact that [] work on fresh documents, but not on documents loaded from file.
I'm going to have to check out the old, working version and add logging to it.
Revision 4942 doesn't work either.
The Icelandic keyboard fix didn't break it, it just broke it differently: Before the Icelandic keyboard fix, {} were not working, but [] were. After it, we have the situation described above, where [] work, but {} don't.
Continuing to dig (after I come home from work).
It seems like the problem was introduced in revision 4671. The change log states
"This revision fixes some bugs in the implementation of traversing
"recent documents" (activated by <CTRL>{<SHIFT>}<BACKQUOTE>
keystrokes). Recent document traversal nows works uniformly in the
main frame regardless of focus."
but I could not tell a difference.
I have created a test version at http://www.cs.rice.edu/~mgricken/tmp/drjava-french.jar
Fixed as of revision 5431.