Mercurial > vim
diff src/ex_docmd.c @ 10726:78927b31c73a v8.0.0253
patch 8.0.0253: error when loading session if winminheight is 2
commit https://github.com/vim/vim/commit/36ae89c550a4f0a380606c3fb4a054957ad698f0
Author: Bram Moolenaar <Bram@vim.org>
Date: Sat Jan 28 17:11:14 2017 +0100
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)
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Sat, 28 Jan 2017 17:15:04 +0100 |
parents | 7598ce51bf2a |
children | 380e706814da |
line wrap: on
line diff
--- a/src/ex_docmd.c +++ b/src/ex_docmd.c @@ -11197,8 +11197,10 @@ makeopens( * resized when moving between windows. * Do this before restoring the view, so that the topline and the * 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; if (nr > 1 && ses_winsizes(fd, restore_size, tab_firstwin) == FAIL) return FAIL; @@ -11268,6 +11270,10 @@ makeopens( if (fprintf(fd, "set winheight=%ld winwidth=%ld shortmess=%s", p_wh, p_wiw, p_shm) < 0 || put_eol(fd) == 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.