• src/sbbs3/bat_xfer.cpp download.cpp getkey.cpp listfile.cpp qwk.cpp sb

    From Rob Swindell (on Debian Linux)@VERT to Git commit to main/sbbs/master on Mon Sep 28 17:15:23 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/d1ab732a818dbae70c16c387
    Modified Files:
    src/sbbs3/bat_xfer.cpp download.cpp getkey.cpp listfile.cpp qwk.cpp sbbs.h upload.cpp
    Log Message:
    Don't let a translated Quit key shadow a command key (#1242)

    The Quit key is the first letter of the (translatable) "Quit" text string,
    but many prompts pair it with hard-coded English command keys and test for
    Quit first. When the two collided, the command became unreachable: with the stock Spanish translation (Quit: Dejar) the QWK menu's 'D' (Download) exited the menu, and with "Salir" 'S' (Select areas) did. This has been the case
    since the Quit key became translatable in 9513bdbaa6 (paper-3-legs, 2021-11-18).

    Add unique_quit_key(), which returns 'Q' instead when the translated Quit
    key is already one of a prompt's command keys, and append_quit_key(), which adds that key to a getkeys() key list. Use them in the QWK menu, the
    transfer protocol prompts (whose keys include 'D' and 'S' in the stock configuration), the file remove/old-files prompt and the file list batch
    flag prompt (whose stock FileListBatchCommands text shows "[Q]uit").

    A prompt that displays the Quit mnemonic via @Quit@ still shows the
    translated letter when this fallback applies.

    Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

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