aboutsummaryrefslogtreecommitdiff
path: root/internal/calendar/temporal_ef.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/calendar/temporal_ef.go')
-rw-r--r--internal/calendar/temporal_ef.go26
1 files changed, 26 insertions, 0 deletions
diff --git a/internal/calendar/temporal_ef.go b/internal/calendar/temporal_ef.go
index 0cd4b41..4ac446a 100644
--- a/internal/calendar/temporal_ef.go
+++ b/internal/calendar/temporal_ef.go
@@ -372,6 +372,32 @@ func firstSundayAfterEpiphany(y int) time.Time {
return d
}
+// efBaptismOmitted reports whether 13 January's Commemoration of the Baptism of
+// Our Lord is omitted entirely this year because the feast of the Holy Family
+// falls on that date. The Holy Family Mass propers carry the rule verbatim, in
+// both photographic scans of the 1962 Missal:
+//
+// "Si festum S. Familiae occurrerit die 13 ianuarii, Missa dicitur de festo
+// S. Familiae, sine commemoratione Baptismatis D.N.I.C., et sine
+// commemoratione dominicae."
+//
+// The Baptism does not merely lose the day -- it is omitted, "sine
+// commemoratione" -- which is why this drops the candidate outright instead of
+// letting precedenceEF rank it and leave it in Others.
+//
+// Structurally the same answer RG 91 entry 14 gives ("Festa Domini II classis":
+// primum mobilia, deinde fixa -- the movable Holy Family ahead of the fixed
+// Baptism), but the propers' rubric is the direct authority for the omission,
+// and it is the half that RG 91 alone would not settle.
+//
+// Live in 7 of the 46 years 2005-2050 (2008, 2013, 2019, 2030, 2036, 2041,
+// 2047); lectio kept the Baptism on every one of them and never observed the
+// Holy Family Mass there at all.
+func efBaptismOmitted(date time.Time) bool {
+ return date.Month() == time.January && date.Day() == 13 &&
+ sameDay(date, firstSundayAfterEpiphany(date.Year()))
+}
+
// thirdSundayOfSeptember returns the third Sunday in September of year y.
func thirdSundayOfSeptember(y int) time.Time {
d := time.Date(y, time.September, 1, 0, 0, 0, 0, time.UTC)