diff options
Diffstat (limited to 'data/vim/patches/8.1.1000')
-rw-r--r-- | data/vim/patches/8.1.1000 | 439 |
1 files changed, 439 insertions, 0 deletions
diff --git a/data/vim/patches/8.1.1000 b/data/vim/patches/8.1.1000 new file mode 100644 index 000000000..2eacb772a --- /dev/null +++ b/data/vim/patches/8.1.1000 @@ -0,0 +1,439 @@ +To: vim_dev@googlegroups.com +Subject: Patch 8.1.1000 +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.1000 +Problem: Indenting is off. +Solution: Make indenting consistent and update comments. (Ozaki Kiichi, + closes #4079) +Files: src/getchar.c, src/ops.c + + +*** ../vim-8.1.0999/src/getchar.c 2019-02-17 17:44:36.207875527 +0100 +--- src/getchar.c 2019-03-09 08:53:59.569644721 +0100 +*************** +*** 1577,1684 **** + } + else + { +! mod_mask = 0x0; +! last_recorded_len = 0; +! for (;;) /* this is done twice if there are modifiers */ +! { +! int did_inc = FALSE; +! +! if (mod_mask +! #if defined(FEAT_XIM) && defined(FEAT_GUI_GTK) +! || im_is_preediting() +! #endif +! ) +! { +! /* no mapping after modifier has been read */ +! ++no_mapping; +! ++allow_keys; +! did_inc = TRUE; /* mod_mask may change value */ +! } +! c = vgetorpeek(TRUE); +! if (did_inc) + { +! --no_mapping; +! --allow_keys; +! } + +! /* Get two extra bytes for special keys */ +! if (c == K_SPECIAL +! #ifdef FEAT_GUI +! || c == CSI + #endif +! ) +! { +! int save_allow_keys = allow_keys; +! +! ++no_mapping; +! allow_keys = 0; /* make sure BS is not found */ +! c2 = vgetorpeek(TRUE); /* no mapping for these chars */ + c = vgetorpeek(TRUE); +! --no_mapping; +! allow_keys = save_allow_keys; +! if (c2 == KS_MODIFIER) + { +! mod_mask = c; +! continue; + } +- c = TO_SPECIAL(c2, c); + +! #if defined(FEAT_GUI_MSWIN) && defined(FEAT_MENU) && defined(FEAT_TEAROFF) +! /* Handle K_TEAROFF here, the caller of vgetc() doesn't need to +! * know that a menu was torn off */ +! if (c == K_TEAROFF) + { +! char_u name[200]; +! int i; + +! /* get menu path, it ends with a <CR> */ +! for (i = 0; (c = vgetorpeek(TRUE)) != '\r'; ) + { +! name[i] = c; +! if (i < 199) +! ++i; + } +- name[i] = NUL; +- gui_make_tearoff(name); +- continue; +- } + #endif + #if defined(FEAT_GUI) && defined(FEAT_GUI_GTK) && defined(FEAT_MENU) +! /* GTK: <F10> normally selects the menu, but it's passed until +! * here to allow mapping it. Intercept and invoke the GTK +! * behavior if it's not mapped. */ +! if (c == K_F10 && gui.menubar != NULL) +! { +! gtk_menu_shell_select_first(GTK_MENU_SHELL(gui.menubar), FALSE); +! continue; +! } + #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 +! * its ASCII equivalent */ +! switch (c) +! { +! case K_KPLUS: c = '+'; break; +! case K_KMINUS: c = '-'; break; +! case K_KDIVIDE: c = '/'; break; +! case K_KMULTIPLY: c = '*'; break; +! case K_KENTER: c = CAR; break; +! case K_KPOINT: + #ifdef MSWIN + // Can be either '.' or a ',', + // depending on the type of keypad. +--- 1577,1685 ---- + } + else + { +! mod_mask = 0x0; +! last_recorded_len = 0; +! for (;;) // this is done twice if there are modifiers + { +! int did_inc = FALSE; + +! if (mod_mask +! #if defined(FEAT_XIM) && defined(FEAT_GUI_GTK) +! || im_is_preediting() + #endif +! ) +! { +! // no mapping after modifier has been read +! ++no_mapping; +! ++allow_keys; +! did_inc = TRUE; // mod_mask may change value +! } + c = vgetorpeek(TRUE); +! if (did_inc) + { +! --no_mapping; +! --allow_keys; + } + +! // Get two extra bytes for special keys +! if (c == K_SPECIAL +! #ifdef FEAT_GUI +! || c == CSI +! #endif +! ) + { +! int save_allow_keys = allow_keys; + +! ++no_mapping; +! allow_keys = 0; // make sure BS is not found +! c2 = vgetorpeek(TRUE); // no mapping for these chars +! c = vgetorpeek(TRUE); +! --no_mapping; +! allow_keys = save_allow_keys; +! if (c2 == KS_MODIFIER) + { +! mod_mask = c; +! continue; +! } +! c = TO_SPECIAL(c2, c); +! +! #if defined(FEAT_GUI_MSWIN) && defined(FEAT_MENU) && defined(FEAT_TEAROFF) +! // Handle K_TEAROFF here, the caller of vgetc() doesn't need to +! // know that a menu was torn off +! if (c == K_TEAROFF) +! { +! char_u name[200]; +! int i; +! +! // get menu path, it ends with a <CR> +! for (i = 0; (c = vgetorpeek(TRUE)) != '\r'; ) +! { +! name[i] = c; +! if (i < 199) +! ++i; +! } +! name[i] = NUL; +! gui_make_tearoff(name); +! continue; + } + #endif + #if defined(FEAT_GUI) && defined(FEAT_GUI_GTK) && defined(FEAT_MENU) +! // GTK: <F10> normally selects the menu, but it's passed until +! // here to allow mapping it. Intercept and invoke the GTK +! // behavior if it's not mapped. +! if (c == K_F10 && gui.menubar != NULL) +! { +! gtk_menu_shell_select_first( +! GTK_MENU_SHELL(gui.menubar), FALSE); +! continue; +! } + #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 +! // its ASCII equivalent +! switch (c) +! { +! case K_KPLUS: c = '+'; break; +! case K_KMINUS: c = '-'; break; +! case K_KDIVIDE: c = '/'; break; +! case K_KMULTIPLY: c = '*'; break; +! case K_KENTER: c = CAR; break; +! case K_KPOINT: + #ifdef MSWIN + // Can be either '.' or a ',', + // depending on the type of keypad. +*************** +*** 1686,1704 **** + #else + c = '.'; break; + #endif +! case K_K0: c = '0'; break; +! case K_K1: c = '1'; break; +! case K_K2: c = '2'; break; +! case K_K3: c = '3'; break; +! case K_K4: c = '4'; break; +! case K_K5: c = '5'; break; +! case K_K6: c = '6'; break; +! case K_K7: c = '7'; break; +! case K_K8: c = '8'; break; +! case K_K9: c = '9'; break; + +! case K_XHOME: +! case K_ZHOME: if (mod_mask == MOD_MASK_SHIFT) + { + c = K_S_HOME; + mod_mask = 0; +--- 1687,1705 ---- + #else + c = '.'; break; + #endif +! case K_K0: c = '0'; break; +! case K_K1: c = '1'; break; +! case K_K2: c = '2'; break; +! case K_K3: c = '3'; break; +! case K_K4: c = '4'; break; +! case K_K5: c = '5'; break; +! case K_K6: c = '6'; break; +! case K_K7: c = '7'; break; +! case K_K8: c = '8'; break; +! case K_K9: c = '9'; break; + +! case K_XHOME: +! case K_ZHOME: if (mod_mask == MOD_MASK_SHIFT) + { + c = K_S_HOME; + mod_mask = 0; +*************** +*** 1711,1718 **** + else + c = K_HOME; + break; +! case K_XEND: +! case K_ZEND: if (mod_mask == MOD_MASK_SHIFT) + { + c = K_S_END; + mod_mask = 0; +--- 1712,1719 ---- + else + c = K_HOME; + break; +! case K_XEND: +! case K_ZEND: if (mod_mask == MOD_MASK_SHIFT) + { + c = K_S_END; + mod_mask = 0; +*************** +*** 1726,1770 **** + c = K_END; + break; + +! case K_XUP: c = K_UP; break; +! case K_XDOWN: c = K_DOWN; break; +! case K_XLEFT: c = K_LEFT; break; +! case K_XRIGHT: c = K_RIGHT; break; +! } + +! /* For a multi-byte character get all the bytes and return the +! * converted character. +! * Note: This will loop until enough bytes are received! +! */ +! if (has_mbyte && (n = MB_BYTE2LEN_CHECK(c)) > 1) +! { +! ++no_mapping; +! buf[0] = c; +! for (i = 1; i < n; ++i) + { +! buf[i] = vgetorpeek(TRUE); +! if (buf[i] == K_SPECIAL + #ifdef FEAT_GUI +! || buf[i] == CSI + #endif +! ) +! { +! /* Must be a K_SPECIAL - KS_SPECIAL - KE_FILLER sequence, +! * which represents a K_SPECIAL (0x80), +! * or a CSI - KS_EXTRA - KE_CSI sequence, which represents +! * a CSI (0x9B), +! * of a K_SPECIAL - KS_EXTRA - KE_CSI, which is CSI too. */ +! c = vgetorpeek(TRUE); +! if (vgetorpeek(TRUE) == (int)KE_CSI && c == KS_EXTRA) +! buf[i] = CSI; + } + } +- --no_mapping; +- c = (*mb_ptr2char)(buf); +- } + +! break; +! } + } + + #ifdef FEAT_EVAL +--- 1727,1771 ---- + c = K_END; + break; + +! case K_XUP: c = K_UP; break; +! case K_XDOWN: c = K_DOWN; break; +! case K_XLEFT: c = K_LEFT; break; +! case K_XRIGHT: c = K_RIGHT; break; +! } + +! // For a multi-byte character get all the bytes and return the +! // converted character. +! // Note: This will loop until enough bytes are received! +! if (has_mbyte && (n = MB_BYTE2LEN_CHECK(c)) > 1) + { +! ++no_mapping; +! buf[0] = c; +! for (i = 1; i < n; ++i) +! { +! buf[i] = vgetorpeek(TRUE); +! if (buf[i] == K_SPECIAL + #ifdef FEAT_GUI +! || buf[i] == CSI + #endif +! ) +! { +! // Must be a K_SPECIAL - KS_SPECIAL - KE_FILLER +! // sequence, which represents a K_SPECIAL (0x80), +! // or a CSI - KS_EXTRA - KE_CSI sequence, which +! // represents a CSI (0x9B), +! // or a K_SPECIAL - KS_EXTRA - KE_CSI, which is CSI +! // too. +! c = vgetorpeek(TRUE); +! if (vgetorpeek(TRUE) == (int)KE_CSI && c == KS_EXTRA) +! buf[i] = CSI; +! } + } ++ --no_mapping; ++ c = (*mb_ptr2char)(buf); + } + +! break; +! } + } + + #ifdef FEAT_EVAL +*** ../vim-8.1.0999/src/ops.c 2019-03-08 09:50:43.058308765 +0100 +--- src/ops.c 2019-03-09 09:06:12.268015674 +0100 +*************** +*** 1245,1254 **** + emsg(_(e_nolastcmd)); + return FAIL; + } +! VIM_CLEAR(new_last_cmdline); /* don't keep the cmdline containing @: */ +! /* Escape all control characters with a CTRL-V */ + p = vim_strsave_escaped_ext(last_cmdline, +! (char_u *)"\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037", Ctrl_V, FALSE); + if (p != NULL) + { + /* When in Visual mode "'<,'>" will be prepended to the command. +--- 1245,1259 ---- + emsg(_(e_nolastcmd)); + return FAIL; + } +! // don't keep the cmdline containing @: +! VIM_CLEAR(new_last_cmdline); +! // Escape all control characters with a CTRL-V + p = vim_strsave_escaped_ext(last_cmdline, +! (char_u *)"\001\002\003\004\005\006\007" +! "\010\011\012\013\014\015\016\017" +! "\020\021\022\023\024\025\026\027" +! "\030\031\032\033\034\035\036\037", +! Ctrl_V, FALSE); + if (p != NULL) + { + /* When in Visual mode "'<,'>" will be prepended to the command. +*** ../vim-8.1.0999/src/version.c 2019-03-08 09:50:43.062308735 +0100 +--- src/version.c 2019-03-09 09:01:15.642242661 +0100 +*************** +*** 781,782 **** +--- 781,784 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 1000, + /**/ + +-- +I started out with nothing, and I still have most of it. + -- Michael Davis -- "Tonight Show" + + /// 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 /// |