• src/sbbs3/ansi_terminal.c

    From Deuc¿@VERT to Git commit to main/sbbs/m on Wednesday, June 04, 2025 21:12:00
    https://gitlab.synchro.net/main/sbbs/-/commit/9286ce0b0f6740c2c1144a0e
    Modified Files:
    src/sbbs3/ansi_terminal.cpp
    Log Message:
    Support terminals that don't allow disabling attributes.

    Both Telemate v4.20 and Qmodem v4.6 don't support these, and Synchronet supports both of those.

    Instead of using the 22, 24, 25, 27, or 28 SGR parameters, always
    use the 0 parameter to turn HIGH, UNDERLINE, BLINK, REVERSED, or
    CONCEALED (respectively) off.

    Fixes issues #934 and #935

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/m on Saturday, August 09, 2025 10:53:00
    https://gitlab.synchro.net/main/sbbs/-/commit/cd1add2a66bfca2189b424fb
    Modified Files:
    src/sbbs3/ansi_terminal.cpp
    Log Message:
    Don't parse NOINP as ANSI

    Should fix issue #947

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Windows@VERT to Git commit to main/sbbs/m on Sunday, December 07, 2025 02:40:00
    https://gitlab.synchro.net/main/sbbs/-/commit/6500448df5e6c98aefb61373
    Modified Files:
    src/sbbs3/ansi_terminal.cpp
    Log Message:
    Save and restore the line counter in getdims() method

    The sending of ANSI cursor positioning sequences resets the line counter in
    the latest terminal abstraction, so save and restore the line counter that we rely on for auto-pausing (e.g. in subsequent screen clearing).

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Windows@VERT to Git commit to main/sbbs/m on Sunday, January 11, 2026 19:36:00
    https://gitlab.synchro.net/main/sbbs/-/commit/817699d96e81bd70dd1e06a6
    Modified Files:
    src/sbbs3/ansi_terminal.cpp
    Log Message:
    Log length of "broken ANSI sequence"

    to help get to the bottom of "Sent broken ANSI sequence ''" log messages

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Windows@VERT to Git commit to main/sbbs/m on Sunday, January 11, 2026 23:23:00
    https://gitlab.synchro.net/main/sbbs/-/commit/0257d45e57cf284ecb69c28a
    Modified Files:
    src/sbbs3/ansi_terminal.cpp
    Log Message:
    <@Deuce> DigitalMan, why use %u and a cast instead of %zu?

    No good answer given.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Windows@VERT to Git commit to main/sbbs/m on Monday, January 26, 2026 19:07:00
    https://gitlab.synchro.net/main/sbbs/-/commit/c5d806d626b4aaa5afee53b1
    Modified Files:
    src/sbbs3/ansi_terminal.cpp js_console.cpp terminal.h
    Log Message:
    Add a cursor position optimizer to the ANSI_Terminal class

    (disabled by default, Deuce is pretty sure it'll break somethings)

    The performance of some scripts (e.g. utopia.js) benefit from the filtering of redundant cursor position changes and though we can (with v3.21) check the console current_row/column properties in the script to avoid sending redundant changes to cursor position, that is not backwards compatible with Synchronet v3.20 since its console.gotoxy() method did *not* update the internal concept of where the cursor position is currently. So any optimization in the script itself would have to either:

    a) be Synchronet-version specific or risk incorrectly filtering out cursor position changes that were not actually redundant, or

    b) track the cursor position itself after every call to console.putmsg, write, print, etc.

    I figured this simple optimization could be available to any script, if it wanted it, but the script should be sure to set the setting back (e.g. by using js.on_exit) to the value it had when the script was started.

    The new JS 'console' property (and Terminal class member) is: optimize_gotoxy (defaults to false/off).

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Windows@VERT to Git commit to main/sbbs/m on Tuesday, January 27, 2026 16:47:00
    https://gitlab.synchro.net/main/sbbs/-/commit/4b58a0f7555b9b6b1dd98969
    Modified Files:
    src/sbbs3/ansi_terminal.cpp
    Log Message:
    Fix bug in stuff_str() - didn't return the parsed control character

    This bug broke mouse hotspots that send a control character

    Also, add more optimization to gotoxy() - if we're going to optimize, might
    as well *really* optimize.

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