diff options
Diffstat (limited to 'data/vim/patches/8.1.1239')
-rw-r--r-- | data/vim/patches/8.1.1239 | 114 |
1 files changed, 114 insertions, 0 deletions
diff --git a/data/vim/patches/8.1.1239 b/data/vim/patches/8.1.1239 new file mode 100644 index 000000000..c677f975f --- /dev/null +++ b/data/vim/patches/8.1.1239 @@ -0,0 +1,114 @@ +To: vim_dev@googlegroups.com +Subject: Patch 8.1.1239 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 8.1.1239 +Problem: Key with byte sequence containing CSI does not work. +Solution: Do not recognize CSI as special unless the GUI is active. (Ken + Takata, closes #4318) +Files: src/getchar.c + + +*** ../vim-8.1.1238/src/getchar.c 2019-04-28 19:46:17.026060122 +0200 +--- src/getchar.c 2019-04-29 21:52:57.006045828 +0200 +*************** +*** 1604,1610 **** + // Get two extra bytes for special keys + if (c == K_SPECIAL + #ifdef FEAT_GUI +! || c == CSI + #endif + ) + { +--- 1604,1610 ---- + // Get two extra bytes for special keys + if (c == K_SPECIAL + #ifdef FEAT_GUI +! || (gui.in_use && c == CSI) + #endif + ) + { +*************** +*** 1659,1677 **** + } + #endif + #ifdef FEAT_GUI +! // Handle focus event here, so that the caller doesn't need to +! // know about it. Return K_IGNORE so that we loop once (needed +! // if 'lazyredraw' is set). +! if (c == K_FOCUSGAINED || c == K_FOCUSLOST) + { +! ui_focus_change(c == K_FOCUSGAINED); +! c = K_IGNORE; +! } + +! // Translate K_CSI to CSI. The special key is only used to +! // avoid it being recognized as the start of a special key. +! if (c == K_CSI) +! c = CSI; + #endif + } + // a keypad or special function key was not mapped, use it like +--- 1659,1681 ---- + } + #endif + #ifdef FEAT_GUI +! if (gui.in_use) + { +! // Handle focus event here, so that the caller doesn't +! // need to know about it. Return K_IGNORE so that we loop +! // once (needed if 'lazyredraw' is set). +! if (c == K_FOCUSGAINED || c == K_FOCUSLOST) +! { +! ui_focus_change(c == K_FOCUSGAINED); +! c = K_IGNORE; +! } + +! // Translate K_CSI to CSI. The special key is only used +! // to avoid it being recognized as the start of a special +! // key. +! if (c == K_CSI) +! c = CSI; +! } + #endif + } + // a keypad or special function key was not mapped, use it like +*************** +*** 1749,1755 **** + buf[i] = vgetorpeek(TRUE); + if (buf[i] == K_SPECIAL + #ifdef FEAT_GUI +! || buf[i] == CSI + #endif + ) + { +--- 1753,1759 ---- + buf[i] = vgetorpeek(TRUE); + if (buf[i] == K_SPECIAL + #ifdef FEAT_GUI +! || (gui.in_use && buf[i] == CSI) + #endif + ) + { +*** ../vim-8.1.1238/src/version.c 2019-04-29 21:46:22.849288641 +0200 +--- src/version.c 2019-04-29 21:58:16.735900252 +0200 +*************** +*** 769,770 **** +--- 769,772 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 1239, + /**/ + +-- +We learn from our mistakes. Politicians don't make mistakes. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// |