MMCT TEAM
Server IP : 111.118.215.189  /  Your IP : 3.18.102.38
Web Server : Apache
System : Linux md-in-83.webhostbox.net 4.19.286-203.ELK.el7.x86_64 #1 SMP Wed Jun 14 04:33:55 CDT 2023 x86_64
User : a1673wkz ( 2475)
PHP Version : 8.2.25
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON
Directory (0755) :  /usr/share/emacs/24.3/lisp/calendar/

[  Home  ][  C0mmand  ][  Upload File  ]

Current File : //usr/share/emacs/24.3/lisp/calendar/calendar.elc
;ELC
;;; Compiled by mockbuild@buildfarm06-new.corp.cloudlinux.com on Fri Oct 11 10:08:29 2024
;;; from file /builddir/build/BUILD/emacs-24.3/lisp/calendar/calendar.el
;;; in Emacs version 24.3.1
;;; with all optimizations.
;;; Function definitions are lazy-loaded.

;;; 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 "`%s' was compiled for Emacs 23 or later" #$))

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


(byte-code "\302\303\304\305#\210\306\307!\210\310\311!\210\312\307\304\313\314\315\316\317&\210\312\320\304\321\314\315\316\307&\210\312\322\304\323\314\315\316\307&\210\324\325\326\327\330\331\316\307&\210\324\332\304\333\330\334\316\307&\210\324\335\336\337\330\331\340\341\316\307&	\210\324\342\304\343\330\344\340\345\316\307&	\210\324\346\326\347\330\331\350\351\352\353\316\307&\210\354\355\356\304#\210\357\304\211\203\232	@\355N\203\223\356N\204\223\360\356\355N#\210	A\211\204|*\361\355\356\362#\210\324\356\304\363\330\364\316\365&\210\354\366\367\304#\210\357\304\211\203\330	@\366N\203\321\367N\204\321\360\367\366N#\210	A\211\204\272*\361\366\367\362#\210\324\367\304\370\330\364\316\365&\210\324\371\305\372\330\364\340\362\316\373\316\307&\210\374\375\376\377\316\322%\210\360\201@\201A\375#\210\360\201@\201B\201C\341!\206\305#\210\374\365\201D\201E\316\322%\210\360\201F\201A\365#\210\360\201F\201B\201C\341!\206C\305#\210\374\201G\201H\201I\316\322%\210\360\201J\201A\201G#\210\360\201J\201B\201C\341!\206o\305#\210\324\201K\201L\201M\330\201N\316\365\340\362&	\210\324\201O\201P\201Q\330\201R\316\307\340\362&	\210\324\201S\201T\201U\330\201V\316\201W\340\362&	\210\354\201X\201Y\304#\210\357\304\211\203\352	@\201XN\203\343\201YN\204\343\360\201Y\201XN#\210	A\211\204\304*\361\201X\201Y\362#\210\324\201Y\304\201Z\330\364\316\201W&\210\354\201[\201\\\304#\210\357\304\211\203>	@\201[N\2037\201\\N\2047\360\201\\\201[N#\210	A\211\204*\361\201[\201\\\362#\210\324\201\\\304\201]\330\364\316\201W&\210\324\201^\304\201_\330\201`\316\320&\210\324\201a\304\201b\330\201`\316\320&\210\354\201c\201d\304#\210\357\304\211\203\264	@\201cN\203\255\201dN\204\255\360\201d\201cN#\210	A\211\204\216*\361\201c\201d\362#\210\324\201d\304\201e\330\201`\316\320&\210\354\201f\201g\304#\210\357\304\211\203	@\201fN\203\201gN\204\360\201g\201fN#\210	A\211\204\342*\361\201f\201g\362#\210\324\201g\304\201h\330\201`\201i\201j\316\320&	\210\354\201k\201l\304#\210\357\304\211\203b	@\201kN\203[\201lN\204[\360\201l\201kN#\210	A\211\204<*\361\201k\201l\362#\210\324\201l\304\201m\330\201`\316\320&\210\324\201n\304\201o\330\201`\201i\201p\316\320&	\210\324\201q\201r\201s\316\307\350\351\201t\305\352\201u\330\201v\340\362&\207" [prop --dolist-tail-- load "cal-loaddefs" nil t provide calendar require cal-menu custom-declare-group "Calendar and time management support." :prefix "calendar-" :group applications calendar-hooks "Calendar hooks." calendar-faces "Calendar faces." custom-declare-variable calendar-offset 0 "The offset of the principal month from the center of the calendar window.\n0 means the principal month is in the center (default), -1 means on the left,\n+1 means on the right.  Larger (or smaller) values push the principal month off\nthe screen." :type integer calendar-setup "The frame setup of the calendar.\nThe choices are: `one-frame' (calendar and diary together in one separate,\ndedicated frame); `two-frames' (calendar and diary in separate, dedicated\nframes); `calendar-only' (calendar in a separate, dedicated frame); with\nany other value the current frame is used.  Using any of the first\nthree options overrides the value of `calendar-view-diary-initially-flag'." (choice (const :tag "calendar and diary in separate frame" one-frame) (const :tag "calendar and diary each in own frame" two-frames) (const :tag "calendar in separate frame" calendar-only) (const :tag "use current frame" nil)) calendar-minimum-window-height 8 "Minimum height `calendar-generate-window' should use for calendar window." :version "22.1" calendar-split-width-threshold "Value to use for `split-width-threshold' when creating a calendar.\nThis only affects frames wider than the default value of\n`split-width-threshold'." (choice (const nil) (integer)) "23.2" calendar-week-start-day "The day of the week on which a week in the calendar begins.\n0 means Sunday (default), 1 means Monday, and so on.\n\nIf you change this variable directly (without using customize)\nafter starting `calendar', you should call `calendar-redraw' to\nupdate the calendar display to reflect the change, otherwise\nmovement commands will not work correctly." :initialize custom-initialize-default :set #[(sym val) "	L\210\302 \207" [sym val calendar-redraw] 2] defvaralias view-diary-entries-initially calendar-view-diary-initially-flag (saved-value saved-variable-comment) put make-obsolete-variable "23.1" "Non-nil means display current date's diary entries on entry to calendar.\nThe diary is displayed in another window when the calendar is first displayed,\nif the current date is visible.  The number of days of diary entries displayed\nis governed by the variable `diary-number-of-entries'.  This variable can\nbe overridden by the value of `calendar-setup'." boolean diary mark-diary-entries-in-calendar calendar-mark-diary-entries-flag "Non-nil means mark dates with diary entries, in the calendar window.\nThe marking symbol is specified by the variable `diary-entry-marker'." calendar-remove-frame-by-deleting "Determine how the calendar mode removes a frame no longer needed.\nIf nil, make an icon of the frame.  If non-nil, delete the frame." view custom-declare-face calendar-today ((t (:underline t))) "Face for indicating today's date in the calendar.\nSee the variable `calendar-today-marker'." calendar-today-face face-alias obsolete-face purecopy ((((min-colors 88) (class color) (background light)) :foreground "red1") (((class color) (background light)) :foreground "red") (((min-colors 88) (class color) (background dark)) :foreground "yellow1") (((class color) (background dark)) :foreground "yellow") (t :weight bold)) "Face for highlighting diary entries.\nUsed to mark diary entries in the calendar (see `diary-entry-marker'),\nand to highlight the date header in the fancy diary." diary-face holiday ((((class color) (background light)) :background "pink") (((class color) (background dark)) :background "chocolate4") (t :inverse-video t)) "Face for indicating in the calendar dates that have holidays.\nSee `calendar-holiday-marker'." holiday-face diary-entry-marker 'diary "How to mark dates that have diary entries.\nThe value can be either a single-character string (e.g. \"+\") or a face." (choice (string :tag "Single character string") face) calendar-today-marker 'calendar-today "How to mark today's date in the calendar.\nThe value can be either a single-character string (e.g. \"=\") or a face.\nUsed by `calendar-mark-today'." (choice (string :tag "Single character string") face) calendar-holiday-marker 'holiday "How to mark notable dates in the calendar.\nThe value can be either a single-character string (e.g. \"*\") or a face." (choice (string :tag "Single character string") face) holidays view-calendar-holidays-initially calendar-view-holidays-initially-flag "Non-nil means display holidays for current three month period on entry.\nThe holidays are displayed in another window when the calendar is first\ndisplayed." mark-holidays-in-calendar calendar-mark-holidays-flag "Non-nil means mark dates of holidays in the calendar window.\nThe marking symbol is specified by the variable `calendar-holiday-marker'." calendar-mode-hook "Hook run when entering `calendar-mode'." hook calendar-load-hook "List of functions to be called after the calendar is first loaded.\nThis is the place to add key bindings to `calendar-mode-map'." initial-calendar-window-hook calendar-initial-window-hook "List of functions to be called when the calendar window is created.\nQuitting the calendar and re-entering it will cause these functions\nto be called again." today-visible-calendar-hook calendar-today-visible-hook "List of functions called whenever the current date is visible.\nTo mark today's date, add the function `calendar-mark-today'.\nTo replace the date with asterisks, add the function `calendar-star-date'.\nSee also `calendar-today-invisible-hook'.\n\nIn general, be careful about changing characters in the calendar buffer,\nsince it may cause the movement commands to fail." :options (calendar-mark-today calendar-star-date) today-invisible-calendar-hook calendar-today-invisible-hook "List of functions called whenever the current date is not visible.\nSee also `calendar-today-visible-hook'." calendar-move-hook "List of functions called whenever the cursor moves in the calendar.\nFor example,\n\n  (add-hook 'calendar-move-hook (lambda () (diary-view-entries 1)))\n\nredisplays the diary for whatever date the cursor is moved to." (calendar-update-mode-line) calendar-date-echo-text "mouse-2: general menu\nmouse-3: menu for this date" "String displayed when the cursor is over a date in the calendar.\nCan be either a fixed string, or a lisp expression that returns one.\nWhen this expression is evaluated, DAY, MONTH, and YEAR are\nintegers appropriate to the relevant date.  For example, to\ndisplay the ISO date:\n\n  (setq calendar-date-echo-text '(format \"ISO date: %s\"\n                                         (calendar-iso-date-string\n                                          (list month day year))))\nChanging this variable without using customize has no effect on\npre-existing calendar windows." :risky #[(sym val) "	L\210\302 \207" [sym val calendar-redraw] 2] (choice (string :tag "Fixed string") (sexp :value (format "ISO date: %s" (calendar-iso-date-string (list month day year)))))] 17)
#@65 Width of the region with numbers in each month in the calendar.
(defvar calendar-month-digit-width nil (#$ . 10172))
#@43 Full width of each month in the calendar.
(defvar calendar-month-width nil (#$ . 10295))
#@31 Right margin of the calendar.
(defvar calendar-right-margin nil (#$ . 10390))
#@250 Alist of month edge columns.
Each element has the form (N LEFT FIRST LAST RIGHT), where
LEFT is the leftmost column associated with month segment N,
FIRST and LAST are the first and last columns with day digits in,
and LAST is the rightmost column.
(defvar calendar-month-edges nil (#$ . 10475))
#@250 Compute the month edge columns for month SEGMENT.
Returns a list (LEFT FIRST LAST RIGHT), where LEFT is the
leftmost column associated with a month, FIRST and LAST are the
first and last columns with day digits in, and LAST is the
rightmost column.
(defalias 'calendar-month-edges #[(segment) #@246 ("	\n_\\\211\fS\\	\306=\2030\306\202 0\307	\n_	\310\245[#\n\307	T\n_	\310\245[#\n
F,\207" . [calendar-left-margin segment calendar-month-width first calendar-month-digit-width last 0 + 2 calendar-intermonth-spacing left right])(#$ . 11078) nil 6 (#$ . 10778)])
#@53 Recompute some layout-related calendar "constants".
(defalias 'calendar-recompute-layout-variables #[nil #@365 ("\306_	\\\307_\\\310
\307_\311_\312_#\313
\311\314W\203?0\315!B
B
T\211\202$0*\316
!\211
\207" . [calendar-column-width calendar-day-digit-width calendar-month-digit-width calendar-intermonth-spacing calendar-month-width calendar-left-margin 6 7 + 3 2 nil 0 calendar-month-edges reverse calendar-right-margin i --dotimes-limit--])(#$ . 11474) nil 6 (#$ . 11362)])
#@143 Set SYMBOL's value to VALUE, an integer.
A positive/negative MINMAX enforces a minimum/maximum value.
Then redraw the calendar, if necessary.
(defalias 'calendar-set-layout-variable #[(symbol value &optional minmax) #@206 ("J\304\n\2030\n\305W\2030\n[^\2020\n]\2020\"\210	\232?\205+0\306 \210\307 )\207" . [symbol oldvalue minmax value custom-set-default 0 calendar-recompute-layout-variables calendar-redraw])(#$ . 12101) nil 4 (#$ . 11878)])
(byte-code "\302\303\304\305\306\307\310\311\312\313\314\315\316\317&
\210\302\320\321\322\306\307\310\311\312\323\314\315\316\317&
\210\302\324\325\326\310\311\312\327\314\315\316\317&\210\302\330\331\332\306\307\310\311\312\333\314\315\316\317&
\210\302\334\331\335\306\307\310\311\312\336\314\315\316\317&
\210\302\337\340\341\306\307\310\311\342\343\312\344\314\345\316\317&\210\302\346\340\347\306\307\310\311\342\343\312\350\314\351\316\317&\210\302\352\353\354\314\355\306\356&\210\302\357\360\361\314\362\306\356&\210\363\364\365\340#\210\366\340\211\203\273	@\364N\203\264\365N\204\264\367\365\364N#\210	A\211\204\235*\370\364\365\317#\210\302\365\371\372\314\362\306\356&\210\363\373\374\340#\210\366\340\211\203\371	@\373N\203\362\374N\204\362\367\374\373N#\210	A\211\204\333*\370\373\374\317#\210\302\374\375\376\314\362\306\356&\210\363\377\201@\340#\210\366\340\211\203=	@\377N\2036\201@N\2046\367\201@\377N#\210	A\211\204*\370\377\201@\317#\210\302\201@\201A\201B\314\362\306\356&\210\302\201C\340\201D\314\201E\310\311\312\201F\306\307&\210\370\201C\201G\317#\210\302\201G\201H\201I\316\317\314\201J\310\311\312\201K\306\307&
\210\302\201L\201M\201N\316\201O\314\201P\306\356&	\210\363\201Q\201R\340#\210\366\340\211\203\342	@\201QN\203\333\201RN\204\333\367\201R\201QN#\210	A\211\204\274*\370\201Q\201R\317#\210\302\201R\201S\201T\314\201U\306\356&\210\363\201V\201W\340#\210\366\340\211\2038	@\201VN\2031\201WN\2041\367\201W\201VN#\210	A\211\204*\370\201V\201W\317#\210\302\201W\201X\201Y\314\201Z\306\356&\210\302\201[\201\\\201]\314\201^\201_\201`\310\311\312\201a\306\356&
\210\302\201b\201c\201d\314\201e\316\317\306\307&	\210\363\201f\201g\340#\210\366\340\211\203\302	@\201fN\203\273\201gN\204\273\367\201g\201fN#\210	A\211\204\234*\370\201f\201g\317#\210\302\201g\201h\201i\314\201e\306\307&\210\363\201j\201k\340#\210\366\340\211\203	@\201jN\203\201kN\204\367\201k\201jN#\210	A\211\204\362*\370\201j\201k\317#\210\302\201k\201l\201m\314\201e\306\307&\210\302\201n\201o\201p\314\201e\201_\201q\306\307&	\210\302\201r\201s\201t\306\307\342\343\314\201e\316\201u&\210\302\201v\201w\201x\306\307\342\343\314\201e\316\201u&\210\302\201y\201z\201{\306\307\342\343\314\201e\316\201u&\210\302\201|\201}\201~\306\307\310\311\342\343\312\201\201_\201\200\314\201e\316\201u&\207" [prop --dolist-tail-- custom-declare-variable calendar-left-margin 5 "Empty space to the left of the first month in the calendar." :group calendar :initialize custom-initialize-default :set calendar-set-layout-variable :type integer :version "23.1" calendar-intermonth-spacing 4 "Space between months in the calendar.  Minimum value is 1." #[(sym val) "\302	\303#\207" [sym val calendar-set-layout-variable 1] 4] calendar-column-width 3 "Width of each day column in the calendar.  Minimum value is 3." #[(sym val) "\302	\303#\207" [sym val calendar-set-layout-variable 3] 4] calendar-day-header-width 2 "Width of the day column headers in the calendar.\nMust be at least one less than `calendar-column-width'." #[(sym val) "\303	\304\nZ#\207" [sym val calendar-column-width calendar-set-layout-variable 1] 5] calendar-day-digit-width "Width of the day digits in the calendar.  Minimum value is 2." #[(sym val) "\302	\303#\207" [sym val calendar-set-layout-variable 2] 4] calendar-intermonth-header nil "Header text to display in the space to the left of each calendar month.\nSee `calendar-intermonth-text'." :risky t #[(sym val) "	L\210\302 \207" [sym val calendar-redraw] 2] (choice (const nil :tag "Nothing") (string :tag "Fixed string") (sexp :value (propertize "WK" 'font-lock-face 'font-lock-function-name-face))) calendar-intermonth-text "Text to display in the space to the left of each calendar month.\nCan be nil, a fixed string, or a lisp expression that returns a string.\nWhen the expression is evaluated, the variables DAY, MONTH and YEAR\nare integers appropriate for the first day in each week.\nWill be truncated to the smaller of `calendar-left-margin' and\n`calendar-intermonth-spacing'.  The last character is forced to be a space.\nFor example, to display the ISO week numbers:\n\n  (setq calendar-week-start-day 1\n        calendar-intermonth-text\n        '(propertize\n          (format \"%2d\"\n                  (car\n                   (calendar-iso-from-absolute\n                    (calendar-absolute-from-gregorian (list month day year)))))\n          'font-lock-face 'font-lock-function-name-face))\n\nSee also `calendar-intermonth-header'." #[(sym val) "	L\210\302 \207" [sym val calendar-redraw] 2] (choice (const nil :tag "Nothing") (string :tag "Fixed string") (sexp :value (propertize (format "%2d" (car (calendar-iso-from-absolute (calendar-absolute-from-gregorian (list month day year))))) 'font-lock-face 'font-lock-function-name-face))) diary-file "~/diary" "Name of the file in which one's personal diary of dates is kept.\n\nThe file's entries are lines beginning with any of the forms\nspecified by the variable `diary-date-forms', which by default\nuses the forms of `diary-american-date-forms':\n\n            MONTH/DAY\n            MONTH/DAY/YEAR\n            MONTHNAME DAY\n            MONTHNAME DAY, YEAR\n            DAYNAME\n\nwith the remainder of the line being the diary entry string for\nthat date.  MONTH and DAY are one or two digit numbers, YEAR is a\nnumber and may be written in full or abbreviated to the final two\ndigits (if `diary-abbreviated-year-flag' is non-nil).  MONTHNAME\nand DAYNAME can be spelled in full (as specified by the variables\n`calendar-month-name-array' and `calendar-day-name-array'), or\nabbreviated (as specified by `calendar-month-abbrev-array' and\n`calendar-day-abbrev-array') with or without a period.  Case is\nignored.  Any of DAY, MONTH, or MONTHNAME, YEAR can be `*' which\nmatches any day, month, or year, respectively.  If the date does\nnot contain a year, it is generic and applies to any year.  A\nDAYNAME entry applies to the appropriate day of the week in every week.\n\nYou can customize `diary-date-forms' to your preferred format.\nThree default styles are provided: `diary-american-date-forms',\n`diary-european-date-forms', and `diary-iso-date-forms'.\nYou can choose between these by setting `calendar-date-style' in your\ninit file, or by using `calendar-set-date-style' when in the calendar.\n\nA diary entry can be preceded by the character `diary-nonmarking-symbol'\n(ordinarily `&') to make that entry nonmarking--that is, it will not be\nmarked on dates in the calendar window but will appear in a diary window.\n\nMultiline diary entries are made by indenting lines after the first with\neither a TAB or one or more spaces.\n\nLines not in one the above formats are ignored.  Here are some sample diary\nentries (in the default American style):\n\n     12/22/1988 Twentieth wedding anniversary!!\n     &1/1. Happy New Year!\n     10/22 Ruth's birthday.\n     21: Payday\n     Tuesday--weekly meeting with grad students at 10am\n              Supowit, Shen, Bitner, and Kapoor to attend.\n     1/13/89 Friday the thirteenth!!\n     &thu 4pm squash game with Lloyd.\n     mar 16 Dad's birthday\n     April 15, 1989 Income tax due.\n     &* 15 time cards due.\n\nIf the first line of a diary entry consists only of the date or day name with\nno trailing blanks or punctuation, then that line is not displayed in the\ndiary window; only the continuation lines is shown.  For example, the\nsingle diary entry\n\n     02/11/1989\n      Bill Blattner visits Princeton today\n      2pm Cognitive Studies Committee meeting\n      2:30-5:30 Lizzie at Lawrenceville for `Group Initiative'\n      4:00pm Jamie Tappenden\n      7:30pm Dinner at George and Ed's for Alan Ryan\n      7:30-10:00pm dance at Stewart Country Day School\n\nwill appear in the diary window without the date line at the beginning.  This\nfacility allows the diary window to look neater, but can cause confusion if\nused with more than one day's entries displayed.\n\nDiary entries can be based on Lisp sexps.  For example, the diary entry\n\n      %%(diary-block 11 1 1990 11 10 1990) Vacation\n\ncauses the diary entry \"Vacation\" to appear from November 1 through\nNovember 10, 1990.  See the documentation for the function\n`diary-list-sexp-entries' for more details.\n\nDiary entries based on the Hebrew, the Islamic and/or the Bahá'í\ncalendar are also possible, but because these are somewhat slow, they\nare ignored unless you set the `diary-nongregorian-listing-hook' and\nthe `diary-nongregorian-marking-hook' appropriately.  See the\ndocumentation of these hooks for details.\n\nDiary files can contain directives to include the contents of other files; for\ndetails, see the documentation for the variable `diary-list-entries-hook'." file diary diary-nonmarking-symbol "&" "Symbol indicating that a diary entry is not to be marked in the calendar." string defvaralias hebrew-diary-entry-symbol diary-hebrew-entry-symbol (saved-value saved-variable-comment) put make-obsolete-variable "H" "Symbol indicating a diary entry according to the Hebrew calendar." islamic-diary-entry-symbol diary-islamic-entry-symbol "I" "Symbol indicating a diary entry according to the Islamic calendar." bahai-diary-entry-symbol diary-bahai-entry-symbol "B" "Symbol indicating a diary entry according to the Bahá'í calendar." european-calendar-style "Non-nil means use the European style of dates in the diary and display.\nIn this case, a date like 1/2/1990 would be interpreted as\nFebruary 1, 1990.  See `diary-european-date-forms' for the\ndefault European diary date styles.\n\nSetting this variable directly does not take effect (if the\ncalendar package is already loaded).  Rather, use either\n\\[customize] or the function `calendar-set-date-style'." boolean #[(symbol value) "\203\301\302!\207\301\303!\207" [value calendar-set-date-style european american] 2] calendar-date-style (if european-calendar-style 'european 'american) "Your preferred style for writing dates.\nThe options are:\n`american' - month/day/year\n`european' - day/month/year\n`iso'      - year/month/day\nThis affects how dates written in your diary are interpreted.\nIt also affects date display, as well as those calendar and diary\nfunctions that take a date as an argument, e.g. `diary-date', by\nchanging the order in which the arguments are interpreted.\n\nSetting this variable directly does not take effect (if the\ncalendar package is already loaded).  Rather, use either\n\\[customize] or the function `calendar-set-date-style'." (choice (const american :tag "Month/Day/Year") (const european :tag "Day/Month/Year") (const iso :tag "Year/Month/Day")) #[(symbol value) "\301!\207" [value calendar-set-date-style] 2] diary-iso-date-forms '((month "[-/]" day "[^-/0-9]") (year "[-/]" month "[-/]" day "[^0-9]") (monthname " *" day "[^-0-9]") (year " *" monthname " *" day "[^0-9]") (dayname "\\W")) "List of pseudo-patterns describing the ISO style of dates.\nThe defaults are: MONTH[-/]DAY; YEAR[-/]MONTH[-/]DAY; MONTHNAME DAY;\nYEAR MONTHNAME DAY; DAYNAME.  Normally you should not customize this,\nbut `diary-date-forms' (which see)." "23.3" (repeat (choice (cons :tag "Backup" :value (backup) (const backup) (repeat (list :inline t :format "%v" (symbol :tag "Keyword") (choice symbol regexp)))) (repeat (list :inline t :format "%v" (symbol :tag "Keyword") (choice symbol regexp))))) american-date-diary-pattern diary-american-date-forms '((month "/" day "[^/0-9]") (month "/" day "/" year "[^0-9]") (monthname " *" day "[^,0-9]") (monthname " *" day ", *" year "[^0-9]") (dayname "\\W")) "List of pseudo-patterns describing the American style of dates.\nThe defaults are: MONTH/DAY; MONTH/DAY/YEAR; MONTHNAME DAY;\nMONTHNAME DAY, YEAR; DAYNAME.  Normally you should not customize this,\nbut `diary-date-forms' (which see)." (repeat (choice (cons :tag "Backup" :value (backup) (const backup) (repeat (list :inline t :format "%v" (symbol :tag "Keyword") (choice symbol regexp)))) (repeat (list :inline t :format "%v" (symbol :tag "Keyword") (choice symbol regexp))))) european-date-diary-pattern diary-european-date-forms '((day "/" month "[^/0-9]") (day "/" month "/" year "[^0-9]") (backup day " *" monthname "\\W+\\<\\([^*0-9]\\|\\([0-9]+[:aApP]\\)\\)") (day " *" monthname " *" year "[^0-9]") (dayname "\\W")) "List of pseudo-patterns describing the European style of dates.\nThe defaults are: DAY/MONTH; DAY/MONTH/YEAR; DAY MONTHNAME;\nDAY MONTHNAME YEAR; DAYNAME.  Normally you should not customize this, but\n`diary-date-forms' (which see)." (repeat (choice (cons :tag "Backup" :value (backup) (const backup) (repeat (list :inline t :format "%v" (symbol :tag "Keyword") (choice symbol regexp)))) (repeat (list :inline t :format "%v" (symbol :tag "Keyword") (choice symbol regexp))))) diary-date-forms (cond ((eq calendar-date-style 'iso) diary-iso-date-forms) ((eq calendar-date-style 'european) diary-european-date-forms) (t diary-american-date-forms)) "List of pseudo-patterns describing the forms of date used in the diary.\nThe patterns on the list must be MUTUALLY EXCLUSIVE and should not match\nany portion of the diary entry itself, just the date component.\n\nA pseudo-pattern is a list of regular expressions and the keywords `month',\n`day', `year', `monthname', and `dayname'.  The keyword `monthname' will\nmatch the name of the month (see `calendar-month-name-array'), capitalized\nor not, or its user-specified abbreviation (see `calendar-month-abbrev-array'),\nfollowed by a period or not; it will also match `*'.  Similarly, `dayname'\nwill match the name of the day (see `calendar-day-name-array'), capitalized or\nnot, or its user-specified abbreviation (see `calendar-day-abbrev-array'),\nfollowed by a period or not.  The keywords `month', `day', and `year' will\nmatch those numerical values, preceded by arbitrarily many zeros; they will\nalso match `*'.\n\nThe matching of the diary entries with the date forms is done with the\nstandard syntax table from Fundamental mode, but with the `*' changed so\nthat it is a word constituent.\n\nIf, to be mutually exclusive, a pseudo-pattern must match a portion of the\ndiary entry itself, the first element of the pattern MUST be `backup'.  This\ndirective causes the date recognizer to back up to the beginning of the\ncurrent word of the diary entry, so in no case can the pattern match more than\na portion of the first word of the diary entry.\n\nFor examples of three common styles, see `diary-american-date-forms',\n`diary-european-date-forms', and `diary-iso-date-forms'." (repeat (choice (cons :tag "Backup" :value (backup) (const backup) (repeat (list :inline t :format "%v" (symbol :tag "Keyword") (choice symbol regexp)))) (repeat (list :inline t :format "%v" (symbol :tag "Keyword") (choice symbol regexp))))) :set-after (calendar-date-style diary-iso-date-forms diary-european-date-forms diary-american-date-forms) #[(symbol value) "\303	!\232?\205\304	\"\210\302 \305 \205\306 \207" [value symbol diary-font-lock-keywords eval custom-set-default diary-live-p diary] 3] calendar-iso-date-display-form '((format "%s-%.2d-%.2d" year (string-to-number month) (string-to-number day))) "Pseudo-pattern governing the way a date appears in the ISO style.\nNormally you should not customize this, but `calendar-date-display-form'\n(which see)." sexp european-calendar-display-form calendar-european-date-display-form '((if dayname (concat dayname ", ")) day " " monthname " " year) "Pseudo-pattern governing the way a date appears in the European style.\nNormally you should not customize this, but `calendar-date-display-form'\n(which see)." american-calendar-display-form calendar-american-date-display-form '((if dayname (concat dayname ", ")) monthname " " day ", " year) "Pseudo-pattern governing the way a date appears in the American style.\nNormally you should not customize this, but `calendar-date-display-form'\n(which see)." calendar-date-display-form (cond ((eq calendar-date-style 'iso) calendar-iso-date-display-form) ((eq calendar-date-style 'european) calendar-european-date-display-form) (t calendar-american-date-display-form)) "Pseudo-pattern governing the way a calendar date appears.\nUsed by the function `calendar-date-string' (which see), a pseudo-pattern\nis a list of expressions that can involve the keywords `month', `day',\nand `year' (all numbers in string form), and `monthname' and `dayname'\n(both alphabetic strings).  For example, a typical American form would be\n\n       '(month \"/\" day \"/\" (substring year -2))\n\nwhereas\n\n       '((format \"%9s, %9s %2s, %4s\" dayname monthname day year))\n\nwould give the usual American style in fixed-length fields.  The variables\n`calendar-iso-date-display-form', `calendar-european-date-display-form', and\n`calendar-american-date-display-form' provide some defaults for three common\nstyles." (calendar-date-style calendar-iso-date-display-form calendar-european-date-display-form calendar-american-date-display-form) calendar-american-month-header '(propertize (format "%s %d" (calendar-month-name month) year) 'font-lock-face 'font-lock-function-name-face) "Default format for calendar month headings with the American date style.\nNormally you should not customize this, but `calender-month-header'." "24.3" calendar-european-month-header '(propertize (format "%s %d" (calendar-month-name month) year) 'font-lock-face 'font-lock-function-name-face) "Default format for calendar month headings with the European date style.\nNormally you should not customize this, but `calender-month-header'." calendar-iso-month-header '(propertize (format "%d %s" year (calendar-month-name month)) 'font-lock-face 'font-lock-function-name-face) "Default format for calendar month headings with the ISO date style.\nNormally you should not customize this, but `calender-month-header'." calendar-month-header (cond ((eq calendar-date-style 'iso) calendar-iso-month-header) ((eq calendar-date-style 'european) calendar-european-month-header) (t calendar-american-month-header)) "Expression to evaluate to return the calendar month headings.\nWhen this expression is evaluated, the variables MONTH and YEAR are\nintegers appropriate to the relevant month.  The result is padded\nto the width of `calendar-month-digit-width'.\n\nFor examples of three common styles, see `calendar-american-month-header',\n`calendar-european-month-header', and `calendar-iso-month-header'.\n\nChanging this variable without using customize has no effect on\npre-existing calendar windows." #[(sym val) "	L\210\302 \207" [sym val calendar-redraw] 2] (calendar-date-style calendar-american-month-header calendar-european-month-header calendar-iso-month-header)] 19)
#@142 Set the style of calendar and diary dates to STYLE (a symbol).
The valid styles are described in the documentation of `calendar-date-style'.
(defalias 'calendar-set-date-style #[(style) #@369 ("\305>\2040\306\307\310\311\"!J\307\310\312\"!J\307\310\313\"!J\314 \210\315 \207" . [style calendar-date-style calendar-date-display-form calendar-month-header diary-date-forms (american european iso) american intern-soft format "calendar-%s-date-display-form" "calendar-%s-month-header" "diary-%s-date-forms" calendar-redraw calendar-update-mode-line])(#$ . 31430) nil 4 (#$ . 31237) (list (intern (completing-read "Date style: " '("american" "european" "iso") nil t nil nil "american")))])
#@68 Set the interpretation and display of dates to the European style.
(defalias 'european-calendar #[nil #@56 ("\300\301!\207" . [calendar-set-date-style european])(#$ . 32050) nil 2 (#$ . 31942) nil])
(make-obsolete 'european-calendar 'calendar-set-date-style "23.1")
#@68 Set the interpretation and display of dates to the American style.
(defalias 'american-calendar #[nil #@56 ("\300\301!\207" . [calendar-set-date-style american])(#$ . 32323) nil 2 (#$ . 32215) nil])
(byte-code "\302\303\304\305#\210\306\307\310\311#\210\312\311\211\2032	@\307N\203+\310N\204+\313\310\307N#\210	A\211\204*\314\307\310\305#\210\315\310\316\317\320\321\322\323&\210\315\324\311\325\320\321\322\326&\210\306\327\330\311#\210\312\311\211\203{	@\327N\203t\330N\204t\313\330\327N#\210	A\211\204]*\314\327\330\305#\210\315\330\311\331\320\321\322\323&\210\306\332\333\311#\210\312\311\211\203\271	@\332N\203\262\333N\204\262\313\333\332N#\210	A\211\204\233*\314\332\333\305#\210\315\333\311\334\320\321\322\323&\210\306\335\336\311#\210\312\311\211\203\367	@\335N\203\360\336N\204\360\313\336\335N#\210	A\211\204\331*\314\335\336\305#\210\315\336\311\337\320\321\322\323&\210\306\340\341\311#\210\312\311\211\2035	@\340N\203.\341N\204.\313\341\340N#\210	A\211\204*\314\340\341\305#\210\315\341\311\342\320\321\322\323&\210\315\343\311\344\345\305\320\321\322\323&	\210\346 \207" [prop --dolist-tail-- make-obsolete american-calendar calendar-set-date-style "23.1" defvaralias holidays-in-diary-buffer diary-show-holidays-flag nil (saved-value saved-variable-comment) put make-obsolete-variable custom-declare-variable t "Non-nil means include holidays in the diary display.\nThe holidays appear in the mode line of the diary buffer, or in the\nfancy diary buffer next to the date.  This slows down the diary functions\nsomewhat; setting it to nil makes the diary display faster." :type boolean :group holidays calendar-debug-sexp "Turn debugging on when evaluating a sexp in the diary or holiday list." calendar all-hebrew-calendar-holidays calendar-hebrew-all-holidays-flag "If nil, show only major holidays from the Hebrew calendar.\nThis means only those Jewish holidays that appear on secular calendars.\nOtherwise, show all the holidays that would appear in a complete Hebrew\ncalendar." all-christian-calendar-holidays calendar-christian-all-holidays-flag "If nil, show only major holidays from the Christian calendar.\nThis means only those Christian holidays that appear on secular calendars.\nOtherwise, show all the holidays that would appear in a complete Christian\ncalendar." all-islamic-calendar-holidays calendar-islamic-all-holidays-flag "If nil, show only major holidays from the Islamic calendar.\nThis means only those Islamic holidays that appear on secular calendars.\nOtherwise, show all the holidays that would appear in a complete Islamic\ncalendar." all-bahai-calendar-holidays calendar-bahai-all-holidays-flag "If nil, show only major holidays from the Bahá'í calendar.\nThese are the days on which work and school must be suspended.\nOtherwise, show all the holidays that would appear in a complete Bahá'í\ncalendar." calendar-chinese-all-holidays-flag "If nil, show only the major holidays from the Chinese calendar." :version calendar-recompute-layout-variables] 11)
#@46 First row in the calendar with actual dates.
(defconst calendar-first-date-row 3 (#$ . 35299))
#@43 Name of the buffer used for the calendar.
(defconst calendar-buffer "*Calendar*" (#$ . 35400))
#@58 Name of the buffer used for the displaying the holidays.
(defconst holiday-buffer "*Holidays*" (#$ . 35501))
#@70 Name of the buffer used for the optional fancy display of the diary.
(defconst diary-fancy-buffer "*Fancy Diary Entries*" (#$ . 35616))
(byte-code "\302\303\304\305#\210\306\305\211\203,	@\303N\203%\304N\204%\307\304\303N#\210	A\211\204*\310\303\304\311#\207" [prop --dolist-tail-- defvaralias fancy-diary-buffer diary-fancy-buffer nil (saved-value saved-variable-comment) put make-obsolete-variable "23.1"] 6)
#@69 Name of the buffer used for the display of date on other calendars.
(defconst calendar-other-calendars-buffer "*Other Calendars*" (#$ . 36046))
#@47 Name of the buffer used for the lunar phases.
(defconst lunar-phases-buffer "*Phases of Moon*" (#$ . 36196))
#@47 Name of buffer used for sunrise/sunset times.
(defconst solar-sunrises-buffer "*Sunrise/Sunset Times*" (#$ . 36311))
#@51 Name of the buffer used by `list-yahrzeit-dates'.
(defconst calendar-hebrew-yahrzeit-buffer "*Yahrzeits*" (#$ . 36434))
#@230 Increment the variables MON and YR by N months.
Forward if N is positive or backward if N is negative.
A negative YR is interpreted as BC; -1 being 1 BC, and so on.
Optional NMONTHS is the number of months per year (default 12).
(defalias 'calendar-increment-month '(macro . #[(mon yr n &optional nmonths) #@346 ("\304\300\305\306BBD\307B\310\311	\312BB\313	\314	DEE\313\315\316\317	\320BB\n\321\257\n\322	\323BBBBBB\324\325\326\n\327BB\313	\330	DEF\310\311	\331BB\313	\330	DEE\257\207" . [nmonths yr mon n let or (12) (macro-y) if < (0) setq 1+ macro-y + * (nmonths) -1 (1+ (mod macro-y nmonths)) ((/ macro-y nmonths)) and (< macro-y 0) > (1) 1- (1)])(#$ . 36874) nil 11 (#$ . 36561)]))
(byte-code "\300\301\302\303#\210\304\301\302\305#\207" [defalias increment-calendar-month calendar-increment-month nil make-obsolete "23.1"] 4)
#@148 Return the Nth month after MON/YR.
The return value is a pair (MONTH . YEAR).
MON defaults to `displayed-month'.  YR defaults to `displayed-year'.
(defalias 'calendar-increment-month-cons #[(n &optional mon yr) #@230 ("\2040	\n\204\f0\306\307\n\310W\2030\nT\311\n
_\312
$\313\f
\"T\f
\245\f\310W\203<0\314V\203<0\nS\n\314W\203E0\nS*\nB\207" . [mon displayed-month yr displayed-year macro-y nmonths 12 nil 0 + -1 mod 1 n])(#$ . 37624) nil 5 (#$ . 37406)])
#@163 Execute a for loop.
Evaluate BODY with VAR bound to successive integers from INIT to FINAL,
inclusive.  The standard macro `dotimes' is preferable in most cases.
(defalias 'calendar-for-loop '(macro . #[(var from init to final do &rest body) #@98 ("\304\305	DDC\306\307\n\310\311DEEBBE\207" . [var init final body let 1- while >= setq 1+])(#$ . 38141) nil 9 (#$ . 37893)]))
(byte-code "\300\301\302\303#\210\304\301\305\306#\210\304\301\307\310#\207" [make-obsolete calendar-for-loop "use `dotimes' or `while' instead." "23.1" put edebug-form-spec (symbolp "from" form "to" form "do" body) lisp-indent-function defun] 4)
#@76 For INDEX = INITIAL, +1, ... (as long as CONDITION holds), sum EXPRESSION.
(defalias 'calendar-sum '(macro . #[(index initial condition expression) #@145 ("\304	D\305B\306\n\307\310\311\310E\312D\257E\313BBB\207" . [index initial condition expression let ((sum 0)) while setq sum + 1+ (sum)])(#$ . 38680) nil 10 (#$ . 38525)]))
(put 'calendar-sum 'edebug-form-spec '(symbolp form form form))
#@182 Switch to BUFFER and execute the forms in BODY.
First creates or erases BUFFER as needed.  Leaves BUFFER read-only,
with disabled undo.  Leaves point at point-min, displays BUFFER.
(defalias 'calendar-in-read-only-buffer '(macro . #[(buffer &rest body) #@332 ("\302\303\304DD\305\306\307\310	\311\312\313\314DF\"BBBBB\207" . [buffer body progn set-buffer get-buffer-create (or (derived-mode-p 'special-mode) (special-mode)) (setq buffer-read-only nil buffer-undo-list t) (erase-buffer) append (goto-char (point-min)) (set-buffer-modified-p nil) (setq buffer-read-only t) display-buffer])(#$ . 39190) nil 12 (#$ . 38930)]))
(byte-code "\300\301\302\303#\210\300\301\304\305#\207" [put calendar-in-read-only-buffer lisp-indent-function 1 edebug-form-spec t] 4)
#@69 Extract the month part of DATE which has the form (month day year).
(defalias 'calendar-extract-month #[(date) #@21 ("@\207" . [date])(#$ . 39815) nil 1 (#$ . 39698)])
(byte-code "\300\301\302\303#\210\304\305\301\306#\210\307\305\301\310#\207" [put calendar-extract-month byte-optimizer byte-compile-inline-expand defalias extract-calendar-month nil make-obsolete "23.1"] 4)
#@67 Extract the day part of DATE which has the form (month day year).
(defalias 'calendar-extract-day #[(date) #@30 ("\211A@)\207" . [date x])(#$ . 40195) nil 2 (#$ . 40082)])
(byte-code "\300\301\302\303#\210\304\305\301\306#\210\307\305\301\310#\207" [put calendar-extract-day byte-optimizer byte-compile-inline-expand defalias extract-calendar-day nil make-obsolete "23.1"] 4)
#@68 Extract the year part of DATE which has the form (month day year).
(defalias 'calendar-extract-year #[(date) #@27 ("\3018\207" . [date 2])(#$ . 40582) nil 2 (#$ . 40467)])
(byte-code "\300\301\302\303#\210\304\305\301\306#\210\307\305\301\310#\207" [put calendar-extract-year byte-optimizer byte-compile-inline-expand defalias extract-calendar-year nil make-obsolete "23.1"] 4)
#@108 Return t if YEAR is a Gregorian leap year.
A negative year is interpreted as BC; -1 being 1 BC, and so on.
(defalias 'calendar-leap-year-p #[(year) #@119 ("\301W\2030\302!S\303\304\246!\205!0\303\305\246!?\206!0\303\306\246!\207" . [year 0 abs zerop 4 100 400])(#$ . 41009) nil 3 (#$ . 40854)])
(put 'calendar-leap-year-p 'byte-optimizer 'byte-compile-inline-expand)
#@36 The last day in MONTH during YEAR.
(defalias 'calendar-last-day-of-month #[(month year) #@209 ("\302U\203/0	\211\303W\2030\304	!S\305	\306\246!\205)0\305	\307\246!?\206)0\305	\310\246!)\203/0\311\207\312SH\207" . [month year 2 0 abs zerop 4 100 400 29 [31 28 31 30 31 30 31 31 30 31 30 31]])(#$ . 41333) nil 4 (#$ . 41238)])
(put 'calendar-last-day-of-month 'byte-optimizer 'byte-compile-inline-expand)
#@180 Return the day number within the year of the date DATE.
For example, (calendar-day-number '(1 1 1987)) returns the value 1,
while (calendar-day-number '(12 31 1980)) returns 366.
(defalias 'calendar-day-number #[(date) #@263 ("\211@)\211\211A@*\3068)	S\307_\\	\306V\203W0
\310	\311_\\\312\245Z\f\211\313W\203:0\314\f!S\315\f\311\246!\205P0\315\f\316\246!?\206P0\315\f\317\246!)\203W0
T
,\207" . [date month x day year day-of-year 2 31 23 4 10 0 abs zerop 100 400])(#$ . 41885) nil 5 (#$ . 41659)])
(put 'calendar-day-number 'byte-optimizer 'byte-compile-inline-expand)
#@295 The number of days elapsed between the Gregorian date 12/31/1 BC and DATE.
The Gregorian date Sunday, December 31, 1 BC is imaginary.
DATE is a list of the form (month day year).  A negative year is
interpreted as BC; -1 being 1 BC, and so on.  Dates before 12/31/1 BC
return negative results.
(defalias 'calendar-absolute-from-gregorian #[(date) #@907 ("\3068)\307\310\n!\2030\311\312!\202h\n\313V\203\2210\nS\314\211\211@)\211\211A@*\3068)
S\315_\\\306V\203}0\316\317_\\\320\245Z\n\211\313W\203^0\321\n!S\310\n\317\246!\205t0\310\n\322\246!?\206t0\310\n\323\246!)\203}0T-	\324_	\317\245	\322\245[	\323\245%\202h\321\nT!\325\211\211@)\211\211A@*\3068)
S\315_\\\306V\203\3650\316\317_\\\320\245Z\n\211\313W\203\3260\321\n!S\310\n\317\246!\205\3540\310\n\322\246!?\206\3540\310\n\323\246!)\203\3650T-	\324_	\317\245	\322\245[	\323\245\326\211\211@)\211\211A@*\3068)
S\315_\\\306V\203c\316\317_\\\320\245Z\n\211\313W\203D\321\n!S\310\n\317\246!\205Z\310\n\322\246!?\206Z\310\n\323\246!)\203cT-&*\207" . [date offset-years year month x day 2 nil zerop error "There was no year zero" 0 + 31 23 4 10 abs 100 400 365 - (12 31 -1) day-of-year])(#$ . 42612) nil 11 (#$ . 42258)])
(put 'calendar-absolute-from-gregorian 'byte-optimizer 'byte-compile-inline-expand)
#@1614 Display a three-month Gregorian calendar.
The three months appear side by side, with the current month in
the middle surrounded by the previous and next months.  The
cursor is put on today's date.  If optional prefix argument ARG
is non-nil, prompts for the central month and year.

Once in the calendar window, future or past months can be moved
into view.  Arbitrary months can be displayed, or the calendar
can be scrolled forward or backward.  The cursor can be moved
forward or backward by one day, one week, one month, or one year.
All of these commands take prefix arguments which, when negative,
cause movement in the opposite direction.  For convenience, the
digit keys and the minus sign are automatically prefixes.  Use
\[describe-mode] for details of the key bindings in the calendar
window.

Displays the calendar in a separate window, or optionally in a
separate frame, depending on the value of `calendar-setup'.

If `calendar-view-diary-initially-flag' is non-nil, also displays the
diary entries for the current date (or however many days
`diary-number-of-entries' specifies).  This variable can be
overridden by `calendar-setup'.  As well as being displayed,
diary entries can also be marked on the calendar (see
`calendar-mark-diary-entries-flag').

Runs the following hooks:

`calendar-load-hook' - after loading calendar.el
`calendar-today-visible-hook', `calendar-today-invisible-hook' - after
   generating a calendar, if today's date is visible or not, respectively
`calendar-initial-window-hook' - after first creating a calendar

This function is suitable for execution in an init file.
(defalias 'calendar #[(&optional arg) #@177 ("\302>\2030\303 \2030\304	\"\207\305	!\207" . [calendar-setup arg (one-frame two-frames calendar-only) display-multi-frame-p calendar-frame-setup calendar-basic-setup])(#$ . 45302) nil 3 (#$ . 43644) "P"])
#@200 Create a three-month calendar.
If optional prefix argument ARG is non-nil, prompts for the month
and year, else uses the current date.  If NODISPLAY is non-nil, don't
display the generated calendar.
(defalias 'calendar-basic-setup #[(&optional arg nodisplay) #@1199 ("p\306	!q\210\307 \210\310\311\f$\2030\312\310!\2020\313 \211%\211%@)&%%\314%8)'\315\316()'\317W\203D0'T'\320')_&\321*[$(\322()\"T&()\245'(\317W\203v0&\323V\203v0'S''\323W\203\2020'S'*+\204\2550\324\310!\203\2210\325 \210\326	!\210\327 \204\2550\330 \203\2550\331 ,\332!\210\333,!\210)\334&'\"\210-\203\3030\335%!\203\3030\336 \210..\203\3500\337/!\2110\205\3300\3400!\2111\203\3420\314\202\3430\311\341 \210+\342\343!\207" . [buff calendar-buffer pop-up-windows split-height-threshold calendar-split-width-threshold split-width-threshold get-buffer-create calendar-mode t 1000 calendar-read-date calendar-current-date 2 12 nil 0 + -1 mod 1 window-splittable-p split-window-right pop-to-buffer window-dedicated-p window-full-height-p split-window-below switch-to-buffer select-window calendar-generate-window calendar-date-is-visible-p diary-view-entries get-file-buffer get-buffer-window calendar-list-holidays run-hooks calendar-initial-window-hook arg date month year macro-y nmonths calendar-offset nodisplay win calendar-view-diary-initially-flag calendar-view-holidays-initially-flag diary-file diary-buffer diary-window])(#$ . 45789) nil 6 (#$ . 45522) "P"])
#@115 Generate the calendar window for the current date.
Optional integers MON and YR are used instead of today's date.
(defalias 'calendar-generate-window #[(&optional mon yr) #@1138 ("\306\307 \211\211@)	\211\211A@*	\310\n8)_ ?\206/0\311\312 !_$!\313X\"\314\315 !\316#!=$\317 \206C0!\206J0_\"\210\320 \210\321\"\203Y0	\202_0%\313&E!\210\322\323!\210$\203\2020\324 \203y0\325\323\211'#\210\202~0\326\323\327\"\210\330\327!\210\331\332!\203\2200\203\2200\333 \210(\203\2430\334 \203\2430$\203\2430\330\327!\210\335\216)\205\2540\336 .\207" . [inhibit-read-only today date month x day t calendar-current-date 2 abs calendar-interval 1 window-buffer selected-window get-buffer calendar-generate calendar-update-mode-line calendar-cursor-to-visible-date set-buffer-modified-p nil window-combined-p fit-window-to-buffer set-window-vscroll 0 sit-for boundp font-lock-mode font-lock-fontify-buffer calendar-mark-holidays ((byte-code "\2030\301\302!\210\2020\301\303!\210\301\207" [today-visible run-hooks calendar-today-visible-hook calendar-today-invisible-hook] 2)) diary-mark-entries year mon yr today-visible calendar-buffer in-calendar-window displayed-month displayed-year calendar-minimum-window-height calendar-mark-holidays-flag calendar-mark-diary-entries-flag])(#$ . 47210) nil 7 (#$ . 47031)])
#@72 Generate a three-month Gregorian calendar centered around MONTH, YEAR.
(defalias 'calendar-generate #[(month year) #@592 ("	S\306_\\\307W\2030\310\311!\210	\312 \210\306\313	\314W\203#0	T\315	
_\316\211$\317\f
\"T\f
\245\f\314W\203E0\320V\203E0	S	\320W\203N0	S*\321\314W\205\2540\322	_\\#\210\306\313	\314W\203w0	T\315	
_\316\320$\317\f
\"T\f
\245\f\314W\203\2310\320V\203\2310	S	\320W\203\2420	S*T\211\202W0*\207" . [month year displayed-month displayed-year macro-y nmonths 12 2 error "Months before January, 1 AD cannot be displayed" erase-buffer nil 0 + -1 mod 1 3 calendar-generate-month i --dotimes-limit-- calendar-left-margin calendar-month-width])(#$ . 48508) nil 7 (#$ . 48386)])
#@62 Like `move-to-column', but indents if the line is too short.
(defalias 'calendar-move-to-column #[(indent) #@54 ("\301!W\205\n0j\207" . [indent move-to-column])(#$ . 49251) nil 2 (#$ . 49138)])
#@55 Move to the next line, adding a newline if necessary.
(defalias 'calendar-ensure-newline #[nil #@49 ("\300\301y!\206	0\302c\207" . [zerop 1 "\n"])(#$ . 49444) nil 2 (#$ . 49343)])
#@233 Move to column INDENT, adding spaces as needed.
Inserts STRING so that it ends at INDENT.  STRING is either a
literal string, or a sexp to evaluate to return such.  Truncates
STRING to length TRUNCATE, and ensures a trailing space.
(defalias 'calendar-insert-at-column #[(indent string truncate) #@404 ("\303\304\305\217\2040\306!\207\307	!\nV\2030\310	\n\"\311\312	\"\204F0\307	!\nU\203.0	\313\314O\202/0	\307	!	GU\203<0\315\202D0\316\315\317\320\321E#P\306\307	!Z!\210	c\207" . [indent string truncate nil (byte-code "\301!\211;\207" [string eval] 2) ((error)) calendar-move-to-column string-width truncate-string-to-width string-match " $" 0 -1 " " propertize display space :align-to])(#$ . 49835) nil 7 (#$ . 49532)])
#@302 Produce a calendar for MONTH, YEAR on the Gregorian calendar.
The calendar is inserted at the top of the buffer in which point is currently
located, but indented INDENT spaces.  The indentation is done from the first
character on the line and does not disturb the first INDENT characters on the
line.
(defalias 'calendar-generate-month #[(month year indent) #@1340 ("\306\307\310	E!\nZ\311\"	\211\312U\203@0	\211\313W\203\"0\314	!S\315	\316\246!\20580\315	\317\246!?\20680\315	\320\246!)\203@0\321\202D0\322SH*\fS^\310\323%&'(eb\210\324)!\210\325*C\326+#c\210\327 \210\330),&#\210\311\313-.-.W\203\2620\331\306\n-\\\311\"\323\332#/\203\2310\333
0\"\202\2360
\3130O\33410Z\326\"\261\210-T\211-\202z0*\327 \210\330)2&#\210\334(1_\326\"c\210'\313-.-.W\2055-T%\335\211\3363\"%\33413Z\326\"#c\210\337`3TZ`S\340\341\342\3434!\344BBBB#\210\315\306%(\\\311\"!\203,%'U\204,\327 \210%T%\330)2&#\210-T\211-\202\3220.\207" . [month year calendar-week-start-day calendar-intermonth-spacing calendar-left-margin string mod calendar-day-of-week 1 7 2 0 abs zerop 4 100 400 29 [31 28 31 30 31 30 31 31 30 31 30 31] nil calendar-move-to-column calendar-string-spread 32 calendar-ensure-newline calendar-insert-at-column calendar-day-name t truncate-string-to-width make-string format "%%%dd%%s" set-text-properties mouse-face highlight help-echo eval (date t) day trunc last blank-days indent calendar-month-header calendar-month-digit-width calendar-intermonth-header i --dotimes-limit-- enable-multibyte-characters calendar-day-header-width calendar-column-width calendar-intermonth-text calendar-day-digit-width calendar-date-echo-text])(#$ . 50644) nil 9 (#$ . 50278)])
#@60 Redraw the calendar display, if `calendar-buffer' is live.
(defalias 'calendar-redraw #[nil #@219 ("\304!\2050rq\210\305 \306\n\"\210\307	!*\207" . [calendar-buffer cursor-date displayed-month displayed-year get-buffer calendar-cursor-to-nearest-date calendar-generate-window calendar-cursor-to-visible-date])(#$ . 52121) nil 3 (#$ . 52022) nil])
#@29 Keymap for `calendar-mode'.
(defvar calendar-mode-map (byte-code "\306 \307!\210\310\311\211\203\"\n@\312\313\314	\"\315#\210\nA\211\204*\312\316\317#\210\312\320\317#\210\312\321\322#\210\312\323\322#\210\312\324\325#\210\312\326\325#\210\312\327\330#\210\312\331\330#\210\312\332\333#\210\312\334\335#\210\312\336\337#\210\312\340\341#\210\312\342\343#\210\312\344\345#\210\312\346\333#\210\312\347\335#\210\312\350\343#\210\312\351\345#\210\312\352\353#\210\312\354\355#\210\312\356\357#\210\312\360\361#\210\312\362\363#\210\312\364\365#\210\312\366\367#\210\312\370\371#\210\312\372\373#\210\312\374\373#\210\312\375\376#\210\312\377\201E#\210\312\201F\201G#\210\312\201H\201I#\210\312\201J\201K#\210\312\201L\201M#\210\312\201N\201O#\210\312\201P\201Q#\210\312\201R\201S#\210\312\201T\201U#\210\312\201V\201W#\210\312\201X\201Y#\210\312\201Z\201[#\210\312\201\\\201]#\210\312\201^\201_#\210\312\201`\201a#\210\312\201b\201c#\210\312\201d\201e#\210\312\201f\201g#\210\312\201h\201i#\210\312\201j\201k#\210\312\201l\201m#\210\312\201n\201o#\210\312\201p\201q#\210\312\201r\201s#\210\312\201t\201u#\210\312\201v\201w#\210\312\201x\201y#\210\312\201z\201{#\210\312\201|\201}#\210\312\201~\201#\210\312\201\200\201\201#\210\312\201\202\201\203#\210\312\201\204\201\205#\210\312\201\206\201\207#\210\312\201\210\201\211#\210\312\201\212\201\213#\210\312\201\214\201\215#\210\312\201\216\201\217#\210\312\201\220\201\221#\210\312\201\222\201\223#\210\312\201\224\201\225#\210\312\201\226\201\227#\210\312\201\230\201\231#\210\312\201\232\201\233#\210\312\201\234\201\235#\210\312\201\236\201\237#\210\312\201\240\201\241#\210\312\201\242\201\243#\210\312\201\244\201\245#\210\312\201\246\201\247#\210\312\201\250\201\251#\210\312\201\252\201\253#\210\312\201\254\201\255#\210\312\201\256\201\257#\210\312\201\260\201\261#\210\312\201\262\201\263#\210\312\201\264\201\265#\210\312\201\266\201\267#\210\312\201\270\201\271#\210\312\201\272\201\273#\210\312\201\274\201\275#\210\312\201\276\201\277#\210\312\201\300\201\301#\210\312\201\302\201\303#\210\312\201\304\201\305#\210\312\201\306\201\307#\210\312\201\310\201\311#\210\312\201\312\201\313#\210\312\201\314\201\315#\210\312\201\316\201\317#\210\312\201\320\201\321#\210\312\201\322\201\323#\210\312\201\324\201\325#\210\312\201\326\201\327#\210\312\201\330\201\331#\210\312\201\332\201\333#\210\312\201\334\201\335#\210\312\201\336\201\337#\210\312\201\340\201\341#\210\312\201\342\201\343#\210\312\201\344\201\345#\210\312\201\346\201\347#\210\312\201\350\201\351#\210\312\201\352\201\353#\210\312\201\354\201\355#\210\312\201\356\201\357#\210\312\201\360\201\361#\210\312\201\362\201\363#\210\312\201\364\201\363#\210\201\365\311\311$\210\201\365\311\311\f$\210\201\365\311\311
$\210\201\365\311\311@$\210\201\365\311\311A$\210\312\201\366\201\367B!#\210\312\201\370\201\367C!#\210\201\371\201D!\203\256D\203\256\312\201\372\201\373#\210\202\316\312\201\374\325#\210\312\201\375\325#\210\312\201\376\317#\210\312\201\377\317#\210)\207" [map c --dolist-tail-- cal-menu-sunmoon-menu cal-menu-diary-menu cal-menu-holidays-menu make-keymap suppress-keymap (narrow-to-region mark-word mark-sexp mark-paragraph mark-defun mark-whole-buffer mark-page downcase-region upcase-region kill-region copy-region-as-kill capitalize-region write-region) nil define-key vector remap calendar-not-implemented "<" calendar-scroll-right "<" [prior] calendar-scroll-right-three-months "v" ">" calendar-scroll-left ">" [next] calendar-scroll-left-three-months "" "" calendar-backward-day "" calendar-backward-week "{" calendar-backward-month "[" calendar-backward-year "" calendar-forward-day "" calendar-forward-week [left] [up] [right] [down] "}" calendar-forward-month "]" calendar-forward-year "" calendar-beginning-of-week "" calendar-end-of-week "a" calendar-beginning-of-month "e" calendar-end-of-month "<" calendar-beginning-of-year ">" calendar-end-of-year "" calendar-set-mark [67108896] "" calendar-exchange-point-and-mark "=" cal-menu-goto-menu cal-menu-scroll-menu cal-menu-context-mouse-menu cal-menu-global-mouse-menu x-toolkit-scroll-bars calendar-count-days-region "gd" calendar-goto-date "gD" calendar-goto-day-of-year "gj" calendar-julian-goto-date "ga" calendar-astro-goto-day-number "gh" calendar-hebrew-goto-date "gi" calendar-islamic-goto-date "gb" calendar-bahai-goto-date "gC" calendar-chinese-goto-date "gk" calendar-coptic-goto-date "ge" calendar-ethiopic-goto-date "gp" calendar-persian-goto-date "gc" calendar-iso-goto-date "gw" calendar-iso-goto-week "gf" calendar-french-goto-date "gml" calendar-mayan-goto-long-count-date "gmpc" calendar-mayan-previous-round-date "gmnc" calendar-mayan-next-round-date "gmph" calendar-mayan-previous-haab-date "gmnh" calendar-mayan-next-haab-date "gmpt" calendar-mayan-previous-tzolkin-date "gmnt" calendar-mayan-next-tzolkin-date "Aa" appt-add "Ad" appt-delete "S" calendar-sunrise-sunset "M" calendar-lunar-phases " " scroll-other-window "" scroll-other-window-down "\f" calendar-redraw "." calendar-goto-today "o" calendar-other-month "q" calendar-exit "a" calendar-list-holidays "h" calendar-cursor-holidays "x" calendar-mark-holidays "u" calendar-unmark "m" diary-mark-entries "d" diary-view-entries "D" diary-view-other-diary-entries "s" diary-show-all-entries "pd" calendar-print-day-of-year "pC" calendar-chinese-print-date "pk" calendar-coptic-print-date "pe" calendar-ethiopic-print-date "pp" calendar-persian-print-date "pc" calendar-iso-print-date "pj" calendar-julian-print-date "pa" calendar-astro-print-day-number "ph" calendar-hebrew-print-date "pi" calendar-islamic-print-date "pb" calendar-bahai-print-date "pf" calendar-french-print-date "pm" calendar-mayan-print-date "po" calendar-print-other-dates "id" diary-insert-entry "iw" diary-insert-weekly-entry "im" diary-insert-monthly-entry "iy" diary-insert-yearly-entry "ia" diary-insert-anniversary-entry "ib" diary-insert-block-entry "ic" diary-insert-cyclic-entry "ihd" diary-hebrew-insert-entry "ihm" diary-hebrew-insert-monthly-entry "ihy" diary-hebrew-insert-yearly-entry "iid" diary-islamic-insert-entry "iim" diary-islamic-insert-monthly-entry "iiy" diary-islamic-insert-yearly-entry "iBd" diary-bahai-insert-entry "iBm" diary-bahai-insert-monthly-entry "iBy" diary-bahai-insert-yearly-entry "?" calendar-goto-info-node "Hm" cal-html-cursor-month "Hy" cal-html-cursor-year "tm" cal-tex-cursor-month "tM" cal-tex-cursor-month-landscape "td" cal-tex-cursor-day "tw1" cal-tex-cursor-week "tw2" cal-tex-cursor-week2 "tw3" cal-tex-cursor-week-iso "tw4" cal-tex-cursor-week-monday "twW" cal-tex-cursor-week2-summary "tfd" cal-tex-cursor-filofax-daily "tfw" cal-tex-cursor-filofax-2week "tfW" cal-tex-cursor-filofax-week "tfy" cal-tex-cursor-filofax-year "ty" cal-tex-cursor-year "tY" cal-tex-cursor-year-landscape [menu-bar edit] undefined [menu-bar search] easy-menu-do-define [down-mouse-3] easy-menu-binding [down-mouse-2] boundp [vertical-scroll-bar mouse-1] calendar-scroll-toolkit-scroll [vertical-scroll-bar mouse-1] [vertical-scroll-bar drag-mouse-1] [vertical-scroll-bar mouse-3] [vertical-scroll-bar drag-mouse-3]] 6) (#$ . 52382))
(put 'calendar-mode 'mode-class 'special)
#@178 Return a propertized string for `calendar-mode-line-format'.
COMMAND is a command to run, ECHO is the help-echo text, KEY
is COMMAND's keybinding, STRING describes the binding.
(defalias 'calendar-mode-line-entry #[(command echo &optional key string) #@278 ("\304\206\f0\305\306\307	\n#!\310\306\311\"\312\313\314\315\316	\"&\207" . [key command string echo propertize substitute-command-keys format "\\<calendar-mode-map>\\[%s] %s" help-echo "mouse-1: %s" mouse-face mode-line-highlight keymap make-mode-line-mouse-map mouse-1])(#$ . 60170) nil 10 (#$ . 59912)])
#@1009 The mode line of the calendar buffer.
This is a list of items that evaluate to strings.  The elements
are evaluated and concatenated, evenly separated by blanks.
During evaluation, the variable `date' is available as the date
nearest the cursor (or today's date if that fails).  To update
the mode-line as the cursor moves, add `calendar-update-mode-line'
to `calendar-move-hook'.  Here is an example that has the Hebrew date,
the day number/days remaining in the year, and the ISO week/year numbers:

  (list
   ""
   '(calendar-hebrew-date-string date)
   '(let* ((year (calendar-extract-year date))
           (d (calendar-day-number date))
           (days-remaining
            (- (calendar-day-number (list 12 31 year)) d)))
      (format "%d/%d" d days-remaining))
   '(let* ((d (calendar-absolute-from-gregorian date))
           (iso-date (calendar-iso-from-absolute d)))
      (format "ISO week %d of %d"
        (calendar-extract-month iso-date)
        (calendar-extract-year iso-date)))
   ""))
(custom-declare-variable 'calendar-mode-line-format '(list (calendar-mode-line-entry 'calendar-scroll-right "previous month" "<") "Calendar" (concat (calendar-mode-line-entry 'calendar-goto-info-node "read Info on Calendar" nil "info") " / " (calendar-mode-line-entry 'calendar-other-month "choose another month" nil "other") " / " (calendar-mode-line-entry 'calendar-goto-today "go to today's date" nil "today")) '(calendar-date-string (calendar-current-date) t) (calendar-mode-line-entry 'calendar-scroll-left "next month" ">")) '(#$ . 60489) :risky t :type 'sexp :group 'calendar)
#@39 Go to the info node for the calendar.
(defalias 'calendar-goto-info-node #[nil #@82 ("\300\301!\210\302 \207" . [info "(emacs)Calendar/Diary" fit-window-to-buffer])(#$ . 62172) nil 2 (#$ . 62087) nil])
#@30 Used by `calendar-set-mark'.
(defvar calendar-mark-ring nil (#$ . 62296))
(byte-code "\300\301N\204\302\300\301\303\304!#\210\305\306!\204\302\306\307\310#\210\300\207" [calendar-mode-hook variable-documentation put purecopy "Hook run when entering Calendar mode.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it.  (This is true for all hook variables.)" boundp calendar-mode-map definition-name calendar-mode] 5)
(defvar calendar-mode-map (make-sparse-keymap))
(byte-code "\300\301N\204\302\300\301\303\304!#\210\305\306!\204\302\306\307\310#\210\300\207" [calendar-mode-map variable-documentation put purecopy "Keymap for `calendar-mode'." boundp calendar-mode-syntax-table definition-name calendar-mode] 5)
(defvar calendar-mode-syntax-table (make-syntax-table))
(byte-code "\300\301N\204\302\300\301\303\304!#\210\302\305\306\307#\207" [calendar-mode-syntax-table variable-documentation put purecopy "Syntax table for `calendar-mode'." calendar-mode-abbrev-table definition-name calendar-mode] 5)
(defvar calendar-mode-abbrev-table (progn (define-abbrev-table 'calendar-mode-abbrev-table nil) calendar-mode-abbrev-table))
(byte-code "\300\301N\204\302\300\301\303\304!#\210\302\305\306\307#\207" [calendar-mode-abbrev-table variable-documentation put purecopy "Abbrev table for `calendar-mode'." calendar-mode derived-mode-parent nil] 5)
#@233 A major mode for the calendar window.
For a complete description, see the info node `Calendar/Diary'.

\<calendar-mode-map>\{calendar-mode-map}

This mode runs the hook `calendar-mode-hook', as the final step
during initialization.
(defalias 'calendar-mode #[nil #@711 ("\306\300!\210\307\310 \210\311\312\313!\210\314\f!\210
\307\211\315\306\316!\210\317\320 \210\306\321!\210\306\322!\210\306\323!\210\324\322!\204@0\325\324\323!\204I0\326\306\327!\210\330)\331\332!\207" . [delay-mode-hooks major-mode mode-name calendar-mode-map calendar-mode-syntax-table calendar-mode-abbrev-table make-local-variable t kill-all-local-variables calendar-mode "Calendar" use-local-map set-syntax-table nil scroll-margin 0 calendar-update-mode-line calendar-mark-ring displayed-month displayed-year boundp 1 2001 font-lock-defaults (calendar-font-lock-keywords t) run-mode-hooks calendar-mode-hook local-abbrev-table buffer-read-only buffer-undo-list indent-tabs-mode])(#$ . 63964) nil 3 (#$ . 63694) nil])
#@364 Concatenate list of STRINGS separated with copies of CHAR to fill LENGTH.
The effect is like mapconcat but the separating pieces are as balanced as
possible.  Each item of STRINGS is evaluated before concatenation so it can
actually be an expression that evaluates to a string.  If LENGTH is too short,
the STRINGS are just concatenated and the result truncated.
(defalias 'calendar-string-spread #[(strings char length) #@346 ("\306\307G\310W\2030\311\312C\312C#\2020\"	\313\314\315\"!ZGS\316!_@A\317\320\211\203]0@
\321\317\n\\\f\245]\"QTA\211\204:0*\322
	\".\207" . [strings length n char m s mapcar eval 2 append "" string-width apply concat char-width 0 nil make-string truncate-string-to-width i string --dolist-tail--])(#$ . 65146) nil 7 (#$ . 64718)])
#@69 Update the calendar mode line with the current date and date style.
(defalias 'calendar-update-mode-line #[nil #@443 ("\306\307!!\20550rq\210	\310Z\311\312\313\217\314\315\316 @\317 @Z\\]\320\"\321\322\323\f\"\320
SZ#P*\324 )\207" . [calendar-buffer calendar-left-margin date start calendar-mode-line-format calendar-right-margin bufferp get-buffer 2 nil (calendar-cursor-to-nearest-date) ((error (calendar-current-date))) make-string 0 window-inside-edges window-edges 32 calendar-string-spread mapcar eval force-mode-line-update mode-line-format])(#$ . 65648) nil 6 (#$ . 65530)])
#@65 List of all calendar-related buffers (as buffers, not strings).
(defalias 'calendar-buffer-list #[nil #@349 ("\306	\n\f
\307	!\n\257\306\f\211
\203;0
@\211\f\20320\310\f!\211\f\20320\fB
A\211
\2040*)\207" . [buffs calendar-hebrew-yahrzeit-buffer lunar-phases-buffer holiday-buffer diary-fancy-buffer solar-sunrises-buffer nil get-file-buffer get-buffer diary-file calendar-buffer calendar-other-calendars-buffer b --dolist-tail--])(#$ . 66238) nil 9 (#$ . 66129)])
#@65 Get out of the calendar window and hide it and related buffers.
(defalias 'calendar-exit #[(&optional kill) #@746 ("\306!\307 \211\2030\310\n!\2030\311\312!\205\2130\203n0\313 \203n0\314\315\211\316#\315\211\205j0
@\317\f!	>\203b0\320\f!\203b0\321\f!\322=\203\\0\203S0\323\324\f!!\210\202b0\325\324\f!!\210\202b0\326\f\"\210
A\211\204,0\315*\202\2130	\315\211\205\2120
@\327\"\210
A\211\204w0\315**\207" . [diary-file calendar-buffers diary-buffer calendar-setup w --dolist-tail-- get-file-buffer calendar-buffer-list buffer-modified-p yes-or-no-p "Diary modified; do you really want to exit the calendar? " display-multi-frame-p window-list-1 nil t window-buffer window-dedicated-p window-deletable-p frame delete-frame window-frame iconify-frame quit-window quit-windows-on calendar-remove-frame-by-deleting kill b])(#$ . 66740) nil 5 (#$ . 66625) "P"])
(byte-code "\300\301\302\303#\210\304\301\302\305#\207" [defalias exit-calendar calendar-exit nil make-obsolete "23.1"] 4)
#@120 Return the current date in a list (month day year).
Optional integer OFFSET is a number of days from the current date.
(defalias 'calendar-current-date #[(&optional offset) #@1084 ("\306 \3078\3108\3118E\312	\2060\313!\2030\202\224\314	\211\315\n8)\316\312\f!\20350\317\320!\202\221\f\313V\203\2640\fS\321\n\211\211@)\n\211\211A@*\n\315\n8)
S\322_\\
\315V\203\2400\323
\307_\\\324\245Z\f\211\313W\203\2010\325\f!S\312\f\307\246!\205\2270\312\f\326\246!?\206\2270\312\f\327\246!)\203\2400T-\330_\307\245\326\245[\327\245%\202\221\325\fT!\331\n\211\211@)\n\211\211A@*\n\315\n8)
S\322_\\
\315V\203\323
\307_\\\324\245Z\f\211\313W\203\3740\325\f!S\312\f\307\246!\205\312\f\326\246!?\206\312\f\327\246!)\203T-\330_\307\245\326\245[\327\245\332\211\211@)\n\211\211A@*\n\315\n8)
S\322_\\
\315V\203\214\323
\307_\\\324\245Z\f\211\313W\203m\325\f!S\312\f\307\246!\205\203\312\f\326\246!?\206\203\312\f\327\246!)\203\214T-&+\\!*\207" . [now offset date offset-years year month decode-time 4 3 5 zerop 0 calendar-gregorian-from-absolute 2 nil error "There was no year zero" + 31 23 10 abs 100 400 365 - (12 31 -1) x day day-of-year])(#$ . 67833) nil 13 (#$ . 67652)])
#@113 Convert current column to calendar month "segment".
The left-most month returns 0, the next right 1, and so on.
(defalias 'calendar-column-to-segment #[nil #@138 ("\304\305i\306\245	[#]\211\307_\\\245)\207" . [calendar-intermonth-spacing calendar-left-margin col calendar-column-width 0 + 2 7])(#$ . 69120) nil 6 (#$ . 68957)])
#@273 Return a list (month day year) of current cursor position.
If cursor is not on a specific date, signals an error if optional parameter
ERROR is non-nil, otherwise just returns nil.
If EVENT is non-nil, it's an event indicating the buffer position to
use instead of point.
(defalias 'calendar-cursor-to-date #[(&optional error event) #@676 ("r\2030\306\307!\211@)!\2020pq\210\212\203=0\307!\211\203=0\310	8\206:0	A@:\20370	A@@\202:0	A@)b\210\311 \nS\\\312\246\313\314!\203T0\315`\316\"\204^0
\205\2430\317\320!\202\2430\321\f!\203f0\312\313\322!\204p0\323\324!\210\f\325`T\326\327`#{!\f\312U\203\2160\321\n!\203\2160S\202\2420\f\327U\203\2400\n\330U\203\2400T\202\2420E,\207" . [event position segment displayed-month month error window-buffer event-start 5 calendar-column-to-segment 12 looking-at "[ 0-9]?[0-9][^0-9]" get-text-property date user-error "Not on a date!" zerop " " re-search-backward "[^0-9]" string-to-number + 1 2 calendar-day-digit-width displayed-year])(#$ . 69637) nil 8 (#$ . 69297)])
#@233 Compute the list (month day year) corresponding to the absolute DATE.
The absolute date is the number of days elapsed since the (imaginary)
Gregorian date Sunday, December 31, 1 BC.  This function does not
handle dates in years BC.
(defalias 'calendar-gregorian-from-absolute #[(date) #@575 ("S\211\306\245	\306\246\211\307\245\307\246\211\310\245
\310\246\211\311\245\311\246T\312\n\313_\f\314_\315_$\316\317\f\315U\204L0\315U\203T0\320\321E\202\2770T\211\322U\203\2310\211\323W\203x0\324!S\325\315\246!\205\2210\325\314\246!?\206\2210\325\313\246!)\203\2310\326\202\2360\327SH*\211W\203\2700ZT\211\202[0E.\f\207" . [date d0 n400 d1 n100 d2 146097 36524 1461 365 + 400 100 4 1 nil 12 31 2 0 abs zerop 29 [31 28 31 30 31 30 31 31 30 31 30 31] n4 d3 n1 day year month mdays])(#$ . 70644) nil 6 (#$ . 70352)])
#@109 Display a three-month calendar centered around MONTH and YEAR.
EVENT is an event like `last-nonmenu-event'.
(defalias 'calendar-other-month #[(month year &optional event) #@546 ("\306 r\307\216	\2030\310	!\211\2030\311	\211@)!\210\fU\205$0
U?\205T0\312 \313 \314
\"\210\315\316!\203B0\202R0\316!\203N0\202R0\317
E!*+\207" . [save-selected-window--state event position month displayed-month year internal--before-save-selected-window ((internal--after-save-selected-window save-selected-window--state)) event-start select-window calendar-cursor-to-date calendar-current-date calendar-generate-window calendar-cursor-to-visible-date calendar-date-is-visible-p 1 displayed-year today old-date])(#$ . 71436) nil 5 (#$ . 71258) (byte-code "C\302\303\304!	\")\207" [last-nonmenu-event event append calendar-read-date noday] 3)])
#@194 Mark the date under the cursor, or jump to marked date.
With no prefix argument, push current date onto marked date ring.
With argument ARG, jump to mark, pop it, and put point at end of ring.
(defalias 'calendar-set-mark #[(arg &optional event) #@291 ("\305\306\"\n\203\"0\2040\307\310!\20270\311@!\210	C\244A\211\20270	B\211G\fTV\20340\f\233\312\241\210\313\314!)\207" . [event date arg calendar-mark-ring mark-ring-max calendar-cursor-to-date t error "No mark set in this buffer" calendar-goto-date nil message "Mark set"])(#$ . 72374) nil 4 (#$ . 72121) (list current-prefix-arg last-nonmenu-event)])
#@60 Exchange the current cursor position with the marked date.
(defalias 'calendar-exchange-point-and-mark #[nil #@176 ("@\303\304!\211\2040\305\306!\2020	AB\307\n!*\207" . [calendar-mark-ring date mark calendar-cursor-to-date t error "No mark set in this buffer" calendar-goto-date])(#$ . 72864) nil 4 (#$ . 72748) nil])
#@66 Count the number of days (inclusive) between point and the mark.
(defalias 'calendar-count-days-region #[nil #@1961 ("\306\307!\211\3108)\311\312\n!\2030\313\314!\202l\n\315V\203\2250\nS\316\211\211@)\211\211A@*\3108)
S\317_\\_\310V\203\2010_\320\321_\\\322\245Z_\n\211\315W\203b0\323\n!S\312\n\321\246!\205x0\312\n\324\246!?\206x0\312\n\325\246!)\203\2010_T__-	\326_	\321\245	\324\245[	\325\245%\202l\323\nT!\327\211\211@)\211\211A@*\3108)
S\317_\\_\310V\203\3710_\320\321_\\\322\245Z_\n\211\315W\203\3320\323\n!S\312\n\321\246!\205\3600\312\n\324\246!?\206\3600\312\n\325\246!)\203\3710_T__-	\326_	\321\245	\324\245[	\325\245\330\211\211@)\211\211A@*\3108)
S\317_\\_\310V\203g_\320\321_\\\322\245Z_\n\211\315W\203H\323\n!S\312\n\321\246!\205^\312\n\324\246!?\206^\312\n\325\246!)\203g_T__-&+ @\206v\313\331!\211\3108)\311\312\n!\203\214\313\314!\202\337\n\315V\203\nS\316\211\211@)\211\211A@*\3108)
S\317_\\_\310V\203\364_\320\321_\\\322\245Z_\n\211\315W\203\325\323\n!S\312\n\321\246!\205\353\312\n\324\246!?\206\353\312\n\325\246!)\203\364_T__-	\326_	\321\245	\324\245[	\325\245%\202\337\323\nT!\327\211\211@)\211\211A@*\3108)
S\317_\\_\310V\203l_\320\321_\\\322\245Z_\n\211\315W\203M\323\n!S\312\n\321\246!\205c\312\n\324\246!?\206c\312\n\325\246!)\203l_T__-	\326_	\321\245	\324\245[	\325\245\330\211\211@)\211\211A@*\3108)
S\317_\\_\310V\203\332_\320\321_\\\322\245Z_\n\211\315W\203\273\323\n!S\312\n\321\246!\205\321\312\n\324\246!?\206\321\312\n\325\246!)\203\332_T__-&+Z\211!\315V\203\356!\202\361![T!\332\333!\211\334V\203\335\202\336#*\207" . [date offset-years year month x day calendar-cursor-to-date t 2 nil zerop error "There was no year zero" 0 + 31 23 4 10 abs 100 400 365 - (12 31 -1) "No mark set in this buffer" message "Region has %d day%s (inclusive)" 1 "s" "" day-of-year calendar-mark-ring days])(#$ . 73199) nil 12 (#$ . 73082) nil])
#@18 Not implemented.
(defalias 'calendar-not-implemented #[nil #@112 ("\300\301\302\303 !\"\207" . [error "%s not available in the calendar" global-key-binding this-command-keys])(#$ . 75269) nil 4 (#$ . 75203) nil])
#@252 Return an object read from the minibuffer.
Prompt with the string PROMPT and use the function ACCEPTABLE to decide if
entered item is acceptable.  If non-nil, optional third arg INITIAL-CONTENTS
is a string to insert in the minibuffer before reading.
(defalias 'calendar-read #[(prompt acceptable &optional initial-contents) #@110 ("\304	\"\n!\2040\304	\"\2020\n)\207" . [prompt initial-contents value acceptable read-minibuffer])(#$ . 75756) nil 3 (#$ . 75424)])
#@47 Return non-nil if SYMBOL has been customized.
(defalias 'calendar-customized-p #[(symbol) #@129 ("\302!\2050\303N\211\2050\304	@!\305!\232?)\207" . [symbol standard default-boundp standard-value eval default-value])(#$ . 76001) nil 4 (#$ . 75904)])
#@128 From sequence FULL, return a vector of abbreviations.
Each abbreviation is no longer than `calendar-abbrev-length' characters.
(defalias 'calendar-abbrev-construct #[(full) #@115 ("\301\302\303\304\"\"\207" . [full apply vector mapcar #[(f) "\302	G^O\207" [f calendar-abbrev-length 0] 4]])(#$ . 76349) nil 5 (#$ . 76169)])
(byte-code "\300\301\302\303\304\305\306\307\310\311\312\313&\210\300\314\315\316\304\305\306\307\310\317\312\320&\210\300\321\322\323\304\305\306\307\324\325\310\326\312\327\330\331&\210\300\332\333\334\304\305\306\307\310\335\312\336&\210\300\337\340\341\304\305\324\342\312\343\330\331&\207" [custom-declare-variable calendar-day-name-array ["Sunday" "Monday" "Tuesday" "Wednesday" "Thursday" "Friday" "Saturday"] "Array of capitalized strings giving, in order from Sunday, the day names.\nThe first two characters of each string will be used to head the\nday columns in the calendar.\nIf you change this without using customize after the calendar has loaded,\nthen you may also want to change `calendar-day-abbrev-array'." :group calendar :initialize custom-initialize-default :set #[(symbol value) "\306\305!\306\307!\nL\210	\204\310\f!?\205#\311\307!\205#
\211*\207" [hcustomized dcustomized symbol value calendar-day-name-array calendar-day-abbrev-array calendar-customized-p cal-html-day-abbrev-array calendar-abbrev-construct boundp] 3] :type (vector (string :tag "Sunday") (string :tag "Monday") (string :tag "Tuesday") (string :tag "Wednesday") (string :tag "Thursday") (string :tag "Friday") (string :tag "Saturday")) calendar-abbrev-length 3 "Default length of abbreviations to use for day and month names.\nIf you change this without using customize after the calendar has loaded,\nthen you may also want to change `calendar-day-abbrev-array' and\n`calendar-month-abbrev-array'." #[(symbol value) "\306\307!\306\310!\306\311!\fL\210\n\204\312
!	\204#\312\f!?\2053\313\311!\2053\211	+\207" [hcustomized mcustomized dcustomized symbol value calendar-day-name-array calendar-customized-p calendar-day-abbrev-array calendar-month-abbrev-array cal-html-day-abbrev-array calendar-abbrev-construct boundp calendar-month-name-array] 4] integer calendar-day-abbrev-array (calendar-abbrev-construct calendar-day-name-array) "Array of capitalized strings giving the abbreviated day names.\nThe order should be the same as that of the full names specified\nin `calendar-day-name-array'.  These abbreviations may be used\ninstead of the full names in the diary file.  Do not include a\ntrailing `.' in the strings specified in this variable, though\nyou may use such in the diary file.  By default, each string is\nthe first `calendar-abbrev-length' characters of the corresponding\nfull name." :set-after (calendar-abbrev-length calendar-day-name-array) #[(symbol value) "\305\304!	\nL\210?\205\306\304!\205\211)\207" [hcustomized symbol value calendar-day-abbrev-array cal-html-day-abbrev-array calendar-customized-p boundp] 2] (vector (string :tag "Sun") (string :tag "Mon") (string :tag "Tue") (string :tag "Wed") (string :tag "Thu") (string :tag "Fri") (string :tag "Sat")) :version "24.1" calendar-month-name-array ["January" "February" "March" "April" "May" "June" "July" "August" "September" "October" "November" "December"] "Array of capitalized strings giving, in order, the month names.\nIf you change this without using customize after the calendar has loaded,\nthen you may also want to change `calendar-month-abbrev-array'." #[(symbol value) "\305\304!	\nL\210\206\306!\211)\207" [mcustomized symbol value calendar-month-name-array calendar-month-abbrev-array calendar-customized-p calendar-abbrev-construct] 2] (vector (string :tag "January") (string :tag "February") (string :tag "March") (string :tag "April") (string :tag "May") (string :tag "June") (string :tag "July") (string :tag "August") (string :tag "September") (string :tag "October") (string :tag "November") (string :tag "December")) calendar-month-abbrev-array (calendar-abbrev-construct calendar-month-name-array) "Array of capitalized strings giving the abbreviated month names.\nThe order should be the same as that of the full names specified\nin `calendar-month-name-array'.  These abbreviations are used in\nthe calendar menu entries, and can also be used in the diary\nfile.  Do not include a trailing `.' in the strings specified in\nthis variable, though you may use such in the diary file.  By\ndefault, each string is the first ``calendar-abbrev-length'\ncharacters of the corresponding full name." (calendar-abbrev-length calendar-month-name-array) (vector (string :tag "Jan") (string :tag "Feb") (string :tag "Mar") (string :tag "Apr") (string :tag "May") (string :tag "Jun") (string :tag "Jul") (string :tag "Aug") (string :tag "Sep") (string :tag "Oct") (string :tag "Nov") (string :tag "Dec"))] 16)
#@339 Return an association list corresponding to SEQUENCE.
Associates each element of SEQUENCE with an incremented integer,
starting from START-INDEX (default 1).  Applies the function FILTER,
if provided, to each key in the alist.  Repeats the process, with
indices starting from START-INDEX each time, for any remaining
arguments SEQUENCES.
(defalias 'calendar-make-alist #[(sequence &optional start-index filter &rest sequences) #@277 ("\2040\305\306\211\307\310\311C\f\"\"\210\312	!*\207" . [start-index alist index sequence sequences 1 nil mapc #[(seq) "\303\304\n\"\207" [start-index index seq mapc #[(elem) "\203\n0	!\2020	\nBB\nT\211\207" [filter elem index alist] 2]] 3] append reverse])(#$ . 81481) nil 5 (#$ . 81047)])
#@211 Prompt for Gregorian date.  Return a list (month day year).
If optional NODAY is t, does not ask for day, but just returns
(month 1 year); if NODAY is any other non-nil value the value returned is
(month year)
(defalias 'calendar-read-date #[(&optional noday) #@736 ("\306\307\310\311\312 \3138)!#\n\314\315\316\317\320\321\322\323\"\"\323\314$\324\325\"\314#A\211	\211\313U\203\\0	\211\326W\203>0\327	!S\330	\331\246!\205T0\330	\332\246!?\206T0\330	\333\246!)\203\\0\334\202`0\335
SH*!\"\203|0\"\314=\203v0
\325	E\202\2070
	D\202\2070
\306\336\337!\"\340\"	E-\207" . [date year calendar-month-name-array month-array completion-ignore-case month calendar-read "Year (>0): " #[(x) "\301V\207" [x 0] 2] number-to-string calendar-current-date 2 t assoc-string completing-read "Month name: " mapcar list append nil calendar-make-alist 1 0 abs zerop 4 100 400 29 [31 28 31 30 31 30 31 31 30 31 30 31] format "Day (1-%d): " #[(x) "\302W\205	0	X\207" [x last 0] 2] last noday])(#$ . 82064) nil 9 (#$ . 81797)])
#@203 The number of months difference between MON1, YR1 and MON2, YR2.
The result is positive if the second date is later than the first.
Negative years are interpreted as years BC; -1 being 1 BC, and so on.
(defalias 'calendar-interval #[(mon1 yr1 mon2 yr2) #@83 ("\304W\203	0T	\304W\2030	T	Z\305_\nZ\\\207" . [yr1 yr2 mon2 mon1 0 12])(#$ . 83098) nil 3 (#$ . 82839)])
#@49 Default keywords to highlight in Calendar mode.
(defvar calendar-font-lock-keywords (byte-code "\303\304\305\"\306\"\307P\310B\303	\311H\312\nO	\312H\312\nOD!\313B\303\304\314	\"!\315BE\207" [calendar-month-name-array calendar-day-name-array calendar-day-header-width regexp-opt mapcar identity t " -?[0-9]+" font-lock-function-name-face 6 0 font-lock-comment-face #[(x) "\302	O\207" [x calendar-day-header-width 0] 3] font-lock-constant-face] 6) (#$ . 83219))
#@443 Return a string with the name of the day of the week of DATE.
DATE should be a list in the format (MONTH DAY YEAR), unless the
optional argument ABSOLUTE is non-nil, in which case DATE should
be an integer in the range 0 to 6 corresponding to the day of the
week.  Day names are taken from the variable `calendar-day-name-array',
unless the optional argument ABBREV is non-nil, in which case
the variable `calendar-day-abbrev-array' is used.
(defalias 'calendar-day-name #[(date &optional abbrev absolute) #@149 ("\2030	\202	0\n\2030\f\2020\305\f!H\207" . [abbrev calendar-day-abbrev-array calendar-day-name-array absolute date calendar-day-of-week])(#$ . 84202) nil 3 (#$ . 83689)])
#@255 Return a string with the name of month number MONTH.
Months are numbered from one.  Month names are taken from the
variable `calendar-month-name-array', unless the optional
argument ABBREV is non-nil, in which case
`calendar-month-abbrev-array' is used.
(defalias 'calendar-month-name #[(month &optional abbrev) #@102 ("\2030	\202	0\nSH\207" . [abbrev calendar-month-abbrev-array calendar-month-name-array month])(#$ . 84709) nil 2 (#$ . 84390)])
#@186 Return the day-of-the-week index of DATE, 0 for Sunday, 1 for Monday, etc.
DATE is a list of the form (month day year).  A negative year is
interpreted as BC; -1 being 1 BC, and so on.
(defalias 'calendar-day-of-week #[(date) #@934 ("\306\211\3078)\310\311\n!\2030\312\313!\202k\n\314V\203\2240\nS\315\211\211@)\211\211A@*\3078)
S\316_\\\307V\203\2000\317\320_\\\321\245Z\n\211\314W\203a0\322\n!S\311\n\320\246!\205w0\311\n\323\246!?\206w0\311\n\324\246!)\203\2000T-	\325_	\320\245	\323\245[	\324\245%\202k\322\nT!\326\211\211@)\211\211A@*\3078)
S\316_\\\307V\203\3700\317\320_\\\321\245Z\n\211\314W\203\3310\322\n!S\311\n\320\246!\205\3570\311\n\323\246!?\206\3570\311\n\324\246!)\203\3700T-	\325_	\320\245	\323\245[	\324\245\327\211\211@)\211\211A@*\3078)
S\316_\\\307V\203f\317\320_\\\321\245Z\n\211\314W\203G\322\n!S\311\n\320\246!\205]\311\n\323\246!?\206]\311\n\324\246!)\203fT-&+\330\"\207" . [date offset-years year month x day mod 2 nil zerop error "There was no year zero" 0 + 31 23 4 10 abs 100 400 365 - (12 31 -1) 7 day-of-year])(#$ . 85083) nil 12 (#$ . 84850)])
#@68 Return the index (0 for Sunday, etc.) of the last day of the week.
(defalias 'calendar-week-end-day #[nil #@63 ("\301\302\\\303\"\207" . [calendar-week-start-day mod 6 7])(#$ . 86168) nil 3 (#$ . 86056)])
#@64 Delete all diary/holiday marks/highlighting from the calendar.
(defalias 'calendar-unmark #[nil #@164 ("\303\211r\nq\210\304\305\306ed\"\")\207" . [calendar-mark-holidays-flag calendar-mark-diary-entries-flag calendar-buffer nil mapc delete-overlay overlays-in])(#$ . 86372) nil 6 (#$ . 86269) nil])
#@72 Return non-nil if DATE is valid and is visible in the calendar window.
(defalias 'calendar-date-is-visible-p #[(date) #@147 ("\303!\2050\304\305	\n\211@)\3068)$!\306W\207" . [date displayed-month displayed-year calendar-date-is-valid-p abs calendar-interval 2])(#$ . 86703) nil 8 (#$ . 86578)])
#@482 Return non-nil if MONTH, DAY is visible in the calendar window.
MONTH and DAY are in some non-Gregorian calendar system.  The
functions TOABS and FROMABS convert that system to and from
absolute, respectively.  SWITCH is a function that takes a single
argument (a local month number).  It applies when the local year
changes across the calendar window, and returns non-nil if the
specified month should be associated with the higher year.
Returns the corresponding Gregorian date.
(defalias 'calendar-nongregorian-visible-p #[(month day toabs fromabs switch) #@2594 ("\n\n\306\307_ \310W\2030T\311 _	\312\211$_\313_ \"T_ \245_\310W\203@0	\314V\203@0S\314W\203I0S*	\314E\211!!\315!8)\307\"#\316#!\203j0\317\320!\202#\310V\203#S\"\311!\211!\211!@)$!\211!\211%A@*&!!\315!8)#&$S\321_\\'$\315V\203\3540'\322$\323_\\\324\245Z'#\211#\310W\203\3120\325#!S#\316#\323\246!\205\3430\316#\326\246!?\206\3430\316#\327\246!)\203\3540'T''-\"\330_\"\323\245\"\326\245[\"\327\245%\202\325#T!\"\331!\211!\211!@)$!\211!\211%A@*&!!\315!8)#&$S\321_\\'$\315V\203\201'\322$\323_\\\324\245Z'#\211#\310W\203_\325#!S#\316#\323\246!\205x\316#\326\246!?\206x\316#\327\246!)\203\201'T''-\"\330_\"\323\245\"\326\245[\"\327\245\332\211!\211!@)$!\211!\211%A@*&!!\315!8)#&$S\321_\\'$\315V\203	'\322$\323_\\\324\245Z'#\211#\310W\203\347\325#!S#\316#\323\246!\2050\316#\326\246!?\2060\316#\327\246!)\203	'T''-&+(\306\307_ 
\310W\203 
T\311
 _\f\312\314$_\313_ \"T_ \245_\310W\203I\f\314V\203I
S
\314W\203R
S*\f\211
#\211$\315U\203\222#\211#\310W\203q\325#!S#\316#\323\246!\205\212\316#\326\246!?\206\212\316#\327\246!)\203\222\333\202\227\334$SH*
E\211!!\315!8)\307\"#\316#!\203\266\317\320!\202Z#\310V\203P#S\"\311!\211!\211!@)$!\211!\211%A@*&!!\315!8)#&$S\321_\\'$\315V\2038'\322$\323_\\\324\245Z'#\211#\310W\203\325#!S#\316#\323\246!\205/\316#\326\246!?\206/\316#\327\246!)\2038'T''-\"\330_\"\323\245\"\326\245[\"\327\245%\202Z\325#T!\"\331!\211!\211!@)$!\211!\211%A@*&!!\315!8)#&$S\321_\\'$\315V\203\315'\322$\323_\\\324\245Z'#\211#\310W\203\253\325#!S#\316#\323\246!\205\304\316#\326\246!?\206\304\316#\327\246!)\203\315'T''-\"\330_\"\323\245\"\326\245[\"\327\245\332\211!\211!@)$!\211!\211%A@*&!!\315!8)#&$S\321_\\'$\315V\203U'\322$\323_\\\324\245Z'#\211#\310W\2033\325#!S#\316#\323\246!\205L\316#\326\246!?\206L\316#\327\246!)\203U'T''-&+)*(!+*)!,+!\315!8)-,!\315!8)./$!\203\216.\202\220-#\3350$&#E!!!\336!!\205\251!.\f\207" . [displayed-month m1 displayed-year y1 m2 y2 12 nil 0 + -1 mod 1 2 zerop error "There was no year zero" 31 23 4 10 abs 100 400 365 - (12 31 -1) 29 [31 28 31 30 31 30 31 31 30 31 30 31] calendar-gregorian-from-absolute calendar-date-is-visible-p macro-y nmonths date offset-years year month x day day-of-year start-date end-date fromabs local-start local-end local-y1 local-y2 switch toabs])(#$ . 87456) nil 11 (#$ . 86889)])
#@35 Return t if DATE is a valid date.
(defalias 'calendar-date-is-valid-p #[(date) #@353 ("\211@)\211\211A@*\3058)\306\fX\205r0\f\307X\205r0\205r0\n\205r0\306X\205r0\f\n\211\305U\203f0\n\211\310W\203H0\311\n!S\312\n\313\246!\205^0\312\n\314\246!?\206^0\312\n\315\246!)\203f0\316\202j0\317\fSH*X\205r0\306\nX+\207" . [date x year day month 2 1 12 0 abs zerop 4 100 400 29 [31 28 31 30 31 30 31 31 30 31 30 31]])(#$ . 90175) nil 5 (#$ . 90089)])
(byte-code "\300\301\302\303#\210\304\301\302\305#\207" [defalias calendar-date-is-legal-p calendar-date-is-valid-p nil make-obsolete "23.1"] 4)
#@47 Return t if the DATE1 and DATE2 are the same.
(defalias 'calendar-date-equal #[(date1 date2) #@117 ("\211@)\n\211@)U\205/0\211\211A@*\n\211\211A@*U\205/0\304	8)\n\304	8)U\207" . [date1 date date2 x 2])(#$ . 90811) nil 4 (#$ . 90711)])
#@137 Return a temporary face based on the attributes in ATTRLIST.
ATTRLIST is a list with elements of the form :face face :foreground color.
(defalias 'calendar-make-temp-face #[(attrlist) #@479 ("\306\211\211\211\20330\f@\307=\203'0\310\f\211A@)!\f\211AA)\211\202	0\f@B\fA\211\204\f0\311\n!\204;0\312\204C0\n\202_0\313\314\315\316\317#P!\320	!\210\321\n	\"\210\322\323	\306\237$\210	,\207" . [attrlist temp-face face faceinfo attrs x nil :face intern-soft facep default make-symbol ":caltemp" mapconcat #[(sym) "9\203	0\301!\207\247\2030\302!\207\207" [sym symbol-name number-to-string] 2] "" make-face copy-face apply set-face-attribute])(#$ . 91158) nil 7 (#$ . 90967)])
#@164 Mark DATE in the calendar window with MARK.
MARK is a single-character string, a list of face attributes/values, or a face.
MARK defaults to `diary-entry-marker'.
(defalias 'calendar-mark-visible-date #[(date &optional mark) #@446 ("\304!\205u0r	q\210\212\305!\210\n;\203_0\nG\306U\203_0\n\206:0\n<\203/0\nG\307V\203/0\n\206:0\310\n!\20390\n\206:0\310\n!\203N0\311\312`S`T\"\313\n#\202t0\n;\203h0\nG\306U\203h0\311\312`T\314`\\\"\315\n#\202t0\311\312`S`T\"\313\316\n!#*\207" . [date calendar-buffer mark diary-entry-marker calendar-date-is-valid-p calendar-cursor-to-visible-date 1 0 facep overlay-put make-overlay face 2 display calendar-make-temp-face])(#$ . 91908) nil 5 (#$ . 91676)])
(byte-code "\300\301\302\303#\210\304\301\302\305#\207" [defalias mark-visible-calendar-date calendar-mark-visible-date nil make-obsolete "23.1"] 4)
#@144 Replace the date under the cursor in the calendar window with asterisks.
You might want to add this function to `calendar-today-visible-hook'.
(defalias 'calendar-star-date #[nil #@387 ("\301\302\215?\205-0\303`S`\"\304\305\306#\210\304\307\310#\210\304\303``T\"\211\305\311\306!#\210\304\307\310#)\207" . [ol found (byte-code "\302`!\303\211\205!0	@\304\305\"\2030\306\307\310\"\210	A\211\204\n0\303*\207" [ol --dolist-tail-- overlays-at nil overlay-get calendar-star throw found t] 4) make-overlay overlay-put display "*" calendar-star t copy-sequence])(#$ . 92728) nil 5 (#$ . 92542)])
#@176 Mark the date under the cursor in the calendar window.
The date is marked with `calendar-today-marker'.  You might want to add
this function to `calendar-today-visible-hook'.
(defalias 'calendar-mark-today #[nil #@99 ("\301\302 \"\207" . [calendar-today-marker calendar-mark-visible-date calendar-cursor-to-date])(#$ . 93372) nil 3 (#$ . 93154)])
#@103 Return t if DATE1 is before DATE2, nil otherwise.
The actual dates are in the car of DATE1 and DATE2.
(defalias 'calendar-date-compare #[(date1 date2) #@1714 ("@\211\306	8)\307\310!\2030\311\312!\202q\313V\203\2260S\314	\211\211@)	\211\211A@*	\306	8)\fS\315_\\\f\306V\203\2020\316\f\317_\\\320\245Z\211\313W\203c0\321!S\310\317\246!\205y0\310\322\246!?\206y0\310\323\246!)\203\2020T-\n\324_\n\317\245\n\322\245[\n\323\245%\202q\321T!\325	\211\211@)	\211\211A@*	\306	8)\fS\315_\\\f\306V\203\3740\316\f\317_\\\320\245Z\211\313W\203\3350\321!S\310\317\246!\205\3630\310\322\246!?\206\3630\310\323\246!)\203\3740T-\n\324_\n\317\245\n\322\245[\n\323\245\326\211\211@)	\211\211A@*	\306	8)\fS\315_\\\f\306V\203l\316\f\317_\\\320\245Z\211\313W\203M\321!S\310\317\246!\205c\310\322\246!?\206c\310\323\246!)\203lT-&+@\211\306	8)\307\310!\203\213\311\312!\202\344\313V\203	S\314	\211\211@)	\211\211A@*	\306	8)\fS\315_\\\f\306V\203\365\316\f\317_\\\320\245Z\211\313W\203\326\321!S\310\317\246!\205\354\310\322\246!?\206\354\310\323\246!)\203\365T-\n\324_\n\317\245\n\322\245[\n\323\245%\202\344\321T!\325	\211\211@)	\211\211A@*	\306	8)\fS\315_\\\f\306V\203o\316\f\317_\\\320\245Z\211\313W\203P\321!S\310\317\246!\205f\310\322\246!?\206f\310\323\246!)\203oT-\n\324_\n\317\245\n\322\245[\n\323\245\326\211\211@)	\211\211A@*	\306	8)\fS\315_\\\f\306V\203\337\316\f\317_\\\320\245Z\211\313W\203\300\321!S\310\317\246!\205\326\310\322\246!?\206\326\310\323\246!)\203\337T-&+W\207" . [date1 date offset-years year month x 2 nil zerop error "There was no year zero" 0 + 31 23 4 10 abs 100 400 365 - (12 31 -1) day day-of-year date2])(#$ . 93669) nil 12 (#$ . 93510)])
#@348 A string form of DATE, driven by the variable `calendar-date-display-form'.
An optional parameter ABBREVIATE, when non-nil, causes the month
and day names to be abbreviated as specified by
`calendar-month-abbrev-array' and `calendar-day-abbrev-array',
respectively.  An optional parameter NODAYNAME, when t, omits the
name of the day of the week.
(defalias 'calendar-date-string #[(date &optional abbreviate nodayname) #@279 ("?\205	0\306	\n\"	\211@)\307\f\n\"\310	\211\211
A@*!\310\f!\310	\311	8)!\312\313\314#.\207" . [nodayname date abbreviate dayname month monthname calendar-day-name calendar-month-name number-to-string 2 mapconcat eval "" x day year calendar-date-display-form])(#$ . 95849) nil 5 (#$ . 95423)])
#@428 Return the absolute date of the DAYNAME on or before absolute DATE.
DAYNAME=0 means Sunday, DAYNAME=1 means Monday, and so on.

Note: Applying this function to d+6 gives us the DAYNAME on or after an
absolute day d.  Similarly, applying it to d+3 gives the DAYNAME nearest to
absolute date d, applying it to d-1 gives the DAYNAME previous to absolute
date d, and applying it to d+7 gives the DAYNAME following absolute date d.
(defalias 'calendar-dayname-on-or-before #[(dayname date) #@45 ("\211	Z\302\246Z\207" . [date dayname 7])(#$ . 96658) nil 3 (#$ . 96167)])
#@310 Absolute date of the Nth DAYNAME after/before MONTH YEAR DAY.
A DAYNAME of 0 means Sunday, 1 means Monday, and so on.
If N>0, return the Nth DAYNAME after MONTH DAY, YEAR (inclusive).
If N<0, return the Nth DAYNAME before MONTH DAY, YEAR (inclusive).
DAY defaults to 1 if N>0, and MONTH's last day otherwise.
(defalias 'calendar-nth-named-absday #[(n dayname month year &optional day) #@2084 ("\306V\203\221S\307_\310	\311\n\2060\312\fE\211\313
8)\314\315\f!\203,0\316\317!\202\214\f\306V\203\2560\fS\320
\211\211@)
\211\211A@*
\313
8)\nS\321_\\_\n\313V\203\2260_\322\n\323_\\\324\245Z_\f\211\306W\203w0\325\f!S\315\f\323\246!\205\2150\315\f\326\246!?\206\2150\315\f\327\246!)\203\2260_T__-\330_\323\245\326\245[\327\245%\202\214\325\fT!\331
\211\211@)
\211\211A@*
\313
8)\nS\321_\\_\n\313V\203_\322\n\323_\\\324\245Z_\f\211\306W\203\3650\325\f!S\315\f\323\246!\205\315\f\326\246!?\206\315\f\327\246!)\203_T__-\330_\323\245\326\245[\327\245\332\211\211@)
\211\211A@*
\313
8)\nS\321_\\_\n\313V\203\207_\322\n\323_\\\324\245Z_\f\211\306W\203h\325\f!S\315\f\323\246!\205~\315\f\326\246!?\206~\315\f\327\246!)\203\207_T__-&+\\\"\\\207T\307_\310	\n\206\326\n\f\211\313U\203\321\f\211\306W\203\263\325\f!S\315\f\323\246!\205\311\315\f\326\246!?\206\311\315\f\327\246!)\203\321\333\202\325\334\nSH*\fE\211\313
8)\314\315\f!\203\357\316\317!\202O\f\306V\203q\fS\320
\211\211@)
\211\211A@*
\313
8)\nS\321_\\_\n\313V\203Y_\322\n\323_\\\324\245Z_\f\211\306W\203:\325\f!S\315\f\323\246!\205P\315\f\326\246!?\206P\315\f\327\246!)\203Y_T__-\330_\323\245\326\245[\327\245%\202O\325\fT!\331
\211\211@)
\211\211A@*
\313
8)\nS\321_\\_\n\313V\203\327_\322\n\323_\\\324\245Z_\f\211\306W\203\270\325\f!S\315\f\323\246!\205\316\315\f\326\246!?\206\316\315\f\327\246!)\203\327_T__-\330_\323\245\326\245[\327\245\332\211\211@)
\211\211A@*
\313
8)\nS\321_\\_\n\313V\203J_\322\n\323_\\\324\245Z_\f\211\306W\203+\325\f!S\315\f\323\246!\205A\315\f\326\246!?\206A\315\f\327\246!)\203J_T__-&+\"\\\207" . [n dayname month day year date 0 7 calendar-dayname-on-or-before 6 1 2 nil zerop error "There was no year zero" + 31 23 4 10 abs 100 400 365 - (12 31 -1) 29 [31 28 31 30 31 30 31 31 30 31 30 31] offset-years x day-of-year])(#$ . 97135) nil 15 (#$ . 96742)])
#@118 Date of the Nth DAYNAME after/before MONTH YEAR DAY.
Like `calendar-nth-named-absday', but returns a Gregorian date.
(defalias 'calendar-nth-named-day #[(n dayname month year &optional day) #@115 ("\305\306	\n\f%!\207" . [n dayname month year day calendar-gregorian-from-absolute calendar-nth-named-absday])(#$ . 99456) nil 7 (#$ . 99259)])
#@96 String of day number of year of Gregorian DATE.
Defaults to today's date if DATE is not given.
(defalias 'calendar-day-of-year-string #[(&optional date) #@681 ("\2060\306 \211\3078)	\211\211@)\211\211A@*\3078)
S\310_\\\307V\203l0\311\312_\\\313\245Z\n\211\314W\203M0\315\n!S\316\n\312\246!\205c0\316\n\317\246!?\206c0\316\n\320\246!)\203l0T-\321\310\nE\211\211@)\211\211A@*\3078)
S\310_\\\307V\203\3210\311\312_\\\313\245Z\n\211\314W\203\2620\315\n!S\316\n\312\246!\205\3100\316\n\317\246!?\206\3100\316\n\320\246!)\203\3210T-
Z\322\323
\n\211\324U\203\3500\325\202\3510\326%,\207" . [date d year month x day calendar-current-date 2 31 23 4 10 0 abs zerop 100 400 12 format "Day %d of %d; %d day%s remaining in the year" 1 "" "s" day-of-year days-remaining])(#$ . 99769) nil 8 (#$ . 99609)])
#@136 Return a list of strings giving Gregorian DATE in other calendars.
DATE is (month day year).  Calendars that do not apply are omitted.
(defalias 'calendar-other-dates #[(date) #@1990 ("\306\307\306\310	!\311\312\313	!\"\311\314\315	!\"\311\316\317	!\"\311\320	\211\321	8)\306\322!\20320\323\324!\202\213\325V\203\2600S\326	\211\211@)	\211\211A@*4	\321	8)4\fS\327_\\5\f\321V\203\23405\330\f\331_\\\332\245Z5\211\325W\203}0\333!S\322\331\246!\205\2230\322\334\246!?\206\2230\322\335\246!)\203\23405T55-\n\336_\n\331\245\n\334\245[\n\335\245%\202\213\333T!\337	\211\211@)	\211\211A@*4	\321	8)4\fS\327_\\5\f\321V\2035\330\f\331_\\\332\245Z5\211\325W\203\3670\333!S\322\331\246!\205
\322\334\246!?\206
\322\335\246!)\2035T55-\n\336_\n\331\245\n\334\245[\n\335\245\340\211\211@)	\211\211A@*4	\321	8)4\fS\327_\\5\f\321V\203\2065\330\f\331_\\\332\245Z5\211\325W\203g\333!S\322\331\246!\205}\322\334\246!?\206}\322\335\246!)\203\2065T55-&+\"\311\341\342	!\"\311\343\344	!\"\345	!\211\346\230?\205\250\311\347\"\350	!\211\346\230?\205\267\311\351\"\311\352\353	!\"\354	!\211\346\230?\205\314\311\355\"\356	!\211\346\230?\205\333\311\357\"\360	!\211\346\230?\205\352\311\361\"\311\362\363	!\"\257\")\207" . [odate date offset-years year month x nil delq calendar-day-of-year-string format "ISO date: %s" calendar-iso-date-string "Julian date: %s" calendar-julian-date-string "Astronomical (Julian) day number (at noon UTC): %s.0" calendar-astro-date-string "Fixed (RD) date: %s" 2 zerop error "There was no year zero" 0 + 31 23 4 10 abs 100 400 365 - (12 31 -1) "Hebrew date (before sunset): %s" calendar-hebrew-date-string "Persian date: %s" calendar-persian-date-string calendar-islamic-date-string "" "Islamic date (before sunset): %s" calendar-bahai-date-string "Bahá'í date: %s" "Chinese date: %s" calendar-chinese-date-string calendar-coptic-date-string "Coptic date: %s" calendar-ethiopic-date-string "Ethiopic date: %s" calendar-french-date-string "French Revolutionary date: %s" "Mayan date: %s" calendar-mayan-date-string day day-of-year])(#$ . 100673) nil 20 (#$ . 100489)])
#@118 Show dates on other calendars for date under the cursor.
If called by a mouse-event, pops up a menu with the result.
(defalias 'calendar-print-other-dates #[(&optional event) #@750 ("\306\307\"\310\311\312	!\"\313	!\314\315!\203;0\316 \203-0\317\n\320\nC\321\322\"\"D\"\20200\323\324!\211\205j0\325\f!\202j0\326
!q\210\327\330!\204I0\330 \210\314 \307!\331 \210\332\n!\210\333\334\335#c\210eb\210\336\314!\210\307 \337
!,\207" . [event date title others selection calendar-other-calendars-buffer calendar-cursor-to-date t format "%s (Gregorian)" calendar-date-string calendar-other-dates nil mouse-event-p display-popup-menus-p x-popup-menu append mapcar list error "Popup menus are not available on this system" call-interactively get-buffer-create derived-mode-p special-mode erase-buffer calendar-set-mode-line mapconcat identity "\n" set-buffer-modified-p display-buffer buffer-read-only buffer-undo-list])(#$ . 102887) nil 8 (#$ . 102705) (list last-nonmenu-event)])
#@75 Show day number in year/days remaining in year for date under the cursor.
(defalias 'calendar-print-day-of-year #[nil #@105 ("\300\301\302\303\304!!\"\207" . [message "%s" calendar-day-of-year-string calendar-cursor-to-date t])(#$ . 103828) nil 5 (#$ . 103703) nil])
#@55 Set mode line to STR, centered, surrounded by dashes.
(defalias 'calendar-set-mode-line #[(str) #@328 ("\306 \3078@Z\211\310U\2030\n\2040\311\312\313!\2060\314!\20330\315\316\317\fC\320	\321Z#\322BBB\20290\317\fC\320	#\211*\207" . [edges width window-system buffer-file-name str mode-line-format window-edges 2 10 string-to-number getenv "COLUMNS" "80" "-" mode-line-modified calendar-string-spread 45 6 ("---")])(#$ . 104080) nil 8 (#$ . 103977)])
(byte-code "\300\301\302\303#\210\304\301\302\305#\210\306\307!\210\310\311!\207" [defalias calendar-version emacs-version nil make-obsolete "23.1" run-hooks calendar-load-hook provide calendar] 4)

MMCT - 2023