%PDF- %PDF-
Direktori : /usr/local/share/emacs/27.2/lisp/calendar/ |
Current File : //usr/local/share/emacs/27.2/lisp/calendar/calendar.elc |
;ELC ;;; Compiled ;;; in Emacs version 27.2 ;;; with all optimizations. ;;; This file contains utf-8 non-ASCII characters, ;;; and so cannot be loaded into Emacs 22 or earlier. (and (boundp 'emacs-version) (< (aref emacs-version (1- (length emacs-version))) ?A) (string-lessp emacs-version "23") (error "`%s' was compiled for Emacs 23 or later" #$)) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (load "cal-loaddefs" nil t) #@65 Like `let*' but using dynamic scoping. (fn BINDERS &rest BODY) (defalias 'calendar-dlet* '(macro . #[385 "\300\301\302\303\"B\304BBE\207" [progn with-no-warnings mapcar #[257 "\300:\203 @\202\f D\207" [defvar] 3 "\n\n(fn BINDER)"] let*] 7 (#$ . 436)])) (byte-code "\300\301\302\303#\304\301\305\306#\210\307\310!\210\311\312!\210\313\310\314\315\316\317\320\321&\210\313\322\314\323\316\317\320\310&\210\313\324\314\325\316\317\320\310&\210\326\327\330\331\332DD\333\334\335\320\310&\210\326\336\330\331\337DD\340\334\341\320\310&\210\326\342\330\331\343DD\344\334\335\345\346\320\310& \210\326\347\330\331\350DD\351\334\352\345\353\320\310& \210\326\354\330\331\355DD\356\334\335\357\360\361\362\320\310&\210\326\363\330\331\364DD\365\334\366\345\367\320\310& \210\326\370\330\331\371DD\372\334\373\320\374&\210\326\375\330\331\376DD\377\334\373\320\374&\210\326\201@ \330\331\201A DD\201B \334\373\345\201C \320\201D \320\310&\210\201E \201F \201G \201H \320\324%\210\201E \374\201I \201J \320\324%\210\201E \201K \201L \201M \320\324%\210\201E \201N \201O \201P \345\201Q \320\324&\210\201E \201R \201S \201T \345\201Q \320\324&\210\201E \201U \201V \201W \345\201Q \320\324&\210\326\201X \330\331\201Y DD\201Z \334\201[ \320\374\345\201C & \210\326\201\\ \330\331\201] DD\201^ \334\201_ \320\310\345\201C & \210\326\201` \330\331\201a DD\201b \334\201c \320\201d \345\201C & \210\326\201e \330\331\201f DD\201g \334\373\320\201d &\210\326\201h \330\331\201i DD\201j \334\373\320\201d &\210\326\201k \330\331\201l DD\201m \334\201n \320\322&\210\326\201o \330\331\201p DD\201q \334\201n \320\322&\210\201r \201o \201s \201t #\210\326\201u \330\331\201v DD\201w \334\201n \320\322&\210\326\201x \330\331\201y DD\201z \334\201n \201{ \201| \320\322& \210\326\201} \330\331\201~ DD\201 \334\201n \320\322&\210\326\201\200 \330\331\201\201 DD\201\202 \334\201n \201{ \201\203 \320\322& \210\326\201\204 \330\331\201\205 DD\201\206 \320\310\357\360\201\207 \201\210 \361\201\211 \334\201\212 \345\201C &\207" [function-put calendar-dlet* lisp-indent-function 1 put edebug-form-spec let provide calendar require cal-menu custom-declare-group nil "Calendar and time management support." :prefix "calendar-" :group applications calendar-hooks "Calendar hooks." calendar-faces "Calendar faces." custom-declare-variable calendar-offset funcall function #[0 "\300\207" [0] 1] "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 #[0 "\300\207" [nil] 1] "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 #[0 "\300\207" [8] 1] "Minimum height `calendar-generate-window' should use for calendar window." :version "22.1" calendar-split-width-threshold #[0 "\300\207" [nil] 1] "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 #[0 "\300\207" [0] 1] "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 #[514 "L\210\300 \207" [calendar-redraw] 4 "\n\n(fn SYM VAL)"] calendar-weekend-days #[0 "\300\207" [(0 6)] 1] "Days of the week considered weekend days.\n0 means Sunday, 1 means Monday, and so on.\n\nDetermines which day headers are fontified with\n`calendar-weekend-header'." (repeat integer) "25.1" calendar-view-diary-initially-flag #[0 "\300\207" [nil] 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 calendar-mark-diary-entries-flag #[0 "\300\207" [nil] 1] "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 #[0 "\300\207" [t] 1] "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." "23.1" view custom-declare-face calendar-today ((t (:underline t))) "Face for indicating today's date in the calendar.\nSee the variable `calendar-today-marker'." ((((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." 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'." calendar-weekday-header ((t :inherit font-lock-constant-face)) "Face used for weekday column headers in the calendar.\nSee also the face `calendar-weekend-header'." "24.4" calendar-weekend-header ((t :inherit font-lock-comment-face)) "Face used for weekend column headers in the calendar.\nSee also the face `calendar-weekday-header'." calendar-month-header ((t :inherit font-lock-function-name-face)) "Face used for month headers in the calendar." diary-entry-marker #[0 "\300\207" [diary] 1] "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 #[0 "\300\207" [calendar-today] 1] "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 #[0 "\300\207" [holiday] 1] "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 calendar-view-holidays-initially-flag #[0 "\300\207" [nil] 1] "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." calendar-mark-holidays-flag #[0 "\300\207" [nil] 1] "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 #[0 "\300\207" [nil] 1] "Hook run when entering `calendar-mode'." hook calendar-load-hook #[0 "\300\207" [nil] 1] "List of functions to be called after the calendar is first loaded.\nThis is the place to add key bindings to `calendar-mode-map'." make-obsolete-variable "use `with-eval-after-load' instead." "26.1" calendar-initial-window-hook #[0 "\300\207" [nil] 1] "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." calendar-today-visible-hook #[0 "\300\207" [nil] 1] "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) calendar-today-invisible-hook #[0 "\300\207" [nil] 1] "List of functions called whenever the current date is not visible.\nSee also `calendar-today-visible-hook'." calendar-move-hook #[0 "\300\207" [nil] 1] "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 #[0 "\300\207" [#1="mouse-2: general menu\nmouse-3: menu for this date"] 1 #1#] "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))))\n\nChanging this variable without using customize has no effect on\npre-existing calendar windows." :risky t #[514 "L\210\300 \207" [calendar-redraw] 4 "\n\n(fn SYM VAL)"] (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 (#$ . 10526)) #@43 Full width of each month in the calendar. (defvar calendar-month-width nil (#$ . 10649)) #@31 Right margin of the calendar. (defvar calendar-right-margin nil (#$ . 10744)) #@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 (#$ . 10829)) #@264 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. (fn SEGMENT) (defalias 'calendar-month-edges #[257 " _\\\211\nS\\\304=\203 \304\202 \305 _\306\245[#\305T _\306\245[#F\207" [calendar-left-margin calendar-month-width calendar-month-digit-width calendar-intermonth-spacing 0 + 2] 9 (#$ . 11132)]) #@53 Recompute some layout-related calendar "constants". (defalias 'calendar-recompute-layout-variables #[0 "\306_ \\\307_\\\310 \311\307__\312_#\313 \311\314\211W\2037 \211\211\315!B B \210\211T\262\202 \266\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] 6 (#$ . 11649)]) #@179 Set SYMBOL's value to VALUE, an integer. A positive/negative MINMAX enforces a minimum/maximum value. Then redraw the calendar, if necessary. (fn SYMBOL VALUE &optional MINMAX) (defalias 'calendar-set-layout-variable #[770 "J\300\203 \301W\203 [^\202 ]\202 \"\210\232?\205* \302 \210\303 \207" [custom-set-default 0 calendar-recompute-layout-variables calendar-redraw] 8 (#$ . 12125)]) (byte-code "\300\301\302\303\304DD\305\306\307\310\311\312\313\314\315\316\317& \210\300\320\302\303\321DD\322\306\307\310\311\312\323\314\315\316\317& \210\300\324\302\303\325DD\326\310\311\312\327\314\315\316\317&\207" [custom-declare-variable calendar-left-margin funcall function #[0 "\300\207" [5] 1] "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 #[0 "\300\207" [4] 1] "Space between months in the calendar. Minimum value is 1." #[514 "\300\301#\207" [calendar-set-layout-variable 1] 6 "\n\n(fn SYM VAL)"] calendar-column-width #[0 "\300\207" [3] 1] "Width of each day column in the calendar. Minimum value is 3." #[514 "\300\301#\207" [calendar-set-layout-variable 3] 6 "\n\n(fn SYM VAL)"]] 14) #@128 Return the default value for `calendar-day-header-array'. WIDTH defaults to `calendar-day-header-width'. (fn &optional WIDTH) (defalias 'calendar-day-header-construct #[256 "\211\204 \262\304 X\203 \n\202 \"\207" [calendar-day-header-width calendar-abbrev-length calendar-day-abbrev-array calendar-day-name-array calendar-abbrev-construct] 4 (#$ . 13404)]) (byte-code "\300\301\302\303\304DD\305\306\307\310\311\312\313\314\315\316\317& \210\300\320\302\303\321DD\322\306\307\310\311\312\323\314\315\316\317& \210\300\324\302\303\325DD\326\306\307\310\311\327\330\312\331\314\332\316\317&\210\300\333\302\303\334DD\335\306\307\310\311\327\330\312\336\314\337\316\317&\210\300\340\302\303\341DD\342\316\343\314\344\306\345& \210\300\346\302\303\347DD\350\314\351\306\345&\210\300\352\302\303\353DD\354\314\351\306\345\316\343& \210\300\355\302\303\356DD\357\314\351\306\345&\210\300\360\302\303\361DD\362\314\351\306\345&\210\300\363\302\303\364DD\365\314\351\306\345&\210\300\366\302\303\367DD\370\316\317\314\371\310\311\312\372\306\307& \210\300\373\302\303\374DD\375\316\376\314\377\306\345& \210\300\201@ \302\303\201A DD\201B \314\201C \306\345&\210\300\201D \302\303\201E DD\201F \314\201G \306\345&\210\300\201H \302\303\201I DD\201J \314\201K \201L \201M \310\311\312\201N \306\345& \210\300\201O \302\303\201P DD\201Q \314\201R \327\330\316\317\306\307&\210\300\201S \302\303\201T DD\201U \314\201R \327\330\306\307& \210\300\201V \302\303\201W DD\201X \314\201R \327\330\306\307& \210\300\201Y \302\303\201Z DD\201[ \314\201R \327\330\201L \201\\ \306\307&\210\300\201] \302\303\201^ DD\201_ \306\307\327\330\314\201R \316\201` &\210\300\201a \302\303\201b DD\201c \306\307\327\330\314\201R \316\201` &\210\300\201d \302\303\201e DD\201f \306\307\327\330\314\201R \316\201` &\210\300\201g \302\303\201h DD\201i \306\307\310\311\327\330\312\201j \201L \201k \314\201R \316\201l &\207" [custom-declare-variable calendar-day-header-width funcall function #[0 "\300\207" [2] 1] "Width of the day column headers in the calendar.\nMust be at least one less than `calendar-column-width'." :group calendar :initialize custom-initialize-default :set #[514 "\302\300!\204\n \303!\304\305 Z#\207" [calendar-day-header-array calendar-column-width calendar-customized-p calendar-day-header-construct calendar-set-layout-variable 1] 7 "\n\n(fn SYM VAL)"] :type integer :version "23.1" calendar-day-digit-width #[0 "\300\207" [2] 1] "Width of the day digits in the calendar. Minimum value is 2." #[514 "\300\301#\207" [calendar-set-layout-variable 2] 6 "\n\n(fn SYM VAL)"] calendar-intermonth-header #[0 "\300\207" [nil] 1] "Header text to display in the space to the left of each calendar month.\nSee `calendar-intermonth-text'." :risky t #[514 "L\210\300 \207" [calendar-redraw] 4 "\n\n(fn SYM VAL)"] (choice (const nil :tag "Nothing") (string :tag "Fixed string") (sexp :value (propertize "WK" 'font-lock-face 'font-lock-function-name-face))) calendar-intermonth-text #[0 "\300\207" [nil] 1] "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'." #[514 "L\210\300 \207" [calendar-redraw] 4 "\n\n(fn SYM VAL)"] (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 #[0 "\300\301\211\"\207" [locate-user-emacs-file "diary"] 3] "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'." "25.1" file diary diary-nonmarking-symbol #[0 "\300\207" [#1="&"] 1 #1#] "Symbol indicating that a diary entry is not to be marked in the calendar." string diary-chinese-entry-symbol #[0 "\300\207" [#2="C"] 1 #2#] "Symbol indicating a diary entry according to the Chinese calendar." diary-hebrew-entry-symbol #[0 "\300\207" [#3="H"] 1 #3#] "Symbol indicating a diary entry according to the Hebrew calendar." diary-islamic-entry-symbol #[0 "\300\207" [#4="I"] 1 #4#] "Symbol indicating a diary entry according to the Islamic calendar." diary-bahai-entry-symbol #[0 "\300\207" [#5="B"] 1 #5#] "Symbol indicating a diary entry according to the Bahá’í calendar." calendar-date-style #[0 "\300\207" [american] 1] "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")) #[514 "\300!\207" [calendar-set-date-style] 4 "\n\n(fn SYMBOL VALUE)"] diary-iso-date-forms #[0 "\300\207" [((month "[-/]" day "[^-/0-9]") (year "[-/]" month "[-/]" day "[^0-9]") (monthname " *" day "[^-0-9]") (year " *" monthname " *" day "[^0-9]") (dayname "\\W"))] 1] "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))))) diary-american-date-forms #[0 "\300\207" [((month "/" day "[^/0-9]") (month "/" day "/" year "[^0-9]") (monthname " *" day "[^,0-9]") (monthname " *" day ", *" year "[^0-9]") (dayname "\\W"))] 1] "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))))) diary-european-date-forms #[0 "\300\207" [((day "/" month "[^/0-9]") (day "/" month "/" year "[^0-9]") (backup day " *" monthname "\\W+\\<\\([^*0-9]\\|\\([0-9]+[:aApP]\\)\\)") (day " *" monthname " *" year "[^0-9:aApP]") (dayname "\\W"))] 1] "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 #[0 "\304\267\202\n \207\n\207\207" [calendar-date-style diary-iso-date-forms diary-european-date-forms diary-american-date-forms #s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (iso 6 european 8))] 2] "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) #[514 "\211\301!\232?\205 \302\"\210\300 \303 \205 \304 \207" [diary-font-lock-keywords default-value custom-set-default diary-live-p diary] 5 "\n\n(fn SYMBOL VALUE)"] calendar-iso-date-display-form #[0 "\300\207" [((format "%s-%.2d-%.2d" year (string-to-number month) (string-to-number day)))] 1] "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 calendar-european-date-display-form #[0 "\300\207" [((if dayname (concat dayname ", ")) day " " monthname " " year)] 1] "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)." calendar-american-date-display-form #[0 "\300\207" [((if dayname (concat dayname ", ")) monthname " " day ", " year)] 1] "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 #[0 "\304\267\202\n \207\n\207\207" [calendar-date-style calendar-iso-date-display-form calendar-european-date-display-form calendar-american-date-display-form #s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (iso 6 european 8))] 2] "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 #[0 "\300\207" [(propertize (format "%s %d" (calendar-month-name month) year) 'font-lock-face 'calendar-month-header)] 1] "Default format for calendar month headings with the American date style.\nNormally you should not customize this, but `calendar-month-header'." "24.4" calendar-european-month-header #[0 "\300\207" [(propertize (format "%s %d" (calendar-month-name month) year) 'font-lock-face 'calendar-month-header)] 1] "Default format for calendar month headings with the European date style.\nNormally you should not customize this, but `calendar-month-header'." calendar-iso-month-header #[0 "\300\207" [(propertize (format "%d %s" year (calendar-month-name month)) 'font-lock-face 'calendar-month-header)] 1] "Default format for calendar month headings with the ISO date style.\nNormally you should not customize this, but `calendar-month-header'." calendar-month-header #[0 "\304\267\202\n \207\n\207\207" [calendar-date-style calendar-iso-month-header calendar-european-month-header calendar-american-month-header #s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (iso 6 european 8))] 2] "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." #[514 "L\210\300 \207" [calendar-redraw] 4 "\n\n(fn SYM VAL)"] (calendar-date-style calendar-american-month-header calendar-european-month-header calendar-iso-month-header) "24.3"] 18) #@154 Set the style of calendar and diary dates to STYLE (a symbol). The valid styles are described in the documentation of `calendar-date-style'. (fn STYLE) (defalias 'calendar-set-date-style #[257 "\211\304>\204 \305\262\211\306\307\310\"!J\306\307\311\"!J\306\307\312\"!J\313 \210\314 \207" [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] 5 (#$ . 31393) (byte-code "\300\301\302\303\304\305\304\211\306&!C\207" [intern completing-read "Date style: " ("american" "european" "iso") nil t "american"] 9)]) (byte-code "\300\301\302\303\304DD\305\306\307\310\311&\210\300\312\302\303\313DD\314\306\307\310\315&\210\300\316\302\303\317DD\320\306\307\310\311&\210\300\321\302\303\322DD\323\306\307\310\311&\210\300\324\302\303\325DD\326\306\307\310\311&\210\300\327\302\303\330DD\331\306\307\310\311&\210\300\332\302\303\333DD\334\335\336\306\307\310\311& \210\337 \207" [custom-declare-variable diary-show-holidays-flag funcall function #[0 "\300\207" [t] 1] "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 #[0 "\300\207" [nil] 1] "Turn debugging on when evaluating a sexp in the diary or holiday list." calendar calendar-hebrew-all-holidays-flag #[0 "\300\207" [nil] 1] "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." calendar-christian-all-holidays-flag #[0 "\300\207" [nil] 1] "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." calendar-islamic-all-holidays-flag #[0 "\300\207" [nil] 1] "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." calendar-bahai-all-holidays-flag #[0 "\300\207" [nil] 1] "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 #[0 "\300\207" [nil] 1] "If nil, show only the major holidays from the Chinese calendar." :version "23.1" calendar-recompute-layout-variables] 10) #@46 First row in the calendar with actual dates. (defconst calendar-first-date-row 3 (#$ . 34297)) #@43 Name of the buffer used for the calendar. (defconst calendar-buffer "*Calendar*" (#$ . 34398)) #@58 Name of the buffer used for the displaying the holidays. (defconst holiday-buffer "*Holidays*" (#$ . 34499)) #@70 Name of the buffer used for the optional fancy display of the diary. (defconst diary-fancy-buffer "*Fancy Diary Entries*" (#$ . 34614)) #@69 Name of the buffer used for the display of date on other calendars. (defconst calendar-other-calendars-buffer "*Other Calendars*" (#$ . 34756)) #@47 Name of the buffer used for the lunar phases. (defconst lunar-phases-buffer "*Phases of Moon*" (#$ . 34906)) #@47 Name of buffer used for sunrise/sunset times. (defconst solar-sunrises-buffer "*Sunrise/Sunset Times*" (#$ . 35021)) #@62 Name of the buffer used by `calendar-hebrew-list-yahrzeits'. (defconst calendar-hebrew-yahrzeit-buffer "*Yahrzeits*" (#$ . 35144)) #@263 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). (fn MON YR N &optional NMONTHS) (defalias 'calendar-increment-month '(macro . #[1027 "\300\301\302\303BBD\304B\305\306\307BB\310\311 DEE\310\312\313\314 \315BB\n\316\n\257 \317\n\320BBBBBB\321\322\323\n\324BB\310\n\325\fDEF\305\306 \326BB\310\n\325\fDEE\257\207" [let nmonths 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)] 15 (#$ . 35282)])) #@173 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'. (fn N &optional MON YR) (defalias 'calendar-increment-month-cons #[769 "\204 \262\211\204 \262\302\303\304W\203 T\262\305_\306$\262\307\"T\262\211\245\262\211\304W\203A \310V\203A S\262\310W\203K S\262\266B\207" [displayed-month displayed-year 12 nil 0 + -1 mod 1] 10 (#$ . 35974)]) #@117 For INDEX = INITIAL, +1, ... (as long as CONDITION holds), sum EXPRESSION. (fn INDEX INITIAL CONDITION EXPRESSION) (defalias 'calendar-sum '(macro . #[1028 "\300D\301B\302\303\304\305\304E\n\306\fD\257E\307BBB\207" [let ((sum 0)) while setq sum + 1+ (sum)] 14 (#$ . 36443)])) (put 'calendar-sum 'edebug-form-spec '(symbolp form form form)) #@208 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. (fn BUFFER &rest BODY) (defalias 'calendar-in-read-only-buffer '(macro . #[385 "\300\301\302DD\303\304\305\306D\307\310\"BBBBBB\207" [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) display-buffer append ((goto-char (point-min)) (set-buffer-modified-p nil) (setq buffer-read-only t))] 11 (#$ . 36799)])) (byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put calendar-in-read-only-buffer lisp-indent-function 1 put edebug-form-spec t] 5) #@80 Extract the month part of DATE which has the form (month day year). (fn DATE) (defalias 'calendar-extract-month #[257 "\211@\207" [] 2 (#$ . 37543)]) (put 'calendar-extract-month 'byte-optimizer 'byte-compile-inline-expand) #@78 Extract the day part of DATE which has the form (month day year). (fn DATE) (defalias 'calendar-extract-day #[257 "\211A@\207" [] 2 (#$ . 37774)]) (put 'calendar-extract-day 'byte-optimizer 'byte-compile-inline-expand) #@79 Extract the year part of DATE which has the form (month day year). (fn DATE) (defalias 'calendar-extract-year #[257 "\3008\207" [2] 3 (#$ . 38000)]) (put 'calendar-extract-year 'byte-optimizer 'byte-compile-inline-expand) #@119 Return t if YEAR is a Gregorian leap year. A negative year is interpreted as BC; -1 being 1 BC, and so on. (fn YEAR) (defalias 'calendar-leap-year-p #[257 "\211\300W\203\f \301!S\262\211\302\246\300U\205\"