;ELC ;;; compiled by jwz@thalidomide on Sun Jan 2 02:59:14 1994 ;;; from file /th/jwz/emacs19/lisp/calendar/holidays.el ;;; emacs version 19.9 Lucid (beta10). ;;; bytecomp version 2.22; 22-dec-93. ;;; optimization is on. ;;; this file uses opcodes which do not exist in Emacs 18. (if (and (boundp 'emacs-version) (or (and (boundp 'epoch::version) epoch::version) (string-lessp emacs-version "19"))) (error "This file was compiled for Emacs 19.")) (require 'calendar) (autoload 'solar-equinoxes-solstices "solar" "\ Date and time of equinoxes and solstices, if visible in the calendar window. Requires floating point." t) (fset 'holidays #[(&optional arg) "   \"\"$! !\"A @ AA@!# AA@ -" [t completion-ignore-case calendar-current-date date arg assoc capitalize completing-read "Month name: " mapcar list append calendar-month-name-array nil calendar-make-alist displayed-month calendar-read "Year (>0): " (lambda (x) (> x 0)) int-to-string displayed-year list-calendar-holidays] 9 "\ Display the holidays for last month, this month, and next month. If called with an optional prefix argument, prompts for month and year. This function is suitable for execution in a .emacs file." "P"]) (fset 'check-calendar-holidays #[(date) "@AA@   @@\" @A\" Ai," [date displayed-month displayed-year calendar-holiday-list h nil holiday-list calendar-date-equal append] 4 "\ Check the list of holidays for any that occur on DATE. The value returned is a list of strings of relevant holiday descriptions. The holidays are those in the list calendar-holidays."]) (fset 'calendar-cursor-holidays #[nil "! ! ! !  #  # \"G X!!q!  #ceb!!!-" [message "Checking holidays..." calendar-cursor-to-date error "Cursor is not on a date!" date calendar-date-string date-string check-calendar-holidays holiday-list mapconcat identity "; " holiday-string format "%s: %s" msg "No holidays known for %s" screen-width get-buffer-create holiday-buffer nil buffer-read-only calendar-set-mode-line erase-buffer "\n" set-buffer-modified-p t display-buffer "Checking holidays...done"] 4 "\ Find holidays for the date specified by the cursor in the calendar window." nil]) (fset 'mark-calendar-holidays #[nil "!  @@\" Ar)!" [t mark-holidays-in-calendar message "Marking holidays..." calendar-holiday-list holiday-list mark-visible-calendar-date calendar-holiday-marker "Marking holidays...done"] 4 "\ Mark notable days in the calendar window." nil]) (fset 'list-calendar-holidays #[nil "!  !˪ !q_\\\\ϦTϥ) _\\ϦTϥ)!! %!  #ceb! !!-" [message "Looking up holidays..." calendar-holiday-list displayed-month displayed-year y2 m2 y1 m1 holiday-list "Looking up holidays...none found" nil get-buffer-create holiday-buffer buffer-read-only 12 -2 macro-y calendar-set-mode-line format "Notable Dates from %s, %d to %s, %d%%-" calendar-month-name erase-buffer mapconcat #[(x) " @! A@Q" [calendar-date-string x ": "] 3] "\n" set-buffer-modified-p t display-buffer "Looking up holidays...done"] 8 "\ Create a buffer containing the holidays for the current calendar window. The holidays are those in the list calendar-notable-days. Returns t if any holidays are found, nil if not." nil]) (fset 'calendar-holiday-list #[nil "  @!)ɏ\n\n\n\") A]\n\"*" [calendar-holidays nil holiday-list p calendar-debug-sexp t stack-trace-on-error eval (byte-code " @!" [eval p] 2) ((error (byte-code " @\"!" [beep message "Bad holiday list item: %s" p sleep-for 2] 3))) holidays append sort calendar-date-compare] 4 "\ Form the list of holidays that occur on dates in the calendar window. The holidays are those in the list calendar-holidays."]) (fset 'holiday-fixed #[(month day string) " \n_ Z\\\\\\ĦTĥ) V\n\nE DC*" [displayed-month displayed-year y m 12 11 month -1 macro-y 9 day string] 5 "\ Holiday on MONTH, DAY (Gregorian) called STRING. If MONTH, DAY is visible, the value returned is the list (((MONTH DAY year) STRING)). Returns nil if it is not visible in the current calendar window."]) (fset 'holiday-float #[(month dayname n string &optional day) " \n_ Z\\\\\\ĦTĥ) V  \n %DC*" [displayed-month displayed-year y m 12 11 month -1 macro-y 9 calendar-nth-named-day n dayname day string] 7 "\ Holiday on MONTH, DAYNAME (Nth occurrence, Gregorian) called STRING. If the Nth DAYNAME in MONTH is visible, the value returned is the list (((MONTH DAY year) STRING)). If N<0, count backward from the end of MONTH. An optional parameter DAY means the Nth DAYNAME after/before MONTH DAY. Returns nil if it is not visible in the current calendar window."]) (fset 'holiday-julian #[(month day string) "  _\\\\\nȦT\nȥ) _ \\\nȦT\nȥ)EAA@S E@ EA@EAA@ S_\\ V _\\ԥZ ҦU ֦U צUT, _ ҥ ֥[ ץ\\\\\\\\) U ҦU ֦U צUڪ SH EAA@S U ҦU ֦U צUڪ SH E@ U ҦU ֦U צUڪ SH EA@ U ҦU ֦U צUڪ SH EAA@ S_\\ V _\\ԥZ ҦU ֦U צUT, _ ҥ ֥[ ץ\\\\\\\\)!!AA@ AA@! W !  E!!$$!$&DC. " [displayed-month displayed-year nil year y2 m2 y1 m1 12 -2 macro-y 1 prior-years month day 31 day-of-year 2 4 23 10 0 100 400 365 start-date 29 [31 28 31 30 31 30 31 31 30 31 30 31] end-date calendar-julian-from-absolute julian-start julian-end julian-y1 julian-y2 calendar-gregorian-from-absolute calendar-absolute-from-julian date calendar-date-is-visible-p string] 7 "\ Holiday on MONTH, DAY (Julian) called STRING. If MONTH, DAY (Julian) is visible, the value returned is corresponding Gregorian date in the form of the list (((month day year) STRING)). Returns nil if it is not visible in the current calendar window."]) (fset 'holiday-islamic #[(month day string) " EAA@S E@ EA@ EAA@ S_\\ V _\\ͥZ ˦UϦUЦU T  , _ ˥ ϥ[ Х\\\\\\\\)!@AA@W?_ Z\\\\\\ئTإ)V E!!!DC)," [calendar-islamic-from-absolute displayed-month 15 displayed-year prior-years month day year 31 day-of-year 2 4 23 10 0 100 400 365 islamic-date m y nil date 1 12 -1 macro-y 7 calendar-gregorian-from-absolute calendar-absolute-from-islamic calendar-date-is-visible-p string] 8 "\ Holiday on MONTH, DAY (Islamic) called STRING. If MONTH, DAY (Islamic) is visible, the value returned is corresponding Gregorian date in the form of the list (((month day year) STRING)). Returns nil if it is not visible in the current calendar window."]) (fset 'holiday-hebrew #[(month day string) "\nW\nZ\n\\\nW\nZ\n\\\nW\nZ\n\\\nW\nZ\n\\\nW\nZ\n\\>N  _\\\\ӦTӥ)_\\ӦTӥ)EAA@SE@EA@EAA@\nS_\\\nV\n_\\ĥZɦUܦUݦUT,_ɥܥ[ݥ\\\\\\\\)UɦUܦUݦUઅSHEAA@SUɦUܦUݦUઅSHE@UɦUܦUݦUઅSHEA@UɦUܦUݦUઅSHEAA@\nS_\\\nV\n_\\ĥZɦUܦUݦUT,_ɥܥ[ݥ\\\\\\\\)\"!$\"!%$AA@&%AA@'\nW'&\nE!!++!+-DC. " [displayed-month 11 month 1 10 2 9 3 8 4 7 5 displayed-year nil year y2 m2 y1 m1 12 -2 macro-y prior-years day 31 day-of-year 23 0 100 400 365 start-date 29 [31 28 31 30 31 30 31 31 30 31 30 31] end-date calendar-hebrew-from-absolute hebrew-start hebrew-end hebrew-y1 hebrew-y2 6 calendar-gregorian-from-absolute calendar-absolute-from-hebrew date calendar-date-is-visible-p string] 8 "\ Holiday on MONTH, DAY (Hebrew) called STRING. If MONTH, DAY (Hebrew) is visible, the value returned is corresponding Gregorian date in the form of the list (((month day year) STRING)). Returns nil if it is not visible in the current calendar window."]) (fset 'holiday-sexp #[(sexp string) " \n_ \\\\ĦTĥ)\n  !  !   +DC\nT  !  !   +DC\"!*" [displayed-month displayed-year y m 12 -2 macro-y filter-visible-calendar-holidays append year eval sexp date string] 6 "\ Sexp holiday for dates in the calendar window. SEXP is an expression in variable `year' evaluates to `date'. STRING is an expression in `date' that evaluates to the holiday description of `date'. If `date' is visible in the calendar window, the holiday STRING is on that date. If date is nil, or if the date is not visible, there is no holiday."]) (fset 'holiday-advent #[nil " _\n\\\\ĦTĥ) EAA@S E@ EA@ EAA@ \nS_\\\nV\n_\\ҥZ ЦU ӦU ԦUT, _ Х ӥ[ ԥ\\\\\\\\)\"!!DC+" [displayed-year displayed-month month year 12 -2 macro-y calendar-gregorian-from-absolute calendar-dayname-on-or-before 0 3 prior-years day 31 day-of-year 2 4 23 10 100 400 365 advent calendar-date-is-visible-p "Advent"] 10 "\ Date of Advent, if visible in calendar window."]) (fset 'holiday-easter-etc #[nil "V\n??r ĥT Ʀ_ _ɥ[ _\\˥ _\\\\\\\\̦UU ƦWT EAA@S E@ EA@ EAA@S_\\V_\\ѥZɦUĦUۦUT,_ɥĥ[ۥ\\\\\\\\)Z\\\"  !D Z!D Z!DE& Z!D Z!D Z!D Z!D Z!D Z!D Z!D Z!D \\!D \\!D \\!D \\!D \\!D \\!D>&!@\nA>!@\"@@." [displayed-month 5 all-christian-calendar-holidays displayed-year 100 century 19 11 3 4 8 25 30 14 shifted-epact 0 1 10 adjusted-epact prior-years month day year 31 day-of-year 2 23 400 365 paschal-moon calendar-dayname-on-or-before 7 abs-easter calendar-gregorian-from-absolute "Easter Sunday" "Good Friday" 46 "Ash Wednesday" mandatory 63 "Septuagesima Sunday" 56 "Sexagesima Sunday" 49 "Shrove Sunday" 48 "Shrove Monday" 47 "Shrove Tuesday" "Passion Sunday" "Palm Sunday" "Maundy Thursday" 35 "Rogation Sunday" 39 "Ascension Day" "Pentecost (Whitsunday)" 50 "Whitmunday" "Trinity Sunday" 60 "Corpus Christi" optional filter-visible-calendar-holidays output-list append] 17 "\ List of dates related to Easter, as visible in calendar window."]) (fset 'holiday-greek-orthodox-easter #[nil " \n_ \\ĦT ĥ) U\nȦU\nʦU\n˦U̪ SH\nEAA@S U\nȦU\nʦU\n˦U̪ SH\nE@ U\nȦU\nʦU\n˦U̪ SH\nEA@ U\nȦU\nʦU\n˦U̪ SH\nEAA@S_\\V_\\եZȦUʦU˦UT,_ȥʥ[˥\\\\\\\\)!AA@ئ_\\ۦE!Z\\\"!\"\"!\"DC." [displayed-month displayed-year y m 12 macro-y calendar-julian-from-absolute 2 4 0 100 400 29 [31 28 31 30 31 30 31 31 30 31 30 31] prior-years month day year 31 day-of-year 23 10 365 julian-year 19 11 14 30 shifted-epact calendar-absolute-from-julian paschal-moon calendar-gregorian-from-absolute calendar-dayname-on-or-before 7 nicaean-easter calendar-date-is-visible-p "Pascha (Greek Orthodox Easter)"] 8 "\ Date of Easter according to the rule of the Council of Nicaea."]) (fset 'holiday-rosh-hashanah-etc #[nil "WV?\\E!!\\\"D\\!D\\!D\\!D\\!DZ\"!DS!DT!DĦU\\\\!D\\\"!D\\!D\\!D\\!D\\!D\\!D\\!D\\!D\\!D .!01.!0\"00," [displayed-month 8 11 calendar-absolute-from-hebrew 7 1 displayed-year 3761 abs-r-h calendar-gregorian-from-absolute format "Rosh HaShanah %d" 9 "Yom Kippur" 14 "Sukkot" 21 "Shemini Atzeret" 22 "Simchat Torah" mandatory calendar-dayname-on-or-before 6 4 "Selichot (night)" "Erev Rosh HaShannah" "Rosh HaShanah (second day)" 3 2 "Tzom Gedaliah" "Shabbat Shuvah" "Erev Yom Kippur" 13 "Erev Sukkot" 15 "Sukkot (second day)" 16 "Hol Hamoed Sukkot (first day)" 17 "Hol Hamoed Sukkot (second day)" 18 "Hol Hamoed Sukkot (third day)" 19 "Hol Hamoed Sukkot (fourth day)" 20 "Hoshannah Rabbah" optional filter-visible-calendar-holidays output-list all-hebrew-calendar-holidays append] 15 "\ List of dates related to Rosh Hashanah, as visible in calendar window."]) (fset 'holiday-hanukkah #[nil ">j\n _ \\ŦTť) U ɦU ˦U ̦Uͪ SH EAA@S U ɦU ˦U ̦Uͪ SH E@ U ɦU ˦U ̦Uͪ SH EA@ U ɦU ˦U ̦Uͪ SH EAA@S_\\V_\\֥ZɦU˦U̦UT,_ɥ˥[̥\\\\\\\\)!AA@E!S!D!DT!D\\!D\\!D\\!D\\!D\\!D\\!D !," [displayed-month (10 11 12 1 2) displayed-year y m 12 macro-y calendar-hebrew-from-absolute 2 4 0 100 400 29 [31 28 31 30 31 30 31 31 30 31 30 31] prior-years month day year 31 day-of-year 23 10 365 h-y calendar-absolute-from-hebrew 9 25 abs-h filter-visible-calendar-holidays calendar-gregorian-from-absolute "Erev Hanukkah" "Hanukkah (first day)" "Hanukkah (second day)" "Hanukkah (third day)" 3 "Hanukkah (fourth day)" "Hanukkah (fifth day)" 5 "Hanukkah (sixth day)" 6 "Hanukkah (seventh day)" 7 "Hanukkah (eighth day)"] 13 "\ List of dates related to Hanukkah, as visible in calendar window."]) (fset 'holiday-passover-etc #[nil " W?; \\E!!D\\!DD Z\"!DZ\"!DUZZ!DZ!DZ!DUZZ!DZ\"Z!DZ\"!DS\"!DS!DT!D\\!D\\!D\\!D\\!D\\!D\\!D\\!DU\\U\\\\!D\\!D\\!D\\!D\\!D8 !:;8!:\"::," [7 displayed-month calendar-absolute-from-hebrew 1 15 displayed-year 3760 abs-p calendar-gregorian-from-absolute "Passover" 50 "Shavuot" mandatory calendar-dayname-on-or-before 6 43 "Shabbat Shekalim" 30 "Shabbat Zachor" 2 33 31 "Fast of Esther" "Erev Purim" "Purim" 0 28 29 "Shushan Purim" 14 "Shabbat Parah" "Shabbat HaHodesh" "Shabbat HaGadol" "Erev Passover" "Passover (second day)" "Hol Hamoed Passover (first day)" 3 "Hol Hamoed Passover (second day)" 4 "Hol Hamoed Passover (third day)" 5 "Hol Hamoed Passover (fourth day)" "Passover (seventh day)" "Passover (eighth day)" 12 "Yom HaShoah" 18 19 20 "Yom HaAtzma'ut" "Lag BaOmer" "Yom Yerushalim" 49 "Erev Shavuot" 51 "Shavuot (second day)" optional filter-visible-calendar-holidays output-list all-hebrew-calendar-holidays append] 25 "\ List of dates related to Passover, as visible in calendar window."]) (fset 'holiday-tisha-b-av-etc #[nil "WV? \\E!ɦUZZ!D\"!DɦUT!D\\\"!DF!)" [displayed-month 5 9 calendar-absolute-from-hebrew displayed-year 3760 abs-t-a filter-visible-calendar-holidays calendar-gregorian-from-absolute 7 6 20 21 "Tzom Tammuz" calendar-dayname-on-or-before "Shabbat Hazon" "Tisha B'Av" "Shabbat Nahamu"] 9 "\ List of dates around Tisha B'Av, as visible in calendar window."]) (fset 'filter-visible-calendar-holidays #[(l) " \n\n@@\n@@!\n@C \"\nAg *" [nil l p visible calendar-date-is-visible-p append] 4 "\ Return a list of all visible holidays of those on L."]) (provide 'holidays)