0
0
mirror of https://github.com/vim/vim.git synced 2025-09-30 04:44:14 -04:00

patch 8.0.0253: error when loading session if winminheight is 2

Problem:    When creating a session when winminheight is 2 or larger and
            loading that session gives an error.
Solution:   Also set winminheight before setting winheight to 1. (Rafael
            Bodill, neovim #5717)
This commit is contained in:
Bram Moolenaar
2017-01-28 17:11:14 +01:00
parent 4019cf90b8
commit 36ae89c550
3 changed files with 18 additions and 1 deletions

View File

@@ -11197,8 +11197,10 @@ makeopens(
* resized when moving between windows. * resized when moving between windows.
* Do this before restoring the view, so that the topline and the * Do this before restoring the view, so that the topline and the
* cursor can be set. This is done again below. * cursor can be set. This is done again below.
* winminheight and winminwidth need to be set to avoid an error if the
* user has set winheight or winwidth.
*/ */
if (put_line(fd, "set winheight=1 winwidth=1") == FAIL) if (put_line(fd, "set winminheight=1 winheight=1 winminwidth=1 winwidth=1") == FAIL)
return FAIL; return FAIL;
if (nr > 1 && ses_winsizes(fd, restore_size, tab_firstwin) == FAIL) if (nr > 1 && ses_winsizes(fd, restore_size, tab_firstwin) == FAIL)
return FAIL; return FAIL;
@@ -11268,6 +11270,10 @@ makeopens(
if (fprintf(fd, "set winheight=%ld winwidth=%ld shortmess=%s", if (fprintf(fd, "set winheight=%ld winwidth=%ld shortmess=%s",
p_wh, p_wiw, p_shm) < 0 || put_eol(fd) == FAIL) p_wh, p_wiw, p_shm) < 0 || put_eol(fd) == FAIL)
return FAIL; return FAIL;
/* Re-apply 'winminheight' and 'winminwidth'. */
if (fprintf(fd, "set winminheight=%ld winminwidth=%ld",
p_wmh, p_wmw) < 0 || put_eol(fd) == FAIL)
return FAIL;
/* /*
* Lastly, execute the x.vim file if it exists. * Lastly, execute the x.vim file if it exists.

View File

@@ -101,4 +101,13 @@ func Test_mksession()
let &wrap = wrap_save let &wrap = wrap_save
endfunc endfunc
func Test_mksession_winheight()
new
set winheight=10 winminheight=2
mksession! test_mks.out
source test_mks.out
" call delete('test_mks.out')
endfunc
" vim: shiftwidth=2 sts=2 expandtab " vim: shiftwidth=2 sts=2 expandtab

View File

@@ -764,6 +764,8 @@ static char *(features[]) =
static int included_patches[] = static int included_patches[] =
{ /* Add new patch number below this line */ { /* Add new patch number below this line */
/**/
253,
/**/ /**/
252, 252,
/**/ /**/