Patch 8.0.0490
Problem:    Splitting a 'winfixwidth' window vertically makes it one column
            smaller. (Dominique Pelle)
Solution:   Add one to the width for the separator.
Files:      src/window.c, src/testdir/test_window_cmd.vim


*** ../vim-8.0.0489/src/window.c        2017-03-19 17:09:51.835080722 +0100
--- src/window.c        2017-03-19 20:13:37.414467919 +0100
***************
*** 870,878 ****
  
        /* We don't like to take lines for the new window from a
         * 'winfixwidth' window.  Take them from a window to the left or right
!        * instead, if possible. */
        if (oldwin->w_p_wfw)
!           win_setwidth_win(oldwin->w_width + new_size, oldwin);
  
        /* Only make all windows the same width if one of them (except oldwin)
         * is wider than one of the split windows. */
--- 870,878 ----
  
        /* We don't like to take lines for the new window from a
         * 'winfixwidth' window.  Take them from a window to the left or right
!        * instead, if possible. Add one for the separator. */
        if (oldwin->w_p_wfw)
!           win_setwidth_win(oldwin->w_width + new_size + 1, oldwin);
  
        /* Only make all windows the same width if one of them (except oldwin)
         * is wider than one of the split windows. */
*** ../vim-8.0.0489/src/testdir/test_window_cmd.vim     2017-03-19 
16:09:41.153653947 +0100
--- src/testdir/test_window_cmd.vim     2017-03-19 20:16:24.817250219 +0100
***************
*** 294,313 ****
    set winfixwidth
    vsplit Xc
    let [ww1, ww2, ww3] = [winwidth(1), winwidth(2), winwidth(3)]
!   " FIXME: commented out: I would expect the width of 2nd window to 
!   " remain 2 but it's actually 1?!
!   "call assert_equal(2, winwidth(2))
    call assert_inrange(ww3, ww3 + 1, ww1)
    3wincmd >
!   " FIXME: commented out: I would expect the width of 2nd window to 
!   " remain 2 but it's actually 1?!
!   "call assert_equal(2,       winwidth(2))
    call assert_equal(ww1 + 3, winwidth(1))
    call assert_equal(ww3 - 3, winwidth(3))
    wincmd =
!   " FIXME: commented out: I would expect the width of 2nd window to 
!   " remain 2 but it's actually 1?!
!   "call assert_equal(2,   winwidth(2))
    call assert_equal(ww1, winwidth(1))
    call assert_equal(ww3, winwidth(3))
  
--- 294,307 ----
    set winfixwidth
    vsplit Xc
    let [ww1, ww2, ww3] = [winwidth(1), winwidth(2), winwidth(3)]
!   call assert_equal(2, winwidth(2))
    call assert_inrange(ww3, ww3 + 1, ww1)
    3wincmd >
!   call assert_equal(2,       winwidth(2))
    call assert_equal(ww1 + 3, winwidth(1))
    call assert_equal(ww3 - 3, winwidth(3))
    wincmd =
!   call assert_equal(2,   winwidth(2))
    call assert_equal(ww1, winwidth(1))
    call assert_equal(ww3, winwidth(3))
  
*** ../vim-8.0.0489/src/version.c       2017-03-19 20:04:05.534628090 +0100
--- src/version.c       2017-03-19 20:22:18.270679285 +0100
***************
*** 766,767 ****
--- 766,769 ----
  {   /* Add new patch number below this line */
+ /**/
+     490,
  /**/

-- 
"Hit any key to continue" it said, but nothing happened after F sharp.

 /// 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].
For more options, visit https://groups.google.com/d/optout.

Raspunde prin e-mail lui