diff src/edit.c @ 18534:7dd83b5325e9 v8.1.2261

patch 8.1.2261: with modifyOtherKeys set 'noesckeys' doesn't work Commit: https://github.com/vim/vim/commit/177c9f2f06b048f4c1e154d29423edf65b128f8c Author: Bram Moolenaar <Bram@vim.org> Date: Wed Nov 6 13:59:16 2019 +0100 patch 8.1.2261: with modifyOtherKeys set 'noesckeys' doesn't work Problem: With modifyOtherKeys set 'noesckeys' doesn't work. (James McCoy) Solution: Disable modifyOtherKeys while in Insert mode when 'noesckeys' is set. (closes #5180)
author Bram Moolenaar <Bram@vim.org>
date Wed, 06 Nov 2019 14:00:03 +0100
parents 9f51d0cef8da
children 8b0114ffde2b
line wrap: on
line diff
--- a/src/edit.c
+++ b/src/edit.c
@@ -323,10 +323,16 @@ edit(
     revins_scol = -1;
 #endif
     if (!p_ek)
-	/* Disable bracketed paste mode, we won't recognize the escape
-	 * sequences. */
+    {
+	// Disable bracketed paste mode, we won't recognize the escape
+	// sequences.
 	out_str(T_BD);
 
+	// Disable modifyOtherKeys, keys with modifiers would cause exiting
+	// Insert mode.
+	out_str(T_CTE);
+    }
+
     /*
      * Handle restarting Insert mode.
      * Don't do this for "CTRL-O ." (repeat an insert): In that case we get
@@ -4220,12 +4226,17 @@ ins_esc(
 
     setmouse();
 #ifdef CURSOR_SHAPE
-    ui_cursor_shape();		/* may show different cursor shape */
+    ui_cursor_shape();		// may show different cursor shape
 #endif
     if (!p_ek)
-	/* Re-enable bracketed paste mode. */
+    {
+	// Re-enable bracketed paste mode.
 	out_str(T_BE);
 
+	// Re-enable modifyOtherKeys.
+	out_str(T_CTI);
+    }
+
     // When recording or for CTRL-O, need to display the new mode.
     // Otherwise remove the mode message.
     if (reg_recording != 0 || restart_edit != NUL)
@@ -4233,7 +4244,7 @@ ins_esc(
     else if (p_smd && (got_int || !skip_showmode()))
 	msg("");
 
-    return TRUE;	    /* exit Insert mode */
+    return TRUE;	    // exit Insert mode
 }
 
 #ifdef FEAT_RIGHTLEFT