Line deletion operations for terminal buffers. Handles deletion of single and multiple lines, with support for scroll regions.
Summary
Functions
Delete lines from a buffer.
Delete lines within a scroll region.
DL on the list of rows: count rows from start_y go (clamped to the rows
left in the region, as in xterm), the rest of the region moves up, and blank
rows fill its bottom. Only the region's rows are touched, and every blank
row is the same term, so the cost is one row plus the screen's height. A
cursor outside the region deletes nothing. bottom is clamped to the rows
the buffer has, so a region set for a taller screen cannot grow the row list.