[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] master b532875: Optional args for holiday-greek-orthodox-e
From: |
Paul Eggert |
Subject: |
[Emacs-diffs] master b532875: Optional args for holiday-greek-orthodox-easter |
Date: |
Thu, 13 Aug 2015 19:18:00 +0000 |
branch: master
commit b532875a6021cd1715321dda932b187522840944
Author: Paul Eggert <address@hidden>
Commit: Paul Eggert <address@hidden>
Optional args for holiday-greek-orthodox-easter
* etc/NEWS: Document this.
* lisp/calendar/holidays.el (holiday-greek-orthodox-easter):
Add optional args N and STRING, mimicking the API and code of
‘holiday-easter-etc’. From suggestion by Foivos S. Zakkak (Bug#21256).
---
etc/NEWS | 3 +++
lisp/calendar/holidays.el | 21 ++++++++++++++-------
2 files changed, 17 insertions(+), 7 deletions(-)
diff --git a/etc/NEWS b/etc/NEWS
index 0a33a6e..3ec16f5 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -552,6 +552,9 @@ The option customizes which day headers receive the
`calendar-weekend-header' face.
---
+*** New optional args N and STRING for ‘holiday-greek-orthodox-easter’.
+
+---
*** Many items obsolete since at least version 23.1 have been removed.
The majority were function/variable/face aliases, too numerous to list here.
The remainder were:
diff --git a/lisp/calendar/holidays.el b/lisp/calendar/holidays.el
index 8085c1c..6d7cea6 100644
--- a/lisp/calendar/holidays.el
+++ b/lisp/calendar/holidays.el
@@ -791,8 +791,16 @@ is non-nil)."
;; Prior call to calendar-julian-from-absolute will autoload cal-julian.
(declare-function calendar-julian-to-absolute "cal-julian" (date))
-(defun holiday-greek-orthodox-easter ()
- "Date of Easter according to the rule of the Council of Nicaea."
+(defun holiday-greek-orthodox-easter (&optional n string)
+ "Date of Nth day after Easter (named STRING), if visible in calendar window.
+It is calculated according to the rule of the Council of Nicaea.
+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 compatibility, if this function is called with no
+arguments, it returns the date of Pascha (Greek Orthodox Easter)."
(let* ((m displayed-month)
(y displayed-year)
(julian-year (progn
@@ -808,11 +816,10 @@ is non-nil)."
(paschal-moon ; day after full moon on or after March 21
(- (calendar-julian-to-absolute (list 4 19 julian-year))
shifted-epact))
- (nicaean-easter ; Sunday following the Paschal moon
- (calendar-gregorian-from-absolute
- (calendar-dayname-on-or-before 0 (+ paschal-moon 7)))))
- (if (calendar-date-is-visible-p nicaean-easter)
- (list (list nicaean-easter "Pascha (Greek Orthodox Easter)")))))
+ (abs-easter (calendar-dayname-on-or-before 0 (+ paschal-moon 7)))
+ (greg (calendar-gregorian-from-absolute (+ abs-easter (or n 0)))))
+ (if (calendar-date-is-visible-p greg)
+ (list (list greg (or string "Pascha (Greek Orthodox Easter)"))))))
(provide 'holidays)
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] master b532875: Optional args for holiday-greek-orthodox-easter,
Paul Eggert <=