https://gitlab.synchro.net/main/sbbs/-/commit/ef1f8026a4d5bb11b91165ee
Modified Files:
ctrl/text.dat docs/v322_new.md exec/load/text.js src/sbbs3/sbbs.h text.h text_defaults.c text_id.c useredit.cpp
Log Message:
Uedit: boolean 'T'ext search, dedicated prompt for the '/' ARS search
The sysop user editor's T)ext search now compiles its query with
boolsrch.c, like the message base, mail, file list and file pager
searches: AND/OR/NOT, parenthesized grouping, "quoted phrase"
whole-word terms, '?' for the textsrch help menu, and a diagnostic for
a malformed expression. searchup()/searchdn() take the compiled
expression rather than an upper-cased string, so the per-record
strupr() goes away. The haystack is still the whole tab-delimited
user.tab record, so bare one-word queries match as before and a quoted
term gets a word boundary at each field edge.
The '/' AR-string search prompted with text[SearchStringPrompt], which
gained a "(?=help)" hint in 76dba467f3 (sheets-27-dance) when '?' was
wired up at the boolean-search prompts -- a binding that prompt does
not implement. It gets its own string now: text[UeditARSearchPrompt]
(text.dat 949).
Both prompts leave the previous search criteria intact when nothing is
entered, and free what they replace; the compiled AR string leaked on
every re-entry of '/' and on disconnect.
Co-Authored-By: Claude Opus 5 (1M context) <
noreply@anthropic.com>
--- SBBSecho 3.37-Linux
* Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)