# HG changeset patch # User Bram Moolenaar # Date 1598814003 -7200 # Node ID afa3080a96aeea965ae19e6acd64376626b0ab8f # Parent d89bfc7087848f706d5393fc2a3a792d80bae3a1 patch 8.2.1549: "r" fails if 'esckeys' is off and modifyOtherKeys is used Commit: https://github.com/vim/vim/commit/ca774f67534e6d1843fda9d1dc9a899972d27577 Author: Bram Moolenaar Date: Sun Aug 30 20:46:38 2020 +0200 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) diff --git a/src/normal.c b/src/normal.c --- 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 --- a/src/version.c +++ b/src/version.c @@ -755,6 +755,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 1549, +/**/ 1548, /**/ 1547,