diff --git a/src/terminal/Terminal.zig b/src/terminal/Terminal.zig index 5540d9532..8cca30fa5 100644 --- a/src/terminal/Terminal.zig +++ b/src/terminal/Terminal.zig @@ -1226,6 +1226,9 @@ pub fn insertLines(self: *Terminal, count: usize) !void { const tracy = trace(@src()); defer tracy.end(); + // Rare, but happens + if (count == 0) return; + // Move the cursor to the left margin self.screen.cursor.x = 0; @@ -1790,6 +1793,16 @@ test "Terminal: insertLines" { } } +test "Terminal: insertLines zero" { + const alloc = testing.allocator; + var t = try init(alloc, 2, 5); + defer t.deinit(alloc); + + // This should do nothing + t.setCursorPos(1, 1); + try t.insertLines(0); +} + test "Terminal: insertLines with scroll region" { const alloc = testing.allocator; var t = try init(alloc, 2, 6);