| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Apocalypse -> Revelation was missing from [modern] while `revelation` was
already a declared tradition target, so the target existed with nothing
mapping onto it. Same Vulgate-to-modern shape as Ecclesiasticus -> Sirach.
The injectivity test used to hand-copy the mapping table, which asserted
things about the copy and nothing about the artifact: a mapping added to
traditions.ini and forgotten in the test would have passed. It now reads
lang/traditions.ini and additionally asserts that [vulgate] is empty --
an entry there would silently renumber the DEFAULT, the one thing this
design promises never happens -- and that no declared target is left
unreachable.
Mutation-proved three ways: declaring an unused target, deleting a
mapping, and adding an entry to [vulgate] each redden it, the first two
naming the offending book.
|
|
|
Which book a reference denotes does not vary by language, so it lives in
its own file rather than in la.ini beside [weekday].
Six mappings, not four: Osee/Jonas are the same question as 3 Kings in
transliteration form.
The install rule is added in the same commit deliberately -- lang/ once
shipped without one, so the feature worked from the source tree and was
broken once installed.
bin/dune gains colitur_citation as a linked library, needed for the new
loader; lang_list's directory scan now excludes traditions.ini, which is
not a language file and does not parse as one.
|