patch 8.2.4504: when there is a partially matching map full map may not work
Problem: When there is a partially matching map and modifyOtherKeys is
active a full map may not work.
Solution: Only simplify modifiers when there is no matching mapping.
(closes #8792)
diff --git a/src/getchar.c b/src/getchar.c
index 2fbbd4f..03d6d4d 100644
--- a/src/getchar.c
+++ b/src/getchar.c
@@ -2598,7 +2598,7 @@
}
// If no partly match found, use the longest full match.
- if (keylen != KEYLEN_PART_MAP)
+ if (keylen != KEYLEN_PART_MAP && mp_match != NULL)
{
mp = mp_match;
keylen = mp_match_len;
@@ -2643,7 +2643,7 @@
max_mlen = mlen + 1;
}
- if ((mp == NULL || max_mlen >= mp_match_len) && keylen != KEYLEN_PART_MAP)
+ if ((mp == NULL || max_mlen > mp_match_len) && keylen != KEYLEN_PART_MAP)
{
int save_keylen = keylen;