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]