Skip to content

Commit

Permalink
patch 9.0.0667: ml_get error when 'splitkeep' is "screen"
Browse files Browse the repository at this point in the history
Problem:    ml_get error when 'splitkeep' is "screen". (Marius Gedminas)
Solution:   Check the botline is not too large. (Luuk van Baal,
            closes #11293, closes #11292)
  • Loading branch information
luukvbaal authored and brammool committed Oct 5, 2022
1 parent 7beaf6a commit 346823d
Show file tree
Hide file tree
Showing 3 changed files with 11 additions and 1 deletion.
7 changes: 7 additions & 0 deletions src/testdir/test_window_cmd.vim
Expand Up @@ -1807,6 +1807,13 @@ function Test_splitkeep_misc()
let top = line('w0')
help | quit
call assert_equal(top, line('w0'))
" No error when resizing window in autocmd and buffer length changed
autocmd FileType qf exe "resize" line('$')
cexpr getline(1, '$')
copen
wincmd p
norm dd
cexpr getline(1, '$')

%bwipeout!
set splitbelow&
Expand Down
2 changes: 2 additions & 0 deletions src/version.c
Expand Up @@ -699,6 +699,8 @@ static char *(features[]) =

static int included_patches[] =
{ /* Add new patch number below this line */
/**/
667,
/**/
666,
/**/
Expand Down
3 changes: 2 additions & 1 deletion src/window.c
Expand Up @@ -6356,7 +6356,8 @@ win_fix_scroll(int resize)
if (wp->w_height != wp->w_prev_height)
{
// If window has moved update botline to keep the same screenlines.
if (*p_spk == 's' && wp->w_winrow != wp->w_prev_winrow)
if (*p_spk == 's' && wp->w_winrow != wp->w_prev_winrow
&& wp->w_botline - 1 <= wp->w_buffer->b_ml.ml_line_count)
{
lnum = wp->w_cursor.lnum;
diff = (wp->w_winrow - wp->w_prev_winrow)
Expand Down

0 comments on commit 346823d

Please sign in to comment.