forked from aniani/vim
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)
This commit is contained in:
@@ -1598,8 +1598,13 @@ vgetc(void)
|
||||
{
|
||||
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 */
|
||||
|
@@ -4964,7 +4964,11 @@ im_delete_preedit(void)
|
||||
return;
|
||||
}
|
||||
|
||||
if (State & NORMAL)
|
||||
if (State & NORMAL
|
||||
#ifdef FEAT_TERMINAL
|
||||
&& !term_use_loop()
|
||||
#endif
|
||||
)
|
||||
{
|
||||
im_preedit_cursor = 0;
|
||||
return;
|
||||
|
@@ -769,6 +769,8 @@ static char *(features[]) =
|
||||
|
||||
static int included_patches[] =
|
||||
{ /* Add new patch number below this line */
|
||||
/**/
|
||||
1060,
|
||||
/**/
|
||||
1059,
|
||||
/**/
|
||||
|
Reference in New Issue
Block a user