aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/rites/rite_ef/precedence_ef.ml18
1 files changed, 11 insertions, 7 deletions
diff --git a/lib/rites/rite_ef/precedence_ef.ml b/lib/rites/rite_ef/precedence_ef.ml
index d8d64a8..02181ed 100644
--- a/lib/rites/rite_ef/precedence_ef.ml
+++ b/lib/rites/rite_ef/precedence_ef.ml
@@ -243,13 +243,17 @@ let contains_substring s ~needle =
let is_sunday_slug slug = contains_substring slug ~needle:sunday_marker
-(* RG 33's "any Sunday or a I-class feast": every RG 91 entry that can ever
- outrank a II-class vigil (entry 21) without itself being a Sunday is I
- class by the table's own structure (entries 1-13), so [rank = Class1]
- alone already covers every way a I-class vigil (entries 5, 9 -- Nativity,
- Pentecost) can be impeded at all; the slug check is what a II-class vigil
- impeded by an ordinary Sunday (entry 15, rank Class2) needs, since that
- winner's own rank is not Class1. *)
+(* RG 33's own two conditions, taken directly from its text ("any Sunday or
+ a I-class feast") -- NOT derived from anything about which RG 91 entries
+ can numerically outrank a vigil. [rank = Class1] is the "I-class feast"
+ half. [is_sunday_slug] is the "any Sunday" half, and it is not redundant
+ with the rank check: RG 91 entries 14 and 16-20 (Feasts of the Lord II
+ class, universal/proper/indult II-class feasts, days within the Nativity
+ octave) are all [Class2], all outrank a II-class vigil (entry 21), and
+ none of them is a Sunday -- a winner of that shape satisfies neither
+ condition here, so [impedes_vigil] correctly returns [false] and such a
+ vigil falls through to RG 95's ordinary commemorate-or-omit branch
+ instead of RG 33's omission, exactly as the rubric requires. *)
let impedes_vigil (winner : Vocab_ef.rank Precedence.candidate) =
let cel = winner.Precedence.cel in
cel.Celebration.rank = Vocab_ef.Class1