BBS: TELESC.NET.BR Assunto: src/conio/cterm.adoc cterm.c cterm.h src/syncterm/termtest.c De: Deuc¨ Data: Wed, 18 Mar 2026 16:58:48 -0700 ----------------------------------------------------------- https://gitlab.synchro.net/main/sbbs/-/commit/bcca49315f5257a349289df7 Modified Files: src/conio/cterm.adoc cterm.c cterm.h src/syncterm/termtest.c Log Message: Implement vertical line tabulation, scroll verification, ANSI mode reporting Vertical tabs (ECMA-48): Add VTS (ESC J) to set line tabulation stops at fixed row numbers. Fix CVT (CSI Pn Y) to advance to the Pn-th next line tab stop (preserving column) instead of incorrectly acting as horizontal CHT. When no line tab stop exists, CVT scrolls up and moves to the last row. Extend TBC: Ps=1 clears line tab at current row, Ps=4 clears all line tabs, Ps=5 now correctly clears both character and line tabs. Line tab stops are at fixed row numbers, unaffected by scrolling, with no defaults set. VT (0x0B) remains a displayable CP437 glyph. Scroll content verification (tests): Add scroll_witness_setup/check_up/check_down helpers for verifying that screen content actually moves during scroll operations. Strengthen SU, SD, RI_scroll, LF_scroll, DECSTBM_scroll, and CVT tests to verify content shifted, not just cursor position. Add SU_margins, SD_margins, SL_margins, SR_margins tests verifying content inside margins scrolls while content outside stays put. ANSI mode DECRQM (CSI Ps $ p): Report all 20 ECMA-48 standard modes: 1-13/15/17/18 permanently reset (Pm=4), 14/16 changeable (Pm=1/2), 21 GRCM and 22 ZDM permanently set (Pm=3). Test count: 145 -> 149, all passing. Co-Authored-By: Claude Opus 4.6 (1M context)n --- mSynchronetn hgVertrauen n hHome of Synchronet n gh[vert/cvs/bbs].synchro.net ----------------------------------------------------------- [Voltar]