Patch 8.2.0131
Problem:    Command line is not cleared when switching tabs and the command
            line height differs.
Solution:   Set the "clear_cmdline" flag when needed. (Naruhiko Nishino,
            closes #5495)
Files:      src/testdir/dumps/Test_cmdlineclear_tabenter.dump,
            src/testdir/test_cmdline.vim, src/window.c


*** ../vim-8.2.0130/src/testdir/dumps/Test_cmdlineclear_tabenter.dump   
2020-01-19 15:44:45.066605820 +0100
--- src/testdir/dumps/Test_cmdlineclear_tabenter.dump   2020-01-19 
15:39:25.563922621 +0100
***************
*** 0 ****
--- 1,10 ----
+ | +8#0000001#e0e0e08|+| |[|N|o| |N|a|m|e|]| | +2#0000000#ffffff0|[|N|o| 
|N|a|m|e|]| | +1&&@49|X+8#0000001#e0e0e08
+ > +0#0000000#ffffff0@74
+ |~+0#4040ff13&| @73
+ |~| @73
+ |~| @73
+ |~| @73
+ |~| @73
+ | +0#0000000&@74
+ @75
+ @57|0|,|0|-|1| @8|A|l@1| 
*** ../vim-8.2.0130/src/testdir/test_cmdline.vim        2019-12-28 
14:06:46.151470752 +0100
--- src/testdir/test_cmdline.vim        2020-01-19 15:43:28.762919691 +0100
***************
*** 905,908 ****
--- 905,926 ----
    delfunc CmdWinType
  endfunc
  
+ func Test_cmdlineclear_tabenter()
+   CheckScreendump
+ 
+   let lines =<< trim [SCRIPT]
+     call setline(1, range(30))
+   [SCRIPT]
+ 
+   call writefile(lines, 'XtestCmdlineClearTabenter')
+   let buf = RunVimInTerminal('-S XtestCmdlineClearTabenter', #{rows: 10})
+   call term_wait(buf, 50)
+   " in one tab make the command line higher with CTRL-W -
+   call term_sendkeys(buf, ":tabnew\<cr>\<C-w>-\<C-w>-gtgt")
+   call VerifyScreenDump(buf, 'Test_cmdlineclear_tabenter', {})
+ 
+   call StopVimInTerminal(buf)
+   call delete('XtestCmdlineClearTabenter')
+ endfunc
+ 
  " vim: shiftwidth=2 sts=2 expandtab
*** ../vim-8.2.0130/src/window.c        2019-12-14 16:18:11.578458401 +0100
--- src/window.c        2020-01-19 15:44:28.514673865 +0100
***************
*** 4093,4098 ****
--- 4093,4099 ----
      int               trigger_enter_autocmds,
      int               trigger_leave_autocmds)
  {
+     int               row;
      int               old_off = tp->tp_firstwin->w_winrow;
      win_T     *next_prevwin = tp->tp_prevwin;
  
***************
*** 4109,4115 ****
      prevwin = next_prevwin;
  
      last_status(FALSE);               // status line may appear or disappear
!     (void)win_comp_pos();     // recompute w_winrow for all windows
  #ifdef FEAT_DIFF
      diff_need_scrollbind = TRUE;
  #endif
--- 4110,4116 ----
      prevwin = next_prevwin;
  
      last_status(FALSE);               // status line may appear or disappear
!     row = win_comp_pos();     // recompute w_winrow for all windows
  #ifdef FEAT_DIFF
      diff_need_scrollbind = TRUE;
  #endif
***************
*** 4121,4126 ****
--- 4122,4134 ----
      if (p_ch != curtab->tp_ch_used)
        clear_cmdline = TRUE;
      p_ch = curtab->tp_ch_used;
+ 
+     // When cmdheight is changed in a tab page with '<C-w>-', cmdline_row is
+     // changed but p_ch and tp_ch_used are not changed. Thus we also need to
+     // check cmdline_row.
+     if ((row < cmdline_row) && (cmdline_row <= Rows - p_ch))
+       clear_cmdline = TRUE;
+ 
      if (curtab->tp_old_Rows != Rows || (old_off != firstwin->w_winrow
  #ifdef FEAT_GUI_TABLINE
                            && !gui_use_tabline()
*** ../vim-8.2.0130/src/version.c       2020-01-19 13:57:51.465877807 +0100
--- src/version.c       2020-01-19 15:44:52.698574450 +0100
***************
*** 744,745 ****
--- 744,747 ----
  {   /* Add new patch number below this line */
+ /**/
+     131,
  /**/

-- 
ARTHUR: Old woman!
DENNIS: Man!
ARTHUR: Man.  I'm sorry.  Old man, What knight live in that castle over there?
DENNIS: I'm thirty-seven.
                 "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD

 /// Bram Moolenaar -- [email protected] -- 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    ///

-- 
-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups 
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/vim_dev/202001191445.00JEjxda002065%40masaka.moolenaar.net.

Raspunde prin e-mail lui