• exec/load/sbbsdefs.js src/sbbs3/inkey.cpp js_xtrn_area.cpp sbbsdefs.h

    From Rob Swindell (on Debian Linux)@VERT to Git commit to main/sbbs/master on Friday, September 18, 2026 23:15:27
    https://gitlab.synchro.net/main/sbbs/-/commit/a4969b0bef2cba8c20a9c063
    Modified Files:
    exec/load/sbbsdefs.js src/sbbs3/inkey.cpp js_xtrn_area.cpp sbbsdefs.h src/sbbs3/scfg/scfgxtrn.c src/sbbs3/scfglib2.c writemsg.cpp xtrn_sec.cpp xtrn/3rdp-install/bigwinslotto.ini bre.ini carlton-blackjack.ini carlton-crazy8.ini carlton-doormania.ini carlton-fleethunter.ini carlton-litecar.ini carlton-milleborne.ini carlton-minezone.ini carlton-navgrid.ini carlton-plinko.ini carlton-rockin.ini carlton-scavenger.ini carlton-urges.ini carlton-wordguess.ini dalton-adgt.ini dalton-camptown.ini dalton-deathbytrivia.ini dalton-escape.ini dalton-goc.ini dalton-gruntfest.ini dalton-risepower.ini dalton-shipline.ini dalton-tfbroadside.ini dalton-warfreight.ini disoft-futurerunner.ini disoft-islandempires.ini disoft-nuclearwar.ini disoft-rebelkingdom.ini disoft-wordmix.ini dragonshoard.ini dreamware-aceydeucy.ini dreamware-battleship.ini dreamware-blackjackdice.ini dreamware-boxdice.ini dreamware-cardsharks.ini dreamware-chomper.ini dreamware-dreamcraps.ini dreamware-dreamhang.ini dreamware-dreammatch.ini dreamware-dreamshuffle.ini dreamware-dreamslots.ini dreamware-dreamstacks.ini dreamware-dreamstakes.ini dreamware-dreamtrack.ini dreamware-jot.ini dreamware-lightsout.ini dreamware-othello.ini dreamware-potofgold.ini dreamware-pressit.ini dreamware-simonsez.ini dreamware-targetdice.ini dreamware-yahtzee.ini exdx-empireatwar.ini exdx-railroadempires.ini exdx-riverboatblackjack.ini exdx-romansatwar.ini exdx-spaceforcecommander.ini exitilus.ini foodfite-rigormortis.ini foodfite-wilson.ini gutterbowl32.ini ironwar.ini jibben-boxcars.ini jibben-galacticoverlord.ini jibben-minesofgorr.ini jibben-rollthebones.ini jns-amazingmemory.ini jns-bombsquad.ini jns-boxedpoker.ini jns-doublesolitree.ini jns-fivecarddrawpoker.js.ini jns-fortythievessolitaire.ini jns-freecellsolitaire.ini jns-golfsolitaire.ini jns-greatwhitecard.ini jns-idiotsdelight.ini jns-inbetween.ini jns-kingslast.ini jns-matchtwo.ini jns-montanasolitaire.ini jns-ontheedge.ini jns-pressyourluck.ini jns-quotefall.ini jns-slidersolitaire.ini jns-solitree.ini jns-strikesandspares.ini jns-theelminator.ini jns-thepuzzlemachine.ini jns-threeshuffles.ini jns-trapper.ini jns-treasuretrove.ini jns-tripeakssolitaire.ini jns-twocardpoker.ini jns-yacht.ini latenight-civilwar.ini latenight-civilwar48.ini latenight-darkcastle.ini latenight-superrig.ini latenight-triviamaster.ini lore.ini mycroft-adventuressherlockholmes.ini mycroft-fictiousstockexchange.ini mycroft-stellarquest.ini mycroft-uboat.ini netrunner.ini overkill.ini sunrise-3pairpok.ini sunrise-4corners.ini sunrise-aceydeucey.ini sunrise-atlantis.ini sunrise-baseballdice.ini sunrise-betsyross.ini sunrise-blackjack.ini sunrise-boxdice.ini sunrise-boxpoker.ini sunrise-chainreaction.ini sunrise-colonies.ini sunrise-concentration.ini sunrise-cribbage.ini sunrise-crypto.ini sunrise-dominoes.ini sunrise-ganglandwars.ini sunrise-groandice.ini sunrise-hackarama.ini sunrise-hexxwars.ini sunrise-hilo.ini sunrise-hiroll.ini sunrise-keno.ini sunrise-laddersdice.ini sunrise-legendsofole.ini sunrise-lettermatch.ini sunrise-lostinspace.ini sunrise-lottomania.ini sunrise-montecarlo.ini sunrise-overunder.ini sunrise-pentasim.ini sunrise-questfornora.ini sunrise-rescue.ini sunrise-rockinradio.ini sunrise-rocklandtrivia.ini sunrise-skycop.ini sunrise-stairway.ini sunrise-states.ini sunrise-sweepstakes.ini sunrise-timetravel.ini sunrise-triangle.ini sunrise-tripleyahtzee.ini sunrise-trivia.ini sunrise-virtualescape.ini sunrise-wheeloffortune.ini sunrise-wordsearch.ini sunrise-wordshuffle.ini sunrise-wordwar.ini sunrise-wordwarp.ini thepit.ini warlordsofthebalance.ini xtrn/flight_sim/install-xtrn.ini
    Log Message:
    Give every xtrn misc bit an XTRN_ prefix and document its use

    The xtrn_t.misc bit definitions in sbbsdefs.h were a mix of XTRN_-prefixed
    and bare names (MULTIUSER, REALNAME, SWAP, QUOTEALL, ...), and the bare
    ones were already exposed to JavaScript with an XTRN_ prefix. Rename the
    bare macros to match their sbbsdefs.js names, and add XTRN_KEEP_CTRL_A to sbbsdefs.js, which had no equivalent.

    Rewrite the comments for the block to say which structures and .ini
    section types (prog, editor, pager, hotkey, event) use each bit, which
    bits are passed to external() unchanged as an EX_* flag, and which bits
    are unused or free. The previous KEEP_CTRL_A comment said "Strip" for a
    flag that retains Ctrl-A codes.

    In sbbsdefs.js, rename XTRN_IO_INTS to XTRN_STDIO to match the C name,
    keeping XTRN_IO_INTS as a deprecated alias so existing install-xtrn.ini
    files that name it still evaluate.

    Remove XTRN_ANSI from the install-xtrn.ini files: the flag has no effect.
    The bit stays defined and unused, since existing xtrn.ini files may have
    it set.

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

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