patch 8.0.0819: cursor not positioned in terminal window
Problem: After changing current window the cursor position in the terminal
window is not updated.
Solution: Set w_wrow, w_wcol and w_valid.
diff --git a/src/terminal.c b/src/terminal.c
index 45c6175..be76161 100644
--- a/src/terminal.c
+++ b/src/terminal.c
@@ -857,6 +857,14 @@
return OK;
}
+ static void
+position_cursor(win_T *wp, VTermPos *pos)
+{
+ wp->w_wrow = MIN(pos->row, MAX(0, wp->w_height - 1));
+ wp->w_wcol = MIN(pos->col, MAX(0, wp->w_width - 1));
+ wp->w_valid |= (VALID_WCOL|VALID_WROW);
+}
+
/*
* Returns TRUE if the current window contains a terminal and we are sending
* keys to the job.
@@ -887,6 +895,7 @@
if (*curwin->w_p_tk != NUL)
termkey = string_to_key(curwin->w_p_tk, TRUE);
+ position_cursor(curwin, &curbuf->b_term->tl_cursor_pos);
for (;;)
{
@@ -972,13 +981,6 @@
}
static void
-position_cursor(win_T *wp, VTermPos *pos)
-{
- wp->w_wrow = MIN(pos->row, MAX(0, wp->w_height - 1));
- wp->w_wcol = MIN(pos->col, MAX(0, wp->w_width - 1));
-}
-
- static void
may_toggle_cursor(term_T *term)
{
if (curbuf == term->tl_buffer)
diff --git a/src/version.c b/src/version.c
index 5b831d4..2d4c50e 100644
--- a/src/version.c
+++ b/src/version.c
@@ -770,6 +770,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 819,
+/**/
818,
/**/
817,