Fix the CSI J (Erase in display ED) escape code not removing line continued markers
Fixes #2809 Remains to write tests for this.
This commit is contained in:
parent
f0c3641ebd
commit
e2e701460b
@ -23,6 +23,9 @@ To update |kitty|, :doc:`follow the instructions <binary>`.
|
|||||||
|
|
||||||
- Wayland: Fix a crash when using animated mouse cursors (:iss:`2810`)
|
- Wayland: Fix a crash when using animated mouse cursors (:iss:`2810`)
|
||||||
|
|
||||||
|
- Fix the CSI J (Erase in display ED) escape code not removing line continued
|
||||||
|
markers (:iss:`2809`)
|
||||||
|
|
||||||
|
|
||||||
0.18.1 [2020-06-23]
|
0.18.1 [2020-06-23]
|
||||||
--------------------
|
--------------------
|
||||||
|
|||||||
@ -51,6 +51,12 @@ linebuf_mark_line_clean(LineBuf *self, index_type y) {
|
|||||||
self->line_attrs[y] &= ~TEXT_DIRTY_MASK;
|
self->line_attrs[y] &= ~TEXT_DIRTY_MASK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
linebuf_mark_line_as_not_continued(LineBuf *self, index_type y) {
|
||||||
|
self->line_attrs[y] &= ~CONTINUED_MASK;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
static PyObject*
|
static PyObject*
|
||||||
clear(LineBuf *self, PyObject *a UNUSED) {
|
clear(LineBuf *self, PyObject *a UNUSED) {
|
||||||
#define clear_doc "Clear all lines in this LineBuf"
|
#define clear_doc "Clear all lines in this LineBuf"
|
||||||
|
|||||||
@ -96,6 +96,7 @@ void linebuf_set_attribute(LineBuf *, unsigned int , unsigned int );
|
|||||||
void linebuf_rewrap(LineBuf *self, LineBuf *other, index_type *, index_type *, HistoryBuf *, index_type *, index_type *);
|
void linebuf_rewrap(LineBuf *self, LineBuf *other, index_type *, index_type *, HistoryBuf *, index_type *, index_type *);
|
||||||
void linebuf_mark_line_dirty(LineBuf *self, index_type y);
|
void linebuf_mark_line_dirty(LineBuf *self, index_type y);
|
||||||
void linebuf_mark_line_clean(LineBuf *self, index_type y);
|
void linebuf_mark_line_clean(LineBuf *self, index_type y);
|
||||||
|
void linebuf_mark_line_as_not_continued(LineBuf *self, index_type y);
|
||||||
unsigned int linebuf_char_width_at(LineBuf *self, index_type x, index_type y);
|
unsigned int linebuf_char_width_at(LineBuf *self, index_type x, index_type y);
|
||||||
void linebuf_refresh_sprite_positions(LineBuf *self);
|
void linebuf_refresh_sprite_positions(LineBuf *self);
|
||||||
void historybuf_add_line(HistoryBuf *self, const Line *line);
|
void historybuf_add_line(HistoryBuf *self, const Line *line);
|
||||||
|
|||||||
@ -1188,6 +1188,7 @@ screen_erase_in_display(Screen *self, unsigned int how, bool private) {
|
|||||||
line_apply_cursor(self->linebuf->line, self->cursor, 0, self->columns, true);
|
line_apply_cursor(self->linebuf->line, self->cursor, 0, self->columns, true);
|
||||||
}
|
}
|
||||||
linebuf_mark_line_dirty(self->linebuf, i);
|
linebuf_mark_line_dirty(self->linebuf, i);
|
||||||
|
linebuf_mark_line_as_not_continued(self->linebuf, i);
|
||||||
}
|
}
|
||||||
self->is_dirty = true;
|
self->is_dirty = true;
|
||||||
self->selection = EMPTY_SELECTION;
|
self->selection = EMPTY_SELECTION;
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user