Re: Last attempt to fix XIM
- Yasuhiro Matsumoto wrote:
> >The patch for Vim 6.0ax (without other patches) could be this:Yes, the patch will cause the XIM to be active at all times. Even when
> >Please check if this fixes your problem. Keep 'iminsert' at 2. Setting
> >it to 0 should disable XIM, although with the above patch and preediting
> >is used (X is TRUE) it will be enabled anyway. That is why I hesitate
> >to include this, it will probably break it for some people.
> yes this fixes problem.
> but "input_style" is not real time variable.
> thus we can start preediting any time.
> and though if iminsert is 0, we can also do it.
> active will be TRUE anyway.
> is this ok?
> and now i can't test gtk version.
> is there who can test this with japanese xim?
'iminsert' is zero. Only setting 'imdisable' will switch off XIM then.
It would be better to find another solution, but I do not know how to
Since you reported this problem only for the non-GTK version, we should
probably only use this hack for when FEAT_GUI_GTK is not defined.
So here is the patch as I have it now. Please verify this still solves
the problem for you. Suggestions from others are also welcome, of
*** ../../vim60ax.20/src/mbyte.c Wed Sep 19 16:57:43 2001
--- mbyte.c Wed Sep 26 13:42:00 2001
*** 2730,2737 ****
--- 2730,2745 ----
if (xic == NULL)
+ /* If 'imdisable' is set, XIM is never active. */
active = FALSE;
+ #ifndef FEAT_GUI_GTK
+ else if (input_style & XIMPreeditPosition)
+ /* There is a problem in switching XIM off when preediting is used,
+ * and it is not clear how this can be solved. For now, keep XIM on
+ * all the time, like it was done in Vim 5.8. */
+ active = TRUE;
/* Remember the active state, it is needed when Vim gets keyboard focus. */
xim_is_active = active;
*** 2815,2821 ****
--- 2823,2829 ----
A)bort, R)etry, P)lease don't bother me again
/// Bram Moolenaar -- Bram@... -- http://www.moolenaar.net \\\
((( Creator of Vim -- http://vim.sf.net -- ftp://ftp.vim.org/pub/vim )))
\\\ Help me helping AIDS orphans in Uganda - http://iccf-holland.org ///