mirror of
https://github.com/vim/vim.git
synced 2025-12-10 18:46:57 -05:00
patch 9.1.1905: tabpanel: truncates terminal output
Problem: tabpanel: truncates terminal output
(hokorobi)
Solution: Use topframe->fr_width, not Columns (which includes the
tabpanel width) (Hirohito Higashi)
related: #18678
closes: #18707
Signed-off-by: Hirohito Higashi <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
This commit is contained in:
committed by
Christian Brabandt
parent
b74ec159dd
commit
1ff3e701e4
@ -291,10 +291,11 @@ set_term_and_win_size(term_T *term, jobopt_T *opt)
|
|||||||
#ifdef FEAT_GUI
|
#ifdef FEAT_GUI
|
||||||
if (term->tl_system)
|
if (term->tl_system)
|
||||||
{
|
{
|
||||||
// Use the whole screen for the system command. However, it will start
|
// Use the entire screen (excluding the tabpanel area) for the system
|
||||||
// at the command line and scroll up as needed, using tl_toprow.
|
// commands. However, it will start at the command line and scroll up
|
||||||
|
// as needed, using tl_toprow.
|
||||||
term->tl_rows = Rows;
|
term->tl_rows = Rows;
|
||||||
term->tl_cols = Columns;
|
term->tl_cols = topframe->fr_width;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
@ -1340,7 +1341,7 @@ update_cursor(term_T *term, int redraw)
|
|||||||
#ifdef FEAT_GUI
|
#ifdef FEAT_GUI
|
||||||
if (term->tl_system)
|
if (term->tl_system)
|
||||||
windgoto(term->tl_cursor_pos.row + term->tl_toprow,
|
windgoto(term->tl_cursor_pos.row + term->tl_toprow,
|
||||||
term->tl_cursor_pos.col);
|
firstwin->w_wincol + term->tl_cursor_pos.col);
|
||||||
else
|
else
|
||||||
#endif
|
#endif
|
||||||
if (!term_job_running(term))
|
if (!term_job_running(term))
|
||||||
@ -3989,15 +3990,15 @@ update_system_term(term_T *term)
|
|||||||
{
|
{
|
||||||
if (pos.row < term->tl_rows)
|
if (pos.row < term->tl_rows)
|
||||||
{
|
{
|
||||||
int max_col = MIN(Columns, term->tl_cols);
|
int max_col = MIN(topframe->fr_width, term->tl_cols);
|
||||||
|
|
||||||
term_line2screenline(term, NULL, screen, &pos, max_col);
|
term_line2screenline(term, NULL, screen, &pos, max_col);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
pos.col = 0;
|
pos.col = 0;
|
||||||
|
|
||||||
screen_line(curwin, term->tl_toprow + pos.row, 0, pos.col, Columns, -1,
|
screen_line(curwin, term->tl_toprow + pos.row,
|
||||||
0);
|
firstwin->w_wincol, pos.col, topframe->fr_width, -1, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
term->tl_dirty_row_start = MAX_ROW;
|
term->tl_dirty_row_start = MAX_ROW;
|
||||||
|
|||||||
@ -729,6 +729,8 @@ static char *(features[]) =
|
|||||||
|
|
||||||
static int included_patches[] =
|
static int included_patches[] =
|
||||||
{ /* Add new patch number below this line */
|
{ /* Add new patch number below this line */
|
||||||
|
/**/
|
||||||
|
1905,
|
||||||
/**/
|
/**/
|
||||||
1904,
|
1904,
|
||||||
/**/
|
/**/
|
||||||
|
|||||||
Reference in New Issue
Block a user