| 1 |
# Regressions |
| 2 |
|
| 3 |
One file per input that once found a bug. `tests/regressions.rs` replays every |
| 4 |
file here through `shop_grid::oracle::check_bytes` on stable, so anything |
| 5 |
landing in this directory is a permanent test by virtue of the directory, with |
| 6 |
no test function to write and no chance of forgetting one. |
| 7 |
|
| 8 |
- `2026-08-29-decstbm-inverted-region`: `ESC [ 20 ; 3 r`, an inverted DECSTBM |
| 9 |
region. Accepting one underflows `bottom - top + 1` in the scroll paths. |
| 10 |
- `2026-08-29-delete-lines-whole-region`: `ESC [ 9999 M` with the cursor on |
| 11 |
the top row. DL clamps its count to the region size, and a copy loop that |
| 12 |
computes `scroll_bottom - n` underflows when the delete covers the whole |
| 13 |
region from its first row. |
| 14 |
- `2026-08-29-pad-mistaken-for-half-a-pair`: a wide character with one column |
| 15 |
left leaves a pad at the right edge. Reading that pad as the second half of a |
| 16 |
pair makes a narrow write over it blank the cell two columns back, which is |
| 17 |
the spacer of a real pair, leaving its lead on screen as half a character. |
| 18 |
|