Fix continued lines not having their continued status reset on line feed
Fixes #4837
This commit is contained in:
@@ -87,6 +87,9 @@ Detailed list of changes
|
|||||||
|
|
||||||
- Bash integration: Prevent shell integration code from running twice if user enables both automatic and manual integration
|
- Bash integration: Prevent shell integration code from running twice if user enables both automatic and manual integration
|
||||||
|
|
||||||
|
- Fix continued lines not having their continued status reset on line feed (:iss:`4837`)
|
||||||
|
|
||||||
|
|
||||||
0.24.4 [2022-03-03]
|
0.24.4 [2022-03-03]
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
|||||||
@@ -1355,6 +1355,7 @@ screen_linefeed(Screen *self) {
|
|||||||
bool in_margins = cursor_within_margins(self);
|
bool in_margins = cursor_within_margins(self);
|
||||||
screen_index(self);
|
screen_index(self);
|
||||||
if (self->modes.mLNM) screen_carriage_return(self);
|
if (self->modes.mLNM) screen_carriage_return(self);
|
||||||
|
if (self->cursor->y < self->lines) linebuf_mark_line_as_not_continued(self->linebuf, self->cursor->y);
|
||||||
screen_ensure_bounds(self, false, in_margins);
|
screen_ensure_bounds(self, false, in_margins);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -293,6 +293,18 @@ class TestScreen(BaseTest):
|
|||||||
self.ae(str(s.linebuf), '55555\n66666\n77777\n88888\n99999')
|
self.ae(str(s.linebuf), '55555\n66666\n77777\n88888\n99999')
|
||||||
s.resize(5, 2)
|
s.resize(5, 2)
|
||||||
self.ae(str(s.linebuf), '88\n88\n99\n99\n9')
|
self.ae(str(s.linebuf), '88\n88\n99\n99\n9')
|
||||||
|
s = self.create_screen()
|
||||||
|
s.draw('a' * s.columns)
|
||||||
|
s.linefeed(), s.carriage_return()
|
||||||
|
s.draw('bb')
|
||||||
|
s.resize(s.lines, s.columns - 2)
|
||||||
|
self.ae(str(s.linebuf), 'aaa\naa\nbb\n\n')
|
||||||
|
s.cursor.y = s.cursor.x = 0
|
||||||
|
s.draw('x' * len(str(s.line(0))))
|
||||||
|
s.linefeed(), s.carriage_return()
|
||||||
|
s.draw('x' * len(str(s.line(1))))
|
||||||
|
s.resize(s.lines, s.columns + 4)
|
||||||
|
self.ae(str(s.linebuf), 'xxx\nxx\nbb\n\n')
|
||||||
|
|
||||||
def test_cursor_after_resize(self):
|
def test_cursor_after_resize(self):
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user