Under Ubuntu Edgy Eft beta, jEdit 4.3pre7 does not work
with the scim input method.
Error:
After a while, the editor does not accept keyboard
actions. As I observed, the error manifests when the
search window is used. Just typing to the main text
area may not be enough (maybe if you type really long).
However, some searching (I did with Hypersearch),
clicking on the results, searching again, replacing,
etc. after the editor just stops accepting input from
the keyboard. Shortcuts do not work either.
I tried with the following scim setups:
- "full scim":
XMODIFIERS=@im=SCIM
QT_IM_MODULE=scim
GTK_IM_MODULE=scim
- scim_xim:
XMODIFIERS=@im=SCIM
QT_IM_MODULE=xim
GTK_IM_MODULE=xim
- scim-bridge:
XMODIFIERS=@im=SCIM
QT_IM_MODULE=xim
GTK_IM_MODULE=scim-bridge
The error manifests in all setups. scim is known for
having problems with the C++ ABI change, but it should
not be a problem if xim or scim-bridge is used.
There is no error, if I use uim.
System:
OS: Ubuntu Edgy Eft beta
scim 1.4.4-4ubuntu5
scim-bridge 0.2.7-1
Java: jre1.6.0 beta2
jre in jdk1.5.0-08
jEdit: 4.3pre7
The error message (if not plugins are used):
[error] DefaultInputHandler: Invalid key stroke: C+e
C+BACK_QUOTE
(this comes more than once, so it may not be relevant).
The message that comes when several plugins are used:
[error] DefaultInputHandler: Invalid key stroke: C+e
C+BACK_QUOTE
[error] AWT-EventQueue-0: Exception in thread
"AWT-EventQueue-0"
[error] AWT-EventQueue-0: java.lang.NullPointerException
[error] AWT-EventQueue-0: at
sidekick.java.JavaCompletionFinder.getPossibleNonQualifiedCompletions(JavaCompletionFinder.java:278)
[error] AWT-EventQueue-0: at
sidekick.java.JavaCompletionFinder.getPossibleCompletions(JavaCompletionFinder.java:164)
[error] AWT-EventQueue-0: at
sidekick.java.JavaCompletionFinder.complete(JavaCompletionFinder.java:64)
[error] AWT-EventQueue-0: at
sidekick.java.JavaParser.complete(JavaParser.java:637)
[error] AWT-EventQueue-0: at
sidekick.SideKickActions.complete(SideKickActions.java:101)
[error] AWT-EventQueue-0: at
sidekick.SideKickActions$1.actionPerformed(SideKickActions.java:68)
[error] AWT-EventQueue-0: at
javax.swing.Timer.fireActionPerformed(Unknown Source)
[error] AWT-EventQueue-0: at
javax.swing.Timer$DoPostEvent.run(Unknown Source)
[error] AWT-EventQueue-0: at
java.awt.event.InvocationEvent.dispatch(Unknown Source)
[error] AWT-EventQueue-0: at
java.awt.EventQueue.dispatchEvent(Unknown Source)
[error] AWT-EventQueue-0: at
java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown
Source)
[error] AWT-EventQueue-0: at
java.awt.EventDispatchThread.pumpEventsForFilter(Unknown
Source)
[error] AWT-EventQueue-0: at
java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown
Source)
[error] AWT-EventQueue-0: at
java.awt.EventDispatchThread.pumpEvents(Unknown Source)
[error] AWT-EventQueue-0: at
java.awt.EventDispatchThread.pumpEvents(Unknown Source)
[error] AWT-EventQueue-0: at
java.awt.EventDispatchThread.run(Unknown Source)
(do not get distracted by the name of the plugin;
before I removed TaskList, the Exception was said to be
propagated from it).
system data
Logged In: YES
user_id=187628
Not to be distracted by the name of the plugin, but there is
indeed the possibility of a null pointer exception at line
278 of JavaCompletionFinder.java. I fixed that, but as you
say this isn't the root of the problem, I'm not closing the bug.
Logged In: YES
user_id=1621621
Sorry for the false alarm. Actually this bug is not jedit-,
but scim-related. I just opened it for jedit because I could
not reproduce it for any other java application.
To cut a long story short, the problem was caused by the new
modular xorg, which interpreted XIM messages differently
from scim.
For a detailed description of the problem, please refer to
http://sourceforge.net/tracker/index.php?func=detail&aid=1435894&group_id=108454&atid=650539.
The solution was simple (provided you know what to do): the
"/FrontEnd/X11/Dynamic"
property has to be set to "true" in the file ~/.scim/config.
After that, the problem disappears.