Patch 9.0.1367
Problem: Divide by zero in zero-width window.
Solution: Check the width is positive.
Files: src/move.c, src/testdir/test_window_cmd.vim
*** ../vim-9.0.1366/src/move.c 2023-02-14 17:41:15.774305998 +0000
--- src/move.c 2023-03-01 17:52:00.406721902 +0000
***************
*** 1734,1740 ****
col -= width1;
++row;
}
! if (col > width2)
{
row += col / width2;
col = col % width2;
--- 1734,1740 ----
col -= width1;
++row;
}
! if (col > width2 && width2 > 0)
{
row += col / width2;
col = col % width2;
*** ../vim-9.0.1366/src/testdir/test_window_cmd.vim 2023-02-15
16:45:22.977959441 +0000
--- src/testdir/test_window_cmd.vim 2023-03-01 17:49:28.846364861 +0000
***************
*** 1772,1778 ****
let &t_WS = save_WS
endfunc
! function Test_splitkeep_cmdwin_cursor_position()
set splitkeep=screen
call setline(1, range(&lines))
--- 1772,1778 ----
let &t_WS = save_WS
endfunc
! func Test_splitkeep_cmdwin_cursor_position()
set splitkeep=screen
call setline(1, range(&lines))
***************
*** 1797,1805 ****
%bwipeout!
set splitkeep&
! endfunction
! function Test_splitkeep_misc()
set splitkeep=screen
set splitbelow
--- 1797,1805 ----
%bwipeout!
set splitkeep&
! endfunc
! func Test_splitkeep_misc()
set splitkeep=screen
set splitbelow
***************
*** 1832,1838 ****
set splitkeep&
endfunc
! function Test_splitkeep_callback()
CheckScreendump
let lines =<< trim END
set splitkeep=screen
--- 1832,1838 ----
set splitkeep&
endfunc
! func Test_splitkeep_callback()
CheckScreendump
let lines =<< trim END
set splitkeep=screen
***************
*** 1865,1871 ****
call StopVimInTerminal(buf)
endfunc
! function Test_splitkeep_fold()
CheckScreendump
let lines =<< trim END
--- 1865,1871 ----
call StopVimInTerminal(buf)
endfunc
! func Test_splitkeep_fold()
CheckScreendump
let lines =<< trim END
***************
*** 1895,1903 ****
call VerifyScreenDump(buf, 'Test_splitkeep_fold_4', {})
call StopVimInTerminal(buf)
! endfunction
! function Test_splitkeep_status()
CheckScreendump
let lines =<< trim END
--- 1895,1903 ----
call VerifyScreenDump(buf, 'Test_splitkeep_fold_4', {})
call StopVimInTerminal(buf)
! endfunc
! func Test_splitkeep_status()
CheckScreendump
let lines =<< trim END
***************
*** 1915,1923 ****
call VerifyScreenDump(buf, 'Test_splitkeep_status_1', {})
call StopVimInTerminal(buf)
! endfunction
! function Test_new_help_window_on_error()
help change.txt
execute "normal! /CTRL-@\<CR>"
silent! execute "normal! \<C-W>]"
--- 1915,1923 ----
call VerifyScreenDump(buf, 'Test_splitkeep_status_1', {})
call StopVimInTerminal(buf)
! endfunc
! func Test_new_help_window_on_error()
help change.txt
execute "normal! /CTRL-@\<CR>"
silent! execute "normal! \<C-W>]"
***************
*** 1927,1933 ****
call assert_equal(wincount, winnr('$'))
call assert_equal(expand("<cword>"), "'mod'")
! endfunction
" vim: shiftwidth=2 sts=2 expandtab
--- 1927,1952 ----
call assert_equal(wincount, winnr('$'))
call assert_equal(expand("<cword>"), "'mod'")
! endfunc
!
! func Test_smoothscroll_in_zero_width_window()
! let save_lines = &lines
! let save_columns = &columns
!
! winsize 0 24
! set cpo+=n
! exe "noremap 0 \<C-W>n\<C-W>L"
! norm 000000
! set number smoothscroll
! exe "norm \<C-Y>"
!
! only!
! let &lines = save_lines
! let &columns = save_columns
! set cpo-=n
! unmap 0
! set nonumber nosmoothscroll
! endfunc
" vim: shiftwidth=2 sts=2 expandtab
*** ../vim-9.0.1366/src/version.c 2023-03-01 12:44:02.696086943 +0000
--- src/version.c 2023-03-01 17:52:16.770757003 +0000
***************
*** 697,698 ****
--- 697,700 ----
{ /* Add new patch number below this line */
+ /**/
+ 1367,
/**/
--
hundred-and-one symptoms of being an internet addict:
206. You religiously respond immediately to e-mail, while ignoring
your growing pile of snail mail.
/// Bram Moolenaar -- [email protected] -- http://www.Moolenaar.net \\\
/// \\\
\\\ sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ ///
\\\ 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/20230301175608.989051C0F2A%40moolenaar.net.