Function: holiday-hebrew-hanukkah

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

Signature

(holiday-hebrew-hanukkah &optional ALL)

Documentation

List of dates related to Hanukkah, as visible in calendar window.

Shows only Hanukkah, 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-hanukkah (&optional all)
  "List of dates related to Hanukkah, as visible in calendar window.
Shows only Hanukkah, unless `calendar-hebrew-all-holidays-flag' or ALL
is non-nil."
  ;; This test is only to speed things up a bit, it works fine without it.
  (when (memq displayed-month '(10 11 12 1 2))
    (let* ((m displayed-month)
           (y displayed-year)
           (h-y (progn
                  (calendar-increment-month m y 1)
                  (calendar-extract-year
                   (calendar-hebrew-from-absolute
                    (calendar-absolute-from-gregorian
                     (list m (calendar-last-day-of-month m y) y))))))
           (abs-h (calendar-hebrew-to-absolute (list 9 25 h-y)))
           (ord ["first" "second" "third" "fourth" "fifth" "sixth"
                 "seventh" "eighth"]))
      (holiday-filter-visible-calendar
       (if (or all calendar-hebrew-all-holidays-flag)
           (append
            (list
             (list (calendar-gregorian-from-absolute (1- abs-h))
                   "Erev Hanukkah"))
            (let (han)
              (dotimes (i 8)
                (push (list
                       (calendar-gregorian-from-absolute (+ abs-h i))
                       (format "Hanukkah (%s day)" (aref ord i)))
                      han))
              (nreverse han)))
         (list (list (calendar-gregorian-from-absolute abs-h) "Hanukkah")))))))