diff options
| author | Gabriel Schneider <[email protected]> | 2026-09-29 15:50:13 -0300 |
|---|---|---|
| committer | Gabriel Schneider <[email protected]> | 2026-10-01 00:12:16 -0300 |
| commit | fa07370ea6cbd4be031bab2c14b24203ae329365 (patch) | |
| tree | 6bcbf63c2f17ddd7f885d53fcc9eacf080377d1b /docs/fs.md | |
| parent | c2e58c827bd8d2497c86b2eca23ac096cb972296 (diff) | |
| download | pardes-fa07370ea6cbd4be031bab2c14b24203ae329365.tar.gz pardes-fa07370ea6cbd4be031bab2c14b24203ae329365.zip | |
A pattern up to 512 characters compiles; a longer one is refused naming the limit
mvzr's Regex holds 64 operations, so a pattern much past 64 bytes was refused as bad regular expression. pardes now compiles into mvzr's SizedRegex(512, 64), and a pattern that is too long (told apart from a malformed one by compiling it with room) says it is longer than mvzr's 512 operations.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Diffstat (limited to 'docs/fs.md')
| -rw-r--r-- | docs/fs.md | 5 |
1 files changed, 4 insertions, 1 deletions
@@ -713,7 +713,10 @@ whole text: never a search that silently finds nothing. An alternation whose every branch starts with `^` (`^def|^ `) finds a line that starts either way (it is taken as `^(def| )`); one that mixes anchored and unanchored branches (`^def|x`) is refused, `bad regular expression`, since -mvzr keeps `^` only first. An expression is +mvzr keeps `^` only first. A pattern may be up to 512 of mvzr's operations, +about 512 characters (mvzr's own is 64; pardes builds it with more); a +longer one is refused, `bad regular expression: longer than mvzr's 512 +operations`. An expression is evaluated from the current address, the range last written to `addr` (or left by the last `data` write, just past it), as acme evaluates it from `w->addr` (xfid.c:446): `.` is that address, not the selection (`dot` is |
