diff options
author | Sam Bingner <sam@bingner.com> | 2019-06-05 22:02:50 -1000 |
---|---|---|
committer | Sam Bingner <sam@bingner.com> | 2019-06-05 22:02:50 -1000 |
commit | a255618e22152ca2e5fd361a3d0762e9db20dd80 (patch) | |
tree | 5c98f76c0de0785b8d5b58ac622da34f0d024a8f /data/vim/patches/8.1.1192 | |
parent | 1b1fa61507a809a66f053a8523f883b2b6a2f487 (diff) |
Update vim to 8.1.1471
Diffstat (limited to 'data/vim/patches/8.1.1192')
-rw-r--r-- | data/vim/patches/8.1.1192 | 205 |
1 files changed, 205 insertions, 0 deletions
diff --git a/data/vim/patches/8.1.1192 b/data/vim/patches/8.1.1192 new file mode 100644 index 000000000..eeb06f622 --- /dev/null +++ b/data/vim/patches/8.1.1192 @@ -0,0 +1,205 @@ +To: vim_dev@googlegroups.com +Subject: Patch 8.1.1192 +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.1192 +Problem: Mode is not cleared when leaving Insert mode with mapped Esc. +Solution: Clear the mode when redraw_cmdline is set. (closes #4269) +Files: src/globals.h, src/screen.c, src/testdir/test_messages.vim + + +*** ../vim-8.1.1191/src/globals.h 2019-04-07 11:56:14.913845511 +0200 +--- src/globals.h 2019-04-20 23:27:12.141239823 +0200 +*************** +*** 90,101 **** + */ + EXTERN int cmdline_row; + +! EXTERN int redraw_cmdline INIT(= FALSE); /* cmdline must be redrawn */ +! EXTERN int clear_cmdline INIT(= FALSE); /* cmdline must be cleared */ +! EXTERN int mode_displayed INIT(= FALSE); /* mode is being displayed */ +! EXTERN int no_win_do_lines_ins INIT(= FALSE); /* don't insert lines */ + #if defined(FEAT_CRYPT) || defined(FEAT_EVAL) +! EXTERN int cmdline_star INIT(= FALSE); /* cmdline is crypted */ + #endif + + EXTERN int exec_from_reg INIT(= FALSE); /* executing register */ +--- 90,102 ---- + */ + EXTERN int cmdline_row; + +! EXTERN int redraw_cmdline INIT(= FALSE); // cmdline must be redrawn +! EXTERN int redraw_mode INIT(= FALSE); // mode must be redrawn +! EXTERN int clear_cmdline INIT(= FALSE); // cmdline must be cleared +! EXTERN int mode_displayed INIT(= FALSE); // mode is being displayed +! EXTERN int no_win_do_lines_ins INIT(= FALSE); // don't insert lines + #if defined(FEAT_CRYPT) || defined(FEAT_EVAL) +! EXTERN int cmdline_star INIT(= FALSE); // cmdline is crypted + #endif + + EXTERN int exec_from_reg INIT(= FALSE); /* executing register */ +*** ../vim-8.1.1191/src/screen.c 2019-04-13 14:53:10.886456655 +0200 +--- src/screen.c 2019-04-20 23:31:48.879644412 +0200 +*************** +*** 790,796 **** + + /* Clear or redraw the command line. Done last, because scrolling may + * mess up the command line. */ +! if (clear_cmdline || redraw_cmdline) + showmode(); + + if (no_update) +--- 790,796 ---- + + /* Clear or redraw the command line. Done last, because scrolling may + * mess up the command line. */ +! if (clear_cmdline || redraw_cmdline || redraw_mode) + showmode(); + + if (no_update) +*************** +*** 857,863 **** + static void + update_finish(void) + { +! if (redraw_cmdline) + showmode(); + + # ifdef FEAT_SEARCH_EXTRA +--- 857,863 ---- + static void + update_finish(void) + { +! if (redraw_cmdline || redraw_mode) + showmode(); + + # ifdef FEAT_SEARCH_EXTRA +*************** +*** 10128,10134 **** + || !redrawing() + || (char_avail() && !KeyTyped)) + { +! redraw_cmdline = TRUE; // show mode later + return TRUE; + } + return FALSE; +--- 10128,10134 ---- + || !redrawing() + || (char_avail() && !KeyTyped)) + { +! redraw_mode = TRUE; // show mode later + return TRUE; + } + return FALSE; +*************** +*** 10140,10145 **** +--- 10140,10146 ---- + * If clear_cmdline is TRUE, clear the rest of the cmdline. + * If clear_cmdline is FALSE there may be a message there that needs to be + * cleared only if a mode is shown. ++ * If redraw_mode is TRUE show or clear the mode. + * Return the length of the message (0 if no message). + */ + int +*************** +*** 10313,10319 **** + } + + mode_displayed = TRUE; +! if (need_clear || clear_cmdline) + msg_clr_eos(); + msg_didout = FALSE; /* overwrite this message */ + length = msg_col; +--- 10314,10320 ---- + } + + mode_displayed = TRUE; +! if (need_clear || clear_cmdline || redraw_mode) + msg_clr_eos(); + msg_didout = FALSE; /* overwrite this message */ + length = msg_col; +*************** +*** 10323,10328 **** +--- 10324,10334 ---- + else if (clear_cmdline && msg_silent == 0) + /* Clear the whole command line. Will reset "clear_cmdline". */ + msg_clr_cmdline(); ++ else if (redraw_mode) ++ { ++ msg_pos_mode(); ++ msg_clr_eos(); ++ } + + #ifdef FEAT_CMDL_INFO + /* In Visual mode the size of the selected area must be redrawn. */ +*************** +*** 10335,10340 **** +--- 10341,10347 ---- + win_redr_ruler(lastwin, TRUE, FALSE); + #endif + redraw_cmdline = FALSE; ++ redraw_mode = FALSE; + clear_cmdline = FALSE; + + return length; +*** ../vim-8.1.1191/src/testdir/test_messages.vim 2019-04-20 15:10:06.382607095 +0200 +--- src/testdir/test_messages.vim 2019-04-20 22:59:32.707021358 +0200 +*************** +*** 125,127 **** +--- 125,155 ---- + exe buf . 'bwipe!' + call delete(testfile) + endfunc ++ ++ func Test_mode_message_at_leaving_insert_with_esc_mapped() ++ if !has('terminal') || has('gui_running') ++ return ++ endif ++ ++ " Set custom statusline built by user-defined function. ++ let testfile = 'Xtest.vim' ++ call writefile([ ++ \ 'set laststatus=2', ++ \ 'inoremap <Esc> <Esc>00', ++ \ ], testfile) ++ ++ let rows = 10 ++ let buf = term_start([GetVimProg(), '--clean', '-S', testfile], {'term_rows': rows}) ++ call term_wait(buf, 200) ++ call assert_equal('run', job_status(term_getjob(buf))) ++ ++ call term_sendkeys(buf, "i") ++ call WaitForAssert({-> assert_match('^-- INSERT --\s*$', term_getline(buf, rows))}) ++ call term_sendkeys(buf, "\<Esc>") ++ call WaitForAssert({-> assert_match('^\s*$', term_getline(buf, rows))}) ++ ++ call term_sendkeys(buf, ":qall!\<CR>") ++ call WaitForAssert({-> assert_equal('dead', job_status(term_getjob(buf)))}) ++ exe buf . 'bwipe!' ++ call delete(testfile) ++ endfunc +*** ../vim-8.1.1191/src/version.c 2019-04-20 22:28:38.961420148 +0200 +--- src/version.c 2019-04-20 23:36:50.069917005 +0200 +*************** +*** 773,774 **** +--- 773,776 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 1192, + /**/ + +-- +ARTHUR: Who are you? +TALL KNIGHT: We are the Knights Who Say "Ni"! +BEDEVERE: No! Not the Knights Who Say "Ni"! + "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD + + /// 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 /// |