;ELC
;;; Compiled by LTX@Xue-LingTaos-MacBook-Pro.local on Wed Mar 16 23:10:11 2011
;;; from file /Users/LTX/Projects/Emacs/emacs/lisp/calendar/cal-bahai.el
;;; in Emacs version 24.0.50.1
;;; with all optimizations.

;;; This file contains utf-8 non-ASCII characters,
;;; and so cannot be loaded into Emacs 22 or earlier.
(and (boundp 'emacs-version)
     (< (aref emacs-version (1- (length emacs-version))) ?A)
     (string-lessp emacs-version "23")
     (error "`cal-bahai.el' was compiled for Emacs 23 or later"))

;;;;;;;;;;;;;;;;;;;;;;


(require 'calendar)
#@52 Array of the month names in the Bah√°'√≠ calendar.
(defconst calendar-bahai-month-name-array ["Bah√°" "Jal√°l" "Jam√°l" "`Azamat" "N√∫r" "Rahmat" "Kalim√°t" "Kam√°l" "Asm√°" "`Izzat" "Mashiyyat" "`Ilm" "Qudrat" "Qawl" "Mas√°'il" "Sharaf" "Sult√°n" "Mulk" "`Al√°"] (#$ . 572))
#@66 Absolute date of start of Bah√°'√≠ calendar = March 21, 1844 AD.
(defconst calendar-bahai-epoch (byte-code "\306\211\3078)\310\311\n!\203\312\313!\202j\n\314V\203\223\nS\315\211\211@)\211\211A@*\3078)
S\316_\\\307V\203\317\320_\\\321\245Z\n\211\314W\203`\322\n!S\311\n\320\246!\205v\311\n\323\246!?\206v\311\n\324\246!)\203T-	\325_	\320\245	\323\245[	\324\245%\202j\322\nT!\326\211\211@)\211\211A@*\3078)
S\316_\\\307V\203\367\317\320_\\\321\245Z\n\211\314W\203\330\322\n!S\311\n\320\246!\205\356\311\n\323\246!?\206\356\311\n\324\246!)\203\367T-	\325_	\320\245	\323\245[	\324\245\327\211\327@)\211\211A@*\3078)
S\316_\\\307V\203e\317\320_\\\321\245Z\n\211\314W\203F\322\n!S\311\n\320\246!\205\\\311\n\323\246!?\206\\\311\n\324\246!)\203eT-&+\207" [date offset-years year month x day (3 21 1844) 2 nil zerop error "There was no year zero" 0 + 31 23 4 10 abs 100 400 365 - (12 31 -1) day-of-year] 11) (#$ . 854))
#@64 True if Bah√°'√≠ YEAR is a leap year in the Bah√°'√≠ calendar.
(defalias 'calendar-bahai-leap-year-p #[(year) "\301\\\211\302W\203\303!S\304\305\246!\205%\304\306\246!?\206%\304\307\246!)\207" [year 1844 0 abs zerop 4 100 400] 4 (#$ . 1888)])
#@94 Number of leap years between 1 and 1844 AD, inclusive.
Used by `calendar-bahai-to-absolute'.
(defconst calendar-bahai-leap-base 447 (#$ . 2148))
#@160 Compute absolute date from Bah√°'√≠ date DATE.
The absolute date is the number of days elapsed since the (imaginary)
Gregorian date Sunday, December 31, 1 BC.
(defalias 'calendar-bahai-to-absolute #[(date) "\211@)\211\211A@*\3068)\211S\307\\\310
\311\245
\312\245[
\313\245#Z\310S\fS\314_\315\316\211	W\203Q\317\\T\211\202=*	\317U\203h\320\f!\203d\321\202i\311\202i\316&-\207" [date month x day year prior-years 2 1844 + 4 100 400 365 1 0 19 calendar-bahai-leap-year-p 5 calendar-bahai-leap-base leap-days calendar-bahai-epoch sum m] 8 (#$ . 2300)])
(byte-code "\300\301\302\303#\210\304\301\302\305#\207" [defalias calendar-absolute-from-bahai calendar-bahai-to-absolute nil make-obsolete "23.1"] 4)
#@68 Bah√°'√≠ date (month day year) corresponding to the absolute DATE.
(defalias 'calendar-bahai-from-absolute #[(date) "	W\203\306\211\211E\207\307!\211\211@)\n\3108)\311Z\312V\2046\312U\203:\n\211\211A@*\313Y\203:\314\202;\306\\\314\306\315\316
E!V\203\\TT\202C*T\315\314
E!SZ
E-\207" [date calendar-bahai-epoch greg gmonth x year 0 calendar-gregorian-from-absolute 2 1844 3 21 1 calendar-bahai-to-absolute 19 sum m month day] 6 (#$ . 3049)])
#@91 String of Bah√°'√≠ date of Gregorian DATE.
Defaults to today's date if DATE is not given.
(defalias 'calendar-bahai-date-string #[(&optional date) "\306\206\307 \211\3108)\311\312\n!\203\313\314!\202p\n\315V\203\231\nS\316\211\211@)\211\211A@*\3108)
S\317_\\\"\310V\203\205\"\320\321_\\\322\245Z\"\n\211\315W\203f\323\n!S\312\n\321\246!\205|\312\n\324\246!?\206|\312\n\325\246!)\203\205\"T\"\"-	\326_	\321\245	\324\245[	\325\245%\202p\323\nT!\327\211\211@)\211\211A@*\3108)
S\317_\\\"\310V\203\375\"\320\321_\\\322\245Z\"\n\211\315W\203\336\323\n!S\312\n\321\246!\205\364\312\n\324\246!?\206\364\312\n\325\246!)\203\375\"T\"\"-	\326_	\321\245	\324\245[	\325\245\330\211\330@)\211\211A@*\3108)
S\317_\\\"\310V\203k\"\320\321_\\\322\245Z\"\n\211\315W\203L\323\n!S\312\n\321\246!\205b\312\n\324\246!?\206b\312\n\325\246!)\203k\"T\"\"-&+!\211#\3108)\211$\331W\203\206\332\202\346#\211@)%#\211\211A@*&%\333U\203\253&\315X\203\253\334\202\261'%SH(\335&\315X\203\315&\336$!\203\310\337\202\311\321\\\202\317&!\335$!\335%!\311)\340\341*\332#.*\207" [date offset-years year month x day calendar-bahai-from-absolute calendar-current-date 2 nil zerop error "There was no year zero" 0 + 31 23 4 10 abs 100 400 365 - (12 31 -1) 1 "" 19 "Ayy√°m-i-H√°" number-to-string calendar-bahai-leap-year-p 5 mapconcat eval day-of-year bahai-date y m d calendar-bahai-month-name-array monthname dayname calendar-date-display-form] 12 (#$ . 3544)])
#@61 Show the Bah√°'√≠ calendar equivalent of the selected date.
(defalias 'calendar-bahai-print-date #[nil "\301\302\303!!\211\304\230\203\305\306!\202\305\307\")\207" [s calendar-bahai-date-string calendar-cursor-to-date t "" message "Date is pre-Bah√°'√≠" "Bah√°'√≠ date: %s"] 4 (#$ . 5109) nil])
(byte-code "\300\301\302\303#\210\304\301\302\305#\207" [defalias calendar-print-bahai-date calendar-bahai-print-date nil make-obsolete "23.1"] 4)
#@92 Interactively read the arguments for a Bah√°'√≠ date command.
Reads a year, month and day.
(defalias 'calendar-bahai-read-date #[nil "\306 \307\310\311\312\313\211\314	8)\315\316!\203\317\320!\202x\321V\203\235S\322	\211\211@)	\211\211A@*(	\314	8)(\fS\323_\\)\f\314V\203\211)\324\f\325_\\\326\245Z)\211\321W\203j\327!S\316\325\246!\205\200\316\330\246!?\206\200\316\331\246!)\203\211)T))-\n\332_\n\325\245\n\330\245[\n\331\245%\202x\327T!\333	\211\211@)	\211\211A@*(	\314	8)(\fS\323_\\)\f\314V\203)\324\f\325_\\\326\245Z)\211\321W\203\344\327!S\316\325\246!\205\372\316\330\246!?\206\372\316\331\246!)\203)T))-\n\332_\n\325\245\n\330\245[\n\331\245\334\211\334@)	\211\211A@*(	\314	8)(\fS\323_\\)\f\314V\203s)\324\f\325_\\\326\245Z)\211\321W\203T\327!S\316\325\246!\205j\316\330\246!?\206j\316\331\246!)\203s)T))-&+!\314	8)!#\335*\336\337\340\341\342\343+\315\"\"\315\335$\344+\345\"\"A\307\346\347\"(\f(E-C\207" [today date offset-years year month x calendar-current-date calendar-read "Bah√°'√≠ calendar year (not 0): " #[(x) "\301!?\207" [x zerop] 2] number-to-string calendar-bahai-from-absolute 2 nil zerop error "There was no year zero" 0 + 31 23 4 10 abs 100 400 365 - (12 31 -1) t assoc completing-read "Bah√°'√≠ calendar month name: " mapcar list append calendar-make-alist 1 "Bah√°'√≠ calendar day (1-19): " #[(x) "\301W\205	\302X\207" [x 0 19] 2] day day-of-year completion-ignore-case calendar-bahai-month-name-array] 16 (#$ . 5563)])
(byte-code "\300\301\302\303#\210\304\301\302\305#\207" [defalias calendar-bahai-prompt-for-date calendar-bahai-read-date nil make-obsolete "23.1"] 4)
#@81 Move cursor to Bah√°'√≠ date DATE; echo Bah√°'√≠ date unless NOECHO is non-nil.
(defalias 'calendar-bahai-goto-date #[(date &optional noecho) "\302\303\304!!!\210	\206\305 \207" [date noecho calendar-goto-date calendar-gregorian-from-absolute calendar-bahai-to-absolute calendar-bahai-print-date] 4 (#$ . 7280) (calendar-bahai-read-date)])
(byte-code "\300\301\302\303#\210\304\301\302\305#\207" [defalias calendar-goto-bahai-date calendar-bahai-goto-date nil make-obsolete "23.1"] 4)
#@236 Holiday on MONTH, DAY (Bah√°'√≠) called STRING.
If MONTH, DAY (Bah√°'√≠) is visible in the current calendar window,
returns the corresponding Gregorian date in the form of the
list (((month day year) STRING)).  Otherwise, returns nil.
(defalias 'holiday-bahai #[(month day string) "\306\307	E\211\310\n8)\311\312\f!\203\313\314!\202w\f\315V\203\232\fS\316\n\211\211@)\n\211\211\"A@*#\n\310\n8)#
S\317_\\$
\310V\203\206$\320
\321_\\\322\245Z$\f\211\315W\203g\323\f!S\312\f\321\246!\205}\312\f\324\246!?\206}\312\f\325\246!)\203\206$T$$-\326_\321\245\324\245[\325\245%\202w\323\fT!\327\n\211\211@)\n\211\211\"A@*#\n\310\n8)#
S\317_\\$
\310V\203$\320
\321_\\\322\245Z$\f\211\315W\203\342\323\f!S\312\f\321\246!\205\370\312\f\324\246!?\206\370\312\f\325\246!)\203$T$$-\326_\321\245\324\245[\325\245\330\211\330@)\n\211\211\"A@*#\n\310\n8)#
S\317_\\$
\310V\203r$\320
\321_\\\322\245Z$\f\211\315W\203S\323\f!S\312\f\321\246!\205i\312\f\324\246!?\206i\312\f\325\246!)\203r$T$$-&+!\211%\211@)&%\310\n8)'\311&\331W?\205\332\311()'\315W\203\247'T'\316')_&\333\334
Z$(\335()\"T&()\245'(\315W\203\331&\331V\203\331'S''\331W\203\345'S'*&\336V\205\337\340\341
#'E!!\211!\205\n*DC,\207" [displayed-month displayed-year date offset-years year month calendar-bahai-from-absolute 15 2 nil zerop error "There was no year zero" 0 + 31 23 4 10 abs 100 400 365 - (12 31 -1) 1 19 -1 16 mod 12 calendar-date-is-visible-p calendar-gregorian-from-absolute calendar-bahai-to-absolute x day day-of-year bahai-date m y macro-y nmonths string] 12 (#$ . 7775)])
(autoload 'holiday-fixed "holidays")
#@77 Holiday entry for the Bah√°'√≠ New Year, if visible in the calendar window.
(defalias 'holiday-bahai-new-year #[nil "\301\302\303\304\305\306Z\"#\207" [displayed-year holiday-fixed 3 21 format "Bah√°'√≠ New Year (Naw-Ruz) %d" 1843] 7 (#$ . 9483)])
#@176 Holidays related to Ridvan, as visible in the calendar window.
Only considers the first, ninth, and twelfth days, unless ALL or
`calendar-bahai-all-holidays-flag' is non-nil.
(defalias 'holiday-bahai-ridvan #[(&optional all) "\306\307\310\211\f\204
\203\311\312\313\"\n\310\211\203Z@\314\315W\2030\316\2021\317\211\315W\203=\320\202>\321\\\322\323H\"#\211\203Q@	BA\211\204\310	\237.\207" [h rid show ord all calendar-bahai-all-holidays-flag ["First" "Second" "Third" "Fourth" "Fifth" "Sixth" "Seventh" "Eighth" "Ninth" "Tenth" "Eleventh" "Twelfth"] (0 8 11) nil number-sequence 0 11 holiday-fixed 10 4 5 21 -9 format "%s Day of Ridvan" i #1=#:--cl-dolist-temp--] 8 (#$ . 9739)])
(autoload 'diary-list-entries-1 "diary-lib")
#@623 Add any Bah√°'√≠ date entries from the diary file to `diary-entries-list'.
Bah√°'√≠ date diary entries must be prefaced by `diary-bahai-entry-symbol'
(normally a `B').  The same diary date forms govern the style of the
Bah√°'√≠ calendar entries, except that the Bah√°'√≠ month names cannot be
abbreviated.  The Bah√°'√≠ months are numbered from 1 to 19 with Bah√° being
1 and 19 being `Al√°.  If a Bah√°'√≠ date diary entry begins with
`diary-nonmarking-symbol', the entry will appear in the diary listing, but
will not be marked in the calendar.  This function is provided for use with
`diary-nongregorian-listing-hook'.
(defalias 'diary-bahai-list-entries #[nil "\302	\303#\207" [calendar-bahai-month-name-array diary-bahai-entry-symbol diary-list-entries-1 calendar-bahai-from-absolute] 4 (#$ . 10512)])
(byte-code "\300\301\302\303#\210\304\301\302\305#\210\306\307\310\"\207" [defalias list-bahai-diary-entries diary-bahai-list-entries nil make-obsolete "23.1" autoload calendar-mark-1 "diary-lib"] 4)
#@197 Mark dates in calendar window that conform to Bah√°'√≠ date MONTH/DAY/YEAR.
A value of 0 in any position is a wildcard.  Optional argument COLOR is
passed to `calendar-mark-visible-date' as MARK.
(defalias 'calendar-bahai-mark-date-pattern #[(month day year &optional color) "\304	\n\305\306&\207" [month day year color calendar-mark-1 calendar-bahai-from-absolute calendar-bahai-to-absolute] 7 (#$ . 11527)])
(byte-code "\300\301\302\303#\210\304\301\302\305#\210\306\307\310\"\207" [defalias mark-bahai-calendar-date-pattern calendar-bahai-mark-date-pattern nil make-obsolete "23.1" autoload diary-mark-entries-1 "diary-lib"] 4)
#@212 Mark days in the calendar window that have Bah√°'√≠ date diary entries.
Marks each entry in `diary-file' (or included files) visible in the calendar
window.  See `diary-bahai-list-entries' for more information.
(defalias 'diary-bahai-mark-entries #[nil "\302\303	\304$\207" [calendar-bahai-month-name-array diary-bahai-entry-symbol diary-mark-entries-1 calendar-bahai-mark-date-pattern calendar-bahai-from-absolute] 5 (#$ . 12168)])
(byte-code "\300\301\302\303#\210\304\301\302\305#\210\306\307\310\"\207" [defalias mark-bahai-diary-entries diary-bahai-mark-entries nil make-obsolete "23.1" autoload diary-insert-entry-1 "diary-lib"] 4)
#@139 Insert a diary entry.
For the Bah√°'√≠ date corresponding to the date indicated by point.
Prefix argument ARG makes the entry nonmarking.
(defalias 'diary-bahai-insert-entry #[(arg) "\303\304	\n\305%\207" [arg calendar-bahai-month-name-array diary-bahai-entry-symbol diary-insert-entry-1 nil calendar-bahai-from-absolute] 6 (#$ . 12814) "P"])
(byte-code "\300\301\302\303#\210\304\301\302\305#\207" [defalias insert-bahai-diary-entry diary-bahai-insert-entry nil make-obsolete "23.1"] 4)
#@159 Insert a monthly diary entry.
For the day of the Bah√°'√≠ month corresponding to the date indicated by point.
Prefix argument ARG makes the entry nonmarking.
(defalias 'diary-bahai-insert-monthly-entry #[(arg) "\303\304	\n\305%\207" [arg calendar-bahai-month-name-array diary-bahai-entry-symbol diary-insert-entry-1 monthly calendar-bahai-from-absolute] 6 (#$ . 13310) "P"])
(byte-code "\300\301\302\303#\210\304\301\302\305#\207" [defalias insert-monthly-bahai-diary-entry diary-bahai-insert-monthly-entry nil make-obsolete "23.1"] 4)
#@162 Insert an annual diary entry.
For the day of the Bah√°'√≠ year corresponding to the date indicated by point.
Prefix argument ARG will make the entry nonmarking.
(defalias 'diary-bahai-insert-yearly-entry #[(arg) "\303\304	\n\305%\207" [arg calendar-bahai-month-name-array diary-bahai-entry-symbol diary-insert-entry-1 yearly calendar-bahai-from-absolute] 6 (#$ . 13854) "P"])
(byte-code "\300\301\302\303#\210\304\301\302\305#\207" [defalias insert-yearly-bahai-diary-entry diary-bahai-insert-yearly-entry nil make-obsolete "23.1"] 4)
#@51 Bah√°'√≠ calendar equivalent of date diary entry.
(defalias 'diary-bahai-date #[nil "\301\302\303!\"\207" [date format "Bah√°'√≠ date: %s" calendar-bahai-date-string] 4 (#$ . 14396)])
(provide 'cal-bahai)
