Subj : src/sbbs3/scfg/gen_option_index.py scfgindex.h To : Git commit to main/sbbs/master From : Rob Swindell (on Debian Linux) Date : Sun May 24 2026 02:49:23 https://gitlab.synchro.net/main/sbbs/-/commit/807b7337725a5f9bb11ae23d Modified Files: src/sbbs3/scfg/gen_option_index.py scfgindex.h Log Message: scfg: index helper-menu options under every caller's path The Ctrl-F search index generator only attributed shared config helpers (rate_limit_cfg, login_attempt_cfg, js_startup_cfg, edit_sys_timezone, choose_io_method, dir_toggle_options, edit_fixed_event) to the single alphabetically-first caller. Options reachable from multiple servers were therefore missing from the search index for all but one server - e.g. "Failed Login Threshold" only appeared under FTP Server even though it exists under Global Settings, Terminal, Web, Mail, and Services too. Two fixes in gen_option_index.py: 1. Filter cfg_wizard out of the caller graph. It runs once at first-install, before main's Configure-menu loop, so its callees aren't reachable via Ctrl-F search. Indexing them produced bare path entries with no "Configure >" anchor AND stole attribution from sys_cfg (the real caller) via the alphabetical-first heuristic -- e.g. timezone choices were filed under "Non-U.S. Time Zone > Australian Central" instead of "System > Local Time Zone > ...". 2. Replace build_path's single-caller walk with build_paths, which DFS-enumerates every distinct caller chain from option_func up to main and returns one path per chain. The existing dedup-by-(label, menu, path) at the entries level collapses identical chains. Regenerated index grows from 800 to 2077 entries. Audit (against the parser's own option extraction plus an independent raw-source grep for opt[] writes and string-array initializers) confirms every navigable SCFG option reachable from main is indexed at least once. --- þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net .