Function: holiday-hebrew-passover-1

holiday-hebrew-passover-1 is a byte-compiled function defined in cal-hebrew.el.gz.

Signature

(holiday-hebrew-passover-1 Y &optional ALL)

Documentation

Return dates related to Passover in Year.

Source Code

;; Defined in /usr/src/emacs/lisp/calendar/cal-hebrew.el.gz
(defun holiday-hebrew-passover-1 (y &optional all)
  "Return dates related to Passover in Year."
  (let ((abs-p (calendar-hebrew-to-absolute (list 1 15 (+ y 3760)))))
    ;; 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)")))))))