Loading ...
Sorry, an error occurred while loading the content.

Re: Last attempt to fix XIM

Expand Messages
  • Bram Moolenaar
    ... Yes, the patch will cause the XIM to be active at all times. Even when iminsert is zero. Only setting imdisable will switch off XIM then. It would be
    Message 1 of 17 , Sep 26, 2001
      Yasuhiro Matsumoto wrote:

      > >The patch for Vim 6.0ax (without other patches) could be this:
      > [snip]
      > >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?

      Yes, the patch will cause the XIM to be active at all times. Even when
      '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
      do it.

      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. */
      if (p_imdisable)
      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;
      + #endif

      /* Remember the active state, it is needed when Vim gets keyboard focus. */
      xim_is_active = active;
      *** 2815,2821 ****
      # endif
      ! xim_set_focus(TRUE);

      --- 2823,2829 ----
      # endif
      ! xim_set_preedit();


      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 ///
    Your message has been successfully submitted and would be delivered to recipients shortly.