https://gitlab.synchro.net/main/sbbs/-/commit/76dba467f3e2f89c579797cd
Added Files:
text/menu/boolsrch.msg
Modified Files:
ctrl/text.dat src/sbbs3/prntfile.cpp readmail.cpp readmsgs.cpp sbbs.h scandirs.cpp scansubs.cpp text_defaults.c
Log Message:
boolsrch: add inline help via '?' at search prompts
Sysops asked for a user-discoverable way to learn the boolean-search
syntax. Now: at any boolean-search prompt, entering a lone '?' displays text/menu/boolsrch.msg (a one-screen quick reference covering the
operators, quoted whole-word match, grouping, and a few worked
examples), then re-prompts for the search query. Any other input is
treated as a normal query.
SearchStringPrompt: "Text to search for (?=help): " — the prompt
itself now hints at the binding so the help path is discoverable
without needing to read the docs first.
sbbs_t::get_search_string(buf, maxlen, kmode) wraps the
bputs(SearchStringPrompt) / getstr() / strcmp(buf, "?") / menu()
loop so the six call sites that prompt for a boolean query don't
each have to reimplement it:
scansubs.cpp (2 sites - single sub, group/all)
scandirs.cpp (2 sites - single dir, group/all)
readmsgs.cpp ('F' rebind inside the message read loop)
readmail.cpp ('/' search at the mail-read prompt)
Also caught a stale getstr(str, 40, ...) in scandirs.cpp:64 that
the earlier buffer-size pass missed; now uses the helper's 120-byte
cap like every other call site.
The file-pager '/' sub-prompt (P_SEEK in prntfile.cpp) intentionally
does NOT use the helper - displaying the help menu mid-pager would
scroll the screen and break the 'stay in place' invariant. The pager
already has its own '?' binding (SeekHelp) for in-pager help, and
its search sub-prompt continues to treat '?' as a literal character.
text.dat record 076 (SearchStringPrompt) updated; textgen regenerated text_defaults.c. No new enum, so text.h / text_id.c / text.js are
unchanged.
Co-Authored-By: Claude Opus 4.7 (1M context) <
noreply@anthropic.com>
--- SBBSecho 3.37-Linux
* Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)