patch 8.0.1338: USE_IM_CONTROL is confusing and incomplete
Problem: USE_IM_CONTROL is confusing and incomplete.
Solution: Just use FEAT_MBYTE. Call 'imactivatefunc' also without GUI.
diff --git a/src/normal.c b/src/normal.c
index fb0129a..76eb18a 100644
--- a/src/normal.c
+++ b/src/normal.c
@@ -892,7 +892,7 @@
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 @@
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 @@
++allow_keys;
State = NORMAL_BUSY;
}
-#ifdef USE_IM_CONTROL
+#ifdef FEAT_MBYTE
if (lang)
{
if (curbuf->b_p_iminsert != B_IMODE_LMAP)