patch 8.1.0046: loading a session file fails if 'winheight' is big

Problem:    Loading a session file fails if 'winheight' is a big number.
Solution:   Set 'minwinheight' to zero at first.  Don't give an error when
            setting 'minwinheight' while 'winheight' is a big number.
            Fix using vertical splits. Fix setting 'minwinwidth'.
            (closes #2970)
diff --git a/src/testdir/test_mksession.vim b/src/testdir/test_mksession.vim
index 81883b5..e81d9b3 100644
--- a/src/testdir/test_mksession.vim
+++ b/src/testdir/test_mksession.vim
@@ -106,13 +106,22 @@
 
 func Test_mksession_winheight()
   new
-  set winheight=10 winminheight=2
+  set winheight=10
+  set winminheight=2
   mksession! Xtest_mks.out
   source Xtest_mks.out
 
   call delete('Xtest_mks.out')
 endfunc
 
+func Test_mksession_large_winheight()
+  set winheight=999
+  mksession! Xtest_mks_winheight.out
+  set winheight&
+  source Xtest_mks_winheight.out
+  call delete('Xtest_mks_winheight.out')
+endfunc
+
 func Test_mksession_arglist()
   argdel *
   next file1 file2 file3 file4