From ca774f67534e6d1843fda9d1dc9a899972d27577 Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Sun, 30 Aug 2020 20:46:38 +0200 Subject: [PATCH] patch 8.2.1549: "r" fails if 'esckeys' is off and modifyOtherKeys is used Problem: The "r" command fails for keys with modifiers if 'esckeys' is off and modifyOtherKeys is used. (Lauri Tirkkonen) Solution: Temporarily disable bracketed paste and modifyOtherKeys if 'esckeys' is off. (closes #6809) --- src/normal.c | 14 ++++++++++++++ src/version.c | 2 ++ 2 files changed, 16 insertions(+) diff --git a/src/normal.c b/src/normal.c index 1ef6509244..966c1a1faa 100644 --- a/src/normal.c +++ b/src/normal.c @@ -895,9 +895,23 @@ getcount: if (lang && curbuf->b_p_iminsert == B_IMODE_IM) im_set_active(TRUE); #endif + if ((State & INSERT) && !p_ek) + { + // Disable bracketed paste and modifyOtherKeys here, we won't + // recognize the escape sequences with 'esckeys' off. + out_str(T_BD); + out_str(T_CTE); + } *cp = plain_vgetc(); + if ((State & INSERT) && !p_ek) + { + // Re-enable bracketed paste mode and modifyOtherKeys + out_str(T_BE); + out_str(T_CTI); + } + if (langmap_active) { // Undo the decrement done above diff --git a/src/version.c b/src/version.c index 83bb9dcf07..d4bca788c5 100644 --- a/src/version.c +++ b/src/version.c @@ -754,6 +754,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 1549, /**/ 1548, /**/