Cleanup previous merge
This commit is contained in:
parent
d61c4a9569
commit
071986138b
@ -254,14 +254,10 @@ historybuf_add_line(HistoryBuf *self, const Line *line, ANSIBuf *as_ansi_buf) {
|
|||||||
|
|
||||||
bool
|
bool
|
||||||
historybuf_pop_line(HistoryBuf *self, Line *line) {
|
historybuf_pop_line(HistoryBuf *self, Line *line) {
|
||||||
if (self->count <= 0)
|
if (self->count <= 0) return false;
|
||||||
return false;
|
index_type idx = (self->start_of_data + self->count - 1) % self->ynum;
|
||||||
|
|
||||||
index_type idx = (self->start_of_data + self->count-1) % self->ynum;
|
|
||||||
init_line(self, idx, line);
|
init_line(self, idx, line);
|
||||||
|
|
||||||
self->count--;
|
self->count--;
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -327,11 +327,11 @@ is_continued(LineBuf *self, PyObject *val) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
unsigned int
|
unsigned int
|
||||||
linebuf_continued_lines_count(LineBuf *self, index_type stop_at_line) {
|
linebuf_continued_lines_count(const LineBuf *self, const index_type stop_before_line) {
|
||||||
unsigned int count = 0;
|
index_type count = 0;
|
||||||
for (unsigned int i = 0; i < self->ynum && i < stop_at_line; i++)
|
for (index_type i = 0; i < self->ynum && i < stop_before_line; i++) {
|
||||||
if (self->line_attrs[i] & CONTINUED_MASK) count++;
|
if (self->line_attrs[i] & CONTINUED_MASK) count++;
|
||||||
|
}
|
||||||
return count;
|
return count;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -91,7 +91,7 @@ void linebuf_clear(LineBuf *, char_type ch);
|
|||||||
void linebuf_index(LineBuf* self, index_type top, index_type bottom);
|
void linebuf_index(LineBuf* self, index_type top, index_type bottom);
|
||||||
void linebuf_reverse_index(LineBuf *self, index_type top, index_type bottom);
|
void linebuf_reverse_index(LineBuf *self, index_type top, index_type bottom);
|
||||||
void linebuf_clear_line(LineBuf *self, index_type y);
|
void linebuf_clear_line(LineBuf *self, index_type y);
|
||||||
unsigned int linebuf_continued_lines_count(LineBuf *, index_type);
|
unsigned int linebuf_continued_lines_count(const LineBuf *, const index_type);
|
||||||
void linebuf_insert_lines(LineBuf *self, unsigned int num, unsigned int y, unsigned int bottom);
|
void linebuf_insert_lines(LineBuf *self, unsigned int num, unsigned int y, unsigned int bottom);
|
||||||
void linebuf_delete_lines(LineBuf *self, index_type num, index_type y, index_type bottom);
|
void linebuf_delete_lines(LineBuf *self, index_type num, index_type y, index_type bottom);
|
||||||
void linebuf_add_line_to_top(LineBuf *, Line *);
|
void linebuf_add_line_to_top(LineBuf *, Line *);
|
||||||
|
|||||||
@ -248,25 +248,15 @@ screen_resize(Screen *self, unsigned int lines, unsigned int columns) {
|
|||||||
|
|
||||||
|
|
||||||
if (OPT(scrollback_fill_enlarged_window)) {
|
if (OPT(scrollback_fill_enlarged_window)) {
|
||||||
int lines_to_fill = (lines - self->main_linebuf->ynum) \
|
int lines_to_fill = (lines - self->main_linebuf->ynum) + (
|
||||||
+ (linebuf_continued_lines_count(self->main_linebuf, y) - linebuf_continued_lines_count(n, y));
|
linebuf_continued_lines_count(self->main_linebuf, self->cursor->y) - linebuf_continued_lines_count(n, y));
|
||||||
|
const unsigned int top = 0, bottom = lines-1;
|
||||||
while (lines_to_fill > 0) {
|
|
||||||
if (self->historybuf->count <= 0) break;
|
|
||||||
|
|
||||||
unsigned int top = 0, bottom = lines-1;
|
|
||||||
|
|
||||||
linebuf_reverse_index(n, top, bottom);
|
|
||||||
y++;
|
|
||||||
INDEX_GRAPHICS(1);
|
|
||||||
|
|
||||||
Line last_history_line = {.xnum=self->historybuf->xnum};
|
Line last_history_line = {.xnum=self->historybuf->xnum};
|
||||||
bool line_popped = historybuf_pop_line(self->historybuf, &last_history_line);
|
while (lines_to_fill-- > 0) {
|
||||||
if (!line_popped)
|
if (!historybuf_pop_line(self->historybuf, &last_history_line)) break;
|
||||||
break;
|
linebuf_reverse_index(n, top, bottom);
|
||||||
|
INDEX_GRAPHICS(1);
|
||||||
linebuf_add_line_to_top(n, &last_history_line);
|
linebuf_add_line_to_top(n, &last_history_line);
|
||||||
|
|
||||||
lines_to_fill--;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -91,7 +91,7 @@ class BaseTest(TestCase):
|
|||||||
options = Options(merge_configs(defaults._asdict(), final_options))
|
options = Options(merge_configs(defaults._asdict(), final_options))
|
||||||
set_options(options)
|
set_options(options)
|
||||||
|
|
||||||
def create_screen(self, cols=5, lines=5, scrollback=5, cell_width=10, cell_height=20, options=None, content=tuple()):
|
def create_screen(self, cols=5, lines=5, scrollback=5, cell_width=10, cell_height=20, options=None, content=()):
|
||||||
self.set_options(options)
|
self.set_options(options)
|
||||||
c = Callbacks()
|
c = Callbacks()
|
||||||
s = Screen(c, lines, cols, scrollback, cell_width, cell_height, 0, c)
|
s = Screen(c, lines, cols, scrollback, cell_width, cell_height, 0, c)
|
||||||
|
|||||||
@ -304,7 +304,7 @@ class TestScreen(BaseTest):
|
|||||||
self.ae(x_before, s.cursor.x)
|
self.ae(x_before, s.cursor.x)
|
||||||
|
|
||||||
def test_scrollback_fill_after_resize(self):
|
def test_scrollback_fill_after_resize(self):
|
||||||
def prepare_screen(content=tuple()):
|
def prepare_screen(content=()):
|
||||||
return self.create_screen(
|
return self.create_screen(
|
||||||
lines=5,
|
lines=5,
|
||||||
cols=5,
|
cols=5,
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user