changeset 12023:0197e3f52192 v8.0.0892

patch 8.0.0892: when opening a terminal the pty size doesn't always match commit https://github.com/vim/vim/commit/292d5699356dc4a22fcfbab92f0a558e90f7cfba Author: Bram Moolenaar <Bram@vim.org> Date: Tue Aug 8 21:52:22 2017 +0200 patch 8.0.0892: when opening a terminal the pty size doesn't always match Problem: When opening a terminal the pty size doesn't always match. Solution: Update the pty size after opening the terminal. (Ken Takata)
author Christian Brabandt <cb@256bit.org>
date Tue, 08 Aug 2017 22:00:05 +0200
parents 79faee34368c
children 3ae2df07db98
files src/terminal.c src/version.c
diffstat 2 files changed, 7 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/src/terminal.c
+++ b/src/terminal.c
@@ -43,9 +43,11 @@
  * - add option values to the command:
  *      :term <24x80> <close> vim notes.txt
  * - support different cursor shapes, colors and attributes
- * - MS-Windows: no redraw for 'updatetime'  #1915
  * - make term_getcursor() return type (none/block/bar/underline) and
  *   attributes (color, blink, etc.)
+ * - MS-Windows: no redraw for 'updatetime'  #1915
+ * - term_getline() and term_scrape() don't work once the job exited. Use the
+ *   buffer and scrollback, remembering the topline from when the job exited.
  * - To set BS correctly, check get_stty(); Pass the fd of the pty.
  *   For the GUI fill termios with default values, perhaps like pangoterm:
  *   http://bazaar.launchpad.net/~leonerd/pangoterm/trunk/view/head:/main.c#L134
@@ -337,8 +339,9 @@ term_start(char_u *cmd, jobopt_T *opt)
     /* System dependent: setup the vterm and start the job in it. */
     if (term_and_job_init(term, term->tl_rows, term->tl_cols, cmd, opt) == OK)
     {
-	/* store the size we ended up with */
+	/* Get and remember the size we ended up with.  Update the pty. */
 	vterm_get_size(term->tl_vterm, &term->tl_rows, &term->tl_cols);
+	term_report_winsize(term, term->tl_rows, term->tl_cols);
     }
     else
     {
--- a/src/version.c
+++ b/src/version.c
@@ -770,6 +770,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    892,
+/**/
     891,
 /**/
     890,