aboutsummaryrefslogtreecommitdiff
path: root/docs/design.md
diff options
context:
space:
mode:
Diffstat (limited to 'docs/design.md')
-rw-r--r--docs/design.md7
1 files changed, 5 insertions, 2 deletions
diff --git a/docs/design.md b/docs/design.md
index 5b70183..a232baf 100644
--- a/docs/design.md
+++ b/docs/design.md
@@ -202,7 +202,9 @@ no rule has run yet, `(matched)` is never true inside an exclude.
An exclude fails closed: when evaluating it reaches a content test that
cannot read the file (over `max-read`, a tool missing, failing or timing
out), the exclude holds, and the file is set aside as "(content
-unreadable)" with the warning. An exclude protects files, so a file krino
+unreadable)" with the warning. A file whose format has no text at all (an
+image, an archive) is not unreadable: it contains no keyword, so its
+content tests are simply false and raise no warning. An exclude protects files, so a file krino
could not check is left alone. Mistakes in krino.conf's excludes are
reported even while no directory is included.
@@ -255,7 +257,8 @@ UTF-8 is replaced by U+FFFD before folding.
`path`, then `duplicate`, then `content`. Content is extracted at most once per file,
and only if evaluation reaches a `content` test.
4. If a file's text cannot be extracted, `content` is false and the plan
- shows a warning naming the rule that wanted it. Inside an `exclude` the
+ shows a warning naming the rule that wanted it. A format with no text
+ (§6, "anything else") is not a failure: `content` is false, silently. Inside an `exclude` the
whole exclude then holds instead (§4.6).
### 5.5 Duplicates