A search for /\/ is okay; this discards the \ and searches for "/"
A search for ?\? is not okay; this discards the \ and searches for "?" which is an invalid regular expression, "RE error: repetition-operator operand invalid". A problematic bare leading ? on a backwards search can be escaped by the following, though I'm not sure if that's an ideal fix. Thoughts? --- search.c.orig Sat Dec 10 08:06:18 2022 +++ search.c Fri May 12 23:05:31 2023 @@ -120,6 +120,12 @@ plen = t - ptrn; } + if (delim == '?' && *ptrn == '?') { + ptrn--; + plen++; + *ptrn = '\\'; + } + /* Compile the RE. */ if (re_compile(sp, ptrn, plen, &sp->re, &sp->re_len, &sp->re_c, RE_C_SEARCH |