From c09020c2fb01da24d5befbed78ce3b73b5efbe4c Mon Sep 17 00:00:00 2001 From: Lukasz Kasprzak Date: Mon, 14 Sep 2026 23:39:37 +0200 Subject: content tests are three-valued: unknown when unreadable or read in part --- CHANGELOG.md | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'CHANGELOG.md') diff --git a/CHANGELOG.md b/CHANGELOG.md index 78dbcd8..5c4c0bd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,13 @@ on (a self-extracting installer) has no content, like an image: it no longer matches a content test, is not set aside by a content exclude, and raises no warning. +- A content test that cannot read its file is unknown rather than false, + and `and`/`or`/`not` combine unknowns by three-valued logic. A rule never + matches on an unknown, so `(not (content "x"))` no longer acts on a file + krino could not read; an exclude holds on an unknown only when the text + could change its answer; `explain` shows `?`. A document read only in part + answers the keywords found in what was read, and leaves the others + unknown. - `{1}` … `{9}` keep the name's diacritics: a folded `name` test still matches `Lodz`, but `Łódź-faktura.pdf` now files under `Łódź`, not `Lodz`. - A tool's error message is shown even when it writes more than the -- cgit v1.3