diff options
| author | Lukasz Kasprzak <lukas@labunix.xyz> | 2026-09-14 20:10:01 +0200 |
|---|---|---|
| committer | Lukasz Kasprzak <lukas@labunix.xyz> | 2026-09-14 20:10:01 +0200 |
| commit | aa24cfb344b1b3eaef7217d996359023cd72ba28 (patch) | |
| tree | ee0d981d3add58451a83de13ac56be4a8b165eea /docs | |
| parent | 00aae60378982902b871a87850e0ed427b28a347 (diff) | |
| download | krino-aa24cfb344b1b3eaef7217d996359023cd72ba28.tar.gz krino-aa24cfb344b1b3eaef7217d996359023cd72ba28.zip | |
plan 8: fuzz decoders; fold ẞ and invalid UTF-8 correctly, refuse non-UTF-8 paths in krino new
Diffstat (limited to 'docs')
| -rw-r--r-- | docs/design.md | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/docs/design.md b/docs/design.md index 411eeba..11e859e 100644 --- a/docs/design.md +++ b/docs/design.md @@ -233,7 +233,8 @@ quantifiers, and inline flags `(?i)` `(?-i)`; no backreferences or lookaround. data and the pattern. `type` is always case-insensitive. A regex can override `case` locally with `(?i)` or `(?-i)`. Folding decomposes letters (Unicode NFD), drops combining marks, and maps the letters that do not -decompose (ł ø đ ħ ß æ œ and their capitals) to ASCII. +decompose (ł ø đ ħ ß æ œ and their capitals, ẞ included) to ASCII. Invalid +UTF-8 is replaced by U+FFFD before folding. ### 5.4 Evaluation @@ -348,7 +349,7 @@ appear in the config. Failures (unreadable, tool missing, timeout) are never cached. - The cache is discarded whole when the extractor fingerprint changes: a tool installed, removed or replaced, or krino's extraction code changing - (`extract.Version`). + (`extract.Version`), or its text normalisation changing (`norm.Version`). - Planning a run (`-n` included) reads the cache and writes it back holding only files still in the directory, under the directory's lock, via a temporary file renamed into place; the directory is 0700, the file 0600. |
