mirror of
https://github.com/macvim-dev/macvim.git
synced 2026-05-28 00:21:57 +02:00
Merge remote-tracking branch 'vim/master'
This commit is contained in:
@@ -267,10 +267,11 @@ OpenPTY(char **ttyn)
|
||||
}
|
||||
#endif
|
||||
|
||||
#if defined(HAVE_SVR4_PTYS) && !defined(PTY_DONE) && !defined(hpux) && !defined(MACOS_X)
|
||||
#if defined(HAVE_SVR4_PTYS) && !defined(PTY_DONE) && !defined(hpux) \
|
||||
&& !(defined(MACOS_X) && !defined(MAC_OS_X_VERSION_10_6))
|
||||
|
||||
/* NOTE: Even though HPUX can have /dev/ptmx, the code below doesn't work!
|
||||
* Same for Mac OS X Leopard. */
|
||||
* Same for Mac OS X Leopard (10.5). */
|
||||
#define PTY_DONE
|
||||
int
|
||||
OpenPTY(char **ttyn)
|
||||
|
||||
+10
-3
@@ -41,6 +41,7 @@
|
||||
* - in GUI vertical split causes problems. Cursor is flickering. (Hirohito
|
||||
* Higashi, 2017 Sep 19)
|
||||
* - Shift-Tab does not work.
|
||||
* - after resizing windows overlap. (Boris Staletic, #2164)
|
||||
* - double click in Window toolbar starts Visual mode.
|
||||
* - Redirecting output does not work on MS-Windows, Test_terminal_redir_file()
|
||||
* is disabled.
|
||||
@@ -134,7 +135,7 @@ struct terminal_S {
|
||||
char_u *tl_status_text; /* NULL or allocated */
|
||||
|
||||
/* Range of screen rows to update. Zero based. */
|
||||
int tl_dirty_row_start; /* -1 if nothing dirty */
|
||||
int tl_dirty_row_start; /* MAX_ROW if nothing dirty */
|
||||
int tl_dirty_row_end; /* row below last one to update */
|
||||
|
||||
garray_T tl_scrollback;
|
||||
@@ -1930,6 +1931,10 @@ handle_moverect(VTermRect dest, VTermRect src, void *user)
|
||||
clear_attr);
|
||||
}
|
||||
}
|
||||
|
||||
term->tl_dirty_row_start = MIN(term->tl_dirty_row_start, dest.start_row);
|
||||
term->tl_dirty_row_end = MIN(term->tl_dirty_row_end, dest.end_row);
|
||||
|
||||
redraw_buf_later(term->tl_buffer, NOT_VALID);
|
||||
return 1;
|
||||
}
|
||||
@@ -2273,8 +2278,8 @@ term_update_window(win_T *wp)
|
||||
vterm_state_get_cursorpos(state, &pos);
|
||||
position_cursor(wp, &pos);
|
||||
|
||||
/* TODO: Only redraw what changed. */
|
||||
for (pos.row = 0; pos.row < wp->w_height; ++pos.row)
|
||||
for (pos.row = term->tl_dirty_row_start; pos.row < term->tl_dirty_row_end
|
||||
&& pos.row < wp->w_height; ++pos.row)
|
||||
{
|
||||
int off = screen_get_current_line_off();
|
||||
int max_col = MIN(wp->w_width, term->tl_cols);
|
||||
@@ -2357,6 +2362,8 @@ term_update_window(win_T *wp)
|
||||
screen_line(wp->w_winrow + pos.row, wp->w_wincol,
|
||||
pos.col, wp->w_width, FALSE);
|
||||
}
|
||||
term->tl_dirty_row_start = MAX_ROW;
|
||||
term->tl_dirty_row_end = 0;
|
||||
|
||||
return OK;
|
||||
}
|
||||
|
||||
@@ -776,6 +776,10 @@ static char *(features[]) =
|
||||
|
||||
static int included_patches[] =
|
||||
{ /* Add new patch number below this line */
|
||||
/**/
|
||||
1167,
|
||||
/**/
|
||||
1166,
|
||||
/**/
|
||||
1165,
|
||||
/**/
|
||||
|
||||
Reference in New Issue
Block a user