;;; compiled by rms@mole.gnu.ai.mit.edu on Sat May 22 00:14:37 1993
;;; from file /home/fsf/rms/e19/lisp/holidays.el
;;; emacs version 19.6.12.
;;; bytecomp version FSF 2.08
;;; optimization is on.

(require (quote calendar))
(autoload (quote calendar-holiday-function-solar-equinoxes-solstices) "solar" "\
Date and time of equinoxes and solstices, if visible in the calendar window.
Requires floating point." t)
(defalias 'holidays #[(&optional arg) " # \"\"$!!\"A% @9  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"])
(defalias 'check-calendar-holidays #[(date) "@AA@ + @@\"$ @A\"A ," [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."])
(defalias 'calendar-cursor-holidays #[nil "!  !!!		##	5 \"p G XE !p !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])
(defalias 'mark-calendar-holidays #[nil "!  @@\"A )!" [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])
(defalias '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])
(defalias 'calendar-holiday-list #[nil "* @@\"!ɏ\n\" \n\n\"*A \n\"*" [calendar-holidays nil holiday-list p intern format "calendar-holiday-function-%s" function-name (byte-code "@A 	@A!	 " [p function-name] 2) ((error (byte-code " @\"!" [beep message "Bad holiday list item: %s" p sleep-for 2] 3))) holidays append sort calendar-date-compare] 5 "\
Form the list of holidays that occur on dates in the calendar window.
The holidays are those in the list calendar-holidays."])
(defalias 'calendar-holiday-function-fixed #[(x) "	@!	A@!	AA@!\"\nZ\\\\\\\"T\")VH \nEDC-" [eval x month day string displayed-month m displayed-year y * 12 11 -1 macro-y % / 9] 4 "\
Returns the corresponding Gregorian date, if visible in the window, to
(month day) where month is (car X) and day is (car (cdr X)).  If it is
visible, the value returned is the list (((month day year) string)) where
string is (car (nthcdr 2 X)).  Returns nil if it is not visible in the
current calendar window."])
(defalias 'calendar-holiday-function-float #[(x) "	@!	A@!	AA@!	\"@!	\n\"	\nZ\\\\\\\"T	\")	VU \n$DC." [eval x month dayname n nthcdr 3 string displayed-month m displayed-year y * 12 11 -1 macro-y % / 9 calendar-nth-named-day] 5 "\
Returns the corresponding Gregorian date, if visible in the window, to the
n-th occurrence (negative counts from the end of the month) of dayname in
month where month is (car X), dayname is (car (cdr X)), and n is
(car (nthcdr 2 X)).  If it is visible, the value returned is the list
(((month day year) string)) where string is (car (nthcdr 3 X)).
Returns nil if it is not visible in the current calendar window."])
(defalias 'calendar-holiday-function-julian #[(x) "	@!	A@!	AA@!	\n\"\\\\\"T\")\n\"	\\\"T	\"\n)E@EA@EAA@E@EA@EAA@\nS\"\\\nV \n\"\\\"Z\"U \"U \"U T,S\"S\"S\"[S\"\\\\\\\\+	\n\"U\n\n\"U\n\"U	U߂$	SH\nE@	\n\"U>\n\"UH\n\"US	US߂X	SH\nEA@	\n\"Us\n\"U}\n\"U	U߂	SH\nEAA@	\n\"U\n\"U\n\"U	U߂	SH\nE@	\n\"U\n\"U\n\"U	U߂	SH\nEA@	\n\"U\n\"U\"\n\"U-	U-߂2	SH\nEAA@\nS\"\\\nVz\n\"\\\"Z\"Uk\"Uu\"UzT,S\"S\"S\"[S\"\\\\\\\\+!!#!!$#AA@%$AA@&\nW%&\nE!!))!)DC." [eval x month day string displayed-month m1 displayed-year y1 m2 y2 nil year * 12 -2 macro-y % / 1 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] 7 "\
Returns the corresponding Gregorian date, if visible in the window, to the
Julian date (month day) where month is (car X) and day is (car (cdr X)).
If it is visible, the value returned is the list (((month day year) string))
where string is (car (nthcdr 2 X)).  Returns nil if it is not visible in the
current calendar window."])
(defalias 'calendar-holiday-function-islamic #[(x) "	@!	A@!	AA@!E@EA@EAA@	E@EA@EAA@	\nS\"\\\nV \n\"\\\"Z	\"U| 	\"U 	\"U T,	S\"	S\"	S\"[	S\"\\\\\\\\+!@AA@W?\"\nZ\\\\\\\"T\")V\nE!!!DC)." [eval x month day string calendar-islamic-from-absolute displayed-month 15 displayed-year 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] 9 "\
Returns the corresponding Gregorian date, if visible in the window, to the
Islamic date (month day) where month is (car X) and day is (car (cdr X)).
If it is visible, the value returned is the list (((month day year) string))
where string is (car (nthcdr 2 X)).  Returns nil if it is not visible in
the current calendar window."])
(defalias 'calendar-holiday-function-hebrew #[(x) "	@!	A@!	AA@!\nW  \nZ# \n\\\nW/ \nZ2 \n\\\nW> \nZA \n\\\nWM \nZP \n\\\nW\\ \nZ_ \n\\%>1\"\\\\\"T\")\"\\\"T\")E@EA@EAA@E@EA@EAA@\nS\"\\\nV#\n\"\\\"Z\"U\"U\"U#T,S\"S\"S\"[S\"\\\\\\\\+%\"U\\\"Uf\"UqUqvSHE@\"U\"U\"UU悪SHEA@\"U\"U\"UUSHEAA@\"U\"U	\"UUSHE@\"U4\"U>\"UIUINSHEA@\"Uj\"Ut\"UU悄SHEAA@\nS\"\\\nV\n\"\\\"Z\"U\"U\"UT,S\"S\"S\"[S\"\\\\\\\\+(%!*(!+*AA@,+AA@-\nW-,\nE!!11!/1DC.+" [eval x month day string displayed-month list 11 1 10 2 9 3 8 4 7 5 displayed-year nil year y2 m2 y1 m1 * 12 -2 macro-y % / 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] 8 "\
Returns the corresponding Gregorian date, if visible in the window, to the
Hebrew date (month day) where month is (car X) and day is (car (cdr X)).
If it is visible, the value returned is the list (((month day year) string))
where string is (car (nthcdr 2 X)).  Returns nil if it is not visible in
the current calendar window."])
(defalias 'calendar-holiday-function-if #[(x) "	@! 	A@ 	AA@2 @\"!A. A!1  )*" [eval x boolean h intern format "calendar-holiday-function-%s" function-name] 5 "\
Conditional holiday for dates in the calendar window.
The boolean condition is (car X).  If t, the holiday (car (cdr X)) is
checked.  If nil, the holiday (car (cdr (cdr X))), if there, is checked."])
(defalias 'calendar-holiday-function-sexp #[(x) "	\n\"\\\\\"T\")\n@!A@!)DC\nT@!A@!)DC\"!*" [displayed-month displayed-year y m * 12 -2 macro-y % / filter-visible-calendar-holidays append year eval x] 6 "\
Sexp holiday for dates in the calendar window.
The sexp (in `year') is (car X).  If the sexp evals to a date visible in the
calendar window, the holiday (car (cdr X)) is on that date.  If the sexp evals
to nil, or if the date is not visible, there is no holiday."])
(defalias 'calendar-holiday-function-advent #[nil "	\"\n\\\\\"T\")E@EA@EAA@E@EA@EAA@\nS\"\\\nV \n\"\\\"Z\"U{ \"U \"U T,S\"S\"S\"[S\"\\\\\\\\+\"!! DC+" [displayed-year displayed-month month year * 12 -2 macro-y % / calendar-gregorian-from-absolute calendar-dayname-on-or-before 0 3 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."])
(defalias 'calendar-holiday-function-easter-etc #[nil "V \n??\"T\"\"\"\"[\"\\\"\"\\\\\\\\\"UR UX \"WX TZ E@EA@EAA@E@EA@EAA@S\"\\V \"\\\"Z\"U \"U \"U T,S\"S\"S\"[S\"\\\\\\\\+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&AB (!C\nD B A!C\"CC." [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 year day month 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 list 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 Sunday" "Pentecost (Whitsunday)" 50 "Whitmunday" "Trinity Sunday" 60 "Corpus Christi" optional filter-visible-calendar-holidays output-list append] 18 "\
List of dates related to Easter, as visible in calendar window."])
(defalias 'calendar-holiday-function-greek-orthodox-easter #[nil "	\n\"\\\"T\")\n\"U. \n\"U7 \n\"UA UA ςE SH\nE@\n\"U[ \n\"Ud \n\"Un Un ςr SH\nEA@\n\"U \n\"U \n\"U U ς SH\nEAA@\n\"U \n\"U \n\"U U ς SH\nE@\n\"U \n\"U \n\"U U ςSH\nEA@\n\"U\n\"U&\n\"U0U0ς4SH\nEAA@S\"\\V\"\\\"Z\"Up\"Uz\"UT,S\"S\"S\"[S\"\\\\\\\\+!AA@\"\"\\\"E!Z  \\\"!$$!$DC." [displayed-month displayed-year y m * 12 macro-y % / calendar-julian-from-absolute 4 0 100 400 2 29 [31 28 31 30 31 30 31 31 30 31 30 31] year day month 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, if visible
in the calendar window."])
(defalias 'calendar-holiday-function-rosh-hashanah-etc #[nil "W	 V? \\E!!\\\"D\\!D\\!D\\!D\\!D%Z\"!DS!DT!D\"Ut \\x \\!D\\\"!D\\!D\\!D\\!D\\!D\\!D\\!D\\!D\\!D&0!23 0!2\"22," [displayed-month 8 11 calendar-absolute-from-hebrew 7 1 displayed-year 3761 abs-r-h list 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] 16 "\
List of dates related to Rosh Hashanah, as visible in calendar window."])
(defalias 'calendar-holiday-function-hanukkah #[nil ">\n\"\\\"T\")\"U4 \"U= \"UG UG ЂK SHE@\"Ua \"Uj \"Ut Ut Ђx SHEA@\"U \"U \"U U Ђ SHEAA@\"U \"U \"U U Ђ SHE@\"U \"U \"UUЂ\nSHEA@\"U#\"U,\"U6U6Ђ:SHEAA@S\"\\V\"\\\"Z\"Uv\"U\"UT,S\"S\"S\"[S\"\\\\\\\\+!AA@E!S!D!DT!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 4 0 100 400 2 29 [31 28 31 30 31 30 31 31 30 31 30 31] year day month 31 day-of-year 23 10 365 h-y calendar-absolute-from-hebrew 9 25 abs-h filter-visible-calendar-holidays list 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."])
(defalias 'calendar-holiday-function-passover-etc #[nil "	W?I\\E!!D\\!DDZ\"!DZ\"!D\"UK ZO Z!DZ!DZ!D\"Ut Zx Z!DZ\"Z!DZ\"!DS\"!DS!DT!D\\!D\\!D\\!D\\!D\\!D\\!D\\!D\"U \\\n\"U\\\n\\!D\\!D\\!D\\!D\\!D&:!<=F:!<\"<<," [7 displayed-month calendar-absolute-from-hebrew 1 15 displayed-year 3760 abs-p calendar-gregorian-from-absolute "Passover" 50 "Shavuot" mandatory list 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] 26 "\
List of dates related to Passover, as visible in calendar window."])
(defalias 'calendar-holiday-function-tisha-b-av-etc #[nil "W	 V?^ \\E!\"U* Z. Z!D\"!D\"UK TM !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."])
(defalias 'filter-visible-calendar-holidays #[(l) "	\n$ \n@@ \n@@! \n@C\"\nA *" [nil l p visible calendar-date-is-visible-p append] 4 "\
Return a list of all visible holidays of those on L."])
(provide (quote holidays))
