https://gitlab.synchro.net/main/sbbs/-/commit/80b5ad1b89408202579c4fc8
Modified Files:
src/conio/cterm.adoc cterm.c src/syncterm/termtest.c
Log Message:
Implement DEC rectangular area operations and column editing
New sequences:
DECERA (CSI Pt;Pl;Pb;Pr $ z) — erase rectangular area
DECFRA (CSI Pch;Pt;Pl;Pb;Pr $ x) — fill rectangular area
DECCRA (CSI ...params... $ v) — copy rectangular area
DECIC (CSI Pn ' }) — insert column(s) within scrolling margins
DECDC (CSI Pn ' ~) — delete column(s) within scrolling margins
All operations use current SGR attributes for new/erased cells and
clear hyperlink_id. Coordinates respect DECOM (origin mode) but are
not affected by margins (except DECIC/DECDC which operate within
margins only). Cursor does not move. DECFRA accepts any character
except C0 (0x00-0x1F) and DEL (0x7F).
cterm.adoc:
Document all five new sequences. Fix sort order of entire CSI
section — entries now correctly ordered by (final byte, intermediate
byte, private prefix) in ASCII order, fixing 19 pre-existing
ordering errors.
Tests: 149 -> 154 (DECERA, DECFRA, DECCRA, DECIC, DECDC), all passing.
Co-Authored-By: Claude Opus 4.6 (1M context) <
noreply@anthropic.com>
---
■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net