mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-03-01 03:11:09 -08:00
(holiday-easter-etc): Make arguments optional for backwards
compatability. Doc fix. Remove un-necessary local vars mandatory, output-list.
This commit is contained in:
parent
c9ba50dd01
commit
3cd74de74c
1 changed files with 58 additions and 26 deletions
|
|
@ -414,32 +414,64 @@ date. If date is nil, or if the date is not visible, there is no holiday."
|
|||
(if (calendar-date-is-visible-p advent)
|
||||
(list (list advent string))))))
|
||||
|
||||
(defun holiday-easter-etc (n string)
|
||||
"Date of Nth day after Easter (named STRING), if visible in calendar window."
|
||||
(let* ((century (1+ (/ displayed-year 100)))
|
||||
(shifted-epact ;; Age of moon for April 5...
|
||||
(% (+ 14 (* 11 (% displayed-year 19));; ...by Nicaean rule
|
||||
(- ;; ...corrected for the Gregorian century rule
|
||||
(/ (* 3 century) 4))
|
||||
(/ ;; ...corrected for Metonic cycle inaccuracy.
|
||||
(+ 5 (* 8 century)) 25)
|
||||
(* 30 century));; Keeps value positive.
|
||||
30))
|
||||
(adjusted-epact ;; Adjust for 29.5 day month.
|
||||
(if (or (= shifted-epact 0)
|
||||
(and (= shifted-epact 1) (< 10 (% displayed-year 19))))
|
||||
(1+ shifted-epact)
|
||||
shifted-epact))
|
||||
(paschal-moon ;; Day after the full moon on or after March 21.
|
||||
(- (calendar-absolute-from-gregorian (list 4 19 displayed-year))
|
||||
adjusted-epact))
|
||||
(abs-easter (calendar-dayname-on-or-before 0 (+ paschal-moon 7)))
|
||||
(mandatory
|
||||
(list
|
||||
(list (calendar-gregorian-from-absolute (+ abs-easter n))
|
||||
string)))
|
||||
(output-list (filter-visible-calendar-holidays mandatory)))
|
||||
output-list))
|
||||
(defun holiday-easter-etc (&optional n string)
|
||||
"Date of Nth day after Easter (named STRING), if visible in calendar window.
|
||||
Negative values of N are interpreted as days before Easter.
|
||||
STRING is used purely for display purposes. The return value has
|
||||
the form ((MONTH DAY YEAR) STRING), where the date is that of the
|
||||
Nth day before or after Easter.
|
||||
|
||||
For backwards compatability, if this function is called with no
|
||||
arguments, then it returns a list of \"standard\" Easter-related
|
||||
holidays (with more entries if `all-christian-calendar-holidays'
|
||||
is non-nil)."
|
||||
;; Backwards compatability layer.
|
||||
(if (not n)
|
||||
(let (res-list res)
|
||||
(dolist (elem (append
|
||||
(if all-christian-calendar-holidays
|
||||
'((-63 . "Septuagesima Sunday")
|
||||
(-56 . "Sexagesima Sunday")
|
||||
(-49 . "Shrove Sunday")
|
||||
(-48 . "Shrove Monday")
|
||||
(-47 . "Shrove Tuesday")
|
||||
(-14 . "Passion Sunday")
|
||||
(-7 . "Palm Sunday")
|
||||
(-3 . "Maundy Thursday")
|
||||
(35 . "Rogation Sunday")
|
||||
(39 . "Ascension Day")
|
||||
(49 . "Pentecost (Whitsunday)")
|
||||
(50 . "Whitmonday")
|
||||
(56 . "Trinity Sunday")
|
||||
(60 . "Corpus Christi")))
|
||||
'((0 . "Easter Sunday")
|
||||
(-2 . "Good Friday")
|
||||
(-46 . "Ash Wednesday")))
|
||||
res-list)
|
||||
;; Filter out nil (not visible) values.
|
||||
(if (setq res (holiday-easter-etc (car elem) (cdr elem)))
|
||||
(setq res-list (append res res-list)))))
|
||||
(let* ((century (1+ (/ displayed-year 100)))
|
||||
(shifted-epact ;; Age of moon for April 5...
|
||||
(% (+ 14 (* 11 (% displayed-year 19)) ;; ...by Nicaean rule
|
||||
(- ;; ...corrected for the Gregorian century rule
|
||||
(/ (* 3 century) 4))
|
||||
(/ ;; ...corrected for Metonic cycle inaccuracy.
|
||||
(+ 5 (* 8 century)) 25)
|
||||
(* 30 century)) ;; Keeps value positive.
|
||||
30))
|
||||
(adjusted-epact ;; Adjust for 29.5 day month.
|
||||
(if (or (zerop shifted-epact)
|
||||
(and (= shifted-epact 1) (< 10 (% displayed-year 19))))
|
||||
(1+ shifted-epact)
|
||||
shifted-epact))
|
||||
(paschal-moon ;; Day after the full moon on or after March 21.
|
||||
(- (calendar-absolute-from-gregorian (list 4 19 displayed-year))
|
||||
adjusted-epact))
|
||||
(abs-easter (calendar-dayname-on-or-before 0 (+ paschal-moon 7))))
|
||||
(filter-visible-calendar-holidays
|
||||
(list (list (calendar-gregorian-from-absolute (+ abs-easter n))
|
||||
string))))))
|
||||
|
||||
(defun holiday-greek-orthodox-easter ()
|
||||
"Date of Easter according to the rule of the Council of Nicaea."
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue