Function: holiday-hebrew-passover
holiday-hebrew-passover is a byte-compiled function defined in
cal-hebrew.el.gz.
Signature
(holiday-hebrew-passover &optional ALL)
Documentation
List of dates related to Passover, as visible in calendar window.
Shows only the major holidays, unless calendar-hebrew-all-holidays-flag
or ALL is non-nil.
Source Code
;; Defined in /usr/src/emacs/lisp/calendar/cal-hebrew.el.gz
;;;###holiday-autoload
(defun holiday-hebrew-passover (&optional all)
"List of dates related to Passover, as visible in calendar window.
Shows only the major holidays, unless `calendar-hebrew-all-holidays-flag'
or ALL is non-nil."
(when (< displayed-month 8)
(let ((abs-p (calendar-hebrew-to-absolute
(list 1 15 (+ displayed-year 3760)))))
(holiday-filter-visible-calendar
;; The first two are out of order when the others are added.
(append
(list
(list (calendar-gregorian-from-absolute abs-p) "Passover")
(list (calendar-gregorian-from-absolute (+ abs-p 50))
"Shavuot"))
(when (or all calendar-hebrew-all-holidays-flag)
(let ((wday (% abs-p 7)))
(list
(list (calendar-gregorian-from-absolute
(calendar-dayname-on-or-before 6 (- abs-p 43)))
"Shabbat Shekalim")
(list (calendar-gregorian-from-absolute
(calendar-dayname-on-or-before 6 (- abs-p 30)))
"Shabbat Zachor")
(list (calendar-gregorian-from-absolute
(- abs-p (if (= wday 2) 33 31)))
"Fast of Esther")
(list (calendar-gregorian-from-absolute (- abs-p 31))
"Erev Purim")
(list (calendar-gregorian-from-absolute (- abs-p 30))
"Purim")
(list (calendar-gregorian-from-absolute
(- abs-p (if (zerop wday) 28 29)))
"Shushan Purim")
(list (calendar-gregorian-from-absolute
(- (calendar-dayname-on-or-before 6 (- abs-p 14)) 7))
"Shabbat Parah")
(list (calendar-gregorian-from-absolute
(calendar-dayname-on-or-before 6 (- abs-p 14)))
"Shabbat HaHodesh")
(list (calendar-gregorian-from-absolute
(calendar-dayname-on-or-before 6 (1- abs-p)))
"Shabbat HaGadol")
(list (calendar-gregorian-from-absolute (1- abs-p))
"Erev Passover")
(list (calendar-gregorian-from-absolute (1+ abs-p))
"Passover (second day)")
(list (calendar-gregorian-from-absolute (+ abs-p 2))
"Hol Hamoed Passover (first day)")
(list (calendar-gregorian-from-absolute (+ abs-p 3))
"Hol Hamoed Passover (second day)")
(list (calendar-gregorian-from-absolute (+ abs-p 4))
"Hol Hamoed Passover (third day)")
(list (calendar-gregorian-from-absolute (+ abs-p 5))
"Hol Hamoed Passover (fourth day)")
(list (calendar-gregorian-from-absolute (+ abs-p 6))
"Passover (seventh day)")
(list (calendar-gregorian-from-absolute (+ abs-p 7))
"Passover (eighth day)")
(list (calendar-gregorian-from-absolute
(+ abs-p (if (zerop (% (+ abs-p 12) 7))
13
12)))
"Yom HaShoah")
(list (calendar-gregorian-from-absolute
(+ abs-p
;; If falls on Sat or Fri, moves to preceding Thurs.
;; If falls on Mon, moves to Tues (since 2004).
(cond ((zerop wday) 18) ; Sat
((= wday 6) 19) ; Fri
((= wday 2) 21) ; Mon
(t 20))))
"Yom HaAtzma'ut")
(list (calendar-gregorian-from-absolute (+ abs-p 33))
"Lag BaOmer")
(list (calendar-gregorian-from-absolute (+ abs-p 43))
"Yom Yerushalaim")
(list (calendar-gregorian-from-absolute (+ abs-p 49))
"Erev Shavuot")
(list (calendar-gregorian-from-absolute (+ abs-p 51))
"Shavuot (second day)")))))))))