• src/syncterm/scripts/syncterm.wren

    From Deuc¨@VERT to Git commit to main/sbbs/master on Tue Apr 28 17:47:40 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/44e412b47990ef7178a62032
    Modified Files:
    src/syncterm/scripts/syncterm.wren
    Log Message:
    SyncTERM: Cells is Sequence

    The iterate / iteratorValue protocol Cells already implemented makes
    it Sequence-compatible Ä declaring it `is Sequence` brings in all of
    Wren core's iteration helpers (each, where, map, all, any, contains,
    count(f), reduce, join, take, skip, isEmpty, toList) without any
    extra C-side bindings.

    The O(1) foreign `count` getter overrides Sequence's default
    (which would otherwise walk the iterator).

    Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/master on Tue May 5 17:06:45 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/781b4e9f132487e70c47b9f6
    Modified Files:
    src/syncterm/scripts/syncterm.wren
    Log Message:
    SyncTERM: force CP437 fonts inside Screen.modalRun

    Every Wren App enters via Screen.modalRun, which already snapshots
    the screen on the way in and restores it on the way out. When the
    cterm emulation has selected ATASCII / PETSCII / Prestel / BEEB,
    all five font slots point at that emulation's character set, so
    panes drawing with CP437 codepoints (box-drawing chars, shaded
    blocks, ANSI accents) render as the wrong glyphs and the typed-
    character codepage translator -- which keys off slot 1 via
    ciolib_getcodepage() -- pipes input through the wrong mapping.

    Stamp slots 0..4 to font 0 ("Codepage 437 English") right after
    Screen.save() captures the originals. No per-App changes
    required: every modal pane (online_menu, capture_menu, music_menu, scrollback_view, sftp_app, disconnect_flow, ...) gets the fix at
    the chokepoint.

    Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net