patch 8.0.1060: when imstyle is one, mapping <Left> breaks preediting
Problem: When imstyle is one, mapping <Left> breaks preediting.
Solution: Pass though preediting key-events. (Yasuhiro Matsumoto, closes
#2064, closes #2063)
diff --git a/src/getchar.c b/src/getchar.c
index 78bd39d..63d6542 100644
--- a/src/getchar.c
+++ b/src/getchar.c
@@ -1598,8 +1598,13 @@
{
int did_inc = FALSE;
- if (mod_mask) /* no mapping after modifier has been read */
+ if (mod_mask
+#if defined(FEAT_XIM) && defined(FEAT_GUI_GTK)
+ || im_is_preediting()
+#endif
+ )
{
+ /* no mapping after modifier has been read */
++no_mapping;
++allow_keys;
did_inc = TRUE; /* mod_mask may change value */
diff --git a/src/mbyte.c b/src/mbyte.c
index 617a97d..f279bde 100644
--- a/src/mbyte.c
+++ b/src/mbyte.c
@@ -4964,7 +4964,11 @@
return;
}
- if (State & NORMAL)
+ if (State & NORMAL
+#ifdef FEAT_TERMINAL
+ && !term_use_loop()
+#endif
+ )
{
im_preedit_cursor = 0;
return;
diff --git a/src/version.c b/src/version.c
index 61b5b94..86a170b 100644
--- a/src/version.c
+++ b/src/version.c
@@ -770,6 +770,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 1060,
+/**/
1059,
/**/
1058,