]> granicus.if.org Git - vim/commitdiff
patch 8.0.1338: USE_IM_CONTROL is confusing and incomplete v8.0.1338
authorBram Moolenaar <Bram@vim.org>
Sat, 25 Nov 2017 16:14:33 +0000 (17:14 +0100)
committerBram Moolenaar <Bram@vim.org>
Sat, 25 Nov 2017 16:14:33 +0000 (17:14 +0100)
Problem:    USE_IM_CONTROL is confusing and incomplete.
Solution:   Just use FEAT_MBYTE.  Call 'imactivatefunc' also without GUI.

14 files changed:
src/edit.c
src/ex_getln.c
src/getchar.c
src/globals.h
src/gui.c
src/gui_mac.c
src/gui_w32.c
src/mbyte.c
src/normal.c
src/option.c
src/option.h
src/ui.c
src/version.c
src/vim.h

index 65c53f52f69f96852b4762127ef0867f09b53506..d960de359ab60b17198dca9a2c0093c95127baf2 100644 (file)
@@ -516,7 +516,7 @@ edit(
      */
     if (curbuf->b_p_iminsert == B_IMODE_LMAP)
        State |= LANGMAP;
-#ifdef USE_IM_CONTROL
+#ifdef FEAT_MBYTE
     im_set_active(curbuf->b_p_iminsert == B_IMODE_IM);
 #endif
 
@@ -8372,7 +8372,7 @@ ins_reg(void)
     ++no_u_sync;
     if (regname == '=')
     {
-# ifdef USE_IM_CONTROL
+# ifdef FEAT_MBYTE
        int     im_on = im_get_status();
 # endif
        /* Sync undo when evaluating the expression calls setline() or
@@ -8380,7 +8380,7 @@ ins_reg(void)
        u_sync_once = 2;
 
        regname = get_expr_register();
-# ifdef USE_IM_CONTROL
+# ifdef FEAT_MBYTE
        /* Restore the Input Method. */
        if (im_on)
            im_set_active(TRUE);
@@ -8509,12 +8509,12 @@ ins_ctrl_hat(void)
        {
            curbuf->b_p_iminsert = B_IMODE_LMAP;
            State |= LANGMAP;
-#ifdef USE_IM_CONTROL
+#ifdef FEAT_MBYTE
            im_set_active(FALSE);
 #endif
        }
     }
-#ifdef USE_IM_CONTROL
+#ifdef FEAT_MBYTE
     else
     {
        /* There are no ":lmap" mappings, toggle IM */
@@ -8661,7 +8661,7 @@ ins_esc(
        }
     }
 
-#ifdef USE_IM_CONTROL
+#ifdef FEAT_MBYTE
     /* Disable IM to allow typing English directly for Normal mode commands.
      * When ":lmap" is enabled don't change 'iminsert' (IM can be enabled as
      * well). */
index f8a193d1d018d5fccbea5d2b5181ea4bbcd6863c..02d03b4e1a3668c2d9f127a2e29f29032fad9f37 100644 (file)
@@ -359,11 +359,11 @@ getcmdline(
            b_im_ptr = &curbuf->b_p_imsearch;
        if (*b_im_ptr == B_IMODE_LMAP)
            State |= LANGMAP;
-#ifdef USE_IM_CONTROL
+#ifdef FEAT_MBYTE
        im_set_active(*b_im_ptr == B_IMODE_IM);
 #endif
     }
-#ifdef USE_IM_CONTROL
+#ifdef FEAT_MBYTE
     else if (p_imcmdline)
        im_set_active(TRUE);
 #endif
@@ -1119,7 +1119,7 @@ getcmdline(
                {
                    /* ":lmap" mappings exists, toggle use of mappings. */
                    State ^= LANGMAP;
-#ifdef USE_IM_CONTROL
+#ifdef FEAT_MBYTE
                    im_set_active(FALSE);       /* Disable input method */
 #endif
                    if (b_im_ptr != NULL)
@@ -1130,7 +1130,7 @@ getcmdline(
                            *b_im_ptr = B_IMODE_NONE;
                    }
                }
-#ifdef USE_IM_CONTROL
+#ifdef FEAT_MBYTE
                else
                {
                    /* There are no ":lmap" mappings, toggle IM.  When
@@ -2143,7 +2143,7 @@ returncmd:
 #endif
 
     State = save_State;
-#ifdef USE_IM_CONTROL
+#ifdef FEAT_MBYTE
     if (b_im_ptr != NULL && *b_im_ptr != B_IMODE_LMAP)
        im_save_status(b_im_ptr);
     im_set_active(FALSE);
index aa65a8c8287204415cfc3fde6db5ae8dc59ab378..18dc1a670db20de1e732cf8395027b4207ea2478 100644 (file)
@@ -2890,7 +2890,7 @@ vgetorpeek(int advance)
                                                     + typebuf.tb_len] != NUL)
                        typebuf.tb_noremap[typebuf.tb_off
                                                 + typebuf.tb_len++] = RM_YES;
-#ifdef USE_IM_CONTROL
+#ifdef FEAT_MBYTE
                    /* Get IM status right after getting keys, not after the
                     * timeout for a mapping (focus may be lost by then). */
                    vgetc_im_active = im_get_status();
index b479579fda1586b079502ca5dd10259534b0f6da..9f1864ddd1bb80ccdc4b04aa362b2202a83e4cff 100644 (file)
@@ -1022,7 +1022,7 @@ EXTERN int        stop_insert_mode;       /* for ":stopinsert" and 'insertmode' */
 
 EXTERN int     KeyTyped;               /* TRUE if user typed current char */
 EXTERN int     KeyStuffed;             /* TRUE if current char from stuffbuf */
-#ifdef USE_IM_CONTROL
+#ifdef FEAT_MBYTE
 EXTERN int     vgetc_im_active;        /* Input Method was active for last
                                           character obtained from vgetc() */
 #endif
index 8118ca197928cf78c040b1c3711f5b6c4a788253..4f03ed8096db00e06b176fb8c33a35d6c28ea540 100644 (file)
--- a/src/gui.c
+++ b/src/gui.c
@@ -1078,7 +1078,7 @@ gui_update_cursor(
        gui_undraw_cursor();
        if (gui.row < 0)
            return;
-#ifdef USE_IM_CONTROL
+#ifdef FEAT_MBYTE
        if (gui.row != gui.cursor_row || gui.col != gui.cursor_col)
            im_set_position(gui.row, gui.col);
 #endif
@@ -1136,7 +1136,7 @@ gui_update_cursor(
        if (id > 0)
        {
            cattr = syn_id2colors(id, &cfg, &cbg);
-#if defined(USE_IM_CONTROL) || defined(FEAT_HANGULIN)
+#if defined(FEAT_MBYTE) || defined(FEAT_HANGULIN)
            {
                static int iid;
                guicolor_T fg, bg;
index 93feabe926a2b72bb5d11ae5773bbfa6cdc6285f..97cbf8018ec350b2b13d880627c5992e65f688db 100644 (file)
@@ -2024,15 +2024,15 @@ gui_mac_handle_window_activate(
        switch (eventKind)
        {
            case kEventWindowActivated:
-#if defined(USE_IM_CONTROL)
+# if defined(FEAT_MBYTE)
                im_on_window_switch(TRUE);
-#endif
+# endif
                return noErr;
 
            case kEventWindowDeactivated:
-#if defined(USE_IM_CONTROL)
+# if defined(FEAT_MBYTE)
                im_on_window_switch(FALSE);
-#endif
+# endif
                return noErr;
        }
     }
@@ -6230,7 +6230,7 @@ char_u *FullPathFromFSSpec_save(FSSpec file)
 #endif
 }
 
-#if (defined(USE_IM_CONTROL) || defined(PROTO)) && defined(USE_CARBONKEYHANDLER)
+#if (defined(FEAT_MBYTE) || defined(PROTO)) && defined(USE_CARBONKEYHANDLER)
 /*
  * Input Method Control functions.
  */
@@ -6317,7 +6317,7 @@ im_set_active(int active)
     ScriptLanguageRecord *slptr = NULL;
     OSStatus err;
 
-    if (! gui.in_use)
+    if (!gui.in_use)
        return;
 
     if (im_initialized == 0)
@@ -6379,7 +6379,7 @@ im_get_status(void)
     return im_is_active;
 }
 
-#endif /* defined(USE_IM_CONTROL) || defined(PROTO) */
+#endif /* defined(FEAT_MBYTE) || defined(PROTO) */
 
 
 
index d1c9605ca0a7d9f0457e243c194e3ba44cf346eb..598034d36f636d53a2c6df4b8b1f1861ae09842f 100644 (file)
@@ -485,12 +485,10 @@ static void TrackUserActivity(UINT uMsg);
  * These LOGFONT used for IME.
  */
 #ifdef FEAT_MBYTE
-# ifdef USE_IM_CONTROL
 /* holds LOGFONT for 'guifontwide' if available, otherwise 'guifont' */
 static LOGFONT norm_logfont;
 /* holds LOGFONT for 'guifont' always. */
 static LOGFONT sub_logfont;
-# endif
 #endif
 
 #ifdef FEAT_MBYTE_IME
index 8bef7b8237c2e687f4417178eaed6bf9df566cc6..b39dddddcd389fb0b6089202b4d20bec3fdb3e50 100644 (file)
@@ -4794,6 +4794,26 @@ call_imactivatefunc(int active)
        argv[0] = (char_u *)"0";
     (void)call_func_retnr(p_imaf, 1, argv, FALSE);
 }
+
+    static int
+call_imstatusfunc(void)
+{
+    int is_active;
+
+    /* FIXME: Don't execute user function in unsafe situation. */
+    if (exiting
+#   ifdef FEAT_AUTOCMD
+           || is_autocmd_blocked()
+#   endif
+           )
+       return FALSE;
+    /* FIXME: :py print 'xxx' is shown duplicate result.
+     * Use silent to avoid it. */
+    ++msg_silent;
+    is_active = call_func_retnr(p_imsf, 0, NULL, FALSE);
+    --msg_silent;
+    return (is_active > 0);
+}
 #endif
 
 #if defined(FEAT_XIM) || defined(PROTO)
@@ -4838,14 +4858,7 @@ im_set_active(int active)
     im_is_active = (active && !p_imdisable);
 
     if (im_is_active != was_active)
-    {
-#ifdef FEAT_EVAL
-       if (p_imaf[0] != NUL)
-           call_imactivatefunc(im_is_active);
-       else
-#endif
-           xim_reset();
-    }
+       xim_reset();
 }
 
     void
@@ -5675,6 +5688,11 @@ im_synthesize_keypress(unsigned int keyval, unsigned int state)
     void
 xim_reset(void)
 {
+#ifdef FEAT_EVAL
+    if (p_imaf[0] != NUL)
+       call_imactivatefunc(im_is_active);
+    else
+#endif
     if (xic != NULL)
     {
        gtk_im_context_reset(xic);
@@ -5685,12 +5703,7 @@ xim_reset(void)
        {
            xim_set_focus(gui.in_focus);
 
-#  ifdef FEAT_EVAL
-           if (p_imaf[0] != NUL)
-               call_imactivatefunc(im_is_active);
-           else
-#  endif
-               if (im_activatekey_keyval != GDK_VoidSymbol)
+           if (im_activatekey_keyval != GDK_VoidSymbol)
            {
                if (im_is_active)
                {
@@ -5856,23 +5869,7 @@ im_get_status(void)
 {
 #  ifdef FEAT_EVAL
     if (p_imsf[0] != NUL)
-    {
-       int is_active;
-
-       /* FIXME: Don't execute user function in unsafe situation. */
-       if (exiting
-#   ifdef FEAT_AUTOCMD
-               || is_autocmd_blocked()
-#   endif
-               )
-           return FALSE;
-       /* FIXME: :py print 'xxx' is shown duplicate result.
-        * Use silent to avoid it. */
-       ++msg_silent;
-       is_active = call_func_retnr(p_imsf, 0, NULL, FALSE);
-       --msg_silent;
-       return (is_active > 0);
-    }
+       return call_imstatusfunc();
 #  endif
     return im_is_active;
 }
@@ -5894,30 +5891,45 @@ im_is_preediting(void)
 static int     xim_is_active = FALSE;  /* XIM should be active in the current
                                           mode */
 static int     xim_has_focus = FALSE;  /* XIM is really being used for Vim */
-#ifdef FEAT_GUI_X11
+#  ifdef FEAT_GUI_X11
 static XIMStyle        input_style;
 static int     status_area_enabled = TRUE;
-#endif
+#  endif
 
 /*
  * Switch using XIM on/off.  This is used by the code that changes "State".
+ * When 'imactivatefunc' is defined use that function instead.
  */
     void
-im_set_active(int active)
+im_set_active(int active_arg)
 {
-    if (xic == NULL)
-       return;
+    int active = active_arg;
 
     /* If 'imdisable' is set, XIM is never active. */
     if (p_imdisable)
        active = FALSE;
-#if !defined(FEAT_GUI_GTK)
+#  if !defined(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
+#  endif
+
+#  if defined(FEAT_EVAL)
+    if (p_imaf[0] != NUL)
+    {
+       if (active != im_get_status())
+       {
+           call_imactivatefunc(active);
+           im_is_active = active;
+       }
+       return;
+    }
+#  endif
+
+    if (xic == NULL)
+       return;
 
     /* Remember the active state, it is needed when Vim gets keyboard focus. */
     xim_is_active = active;
@@ -6019,19 +6031,19 @@ xim_set_preedit(void)
     }
 }
 
-#if defined(FEAT_GUI_X11)
+#  if defined(FEAT_GUI_X11)
 static char e_xim[] = N_("E285: Failed to create input context");
-#endif
+#  endif
 
-#if defined(FEAT_GUI_X11) || defined(PROTO)
-# if defined(XtSpecificationRelease) && XtSpecificationRelease >= 6 && !defined(SUN_SYSTEM)
-#  define USE_X11R6_XIM
-# endif
+#  if defined(FEAT_GUI_X11) || defined(PROTO)
+#   if defined(XtSpecificationRelease) && XtSpecificationRelease >= 6 && !defined(SUN_SYSTEM)
+#    define USE_X11R6_XIM
+#   endif
 
 static int xim_real_init(Window x11_window, Display *x11_display);
 
 
-#ifdef USE_X11R6_XIM
+#  ifdef USE_X11R6_XIM
 static void xim_destroy_cb(XIM im, XPointer client_data, XPointer call_data);
 
     static void
@@ -6043,9 +6055,9 @@ xim_instantiate_cb(
     Window     x11_window;
     Display    *x11_display;
 
-#ifdef XIM_DEBUG
+#   ifdef XIM_DEBUG
     xim_log("xim_instantiate_cb()\n");
-#endif
+#   endif
 
     gui_get_x11_windis(&x11_window, &x11_display);
     if (display != x11_display)
@@ -6067,9 +6079,9 @@ xim_destroy_cb(
     Window     x11_window;
     Display    *x11_display;
 
-#ifdef XIM_DEBUG
+#   ifdef XIM_DEBUG
     xim_log("xim_destroy_cb()\n");
-#endif
+   #endif
     gui_get_x11_windis(&x11_window, &x11_display);
 
     xic = NULL;
@@ -6080,7 +6092,7 @@ xim_destroy_cb(
     XRegisterIMInstantiateCallback(x11_display, NULL, NULL, NULL,
                                   xim_instantiate_cb, NULL);
 }
-#endif
+#  endif
 
     void
 xim_init(void)
@@ -6088,9 +6100,9 @@ xim_init(void)
     Window     x11_window;
     Display    *x11_display;
 
-#ifdef XIM_DEBUG
+#  ifdef XIM_DEBUG
     xim_log("xim_init()\n");
-#endif
+#  endif
 
     gui_get_x11_windis(&x11_window, &x11_display);
 
@@ -6101,10 +6113,10 @@ xim_init(void)
 
     gui_set_shellsize(FALSE, FALSE, RESIZE_BOTH);
 
-#ifdef USE_X11R6_XIM
+#  ifdef USE_X11R6_XIM
     XRegisterIMInstantiateCallback(x11_display, NULL, NULL, NULL,
                                   xim_instantiate_cb, NULL);
-#endif
+#  endif
 }
 
     static int
@@ -6116,7 +6128,7 @@ xim_real_init(Window x11_window, Display *x11_display)
                *ns,
                *end,
                tmp[1024];
-#define IMLEN_MAX 40
+#  define IMLEN_MAX 40
     char       buf[IMLEN_MAX + 7];
     XIM                xim = NULL;
     XIMStyles  *xim_styles;
@@ -6181,7 +6193,7 @@ xim_real_init(Window x11_window, Display *x11_display)
        return FALSE;
     }
 
-#ifdef USE_X11R6_XIM
+#  ifdef USE_X11R6_XIM
     {
        XIMCallback destroy_cb;
 
@@ -6190,7 +6202,7 @@ xim_real_init(Window x11_window, Display *x11_display)
        if (XSetIMValues(xim, XNDestroyCallback, &destroy_cb, NULL))
            EMSG(_("E287: Warning: Could not set destroy callback to IM"));
     }
-#endif
+#  endif
 
     if (XGetIMValues(xim, XNQueryInputStyle, &xim_styles, NULL) || !xim_styles)
     {
@@ -6266,7 +6278,7 @@ xim_real_init(Window x11_window, Display *x11_display)
 
     /* A crash was reported when trying to pass gui.norm_font as XNFontSet,
      * thus that has been removed.  Hopefully the default works... */
-#ifdef FEAT_XFONTSET
+#  ifdef FEAT_XFONTSET
     if (gui.fontset != NOFONTSET)
     {
        preedit_list = XVaCreateNestedList(0,
@@ -6282,7 +6294,7 @@ xim_real_init(Window x11_window, Display *x11_display)
                                NULL);
     }
     else
-#endif
+#  endif
     {
        preedit_list = XVaCreateNestedList(0,
                                XNSpotLocation, &over_spot,
@@ -6324,7 +6336,7 @@ xim_real_init(Window x11_window, Display *x11_display)
     return TRUE;
 }
 
-#endif /* FEAT_GUI_X11 */
+#  endif /* FEAT_GUI_X11 */
 
 /*
  * Get IM status.  When IM is on, return TRUE.  Else return FALSE.
@@ -6335,6 +6347,10 @@ xim_real_init(Window x11_window, Display *x11_display)
     int
 im_get_status(void)
 {
+#  ifdef FEAT_EVAL
+    if (p_imsf[0] != NUL)
+       return call_imstatusfunc();
+#  endif
     return xim_has_focus;
 }
 
@@ -6458,38 +6474,29 @@ xim_get_status_area_height(void)
 #else /* !defined(FEAT_XIM) */
 
 # ifndef FEAT_GUI_W32
+static int im_was_set_active = FALSE;
+
     int
 im_get_status()
 {
 #  ifdef FEAT_EVAL
     if (p_imsf[0] != NUL)
-    {
-       int is_active;
-
-       /* FIXME: Don't execute user function in unsafe situation. */
-       if (exiting
-#   ifdef FEAT_AUTOCMD
-               || is_autocmd_blocked()
-#   endif
-               )
-           return FALSE;
-       /* FIXME: :py print 'xxx' is shown duplicate result.
-        * Use silent to avoid it. */
-       ++msg_silent;
-       is_active = call_func_retnr(p_imsf, 0, NULL, FALSE);
-       --msg_silent;
-       return (is_active > 0);
-    }
+       return call_imstatusfunc();
 #  endif
-    return FALSE;
+    return im_was_set_active;
 }
 
     void
-im_set_active(int active)
+im_set_active(int active_arg)
 {
-#  if defined(USE_IM_CONTROL) && defined(FEAT_EVAL)
-    if (p_imaf[0] != NUL)
-       call_imactivatefunc(p_imdisable ? FALSE : active);
+#  if defined(FEAT_MBYTE) && defined(FEAT_EVAL)
+    int            active = !p_imdisable && active_arg;
+
+    if (p_imaf[0] != NUL && active != im_get_status())
+    {
+       call_imactivatefunc(active);
+       im_was_set_active = active;
+    }
 #  endif
 }
 # endif
index fb0129aec7ea12056245ecfe0aae3b231a376396..76eb18a21f8d9bf6253e4a9fafd420e064d33663 100644 (file)
@@ -892,7 +892,7 @@ getcount:
        int     lit = FALSE;    /* get extra character literally */
        int     langmap_active = FALSE;    /* using :lmap mappings */
        int     lang;           /* getting a text character */
-#ifdef USE_IM_CONTROL
+#ifdef FEAT_MBYTE
        int     save_smd;       /* saved value of p_smd */
 #endif
 
@@ -957,7 +957,7 @@ getcount:
                    State = LANGMAP;
                langmap_active = TRUE;
            }
-#ifdef USE_IM_CONTROL
+#ifdef FEAT_MBYTE
            save_smd = p_smd;
            p_smd = FALSE;      /* Don't let the IM code show the mode here */
            if (lang && curbuf->b_p_iminsert == B_IMODE_IM)
@@ -973,7 +973,7 @@ getcount:
                ++allow_keys;
                State = NORMAL_BUSY;
            }
-#ifdef USE_IM_CONTROL
+#ifdef FEAT_MBYTE
            if (lang)
            {
                if (curbuf->b_p_iminsert != B_IMODE_LMAP)
index ac0918dacc2a438e0fd2bbca004667eefbed9cbd..a867608606c3e5097e72e061f9ba5c7d96f819cf 100644 (file)
@@ -1539,7 +1539,7 @@ static struct vimoption options[] =
                            (char_u *)&p_ic, PV_NONE,
                            {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT},
     {"imactivatefunc","imaf",P_STRING|P_VI_DEF|P_SECURE,
-#if defined(FEAT_EVAL) && defined(USE_IM_CONTROL)
+#if defined(FEAT_EVAL) && defined(FEAT_MBYTE)
                            (char_u *)&p_imaf, PV_NONE,
                            {(char_u *)"", (char_u *)NULL}
 # else
@@ -1555,14 +1555,14 @@ static struct vimoption options[] =
 #endif
                            {(char_u *)"", (char_u *)0L} SCRIPTID_INIT},
     {"imcmdline",   "imc",  P_BOOL|P_VI_DEF,
-#ifdef USE_IM_CONTROL
+#ifdef FEAT_MBYTE
                            (char_u *)&p_imcmdline, PV_NONE,
 #else
                            (char_u *)NULL, PV_NONE,
 #endif
                            {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT},
     {"imdisable",   "imd",  P_BOOL|P_VI_DEF,
-#ifdef USE_IM_CONTROL
+#ifdef FEAT_MBYTE
                            (char_u *)&p_imdisable, PV_NONE,
 #else
                            (char_u *)NULL, PV_NONE,
@@ -1582,7 +1582,7 @@ static struct vimoption options[] =
                            {(char_u *)B_IMODE_USE_INSERT, (char_u *)0L}
                            SCRIPTID_INIT},
     {"imstatusfunc","imsf",P_STRING|P_VI_DEF|P_SECURE,
-#if defined(FEAT_EVAL) && defined(USE_IM_CONTROL)
+#if defined(FEAT_EVAL) && defined(FEAT_MBYTE)
                            (char_u *)&p_imsf, PV_NONE,
                            {(char_u *)"", (char_u *)NULL}
 #else
@@ -8469,7 +8469,7 @@ set_bool_option(
     }
 #endif
 
-#ifdef USE_IM_CONTROL
+#ifdef FEAT_MBYTE
     /* 'imdisable' */
     else if ((int *)varp == &p_imdisable)
     {
index 57126a31b62d4873915f5a75fcc7b8d9c8c05711..c9fa4d35fc69284520d1af4734187f1d3334b032 100644 (file)
@@ -585,11 +585,11 @@ EXTERN char_u     *p_imak;        /* 'imactivatekey' */
 #define IM_OVER_THE_SPOT       1L
 EXTERN long    p_imst;         /* 'imstyle' */
 #endif
-#if defined(FEAT_EVAL) && defined(USE_IM_CONTROL)
+#if defined(FEAT_EVAL) && defined(FEAT_MBYTE)
 EXTERN char_u  *p_imaf;        /* 'imactivatefunc' */
 EXTERN char_u  *p_imsf;        /* 'imstatusfunc' */
 #endif
-#ifdef USE_IM_CONTROL
+#ifdef FEAT_MBYTE
 EXTERN int     p_imcmdline;    /* 'imcmdline' */
 EXTERN int     p_imdisable;    /* 'imdisable' */
 #endif
index 1b2b3c5630c23f0b614c7575a189146661bfee4a..7d969fec861ca50e2b8e7728e199e0ab663eeccd 100644 (file)
--- a/src/ui.c
+++ b/src/ui.c
@@ -3307,7 +3307,7 @@ ui_focus_change(
 }
 #endif
 
-#if defined(USE_IM_CONTROL) || defined(PROTO)
+#if defined(FEAT_MBYTE) || defined(PROTO)
 /*
  * Save current Input Method status to specified place.
  */
index 6a1162bcfea68360ffa6e04883bafc8d7c3f78b8..8cce0789986fc89122620c82be683a86bb8015f8 100644 (file)
@@ -771,6 +771,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    1338,
 /**/
     1337,
 /**/
index 1d481ca466dd5e2929e39c570cbb7d627707f032..1c2b7950eb1ba930a29bbeb90170bd8e610ce6b7 100644 (file)
--- a/src/vim.h
+++ b/src/vim.h
@@ -533,13 +533,6 @@ typedef unsigned long u8char_T;        /* long should be 32 bits or more */
 # endif
 #endif
 
-/*
- * Check input method control.
- */
-#if defined(FEAT_MBYTE)
-# define USE_IM_CONTROL
-#endif
-
 /*
  * For dynamically loaded gettext library.  Currently, only for Win32.
  */