Conformance: ignore {delete,insert} line while outside the scrolling region.
I noticed a small inconsistency in delete and insert line between xterm and libteken. libteken allows these actions to happen while the cursor is placed outside the scrolling region, while xterm does not. This behaviour seems to be VT100-like. Confirmation: http://www.vt100.net/docs/vt102-ug/chapter5.html "This sequence is ignored when cursor is outside scrolling region." MFC after: 1 month
This commit is contained in:
parent
57f20544f5
commit
c56bcdbb96
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=197480
@ -397,6 +397,11 @@ teken_subr_delete_line(teken_t *t, unsigned int nrows)
|
|||||||
{
|
{
|
||||||
teken_rect_t tr;
|
teken_rect_t tr;
|
||||||
|
|
||||||
|
/* Ignore if outside scrolling region. */
|
||||||
|
if (t->t_cursor.tp_row < t->t_scrollreg.ts_begin ||
|
||||||
|
t->t_cursor.tp_row >= t->t_scrollreg.ts_end)
|
||||||
|
return;
|
||||||
|
|
||||||
tr.tr_begin.tp_col = 0;
|
tr.tr_begin.tp_col = 0;
|
||||||
tr.tr_end.tp_row = t->t_scrollreg.ts_end;
|
tr.tr_end.tp_row = t->t_scrollreg.ts_end;
|
||||||
tr.tr_end.tp_col = t->t_winsize.tp_col;
|
tr.tr_end.tp_col = t->t_winsize.tp_col;
|
||||||
@ -656,6 +661,11 @@ teken_subr_insert_line(teken_t *t, unsigned int nrows)
|
|||||||
{
|
{
|
||||||
teken_rect_t tr;
|
teken_rect_t tr;
|
||||||
|
|
||||||
|
/* Ignore if outside scrolling region. */
|
||||||
|
if (t->t_cursor.tp_row < t->t_scrollreg.ts_begin ||
|
||||||
|
t->t_cursor.tp_row >= t->t_scrollreg.ts_end)
|
||||||
|
return;
|
||||||
|
|
||||||
tr.tr_begin.tp_row = t->t_cursor.tp_row;
|
tr.tr_begin.tp_row = t->t_cursor.tp_row;
|
||||||
tr.tr_begin.tp_col = 0;
|
tr.tr_begin.tp_col = 0;
|
||||||
tr.tr_end.tp_col = t->t_winsize.tp_col;
|
tr.tr_end.tp_col = t->t_winsize.tp_col;
|
||||||
|
Loading…
Reference in New Issue
Block a user