":botright split" create window with invalid size when there is only a few spaces.

65 views
Skip to first unread message

Yukihiro Nakadaira

unread,
Jul 15, 2014, 10:57:01 AM7/15/14
to vim...@googlegroups.com
":botright split" create window with invalid size when there is only a few spaces.

Steps to reproduce:

  $ vim -u NONE -N
  :vsplit
  :while 1 | split | endwhile
  :quit
  :botright split
  :echo winheight(0)
  11                    (actual height is 2 or 3)
  o<CR><CR><CR><CR><CR><CR><CR><CR><CR><CR><CR>....   (editing buffer may cause crash)
  Vim: Caught deadly signal SEGV

  It is same with ":botright vsplit"

  $ vim -u NONE -N
  :split
  :while 1 | vsplit | endwhile
  :quit
  :botright vsplit
  :echo winheight(0)
  40                    (actual width is 2 or 3)

Please check the attached patch.

--
Yukihiro Nakadaira - yukihiro....@gmail.com
fixwinsize.diff

Yukihiro Nakadaira

unread,
Jul 15, 2014, 8:35:42 PM7/15/14
to vim...@googlegroups.com
On Tue, Jul 15, 2014 at 11:56 PM, Yukihiro Nakadaira <yukihiro....@gmail.com> wrote:
":botright split" create window with invalid size when there is only a few spaces.

Steps to reproduce:

  $ vim -u NONE -N
  :vsplit
  :while 1 | split | endwhile
  :quit
  :botright split
  :echo winheight(0)
  11                    (actual height is 2 or 3)
  o<CR><CR><CR><CR><CR><CR><CR><CR><CR><CR><CR>....   (editing buffer may cause crash)
  Vim: Caught deadly signal SEGV

  It is same with ":botright vsplit"

  $ vim -u NONE -N
  :split
  :while 1 | vsplit | endwhile
  :quit
  :botright vsplit
  :echo winheight(0)
  40                    (actual width is 2 or 3)

I found another problem that zero width/height current window is created.  hmm...

$ vim -u NONE -N
:set noequalalways winminheight=0
:while 1 | split | endwhile

$ vim -u NONE -N
:set noequalalways winminwidth=0
:while 1 | vsplit | endwhile

Bram Moolenaar

unread,
Jul 16, 2014, 8:17:17 AM7/16/14
to Yukihiro Nakadaira, vim...@googlegroups.com
Thanks for pinpointing the problem and fixing it!


--
It is illegal to take more than three sips of beer at a time while standing.
[real standing law in Texas, United States of America]

/// Bram Moolenaar -- Br...@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 ///

Yukihiro Nakadaira

unread,
Jul 16, 2014, 11:37:28 AM7/16/14
to vim...@googlegroups.com
On Wed, Jul 16, 2014 at 9:35 AM, Yukihiro Nakadaira <yukihiro....@gmail.com> wrote
I found another problem that zero width/height current window is created.  hmm...

$ vim -u NONE -N
:set noequalalways winminheight=0
:while 1 | split | endwhile

$ vim -u NONE -N
:set noequalalways winminwidth=0
:while 1 | vsplit | endwhile
 
I wrote patch for this problem.  This patch contains a few cleaning up
for previous patch.  Please check the attached patch.
fixzerosplit.diff
Reply all
Reply to author
Forward
0 new messages