MMCT TEAM
Server IP : 111.118.215.189  /  Your IP : 18.188.23.45
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/diary-lib.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/diary-lib.el
;;; in Emacs version 24.3.1
;;; with all optimizations.

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

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


(byte-code "\302\303!\210\304\305\306\307#\210\310\311\306\312\313\314\315\303&\210\316\317\320\321\322\323\315\311&\210\316\324\306\325\322\326\315\311&\210\316\327\330\331\322\332\315\333&\210\334\327\335\336#\210\337\340\341\342\343\344\315\333&\210\337\345\346\347\343\344\315\333&\210\337\350\351\352\343\344\315\333&\210\353\354\355\350#\210\353\354\356\357\344!\206m\307#\210\316\360\361\362\322\363\315\311&\210\316\364\365\366\322\367\315\311&\210\316\370\306\371\322\326\315\311&\210\316\372\373\374\322\375\315\311&\210\376\377\201@\306#\210\201A\306\211\203\317	@\377N\203\310\201@N\204\310\353\201@\377N#\210	A\211\204\255*\334\377\201@\336#\210\316\201@\201B\201C\322\323\315\311&\210\316\201D\306\201E\343\201F\322\201G\315\311&	\210\316\201H\201I\201J\343\201F\322\323\315\311&	\210\316\201K\306\201L\322\201M\315\311&\210\376\201N\201O\306#\210\201A\306\211\203^	@\201NN\203W\201ON\204W\353\201O\201NN#\210	A\211\2048*\334\201N\201O\336#\210\316\201O\201P\201Q\322\201R\201S\201T\201U\201V\343\201W\315\311&
\210\376\201X\201Y\306#\210\201A\306\211\203\306	@\201XN\203\277\201YN\204\277\353\201Y\201XN#\210	A\211\204\240*\334\201X\201Y\336#\210\316\201Y\306\201Z\322\201M\201[\201\\\315\311&	\210\376\201]\201^\306#\210\201A\306\211\203\"	@\201]N\203\201^N\204\353\201^\201]N#\210	A\211\204\374*\334\201]\201^\336#\210\316\201^\306\201_\322\201M\201[\201`\315\311&	\210\376\201a\201b\306#\210\201A\306\211\203~	@\201aN\203w\201bN\204w\353\201b\201aN#\210	A\211\204X*\334\201a\201b\336#\210\316\201b\306\201c\322\201M\201[\201d\315\311&	\210\376\201e\201f\306#\210\201A\306\211\203\332	@\201eN\203\323\201fN\204\323\353\201f\201eN#\210	A\211\204\264*\334\201e\201f\336#\210\316\201f\306\201g\322\201M\201[\201h\315\311&	\210\376\201i\201j\306#\210\201A\306\211\2036	@\201iN\203/\201jN\204/\353\201j\201iN#\210	A\211\204*\334\201i\201j\336#\210\316\201j\201k\201l\322\201M\315\311&\210\316\201m\201n\201o\322\201p\315\311\343\201q&	\210\316\201r\201s\201t\315\311\322\323\343\201q&	\210\316\201u\201v\201w\315\311\322\201p\343\201q&	\210\316\201x\201y\201z\322\201{\315\311&\210\376\201|\201}\306#\210\201A\306\211\203\344	@\201|N\203\335\201}N\204\335\353\201}\201|N#\210	A\211\204\276*\334\201|\201}\336#\210\316\201}\307\201~\322\326\315\311&\207" [prop --dolist-tail-- require calendar load "diary-loaddefs" nil t custom-declare-group diary "Emacs diary." :prefix "diary-" :group custom-declare-variable diary-include-string "#include" "The string indicating inclusion of another file of diary entries.\nSee the documentation for the function `diary-include-other-diary-files'." :type string diary-list-include-blanks "If nil, do not include days with no diary entry in the list of diary entries.\nSuch days will then not be shown in the fancy diary buffer, even if they\nare holidays." boolean diary-face 'diary "Face name to use for diary entries." face calendar-faces make-obsolete-variable "customize the face `diary' instead." "23.1" custom-declare-face diary-anniversary ((t :inherit font-lock-keyword-face)) "Face used for anniversaries in the fancy diary display." :version "22.1" diary-time ((t :inherit font-lock-variable-name-face)) "Face used for times of day in the fancy diary display." diary-button ((((type pc) (class color)) (:foreground "lightblue"))) "Face used for buttons in the fancy diary display." put diary-button-face face-alias obsolete-face purecopy diary-face-attrs '((" *\\[foreground:\\([-a-z]+\\)\\]$" 1 :foreground string) (" *\\[background:\\([-a-z]+\\)\\]$" 1 :background string) (" *\\[width:\\([-a-z]+\\)\\]$" 1 :width symbol) (" *\\[height:\\([.0-9]+\\)\\]$" 1 :height int) (" *\\[weight:\\([-a-z]+\\)\\]$" 1 :weight symbol) (" *\\[slant:\\([-a-z]+\\)\\]$" 1 :slant symbol) (" *\\[underline:\\([-a-z]+\\)\\]$" 1 :underline stringtnil) (" *\\[overline:\\([-a-z]+\\)\\]$" 1 :overline stringtnil) (" *\\[strike-through:\\([-a-z]+\\)\\]$" 1 :strike-through stringtnil) (" *\\[inverse-video:\\([-a-z]+\\)\\]$" 1 :inverse-video tnil) (" *\\[face:\\([-0-9a-z]+\\)\\]$" 1 :face string) (" *\\[font:\\([-a-z0-9]+\\)\\]$" 1 :font string)) "Alist of (REGEXP SUBEXP ATTRIBUTE TYPE) elements.\nThis is used by `diary-pull-attrs' to fontify certain diary\nelements.  REGEXP is a regular expression to for, and SUBEXP is\nthe numbered sub-expression to extract.  `diary-glob-file-regexp-prefix'\nis pre-pended to REGEXP for file-wide specifiers.  ATTRIBUTE\nspecifies which face attribute (e.g. `:foreground') to modify, or\nthat this is a face (`:face') to apply.  TYPE is the type of\nattribute being applied.  Available TYPES (see `diary-attrtype-convert')\nare: `string', `symbol', `int', `tnil', `stringtnil.'" (repeat (list (string :tag "Regular expression") (integer :tag "Sub-expression") (symbol :tag "Attribute (e.g. :foreground)") (choice (const string :tag "A string") (const symbol :tag "A symbol") (const int :tag "An integer") (const tnil :tag "`t' or `nil'") (const stringtnil :tag "A string, `t', or `nil'")))) diary-glob-file-regexp-prefix "^\\#" "Regular expression pre-pended to `diary-face-attrs' for file-wide specifiers." regexp diary-file-name-prefix "Non-nil means prefix each diary entry with the name of the file defining it." diary-file-name-prefix-function 'identity "The function that will take a diary file name and return the desired prefix." function defvaralias sexp-diary-entry-symbol diary-sexp-entry-symbol (saved-value saved-variable-comment) "%%" "The string used to indicate a sexp diary entry in `diary-file'.\nSee the documentation for the function `diary-list-sexp-entries'." diary-comment-start "String marking the start of a comment in the diary, or nil.\nNil means there are no comments.  The diary does not display\nparts of entries that are inside comments.  You can use comments\nfor whatever you like, e.g. for meta-data that packages such as\n`appt.el' can use.  Comments may not span multiple lines, and there\ncan be only one comment on any line.\nSee also `diary-comment-end'." "24.1" (choice (const :tag "No comment" nil) string) diary-comment-end #1="" "String marking the end of a comment in the diary.\nThe empty string means comments finish at the end of a line.\nSee also `diary-comment-start'." diary-hook "List of functions called after the display of the diary.\nUsed for example by the appointment package - see `appt-activate'." hook diary-display-hook diary-display-function 'diary-fancy-display "Function used to display the diary.\nThe two standard options are `diary-fancy-display' and `diary-simple-display'.\n\nFor historical reasons, `nil' is the same as `diary-simple-display'\n(so you must use `ignore' for no display).  Also for historical\nreasons, this variable can be a list of functions to run.  These\nuses are not recommended and may be removed at some point.\n\nWhen this function is called, the variable `diary-entries-list'\nis a list, in order by date, of all relevant diary entries in the\nform of ((MONTH DAY YEAR) STRING), where string is the diary\nentry for the given date.  This can be used, for example, to\nproduce a different buffer for display (perhaps combined with\nholidays), or hard copy output." (choice (const diary-fancy-display :tag "Fancy display") (const diary-simple-display :tag "Basic display") (const ignore :tag "No display") (const nil :tag "Obsolete way to choose basic display") (hook :tag "Obsolete form with list of display functions")) :initialize custom-initialize-default :set diary-set-maybe-redraw "23.2" list-diary-entries-hook diary-list-entries-hook "Hook run after diary file is culled for relevant entries.\n\nIf you add `diary-include-other-diary-files' to this hook, you\nwill probably also want to add `diary-mark-included-diary-files'\nto `diary-mark-entries-hook'.  For example, to cause the fancy\ndiary buffer to be displayed with diary entries from various\nincluded files, each day's entries sorted into lexicographic\norder, add the following to your init file:\n\n     (setq diary-display-function 'diary-fancy-display)\n     (add-hook 'diary-list-entries-hook 'diary-include-other-diary-files)\n     (add-hook 'diary-list-entries-hook 'diary-sort-entries t)\n\nNote how the sort function is placed last, so that it can sort\nthe entries included from other files.\n\nThis hook runs after `diary-nongregorian-listing-hook'.  These two hooks\ndiffer only if you are using included diary files.  In that case,\n`diary-nongregorian-listing-hook' runs for each file, whereas\n`diary-list-entries-hook' only runs once, for the main diary file.\nSo for example, to sort the complete list of diary entries you would\nuse the list-entries hook, whereas to process e.g. Islamic entries in\nthe main file and all included files, you would use the nongregorian hook." :options (diary-include-other-diary-files diary-sort-entries) mark-diary-entries-hook diary-mark-entries-hook "List of functions called after marking diary entries in the calendar.\nYou might wish to add `diary-mark-included-diary-files', in which case\nyou will probably also want to add `diary-include-other-diary-files' to\n`diary-list-entries-hook'.\n\nThis hook runs after `diary-nongregorian-marking-hook'.  These two hooks\ndiffer only if you are using included diary files.  In that case,\n`diary-nongregorian-marking-hook' runs for each file, whereas\n`diary-mark-entries-hook' only runs once, for the main diary file." (diary-mark-included-diary-files) nongregorian-diary-listing-hook diary-nongregorian-listing-hook "List of functions called for listing diary file and included files.\nAs the files are processed for diary entries, these functions are used\nto cull relevant entries.  You can use any or all of\n`diary-bahai-list-entries', `diary-hebrew-list-entries', and\n`diary-islamic-list-entries'.  The documentation for these functions\ndescribes the style of such diary entries.\n\nYou can use this hook for other functions as well, if you want them to\nbe run on the main diary file and any included diary files.  Otherwise,\nuse `diary-list-entries-hook', which runs only for the main diary file." (diary-bahai-list-entries diary-hebrew-list-entries diary-islamic-list-entries) nongregorian-diary-marking-hook diary-nongregorian-marking-hook "List of functions called for marking diary file and included files.\nAs the files are processed for diary entries, these functions are used\nto cull relevant entries.  You can use any or all of\n`diary-bahai-mark-entries', `diary-hebrew-mark-entries' and\n`diary-islamic-mark-entries'.  The documentation for these functions\ndescribes the style of such diary entries.\n\nYou can use this hook for other functions as well, if you want them to\nbe run on the main diary file and any included diary files.  Otherwise,\nuse `diary-mark-entries-hook', which runs only for the main diary file." (diary-bahai-mark-entries diary-hebrew-mark-entries diary-islamic-mark-entries) print-diary-entries-hook diary-print-entries-hook 'lpr-buffer "Run by `diary-print-entries' after preparing a temporary diary buffer.\nThe buffer shows only the diary entries currently visible in the\ndiary buffer.  The default just does the printing.  Other uses\nmight include, for example, rearranging the lines into order by\nday and time, saving the buffer instead of deleting it, or\nchanging the function used to do the printing." diary-unknown-time -9999 "Value returned by `diary-entry-time' when no time is found.\nThe default value -9999 causes entries with no recognizable time\nto be placed before those with times; 9999 would place entries\nwith no recognizable time after those with times." integer "20.3" diary-mail-addr (or (bound-and-true-p user-mail-address) #1#) "Email address that `diary-mail-entries' will send email to." diary-mail-days 7 "Default number of days for `diary-mail-entries' to check." diary-remind-message '("Reminder: Only " (if (zerop (% days 7)) (format "%d week%s" (/ days 7) (if (= 7 days) #1# "s")) (format "%d day%s" days (if (= 1 days) #1# "s"))) " until " diary-entry) "Pseudo-pattern giving form of reminder messages in the fancy diary display.\n\nUsed by the function `diary-remind', a pseudo-pattern is a list of\nexpressions that can involve the keywords `days' (a number), `date'\n(a list of month, day, year), and `diary-entry' (a string)." sexp abbreviated-calendar-year diary-abbreviated-year-flag "Interpret a two-digit year DD in a diary entry as either 19DD or 20DD.\nThis applies to the Gregorian, Hebrew, Islamic, and Bahá'í calendars.\nWhen the current century is added to a two-digit year, if the result\nis more than 50 years in the future, the previous century is assumed.\nIf the result is more than 50 years in the past, the next century is assumed.\nIf this variable is nil, years must be written in full."] 15)
#@268 Return a replace-match template for an element of `diary-outlook-formats'.
Returns a string using match elements 1-5, where:
1 = month name, 2 = day, 3 = year, 4 = time, 5 = location; also uses
%s = message subject.  BODY is the string from which the matches derive.
(defalias 'diary-outlook-format-1 #[(body) "\306\307\"\306\310\"\306\311\"\312\313\215\211\203$\314\f\315\n!\315!E!\2029
\316=\203.\317\2029
\320=\2038\321\2029\322\323P,\207" [body monthname day year month calendar-date-style match-string 1 2 3 found (byte-code "G\304	\nW\203 	H\230\203\305\306	T\"\210	T\211\202*\307\207" [calendar-month-name-array i --dotimes-limit-- monthname 0 throw found nil] 4) calendar-date-string string-to-number iso "\\3 \\1 \\2" european "\\2 \\1 \\3" "\\1 \\2 \\3" "\n \\4 %s, \\5"] 6 (#$ . 13563)])
#@809 Alist of regexps matching message text and replacement text.

The regexp must match the start of the message text containing an
appointment, but need not include a leading `^'.  If it matches the
current message, a diary entry is made from the corresponding
template.  If the template is a string, it should be suitable for
passing to `replace-match', and so will have occurrences of `\D' to
substitute the match for the Dth subexpression.  It must also contain
a single `%s' which will be replaced with the text of the message's
Subject field.  Any other `%' characters must be doubled, so that the
template can be passed to `format'.

If the template is actually a function, it is called with the message
body text as argument, and may use `match-string' etc. to make a
template following the rules above.
(custom-declare-variable 'diary-outlook-formats ''(("[ 	\n]*When: [[:alpha:]]+, \\([[:alpha:]]+\\) \\([0-9][0-9]*\\), \\([0-9]\\{4\\}\\),? \\(.+\\)\n\\(?:Where: \\(.+\n\\)\\)?" . diary-outlook-format-1)) '(#$ . 14394) :type '(alist :key-type (regexp :tag "Regexp matching time/place") :value-type (choice (string :tag "Template for entry") (function :tag "Unary function providing template"))) :version "22.1" :group 'diary)
#@72 Set SYMBOL's value to VALUE, and redraw the diary header if necessary.
(defalias 'diary-set-header #[(symbol value) "J	\205	\306	!\307\f\"\210\n\2050\f\232?\2050r\nq\210
\310=\205/	\205,\n\211)*\207" [symbol diary-file dbuff oldvalue value major-mode find-buffer-visiting custom-set-default diary-mode diary-header-line-flag diary-header-line-format header-line-format] 3 (#$ . 15633)])
#@132 Non-nil means `diary-simple-display' will show a header line.
The format of the header is specified by `diary-header-line-format'.
(custom-declare-variable 'diary-header-line-flag t '(#$ . 16041) :group 'diary :type 'boolean :initialize 'custom-initialize-default :set 'diary-set-header :version "22.1")
#@64 Internal diary variable; non-nil if some diary text is hidden.
(defvar diary-selective-display nil (#$ . 16351))
#@114 Format of the header line displayed by `diary-simple-display'.
Only used if `diary-header-line-flag' is non-nil.
(custom-declare-variable 'diary-header-line-format ''(:eval (calendar-string-spread (list (if diary-selective-display "Some text is hidden - press \"C-c C-s\" before edit/copy" "Diary")) 32 (window-width))) '(#$ . 16471) :group 'diary :type 'sexp :initialize 'custom-initialize-default :set 'diary-set-header :version "23.3")
#@49 Return non-nil if the diary is being displayed.
(defalias 'diary-live-p #[nil "\302!\206
	\205
\303	!\207" [diary-fancy-buffer diary-file get-buffer find-buffer-visiting] 2 (#$ . 16916)])
#@208 Set SYMBOL's value to VALUE, and redraw the diary if necessary.
Redraws the diary if it is being displayed (note this is not the same as
just visiting the `diary-file'), and SYMBOL's value is to be changed.
(defalias 'diary-set-maybe-redraw #[(symbol value) "J\303\n\"\210\n	\232?\205\304 \205\305 )\207" [symbol oldvalue value custom-set-default diary-live-p diary] 3 (#$ . 17114)])
(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#\210\312\304\313\314\315\316\317\320\321\322\323\324&\207" [prop --dolist-tail-- defvaralias number-of-diary-entries diary-number-of-entries nil (saved-value saved-variable-comment) put make-obsolete-variable "23.1" custom-declare-variable 1 "Specifies how many days of diary entries are to be displayed initially.\nThis variable affects the diary display when the command \\[diary] is\nused, or if the value of the variable `calendar-view-diary-initially-flag'\nis non-nil.  For example, if the default value 1 is used, then only the\ncurrent day's diary entries will be displayed.  If the value 2 is used,\nthen both the current day's and the next day's entries will be displayed.\n\nThe value can also be a vector such as [0 2 2 2 2 4 1]; this value says\nto display no diary entries on Sunday, the entries for the current date\nand the day after on Monday through Thursday, Friday through Monday's\nentries on Friday, and only Saturday's entries on Saturday.\n\nThis variable does not affect the diary display with the `d' command\nfrom the calendar; in that case, the prefix argument controls the number\nof days of diary entries displayed." :type (choice (integer :tag "Entries") (vector :value [0 0 0 0 0 0 0] (integer :tag "Sunday") (integer :tag "Monday") (integer :tag "Tuesday") (integer :tag "Wednesday") (integer :tag "Thursday") (integer :tag "Friday") (integer :tag "Saturday"))) :initialize custom-initialize-default :set diary-set-maybe-redraw :group diary] 13)
#@136 Check that the file specified by `diary-file' exists and is readable.
If so, return the expanded file name, otherwise signal an error.
(defalias 'diary-check-diary-file #[nil "\203\301!\203\302!\203\207\303\304\"\207\303\305\"\207" [diary-file file-exists-p file-readable-p error "Diary file `%s' is not readable" "Diary file `%s' does not exist"] 3 (#$ . 19123)])
#@291 Generate the diary window for ARG days starting with the current date.
If no argument is provided, the number of days of diary entries is governed
by the variable `diary-number-of-entries'.  A value of ARG less than 1
does nothing.  This function is suitable for execution in an init file.
(defalias 'diary #[(&optional arg) "\301 \210\302\303 \205
\304!\"\207" [arg diary-check-diary-file diary-list-entries calendar-current-date prefix-numeric-value] 4 (#$ . 19507) "P"])
#@217 Prepare and display a buffer with diary entries.
Searches the file named in `diary-file' for entries that match
ARG days starting with the date indicated by the cursor position
in the displayed three-month calendar.
(defalias 'diary-view-entries #[(&optional arg) "\301 \210\302\303\304!\"\207" [arg diary-check-diary-file diary-list-entries calendar-cursor-to-date t] 3 (#$ . 19991) "p"])
#@265 Prepare and display buffer of diary entries from an alternative diary file.
Searches for entries that match ARG days, starting with the date indicated
by the cursor position in the displayed three-month calendar.
DFILE specifies the file to use as the diary file.
(defalias 'diary-view-other-diary-entries #[(arg dfile) "\303\n!)\207" [dfile diary-file arg diary-view-entries] 2 (#$ . 20389) (list (prefix-numeric-value current-prefix-arg) (read-file-name "Enter diary file name: " default-directory nil t))])
(byte-code "\300\301\302\303#\210\304\301\302\305#\207" [defalias view-other-diary-entries diary-view-other-diary-entries nil make-obsolete "23.1"] 4)
#@187 The syntax table used when parsing dates in the diary file.
It is the standard syntax table used in Fundamental mode, but with the
syntax of `*' and `:' changed to be word constituents.
(defvar diary-syntax-table (byte-code "\301\302 !\303\304\305#\210\303\306\305#\210)\207" [st copy-syntax-table standard-syntax-table modify-syntax-entry 42 "w" 58] 4) (#$ . 21059))
#@126 Convert string ATTRVALUE to TYPE appropriate for a face description.
Valid TYPEs are: string, symbol, int, stringtnil, tnil.
(defalias 'diary-attrtype-convert #[(attrvalue type) "\302=\203	\207\303=\203\304	!\207\305=\203\306	!\207\307=\2034	\310\230\203*\311\207	\312\230\2032\313\207	\207\314=\205=	\310\230\207" [type attrvalue string symbol intern-soft int string-to-number stringtnil "t" t "nil" nil tnil] 2 (#$ . 21438)])
#@404 Search for matches for regexps from `diary-face-attrs'.
If ENTRY is nil, searches from the start of the current buffer, and
prepends all regexps with `diary-glob-file-regexp-prefix'.
If ENTRY is a string, search for matches in that string, and remove them.
Returns a list of ENTRY followed by (ATTRIBUTE VALUE) pairs.
When ENTRY is non-nil, FILEGLOBATTRS forms the start of the (ATTRIBUTE VALUE)
pairs.
(defalias 'diary-pull-attrs #[(entry fileglobattrs) "\306\211\211\211\211\211\211\204n\212\306\211\203j@eb\210@P\211A@)\3078\3108\311
\306\312#\205L\313\f!\211\203a\314\n	\"\211\203a\315\nD\"A\211\204+\202\321\306\211\203\320@\211@\211A@)\3078\3108\306\316
\"\203\263\313\f\"\317\320\312\211$\202\231\n\203\307\314\n	\"\211\203\307\315\nD\"A\211\204|*.D\207" [ret-attr type attrvalue attrname regnum regexp nil 2 3 re-search-forward t match-string-no-properties diary-attrtype-convert append string-match replace-match "" entry diary-face-attrs attr --dolist-tail-- diary-glob-file-regexp-prefix x fileglobattrs] 8 (#$ . 21888)])
#@281 Function applied to entry string before putting it into the entries list.
Can be used by programs integrating a diary list into other buffers (e.g.
org.el and planner.el) to modify the string or add properties to it.
The function takes a string argument and must return a string.
(defvar diary-modify-entry-list-string-function nil (#$ . 23033))
#@828 Add an entry to `diary-entries-list'.
Do nothing if DATE or STRING are nil.  DATE is the (MONTH DAY
YEAR) for which the entry applies; STRING is the text of the
entry as it will appear in the diary (i.e. with any format
strings such as "%d" expanded); SPECIFIER is the date part of
the entry as it appears in the diary-file; LITERAL is the entry
as it appears in the diary-file (i.e. before expansion).
If LITERAL is nil, it is taken to be the same as STRING.

The entry is added to the list as (DATE STRING SPECIFIER LOCATOR
GLOBCOLOR), where LOCATOR has the form (MARKER FILENAME LITERAL),
FILENAME being the file containing the diary entry.

Modifies STRING using `diary-modify-entry-list-string-function', if non-nil.
Also removes the region between `diary-comment-start' and
`diary-comment-end', if the former is non-nil.
(defalias 'diary-add-to-list #[(date string specifier &optional marker globcolor literal) "\205p	\205p\306 \206\n\307
\203)\f!\211\310\230\204(\311\312	#)\2033	!\203Y\313\314!\211	\"\203Y\204L	\315\311\316\314!#\310	#\317	\fE\257C\"\211*\207" [date string diary-file cstart dfile diary-file-name-prefix buffer-file-name nil "" format "[%s] %s" string-match regexp-quote replace-regexp-in-string "%s.*%s" append diary-file-name-prefix-function prefix diary-modify-entry-list-string-function diary-comment-start literal diary-comment-end diary-entries-list specifier marker globcolor] 9 (#$ . 23386)])
(byte-code "\300\301\302\303#\210\304\301\302\305#\207" [defalias add-to-diary-list diary-add-to-list nil make-obsolete "23.1"] 4)
#@618 Internal subroutine of `diary-list-entries'.
Find diary entries applying to DATE, by searching from point-min for
each element of `diary-date-forms'.  MARK indicates an entry is non-marking.
GLOBATTR is the list of global file attributes.  If LIST-ONLY is
non-nil, don't change the buffer, only return a list of entries.
Optional array MONTHS replaces `calendar-month-name-array', and
means months cannot be abbreviated.  Optional string SYMBOL marks diary
entries of the desired type.  If DATE is not Gregorian, then the
Gregorian equivalent should be provided via GDATE.  Returns non-nil if
any entries were found.
(defalias 'diary-list-entries-2 #[(date mark globattr list-only &optional months symbol gdate) "\211@)\211\211A@*\3068)\307\310\311!\311\312\"#,\206(--\307\313\314	!,\2038\315\202?\307\316\314	\312\"\"#.\307\317	\"\307\317\"\307\320\f/\203]\307\321\f\322\246\"\202^\315#\3230\32412\3243\2114\203C4@\2113@\325=\205\2033A3\323\307\326\3275!6\203\225\3276!\202\226\315\330\3313\332#$\324\211\211789:eb\210\333:\324\323#\2039\203\301\334\335\324\323#\210n\203\321\336\337!\204\321\340u\210\202\255\341\342!8\336\343!\203\337\344y\210\3231`9\344y\210\336\337!\203\364\344y\210\202\350m\203\374n\203\377\340u\210;\204\f\3458`\346\347$\210\350\3519`\"<\"7\352=\2067@\3518T9S\"\3539!7\211A@)%\210\202\255-4A\2114\204q*1.\207" [date month x day year dayname 2 format "%s\\|%s\\.?" calendar-day-name abbrev "\\*\\|%s%s" calendar-month-name "" "\\|%s\\.?" "\\*\\|0*%d" "\\*\\|0*%d%s" "\\|%02d" 100 t nil backup "^%s?%s\\(%s\\)" regexp-quote mapconcat eval "\\)\\(?:" re-search-forward re-search-backward "\\<" looking-at "[ 	]" -1 line-end-position 0 "[ 	]*\n[ 	]" 1 remove-overlays invisible diary diary-pull-attrs buffer-substring-no-properties diary-add-to-list copy-marker months calendar-month-name-array monthname diary-abbreviated-year-flag case-fold-search entry-found diary-date-forms date-form --dolist-tail-- mark symbol temp date-start entry-start regexp list-only globattr gdate] 10 (#$ . 25003)])
#@213 List diary entries of a certain type.
MONTHS is an array of month names.  SYMBOL marks diary entries of the type
in question.  ABSFUNC is a function that converts absolute dates to dates
of the appropriate type.
(defalias 'diary-list-entries-1 #[(months symbol absfunc) "\n\306\fW\203\254\307
	\211\3108)\311\312!\203+\313\314!\202\317\306V\203\305S\315\211\211@)\211\211A@*\3108)S\316_\\\310V\203\255\317\320_\\\321\245Z\211\306W\203\213\322!S\312\320\246!\205\244\312\323\246!?\206\244\312\324\246!)\203\255T-\325_\320\245\323\245[\324\245%\202\317\322T!\326\211\211@)\211\211A@*\3108)S\316_\\\310V\203B\317\320_\\\321\245Z\211\306W\203 \322!S\312\320\246!\2059\312\323\246!?\2069\312\324\246!)\203BT-\325_\320\245\323\245[\324\245\327\211\211@)\211\211A@*\3108)S\316_\\\310V\203\312\317\320_\\\321\245Z\211\306W\203\250\322!S\312\320\246!\205\301\312\323\246!?\206\301\312\324\246!)\203\312T-&+! !\"#$	&\210\330	\211\3108)\311\312!\203\375\313\314!\202\241\306V\203\227S\315\211\211@)\211\211A@*\3108)S\316_\\\310V\203\317\320_\\\321\245Z\211\306W\203]\322!S\312\320\246!\205v\312\323\246!?\206v\312\324\246!)\203T-\325_\320\245\323\245[\324\245%\202\241\322T!\326\211\211@)\211\211A@*\3108)S\316_\\\310V\203\317\320_\\\321\245Z\211\306W\203\362\322!S\312\320\246!\205\312\323\246!?\206\312\324\246!)\203T-\325_\320\245\323\245[\324\245\327\211\211@)\211\211A@*\3108)S\316_\\\310V\203\234\317\320_\\\321\245Z\211\306W\203z\322!S\312\320\246!\205\223\312\323\246!?\206\223\312\324\246!)\203\234T-&+T!T\211\202+eb\207" [original-date gdate number _idummy --dotimes-limit-- absfunc 0 diary-list-entries-2 2 nil zerop error "There was no year zero" + 31 23 4 10 abs 100 400 365 - (12 31 -1) calendar-gregorian-from-absolute date offset-years year month x day day-of-year diary-nonmarking-symbol file-glob-attrs list-only months symbol] 13 (#$ . 27117)])
#@104 List of any diary files included in the last call to `diary-list-entries'.
Or to `diary-mark-entries'.
(defvar diary-included-files nil (#$ . 29460))
#@2309 Create and display a buffer containing the relevant lines in `diary-file'.
Selects entries for NUMBER days starting with date DATE.  Hides any
other entries using overlays.  If NUMBER is less than 1, this function
does nothing.

Returns a list of all relevant diary entries found.
The list entries have the form ((MONTH DAY YEAR) STRING SPECIFIER) where
(MONTH DAY YEAR) is the date of the entry, STRING is the entry text, and
SPECIFIER is the applicability.  If the variable `diary-list-include-blanks'
is non-nil, this list includes a dummy diary entry consisting of the empty
string for a date with no diary entries.

If producing entries for multiple dates (i.e., NUMBER > 1), then
this function normally returns the entries from any given diary
file in date order.  The entries for any given day are in the
order in which they were found in the file, not necessarily in
time-of-day order.  Note that any functions present on the
hooks (see below) may add entries, or change the order.  For
example, `diary-include-other-diary-files' adds entries from any
include files that it finds to the end of the original list.  The
entries from each file will be in date order, but the overall
list will not be.  If you want the entire list to be in time
order, add `diary-sort-entries' to the end of `diary-list-entries-hook'.

After preparing the initial list, hooks run in this order:

  `diary-nongregorian-listing-hook' runs for the main diary file,
      and each included file.  For example, this is the appropriate hook
      to process Islamic entries in all diary files.

  `diary-list-entries-hook' runs once only, for the main diary file.
      For example, this is appropriate for sorting all the entries.
      If not using include files, there is no difference from the previous
      hook.

  `diary-hook' runs last, after the diary is displayed.
      This is used e.g. by `appt-check'.

Functions called by these hooks may use the variables ORIGINAL-DATE
and NUMBER, which are the arguments with which this function was called.
Note that hook functions should _not_ use DATE, but ORIGINAL-DATE.
(Sexp diary entries may use DATE - see `diary-list-sexp-entries'.)

This function displays the list using `diary-display-function', unless
LIST-ONLY is non-nil, in which case it just returns the list.
(defalias 'diary-list-entries #[(date number &optional list-only) "\204\306	!\203	\307\n!H\202	\310V\205\n\311\n!\312
!@\313\314!\205-\fA\315\211BC\315DA\204D\315E\316\317!\210\320\216r@\206^F\203Z\321\322!\211D\202^\323
\324\"q\210@\203q\325@!\204q\326\324\211\"\210D\203}\327
!\210\202\234\330\331!=\203\214\332 \210\202\234\332=\203\234G\205\232HI`J\212\214~\210\333\315\334\"\211KA@)C\335 pLM\336\216\337N!\210eb\210F\204\344\340ed\315\324\315%O\341\342!\210\324\"\343O\344\345#\210\343O\346\324#\210)\310PQPQW\203\317\347\n!\350\nRCF$STU\203T\204S\204\351\n\334\211\211\211%\210\352\n\211\353\n8)\315VW\354W!\2034\355\356!\202\301W\310V\203\306WSV\357\n\211\211@)X\n\211\211KA@*Y\n\353\n8)WYXS\360_\\ZX\353V\203\256Z\361X\362_\\\363\245ZZW\211W\310W\203\214\364W!SW\354W\362\246!\205\245\354W\365\246!?\206\245\354W\366\246!)\203\256ZTZZ-V\367_V\362\245V\365\245[V\366\245%\202\301\364WT!V\370\n\211\211@)X\n\211\211KA@*Y\n\353\n8)WYXS\360_\\ZX\353V\203;Z\361X\362_\\\363\245ZZW\211W\310W\203\364W!SW\354W\362\246!\2052\354W\365\246!?\2062\354W\366\246!)\203;ZTZZ-V\367_V\362\245V\365\245[V\366\245\371\211\211@)X\n\211\211KA@*Y\n\353\n8)WYXS\360_\\ZX\353V\203\274Z\361X\362_\\\363\245ZZW\211W\310W\203\232\364W!SW\354W\362\246!\205\263\354W\365\246!?\206\263\354W\366\246!)\203\274ZTZZ-&+T!*PT\211P\202\354-eb\210\372\373\374\"\210F\204\367=\203\357=<\203\357\372\375!\210\202\367=\206\365\376 \210\372\377!\210-A\204\316\201[!\210B.\207" [number diary-number-of-entries date original-date date-string diary-file vectorp calendar-day-of-week 0 calendar-date-string find-buffer-visiting boundp diary-including nil message "Preparing diary..." ((byte-code "\203\301!\203\302!\210\301\207" [temp-buff buffer-name kill-buffer] 2)) generate-new-buffer " *diary-temp*" find-file-noselect t verify-visited-file-modtime revert-buffer insert-file-contents default-value major-mode diary-mode diary-pull-attrs "" syntax-table ((byte-code "rq\210\302	!\210)\302\207" [#1=#:buffer #2=#:table set-syntax-table] 2)) set-syntax-table make-overlay make-local-variable diary-selective-display overlay-put invisible diary evaporate diary-list-sexp-entries diary-list-entries-2 diary-add-to-list calendar-gregorian-from-absolute 2 zerop error "There was no year zero" + 31 23 4 10 abs 100 400 365 - (12 31 -1) run-hooks diary-nongregorian-listing-hook diary-list-entries-hook diary-display-function diary-simple-display diary-hook diary-buffer d-incp diary-entries-list file-glob-attrs temp-buff diary-included-files list-only diary-header-line-flag diary-header-line-format header-line-format diary-saved-point x #1# #2# diary-syntax-table ol _idummy --dotimes-limit-- diary-nonmarking-symbol entry-found sexp-found diary-list-include-blanks offset-years year month day day-of-year "Preparing diary...done"] 12 (#$ . 29618)])
#@39 Show all invisible text in the diary.
(defalias 'diary-unhide-everything #[nil "\300\301!\210\214~\210\302ed\303\304$\210)\300\305!\207" [kill-local-variable diary-selective-display remove-overlays invisible diary mode-line-format] 5 (#$ . 34966)])
#@373 Process diary entries from included diary files.
By default, lists included entries, but if optional argument MARK is non-nil
marks entries instead.
For example, this enables you to share common diary files.
Specify include files using lines matching `diary-include-string', e.g.
    #include "filename"
This is recursive; that is, included files may include other files.
(defalias 'diary-include-files #[(&optional mark) "eb\210\306\307\310\311!\"\312\313#\203\202\314\315!\316\317\313\312\211\211\320!\203t\321!\203h\322!\211\235\203E\323\324\"\210\202}\325	C\"\203X\326 \210\202}\325 \327!\"\313#\" \202}\330\331\307\332\"\"\210\202}\330\331\307\333\"\"\210.\202eb\207" [diary-include-string efile diary-list-include-blanks diary-hook diary-including diary-list-entries-hook re-search-forward format "^%s \"\\([^\"]*\\)\"" regexp-quote nil t match-string-no-properties 1 diary-mark-included-diary-files diary-include-other-diary-files file-exists-p file-readable-p expand-file-name error "Recursive diary include for %s" append diary-mark-entries diary-list-entries display-warning :error "Can't read included diary file %s\n" "Can't find included diary file %s\n" diary-mark-entries-hook diary-file diary-included-files mark diary-entries-list original-date number] 7 (#$ . 35222)])
#@210 Add diary entries from included diary files to `diary-entries-list'.
To use, add this function to `diary-list-entries-hook'.
For details, see `diary-include-files'.
See also `diary-mark-included-diary-files'.
(defalias 'diary-include-other-diary-files #[nil "\300 \207" [diary-include-files] 1 (#$ . 36563)])
(byte-code "\300\301\302\303#\210\304\301\302\305#\207" [defalias include-other-diary-files diary-include-other-diary-files nil make-obsolete "23.1"] 4)
#@168 Common subroutine of `diary-simple-display' and `diary-fancy-display'.
Handles the case where there are no diary entries.
Returns a cons (NOENTRIES . HOLIDAY-STRING).
(defalias 'diary-display-no-entries #[nil "\205\306	!\307\310\n\203\311\202\312\313\314\n\315#$\307\316\f\"?\2068A?\2058@\211A@)\312\230\211\203\214
G\317 W\204J\n\204R\320\321
\"\210\202\214\322 !q\210\323\324!\204a\324 \210\325!\326\"\327 \210\330\307\331\"!\210\313\314\n\332#c\210eb\210\333\325!\210\326!\334 !\210\320\316\"\210\f,B\207" [diary-show-holidays-flag original-date holiday-list date-string hol-string msg calendar-check-holidays format "%s%s%s" ": " "" mapconcat identity "; " "No diary entries for %s" frame-width message "%s" get-buffer-create derived-mode-p special-mode nil t erase-buffer calendar-set-mode-line "Holidays for %s" "\n" set-buffer-modified-p display-buffer diary-entries-list x noentries holiday-buffer buffer-read-only buffer-undo-list] 9 (#$ . 37032)])
#@206 Display the diary buffer if there are any relevant entries or holidays.
Entries that do not apply are made invisible.  Holidays are shown
in the mode line.  This is an option for `diary-display-function'.
(defalias 'diary-simple-display #[nil "\206\306\307 !\310	!\311 r\nq\210\312\313\314A\"!\210)@?\2055r\nq\210\315p!\316\f
\"\210\317\fe\"*+\207" [pop-up-frames diary-file dbuff empty window diary-saved-point window-dedicated-p selected-window find-buffer-visiting diary-display-no-entries calendar-set-mode-line format "Diary for %s" display-buffer set-window-point set-window-start] 4 (#$ . 38034)])
(byte-code "\300\301\302\303#\210\304\301\302\305#\210\306\307\310\311\312\313\314\315\316\317&	\207" [defalias simple-diary-display diary-simple-display nil make-obsolete "23.1" define-button-type diary-entry action diary-goto-entry face diary-button help-echo "Find this diary entry" follow-link t] 10)
#@50 Jump to the diary entry for the BUTTON at point.
(defalias 'diary-goto-entry #[(button) "\306\301\"\211@\307\211\n\203#\310\n!\211\203#\311!\210\312\n!b\202f	\211A@)\211\203c\313\f!\203c\314\f!\203c\315\316!=\203F\317 \210eb\210\320\321\322\323\324	8!\323\325	8!#\307\326#\203c\327\224b\206f\330\331!,\207" [button locator marker markbuf file x button-get nil marker-buffer pop-to-buffer marker-position file-exists-p find-file-other-window default-value major-mode diary-mode re-search-forward format "%s.*\\(%s\\)" regexp-quote 2 3 t 1 message "Unable to locate this diary entry"] 8 (#$ . 38960)])
#@307 Prepare a diary buffer with relevant entries in a fancy, noneditable form.
Holidays are shown unless `diary-show-holidays-flag' is nil.
Days with no diary entries are not shown (even if that day is a
holiday), unless `diary-list-include-blanks' is non-nil.

This is an option for `diary-display-function'.
(defalias 'diary-fancy-display #[nil "r\306!q\210\307 \210)\310 @?\205y\311	!q\210\312\313!\204\313 \210\314\315\316 \210\317\320!\210\321\211\322\211\211E\314<=>\314?\211@\203U@@?\323
?@\"\204\326?@A\203l\324=\211<B\211C\325U\203\233B\211B\322W\203z\326B!SB\327B\330\246!\205\223\327B\331\246!?\206\223\327B\332\246!)\203\233\333\202\240\334CSH*<EC
C\"\203l
\211@)=
\325
8)\211<\203l\335\314DE<\322W\203\320<T<\336<E_=\337\321$D\340DE\"T=DE\245<D\322W\203=\321V\203<S<<\321W\203\f<S<*=<FG\341 *\211\203l\335\314DE<\322W\203/<T<\336<E_=\337\321$D\340DE\"T=DE\245<D\322W\203_=\321V\203_<S<<\321W\203k<S<*\322\314\211HIJ\f\314K\211@\203\237@@K\323
K@\"\203\226\342IKA\"I@A\211@\204*o\203\250\343\202\251\344\345
!\261\210I\203\267\346c\210iH\347\350I\351\352H\353\"P#c\210\344\352HJ\\\354\"\344\261\210+?\211LA@)\314\211\211MNOP\327PG!\204K\355?8\211O\203!\356P\357O@O\211LA@)\325?8\325O8\206?A@F\360\361%\210\202%Pc\210\344c\210\330?8\211N\203K\212\362N!M\363P!\210\364\365\322\224\322\225\"\366M#\210),@A\211@\204B.Q\367=\203e\370\371!\210\202h\367 \210\317R!\210eb\210\372\314!\210\315\373	!\207" [diary-file diary-fancy-buffer buffer-read-only buffer-undo-list holiday-list date find-buffer-visiting diary-unhide-everything diary-display-no-entries get-buffer-create derived-mode-p special-mode nil t erase-buffer calendar-set-mode-line "Diary Entries" 1 0 calendar-date-equal calendar-date-compare 2 abs zerop 4 100 400 29 [31 28 31 30 31 30 31 31 30 31 30 31] 12 + -1 mod calendar-holiday-list append "" 10 calendar-date-string ":  " mapconcat #[(x) "	G]	\207" [longest x] 2] "\n" make-string 32 61 3 insert-button locator :type diary-entry calendar-make-temp-face search-backward overlay-put make-overlay face diary-fancy-display-mode run-hooks diary-fancy-display-mode-hook set-buffer-modified-p display-buffer holiday-list-last-year holiday-list-last-month diary-entries-list entry --dolist-tail-- diary-show-holidays-flag year month macro-y nmonths displayed-year displayed-month cc date-holiday-list longest h x temp-face marks this-loc this-entry major-mode date-string] 9 (#$ . 39587)])
(byte-code "\300\301\302\303#\210\304\301\302\305#\207" [defalias fancy-diary-display diary-fancy-display nil make-obsolete "23.1"] 4)
#@402 Print a hard copy of the diary display.

If the simple diary display is being used, prepare a temp buffer with the
visible lines of the diary buffer, add a heading line composed from the mode
line, print the temp buffer, and destroy it.

If the fancy diary display is being used, just print the buffer.

The hooks given by the variable `diary-print-entries-hook' are called to do
the actual printing.
(defalias 'diary-print-entries #[nil "\306!\307\211\211\211\211\203r
q\210\310\311!)\202\204\312!\211\204(\313\314!\210\315\316!r
q\210;\204:\317\202E\320\321\"\210\322\323\"e\324\n\325\"\326\n\325\"\204_r\fq\210\327
\n	#\210)		\203k	dW\204H)\fq\210eb\210\330\331G\332\"\330\261\210\310\311!\210\333\f!-\207" [diary-fancy-buffer end start heading temp-buffer diary-buffer get-buffer nil run-hooks diary-print-entries-hook find-buffer-visiting error "You don't have a diary buffer!" get-buffer-create " *Printable Diary Entries*" "All Diary Entries" string-match "^-*\\([^-].*[^-]\\)-*$" match-string 1 next-single-char-property-change invisible get-char-property insert-buffer-substring "\n" make-string 61 kill-buffer diary-file mode-line-format] 6 (#$ . 42308) nil])
(byte-code "\300\301\302\303#\210\304\301\302\305#\207" [defalias print-diary-entries diary-print-entries nil make-obsolete "23.1"] 4)
#@211 Show all of the diary entries in the diary file.
This function gets rid of the selective display of the diary file so that
all entries, not just some, are visible.  If there is no diary buffer, one
is created.
(defalias 'diary-show-all-entries #[nil "\305 	\206\306\307 !\307 \310 r\311!\206\312\313\"q\210\f\314\304!=\203*\315 \210\316 \210\317p!\210\310\n!U?\205Jr\320\n!q\210\321\322!)\205J\323\n!-\207" [d-file pop-up-frames win height major-mode diary-check-diary-file window-dedicated-p selected-window window-height find-buffer-visiting find-file-noselect t default-value diary-mode diary-unhide-everything display-buffer window-buffer derived-mode-p calendar-mode fit-window-to-buffer] 3 (#$ . 43652) nil])
#@685 Send a mail message showing diary entries for next NDAYS days.
If no prefix argument is given, NDAYS is set to `diary-mail-days'.
Mail is sent to the address specified by `diary-mail-addr'.

Here is an example of a script to call `diary-mail-entries',
suitable for regular scheduling using cron (or at).  Note that
since `emacs -script' does not load your init file, you should
ensure that all relevant variables are set.

#!/usr/bin/emacs -script
;; diary-rem.el - run the Emacs diary-reminder

(setq diary-mail-days 3
      diary-file "/path/to/diary.file"
      calendar-date-style 'european
      diary-mail-addr "user@host.name")

(diary-mail-entries)

# diary-rem.el ends here

(defalias 'diary-mail-entries #[(&optional ndays) "\306\230\203\n\307\310!\207\311\312\313 \n\206\"\210)\314\315\316\313 !P\"\210\317\f!\2031r\fq\210\320 )\2022\321c\210\322
\323N!\207" [diary-mail-addr diary-display-function ndays diary-mail-days diary-fancy-buffer mail-user-agent "" error "You must set `diary-mail-addr' to use this command" diary-fancy-display diary-list-entries calendar-current-date compose-mail "Diary entries generated " calendar-date-string get-buffer buffer-string "No entries found" call-interactively sendfunc] 5 (#$ . 44388) "P"])
#@288 Return a regexp matching the strings in the array STRING-ARRAY.
If the optional argument ABBREV-ARRAY is present, the regexp
also matches the supplied abbreviations, with or without final `.'
characters.  If the optional argument PAREN is non-nil, surrounds
the regexp with parentheses.
(defalias 'diary-name-pattern #[(string-array &optional abbrev-array paren) "\303\304	\211\205\f\305\306	\"\307$\n\"\207" [string-array abbrev-array paren regexp-opt append mapcar #[(e) "\301\302\"\207" [e format "%s."] 3] nil] 7 (#$ . 45649)])
#@58 True during the marking of diary entries, nil otherwise.
(defvar diary-marking-entries-flag nil (#$ . 46190))
#@72 True during the marking of diary entries, if current entry is marking.
(defvar diary-marking-entry-flag nil (#$ . 46306))
#@312 Mark diary entries of a certain type.
MARKFUNC is a function that marks entries of the appropriate type
matching a given date pattern.  MONTHS is an array of month names.
SYMBOL marks diary entries of the type in question.  ABSFUNC is a
function that converts absolute dates to dates of the appropriate type.  
(defalias 'diary-mark-entries-1 #[(markfunc &optional months symbol absfunc) "\306	\"\307\310\n\203\306\n!\202\306\f\"\"\311\211\211\312\3139
:\313;\211<\205\321<@\211;@\314=\203C;A;;G\211=\315;>GZ>=>U?\205]>T>=\316;>GZ?=?U?\205u?T?=\317;>GZ@=@U?\205\215@T@=\320;>GZA=AU?\205\245ATA=\321;>GZB=BU?\205\275BTB\307\322C\203\315\323C!\202\316\324\325\326;\327##Deb\210\330D\313\312#\203\305>\205\354\331>!E?\205\367\331?!F\332A\203\331A!\202\324!G\332@\203\331@!\202\324!HB\205$\331B!\211I\204.\333\202LIG\334U\203HJ\203HK\203	K\335 \211LL\334L8)\313M\336!\203`\337\340!\202\333V\203\372SM\341L\211L\211L@)L\211L\211NA@*LL\334L8)S\342_\\O\334V\203\342O\343\344_\\\345\245ZO\211\333W\203\300\346!S\336\344\246!\205\331\336\347\246!?\206\331\336\350\246!)\203\342OTOO-M\351_M\344\245M\347\245[M\350\245%\202\346T!M\352L\211L\211L@)L\211L\211NA@*LL\334L8)S\342_\\O\334V\203wO\343\344_\\\345\245ZO\211\333W\203U\346!S\336\344\246!\205n\336\347\246!?\206n\336\350\246!)\203wOTOO-M\351_M\344\245M\347\245[M\350\245\353\211L\211L@)L\211L\211NA@*LL\334L8)S\342_\\O\334V\203\377O\343\344_\\\345\245ZO\211\333W\203\335\346!S\336\344\246!\205\366\336\347\246!?\206\366\336\350\246!)\203\377OTOO-&+!\202\335 L\334L8)P\332I!P\347\245\347_\\\211QPZ\211R\354V\2034Q\347Z\202DR\355W\203BQ\347\\\202DQ+\202L\332I!S\356\357`\360 \"T\"\211NA@)E\203\211@\204\211A\204\211B\204\211\361\362E\363\333\313	\364\365	\"%\312#A
\"\210\202\300F\203\265F\366\230\203\231\333\202\263\362F\n\203\246\363\n!\202\260\363\367\313\f\364\370\f\"%\312#AGUGHS
$\210.\202\332.\f<A\211<\2042\313.	\207" [calendar-day-name-array calendar-day-abbrev-array months calendar-month-name-array calendar-month-abbrev-array marks diary-name-pattern format "%s\\|\\*" "[0-9]+\\|\\*" t nil backup dayname monthname day month year "^%s\\(%s\\)" regexp-quote "" mapconcat eval "\\)\\(" re-search-forward match-string-no-properties string-to-number 0 2 calendar-current-date zerop error "There was no year zero" + 31 23 4 10 abs 100 400 365 - (12 31 -1) 50 -50 diary-pull-attrs buffer-substring-no-properties line-end-position calendar-mark-days-named assoc-string calendar-make-alist mapcar #[(e) "\301\302\"\207" [e format "%s."] 3] "*" 1 #[(e) "\301\302\"\207" [e format "%s."] 3] case-fold-search diary-date-forms date-form --dolist-tail-- l d-name-pos m-name-pos d-pos m-pos y-pos symbol regexp dd-name mm-name mm dd y-str diary-abbreviated-year-flag absfunc date offset-years x day-of-year current-y y offset yy file-glob-attrs markfunc] 12 (#$ . 46435)])
#@675 Mark days in the calendar window that have diary entries.
Marks each entry in the diary that is visible in the calendar window.

After marking the entries, runs `diary-nongregorian-marking-hook'
for the main diary file, and each included file.  For example,
this is the appropriate hook to process Islamic entries in all
diary files.  Next `diary-mark-entries-hook' runs, for the main diary
file only.  If not using include files, there is no difference between
these two hooks.

If the optional argument REDRAW is non-nil (which is the case
interactively, for example) then this first removes any existing diary
marks.  This is intended to deal with deleted diary entries.
(defalias 'diary-mark-entries #[(&optional redraw) "\203
	\203
\306\307 \210\310\311\n!\312\303!\205\306\211!\"#!\204.\306$\313\314!\210\315\216r\"\206H!\203C\316\317!\211\202H\320\321 \310\"q\210\f\203U\322\n!\210\202a\323\324!=\203a\325 \210\310\326\306\211\"A@\327 p%&\330\216\331'!\210\212\332\333!\210\334 \210\335\336\337\"\210.!\206\217\313\340!-\207" [redraw calendar-mark-diary-entries-flag diary-file diary-including temp-buff file-glob-attrs nil calendar-redraw t find-buffer-visiting boundp message "Marking diary entries..." ((byte-code "\203\301!\203\302!\210\301\207" [temp-buff buffer-name kill-buffer] 2)) generate-new-buffer " *diary-temp*" find-file-noselect diary-check-diary-file insert-file-contents default-value major-mode diary-mode diary-pull-attrs syntax-table ((byte-code "rq\210\302	!\210)\302\207" [#1=#:buffer #2=#:table set-syntax-table] 2)) set-syntax-table diary-mark-entries-1 calendar-mark-date-pattern diary-mark-sexp-entries run-hooks diary-nongregorian-marking-hook diary-mark-entries-hook "Marking diary entries...done" d-incp diary-buffer diary-marking-entries-flag diary-included-files #1# #2# diary-syntax-table] 5 (#$ . 49597) "p"])
(byte-code "\300\301\302\303#\210\304\301\302\305#\207" [defalias mark-diary-entries diary-mark-entries nil make-obsolete "23.1"] 4)
#@38 Process a SEXP diary ENTRY for DATE.
(defalias 'diary-sexp-entry #[(sexp entry date) "\203\306\307\310\n!@!)\202\311\303\312\313\217)\211;\203!\f\2029\f:\2030\fA;\2030\f\2029\f\2038
\2029\311)\207" [calendar-debug-sexp debug-on-error sexp err result entry t eval read-from-string nil (byte-code "\301\302!@!\207" [sexp eval read-from-string] 3) ((error (byte-code "\303\304\305\306\307e`\"	\n%\"\210\310\207" [diary-file sexp err display-warning :error format "Bad diary sexp at line %d in %s:\n%s\nError: %s\n" count-lines nil] 8)))] 4 (#$ . 51629)])
#@222 Mark days in the calendar window that have sexp diary entries.
Each entry in the diary file (or included files) visible in the calendar window
is marked.  See the documentation for the function `diary-list-sexp-entries'.
(defalias 'diary-mark-sexp-entries #[nil "\306!\307\310	\306\n!	$\311\312\211\"A@\312\211/\312\21101\312\21123\312\2114\312\21156\3127r8q\2109:/)\313\312;</\314W\203R/T/\315/<_
\316\211$;\317;<\"T;<\245/;\314W\203
\320V\203/S//\320W\203\213/S/*
\320/E\21122\32128)\312=>\322>!\203\255\323\324!\202Q>\314V\203G>S=\3152\2112\2112@)?2\2112\211@A@*A22\32128)>A?S\325_\\B?\321V\203/B\326?\327_\\\330\245ZB>\211>\314W\203
\331>!S>\322>\327\246!\205&\322>\332\246!?\206&\322>\333\246!)\203/BTBB-=\334_=\327\245=\332\245[=\333\245%\202Q\331>T!=\3352\2112\2112@)?2\2112\211@A@*A22\32128)>A?S\325_\\B?\321V\203\304B\326?\327_\\\330\245ZB>\211>\314W\203\242\331>!S>\322>\327\246!\205\273\322>\332\246!?\206\273\322>\333\246!)\203\304BTBB-=\334_=\327\245=\332\245[=\333\245\336\2112\2112@)?2\2112\211@A@*A22\32128)>A?S\325_\\B?\321V\203LB\326?\327_\\\330\245ZB>\211>\314W\203*\331>!S>\322>\327\246!\205C\322>\332\246!?\206C\322>\333\246!)\203LBTBB-&+0\313\312;</\314W\203f/T/\315/<_
\316\321$;\317;<\"T;<\245/;\314W\203\223
\320V\203\223/S//\320W\203\237/S/*
\211/>\211?\321U\203\340>\211>\314W\203\277\331>!S>\322>\327\246!\205\330\322>\332\246!?\206\330\322>\333\246!)\203\340\337\202\345\340?SH*/E\21122\32128)\312=>\322>!\203\323\324!\202\251>\314V\203\237>S=\3152\2112\2112@)?2\2112\211@A@*A22\32128)>A?S\325_\\B?\321V\203\207B\326?\327_\\\330\245ZB>\211>\314W\203e\331>!S>\322>\327\246!\205~\322>\332\246!?\206~\322>\333\246!)\203\207BTBB-=\334_=\327\245=\332\245[=\333\245%\202\251\331>T!=\3352\2112\2112@)?2\2112\211@A@*A22\32128)>A?S\325_\\B?\321V\203B\326?\327_\\\330\245ZB>\211>\314W\203\372\331>!S>\322>\327\246!\205\322>\332\246!?\206\322>\333\246!)\203BTBB-=\334_=\327\245=\332\245[=\333\245\336\2112\2112@)?2\2112\211@A@*A22\32128)>A?S\325_\\B?\321V\203\244B\326?\327_\\\330\245ZB>\211>\314W\203\202\331>!S>\322>\327\246!\205\233\322>\332\246!?\206\233\322>\333\246!)\203\244BTBB-&+1eb\210\341\312\342#\205F\343h\344\"C\345\346!\210`4\347 \210\3504`\"5\320u\210n\203\344\351\352!\204\344\316u\210\3536\202`7\320y\210\351\352!\203\366\320y\210\202\352n\203\375\316u\210\3507`\"60S22T\21121X\203\257\35456\3552!#\2113\203	\356\3552!\3116\f\"\211@A@)\206A3:\205A3@\"\210\202	.\207" [diary-sexp-entry-symbol sexp-mark diary-nonmarking-symbol s-entry file-glob-attrs m regexp-quote format "^\\(%s(\\)\\|\\(%s%s(diary-remind\\)" diary-pull-attrs nil 12 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] re-search-forward t char-equal 40 re-search-backward "(" forward-sexp buffer-substring-no-properties looking-at "[ 	]" "" diary-sexp-entry calendar-gregorian-from-absolute calendar-mark-visible-date y first-date last-date date mark sexp-start sexp entry entry-start calendar-buffer displayed-month displayed-year macro-y nmonths offset-years year month x day day-of-year diary-marking-entry-flag] 11 (#$ . 52205)])
(byte-code "\300\301\302\303#\210\304\301\302\305#\207" [defalias mark-sexp-diary-entries diary-mark-sexp-entries nil make-obsolete "23.1"] 4)
#@187 Mark diary entries from included diary files.
To use, add this function to `diary-mark-entries-hook'.
For details, see `diary-include-files'.
See also `diary-include-other-diary-files'.
(defalias 'diary-mark-included-diary-files #[nil "\300\301!\207" [diary-include-files t] 2 (#$ . 55857)])
(byte-code "\300\301\302\303#\210\304\301\302\305#\207" [defalias mark-included-diary-files diary-mark-included-diary-files nil make-obsolete "23.1"] 4)
#@201 Mark all dates in the calendar window that are day DAYNAME of the week.
0 means all Sundays, 1 means all Mondays, and so on.
Optional argument COLOR is passed to `calendar-mark-visible-date' as MARK.
(defalias 'calendar-mark-days-named #[(dayname &optional color) "rq\210	\n	\n\306\211 !\307\306\"#
\310W\203\"
T\311
#_\312\313$\"\314\"#\"T\"#\245\"\310W\203N\313V\203N
S
\313W\203W
S*\307\306\"# \310W\203j T \311 #_!\312\211$\"\314\"#\"T!\"#\245 \"\310W\203\232!\313V\203\232 S  \313W\203\246 S *\315\313$! $\211%%\316%8)\306&'\317'!\203\314\320\321!\202j'\310V\203d'S&\311%\211%\211%@)(%\211%\211)A@*%%\316%8)'(S\322_\\*(\316V\203L*\323(\324_\\\325\245Z*'\211'\310W\203*\326'!S'\317'\324\246!\205C\317'\327\246!?\206C\317'\330\246!)\203L*T**-&\331_&\324\245&\327\245[&\330\245%\202j\326'T!&\332%\211%\211%@)(%\211%\211)A@*%%\316%8)'(S\322_\\*(\316V\203\337*\323(\324_\\\325\245Z*'\211'\310W\203\275\326'!S'\317'\324\246!\205\326\317'\327\246!?\206\326\317'\330\246!)\203\337*T**-&\331_&\324\245&\327\245[&\330\245\333\211%\211%@)(%\211%\211)A@*%%\316%8)'(S\322_\\*(\316V\203e*\323(\324_\\\325\245Z*'\211'\310W\203C\326'!S'\317'\324\246!\205\\\317'\327\246!?\206\\\317'\330\246!)\203e*T**-&+\315\312$
$\211%%\316%8)\306&'\317'!\203\220\320\321!\202.'\310V\203('S&\311%\211%\211%@)(%\211%\211)A@*%%\316%8)'(S\322_\\*(\316V\203*\323(\324_\\\325\245Z*'\211'\310W\203\356\326'!S'\317'\324\246!\205\317'\327\246!?\206\317'\330\246!)\203*T**-&\331_&\324\245&\327\245[&\330\245%\202.\326'T!&\332%\211%\211%@)(%\211%\211)A@*%%\316%8)'(S\322_\\*(\316V\203\243*\323(\324_\\\325\245Z*'\211'\310W\203\201\326'!S'\317'\324\246!\205\232\317'\327\246!?\206\232\317'\330\246!)\203\243*T**-&\331_&\324\245&\327\245[&\330\245\333\211%\211%@)(%\211%\211)A@*%%\316%8)'(S\322_\\*(\316V\203)*\323(\324_\\\325\245Z*'\211'\310W\203\326'!S'\317'\324\246!\205 \317'\327\246!?\206 \317'\330\246!)\203)*T**-&+\fX\205F\334\335!+\"\210\336\\\211\2021.\207" [calendar-buffer displayed-month displayed-year day last-day succ-year nil 12 0 + -1 1 mod calendar-nth-named-day 2 zerop error "There was no year zero" 31 23 4 10 abs 100 400 365 - (12 31 -1) calendar-mark-visible-date calendar-gregorian-from-absolute 7 succ-month prev-year prev-month macro-y nmonths dayname date offset-years year month x day-of-year color] 11 (#$ . 56309)])
(byte-code "\300\301\302\303#\210\304\301\302\305#\207" [defalias mark-calendar-days-named calendar-mark-days-named nil make-obsolete "23.1"] 4)
#@210 Mark dates in the MONTH/YEAR that conform to pattern P-MONTH/P-DAY/P-YEAR.
A value of 0 in any position of the pattern is a wildcard.
Optional argument COLOR is passed to `calendar-mark-visible-date' as MARK.
(defalias 'calendar-mark-month #[(month year p-month p-day p-year &optional color) "	U\203\306\n!\204$\nU\204$\306	!\205\212\306\n!\204$\nU\205\212\306\f!\203\202\211\307U\203_\211\310W\203A\311!S\306\312\246!\205W\306\313\246!?\206W\306\314\246!)\203_\315\202c\316SH*\310
W\205\200\317
TE\"\210
T\211\202i*\207\317\fE\"\207" [month p-month p-year year p-day i zerop 2 0 abs 4 100 400 29 [31 28 31 30 31 30 31 31 30 31 30 31] calendar-mark-visible-date --dotimes-limit-- color] 5 (#$ . 59097)])
(byte-code "\300\301\302\303#\210\304\301\302\305#\207" [defalias mark-calendar-month calendar-mark-month nil make-obsolete "23.1"] 4)
#@191 Mark all dates in the calendar window that conform to MONTH/DAY/YEAR.
A value of 0 in any position is a wildcard.  Optional argument COLOR is
passed to `calendar-mark-visible-date' as MARK.
(defalias 'calendar-mark-date-pattern #[(month day year &optional color) "rq\210	\n\306\307\310W\203T\311_\f\312\211$\313
\"T
\245
\310W\203;\f\314V\203;S\314W\203DS*\315\310W\205\247\316\f&\210\306\307\310W\203oT\311_\f\312\314$\313
\"T
\245
\310W\203\224\f\314V\203\224S\314W\203\235S*T\211\202M-\207" [calendar-buffer displayed-month displayed-year y m macro-y 12 nil 0 + -1 mod 1 3 calendar-mark-month nmonths _idummy --dotimes-limit-- month day year color] 8 (#$ . 59988)])
(byte-code "\300\301\302\303#\210\304\301\302\305#\207" [defalias mark-calendar-date-pattern calendar-mark-date-pattern nil make-obsolete "23.1"] 4)
#@225 Mark dates in the calendar conforming to MONTH DAY YEAR of some system.
The function FROMABS converts absolute dates to the appropriate date system.
Optional argument COLOR is passed to `calendar-mark-visible-date' as MARK.
(defalias 'calendar-mark-complex #[(month day year fromabs &optional color) "\n\306\307\310W\203T\311
_	\312\211$\313\f
\"T\f
\245\f\310W\2033	\314V\2033S\314W\203<S*	\314E\211\3158)\307 !\316!!\203]\317\320!\202!\310V\203\367!S \311\211\211@)\"\211\211#A@*$\3158)!$\"S\321_\\%\"\315V\203\337%\322\"\323_\\\324\245Z%!\211!\310W\203\275\325!!S!\316!\323\246!\205\326\316!\326\246!?\206\326\316!\327\246!)\203\337%T%%- \330_ \323\245 \326\245[ \327\245%\202\325!T! \331\211\211@)\"\211\211#A@*$\3158)!$\"S\321_\\%\"\315V\203t%\322\"\323_\\\324\245Z%!\211!\310W\203R\325!!S!\316!\323\246!\205k\316!\326\246!?\206k\316!\327\246!)\203t%T%%- \330_ \323\245 \326\245[ \327\245\332\211\211@)\"\211\211#A@*$\3158)!$\"S\321_\\%\"\315V\203\374%\322\"\323_\\\324\245Z%!\211!\310W\203\332\325!!S!\316!\323\246!\205\363\316!\326\246!?\206\363\316!\327\246!)\203\374%T%%-&+&\306\307\310W\203T\311
_	\312\315$\313\f
\"T\f
\245\f\310W\2033	\314V\2033S\314W\203<S*	\211!\211\"\315U\203|!\211!\310W\203[\325!!S!\316!\323\246!\205t\316!\326\246!?\206t\316!\327\246!)\203|\333\202\201\334\"SH*E\211\3158)\307 !\316!!\203\240\317\320!\202D!\310V\203:!S \311\211\211@)\"\211\211#A@*$\3158)!$\"S\321_\\%\"\315V\203\"%\322\"\323_\\\324\245Z%!\211!\310W\203\325!!S!\316!\323\246!\205\316!\326\246!?\206\316!\327\246!)\203\"%T%%- \330_ \323\245 \326\245[ \327\245%\202D\325!T! \331\211\211@)\"\211\211#A@*$\3158)!$\"S\321_\\%\"\315V\203\267%\322\"\323_\\\324\245Z%!\211!\310W\203\225\325!!S!\316!\323\246!\205\256\316!\326\246!?\206\256\316!\327\246!)\203\267%T%%- \330_ \323\245 \326\245[ \327\245\332\211\211@)\"\211\211#A@*$\3158)!$\"S\321_\\%\"\315V\203?%\322\"\323_\\\324\245Z%!\211!\310W\203\325!!S!\316!\323\246!\2056\316!\326\246!?\2066\316!\327\246!)\203?%T%%-&+'&S\307(T\211'X\205\260)!(\316\"!\204v\"(\211@)U\203O\316$!\204\216$(\211\211#A@*U\203O\316!!\204\244!(\3158)U\203O\335\336!*\"\210\202O.\207" [displayed-month m displayed-year y macro-y nmonths 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-mark-visible-date calendar-gregorian-from-absolute date offset-years year month x day day-of-year first-date last-date local-date fromabs color] 11 (#$ . 60891)])
#@280 Mark dates in the calendar conforming to MONTH DAY YEAR of some system.
The function FROMABS converts absolute dates to the appropriate date system.
The function TOABS carries out the inverse operation.  Optional argument
COLOR is passed to `calendar-mark-visible-date' as MARK.
(defalias 'calendar-mark-1 #[(month day year fromabs toabs &optional color) "rq\210\306	!\204<\306\n!\204<\306!\204.\307\f	\nE!!\310
!\205*\311
\"\")\202D#$\312%E\211\313
8)\314&\306!\203M\315\316!\202\255\317V\203\317S&\320
\211\211@)
\211\211'A@*
\313
8)\n	S\321_\\(	\313V\203\267(\322	\323_\\\324\245Z(\211\317W\203\230\325!S\306\323\246!\205\256\306\326\246!?\206\256\306\327\246!)\203\267(T((-&\330_&\323\245&\326\245[&\327\245%\202\255\325T!&\331
\211\211@)
\211\211'A@*
\313
8)\n	S\321_\\(	\313V\2035(\322	\323_\\\324\245Z(\211\317W\203\325!S\306\323\246!\205,\306\326\246!?\206,\306\327\246!)\2035(T((-&\330_&\323\245&\326\245[&\327\245\332\211\211@)
\211\211'A@*
\313
8)\n	S\321_\\(	\313V\203\250(\322	\323_\\\324\245Z(\211\317W\203\211\325!S\306\323\246!\205\237\306\326\246!?\206\237\306\327\246!)\203\250(T((-&+!\211)\211@)*)\313
8)+\314*\333W?\2058\334\314,-+\317W\203\335+T+\320+-_*\335\324	Z$,\336,-\"T*,-\245+,\317W\203*\333V\203+S++\333W\203+S+**\337V\2058\310\307\f	\n+E!!\211!\2058\311
\"\",\202D\340	\n\341\"%)\207" [calendar-buffer month day year toabs date zerop calendar-gregorian-from-absolute calendar-date-is-visible-p calendar-mark-visible-date 15 2 nil error "There was no year zero" 0 + 31 23 4 10 abs 100 400 365 - (12 31 -1) 1 12 -1 mod 7 calendar-mark-complex calendar-bahai-from-absolute color fromabs displayed-month displayed-year offset-years x day-of-year i-date m y macro-y nmonths] 12 (#$ . 63786)])
#@409 Return time at the beginning of the string S as a military-style integer.
For example, returns 1325 for 1:25pm.

Returns `diary-unknown-time' (default value -9999) if no time is recognized.
The recognized forms are XXXX, X:XX, or XX:XX (military time), and XXam,
XXAM, XXpm, XXPM, XX:XXam, XX:XXAM, XX:XXpm, or XX:XXPM.  A period (.) can
be used instead of a colon (:) to separate the hour and minute parts.
(defalias 'diary-entry-time #[(s) "\303\304\305	\"\203\306\307\310	\"!\311_\306\307\312	\"!\\\202k\304\313	\"\203?\306\307\310	\"!\314\246\311_	\312\224H\227\315\232\203:\316\202;\317\\\202k\304\320	\"\203j\321\306\307\310	\"!\314\246\311_\306\307\312	\"!	\322\224H\227\315\232\203e\316\202f\317#\202k\n)\207" [case-fold-search s diary-unknown-time nil string-match "\\`[ 	\n]*\\([0-9]?[0-9]\\)[:.]?\\([0-9][0-9]\\)\\(\\>\\|[^ap]\\)" string-to-number match-string 1 100 2 "\\`[ 	\n]*\\([0-9]?[0-9]\\)\\([ap]\\)m\\>" 12 97 0 1200 "\\`[ 	\n]*\\([0-9]?[0-9]\\)[:.]\\([0-9][0-9]\\)\\([ap]\\)m\\>" + 3] 6 (#$ . 65673)])
#@36 Return t if E1 is earlier than E2.
(defalias 'diary-entry-compare #[(e1 e2) "\306	\"\2069\307@	@\"\2059\211A@)\310!	\211A@)\310
!	\f	W\2068\f	U\2058
\231,\207" [e1 e2 x ts1 t1 ts2 calendar-date-compare calendar-date-equal diary-entry-time t2] 4 (#$ . 66714)])
#@205 Sort the list of diary entries by time of day.
If you add this function to `diary-list-entries-hook', it should
be the last item in the hook, in case earlier items add diary
entries, or change the order.
(defalias 'diary-sort-entries #[nil "\301\302\"\211\207" [diary-entries-list sort diary-entry-compare] 3 (#$ . 66998)])
(byte-code "\300\301\302\303#\210\304\301\302\305#\207" [defalias sort-diary-entries diary-sort-entries nil make-obsolete "23.1"] 4)
#@5121 Add sexp entries for DATE from the diary file to `diary-entries-list'.
Also, make them visible in the diary.  Returns t if any entries are found.

Sexp diary entries must be prefaced by a `diary-sexp-entry-symbol'
(normally `%%').  The form of a sexp diary entry is

                  %%(SEXP) ENTRY

Both ENTRY and DATE are available when the SEXP is evaluated.  If
the SEXP returns nil, the diary entry does not apply.  If it
returns a non-nil value, ENTRY will be taken to apply to DATE; if
the value is a string, that string will be the diary entry in the
fancy diary display.

For example, the following diary entry will apply to the 21st of
the month if it is a weekday and the Friday before if the 21st is
on a weekend:

      &%%(let ((dayname (calendar-day-of-week date))
               (day (calendar-extract-day date)))
           (or
             (and (= day 21) (memq dayname '(1 2 3 4 5)))
             (and (memq day '(19 20)) (= dayname 5)))
         ) UIUC pay checks deposited

A number of built-in functions are available for this type of
diary entry.  In the following, the optional parameter MARK
specifies a face or single-character string to use when
highlighting the day in the calendar.  For those functions that
take MONTH, DAY, and YEAR as arguments, the order of the input
parameters changes according to `calendar-date-style' (e.g. to
DAY MONTH YEAR in the European style).

  %%(diary-date MONTH DAY YEAR &optional MARK) text
    Entry applies if date is MONTH, DAY, YEAR.  DAY, MONTH, and YEAR can
    be a list of integers, `t' (meaning all values), or an integer.

  %%(diary-float MONTH DAYNAME N &optional DAY MARK) text
    Entry will appear on the Nth DAYNAME after/before MONTH DAY.
    DAYNAME=0 means Sunday, DAYNAME=1 means Monday, and so on.
    If N>0, use the Nth DAYNAME after MONTH DAY.
    If N<0, use the Nth DAYNAME before MONTH DAY.
    DAY defaults to 1 if N>0, and MONTH's last day otherwise.
    MONTH can be a list of months, a single month, or `t' to
    specify all months.

  %%(diary-block M1 D1 Y1 M2 D2 Y2 &optional MARK) text
    Entry will appear on dates between M1/D1/Y1 and M2/D2/Y2,
    inclusive.

  %%(diary-anniversary MONTH DAY YEAR &optional MARK) text
    Entry will appear on anniversary dates of MONTH DAY, YEAR.
    Text can contain `%d' or `%d%s'; `%d' will be replaced by the
    number of years since the MONTH DAY, YEAR, and `%s' by the
    ordinal ending of that number (i.e. `st', `nd', `rd' or `th',
    as appropriate).  The anniversary of February 29 is
    considered to be March 1 in a non-leap year.

  %%(diary-cyclic N MONTH DAY YEAR &optional MARK) text
    Entry will appear every N days, starting MONTH DAY, YEAR.
    Text can contain `%d' or `%d%s'; `%d' will be replaced by the
    number of repetitions since the MONTH DAY, YEAR and `%s' by
    the ordinal ending of that number (i.e. `st', `nd', `rd' or
    `th', as appropriate).

  %%(diary-remind SEXP DAYS &optional MARKING) text
    Entry is a reminder for diary sexp SEXP.  DAYS is either a
    single number or a list of numbers indicating the number(s)
    of days before the event that the warning(s) should occur.
    A negative number -DAYS has the same meaning as a list (1 2 ... DAYS).
    If the current date is (one of) DAYS before the event indicated
    by EXPR, then a suitable message (as specified by
    `diary-remind-message') appears.  In addition to the
    reminders beforehand, the diary entry also appears on the
    date itself.  If optional MARKING is non-nil then the
    *reminders* are marked on the calendar.  Marking of reminders
    is independent of whether the entry *itself* is a marking or
    non-marking one.

  %%(diary-hebrew-yahrzeit MONTH DAY YEAR) text
    Text is assumed to be the name of the person; the date is the
    date of death on the *civil* calendar.  The diary entry will
    appear on the proper Hebrew-date anniversary and on the day
    before.

All the remaining functions do not accept any text, and so only
make sense with `diary-fancy-display'.  Most produce output every day.

`diary-day-of-year'      - day of year and number of days remaining
`diary-iso-date'         - ISO commercial date
`diary-astro-day-number' - astronomical (Julian) day number
`diary-sunrise-sunset'   - local times of sunrise and sunset

These functions give the date in alternative calendrical systems:

`diary-bahai-date', `diary-chinese-date', `diary-coptic-date',
`diary-ethiopic-date', `diary-french-date', `diary-hebrew-date',
`diary-islamic-date', `diary-julian-date', `diary-mayan-date',
`diary-persian-date'

Theses functions only produce output on certain dates:

`diary-lunar-phases'           - phases of moon (on the appropriate days)
`diary-hebrew-omer'            - Omer count, within 50 days after Passover
`diary-hebrew-parasha'         - weekly parasha, every Saturday
`diary-hebrew-rosh-hodesh'     - Rosh Hodesh, or the day or Saturday before
`diary-hebrew-sabbath-candles' - local time of candle lighting, on Fridays


Marking these entries is *extremely* time consuming, so it is
best if they are non-marking.
(defalias 'diary-list-sexp-entries #[(date) "\306\307\310!\310	!#\311\211\211\211\211\211\211\211\211\211\211\211 !\"#$eb\210\312\311\211\"A@\"\313$\311\314#\203\361\315u\210` \316 \210\317 `\"\320\321!\317
T`\"
T\322u\210n\203t\323\324!\204t\315u\210\325\202\224`\322y\210\323\324!\203\206\322y\210\202zn\203\215\315u\210\317`\"\326%#\f:\203\252\fA\202\253\f\f\203\320\327
`\330\331$\210\321GW\203\320\312\"\"\211@A@!\332%\205\340\333!!\n&\210#\206\354\f#\2026#.
\207" [diary-nonmarking-symbol diary-sexp-entry-symbol literal temp diary-entry line-start format "^%s?%s(" regexp-quote nil diary-pull-attrs re-search-forward t -1 forward-sexp buffer-substring-no-properties line-end-position 0 1 looking-at "[ 	]" "" diary-sexp-entry remove-overlays invisible diary diary-add-to-list copy-marker entry-start specifier entry sexp sexp-start marks file-glob-attrs entry-found s-entry date] 14 (#$ . 67465)])
(byte-code "\300\301\302\303#\210\304\301\302\305#\207" [defalias list-sexp-diary-entries diary-list-sexp-entries nil make-obsolete "23.1"] 4)
#@297 Convert A B C into the internal calendar date form.
The expected order of the inputs depends on `calendar-date-style',
e.g. in the European case, A = day, B = month, C = year.  Returns
a list (MONTH DAY YEAR), i.e. the American style, which is the
form used internally by the calendar and diary.
(defalias 'diary-make-date #[(a b c) "\304=\203	\nE\207\305=\203	\nE\207	\nE\207" [calendar-date-style b c a iso european] 3 (#$ . 73726)])
#@406 Specific date(s) diary entry.
Entry applies if date is MONTH, DAY, YEAR.  Each parameter can be a
list of integers, `t' (meaning all values), or an integer.  The order
of the input parameters changes according to `calendar-date-style'
(e.g. to DAY MONTH YEAR in the European style).

An optional parameter MARK specifies a face or single-character string
to use when highlighting the day in the calendar.
(defalias 'diary-date #[(month day year &optional mark) "\306	\n#\211\211\211A@*	\211@)\n\307\f8)\f\211@)\f\f\307\f8)
\f\211\211A@*	<\203F	>\204U	\232\204U	\310=\205\224\n<\203c\f\n>\204r\f\n\232\204r\n\310=\205\224<\203\200
>\204\217
\232\204\217\310=\205\224B.\207" [month day year ddate date x diary-make-date 2 t dd mm yy m y d mark entry] 5 (#$ . 74178)])
#@335 Block diary entry.
Entry applies if date is between, or on one of, two dates.  The order
of the input parameters changes according to `calendar-date-style'
(e.g. to D1, M1, Y1, D2, M2, Y2 in the European style).

An optional parameter MARK specifies a face or single-character string
to use when highlighting the day in the calendar.
(defalias 'diary-block #[(m1 d1 y1 m2 d2 y2 &optional mark) "\306	\n#\211\3078)\310\311
!\203\312\313!\202\203
\314V\203\236
S\315\211\211@)\211\211A@*\3078)S\316_\\\307V\203\212\317\320_\\\321\245Z
\211\314W\203k\322
!S\311
\320\246!\205\201\311
\323\246!?\206\201\311
\324\246!)\203\212T-\f\325_\f\320\245\f\323\245[\f\324\245%\202\203\322
T!\326\211\211@)\211\211A@*\3078)S\316_\\\307V\203	\317\320_\\\321\245Z
\211\314W\203\352\322
!S\311
\320\246!\205\311
\323\246!?\206\311
\324\246!)\203	T-\f\325_\f\320\245\f\323\245[\f\324\245\327\211\211@)\211\211A@*\3078)S\316_\\\307V\203~\317\320_\\\321\245Z
\211\314W\203_\322
!S\311
\320\246!\205u\311
\323\246!?\206u\311
\324\246!)\203~T-&+\306#\211\3078)\310\311
!\203\242\312\313!\202\n
\314V\203%
S\315\211\211@)\211\211A@*\3078)S\316_\\\307V\203\317\320_\\\321\245Z
\211\314W\203\362\322
!S\311
\320\246!\205\311
\323\246!?\206\311
\324\246!)\203T-\f\325_\f\320\245\f\323\245[\f\324\245%\202\n\322
T!\326\211\211@)\211\211A@*\3078)S\316_\\\307V\203\220\317\320_\\\321\245Z
\211\314W\203q\322
!S\311
\320\246!\205\207\311
\323\246!?\206\207\311
\324\246!)\203\220T-\f\325_\f\320\245\f\323\245[\f\324\245\327\211\211@)\211\211A@*\3078)S\316_\\\307V\203\317\320_\\\321\245Z
\211\314W\203\346\322
!S\311
\320\246!\205\374\311
\323\246!?\206\374\311
\324\246!)\203T-&+\211\3078)\310\311
!\203\"\312\313!\202\212
\314V\203\245
S\315\211\211@)\211\211A@*\3078)S\316_\\\307V\203\221\317\320_\\\321\245Z
\211\314W\203r\322
!S\311
\320\246!\205\210\311
\323\246!?\206\210\311
\324\246!)\203\221T-\f\325_\f\320\245\f\323\245[\f\324\245%\202\212\322
T!\326\211\211@)\211\211A@*\3078)S\316_\\\307V\203\317\320_\\\321\245Z
\211\314W\203\361\322
!S\311
\320\246!\205\311
\323\246!?\206\311
\324\246!)\203T-\f\325_\f\320\245\f\323\245[\f\324\245\327\211\211@)\211\211A@*\3078)S\316_\\\307V\203\205\317\320_\\\321\245Z
\211\314W\203f\322
!S\311
\320\246!\205|\311
\323\246!?\206|\311
\324\246!)\203\205T-&+ \211!X\205\245 X\205\245\"#B+\207" [m1 d1 y1 date offset-years year diary-make-date 2 nil zerop error "There was no year zero" 0 + 31 23 4 10 abs 100 400 365 - (12 31 -1) month x day day-of-year m2 d2 y2 d date2 date1 mark entry] 13 (#$ . 75012)])
#@445 Diary entry for the Nth DAYNAME after/before MONTH DAY.
DAYNAME=0 means Sunday, DAYNAME=1 means Monday, and so on.
If N>0, use the Nth DAYNAME after MONTH DAY.
If N<0, use the Nth DAYNAME before MONTH DAY.
DAY defaults to 1 if N>0, and MONTH's last day otherwise.
MONTH can be a list of months, an integer, or `t' (meaning all months).
Optional MARK specifies a face or single-character string to use when
highlighting the day in the calendar.
(defalias 'diary-float #[(month dayname n &optional day mark) "\306	!U\205,	\211@)	\211\211A@*	\307	8)\310[\n
\f%\311V\2035\2029\312\\\311V\203I\312Z\202K\313!\313!\211\211@)\211\211A@*\307	8)\211@)\211\211A@*\307	8) U\203!\314=\204\265!<\203\255!>\202\262!U\203\"\206\311V\203\305\315\202#\211!\307U\203#\211#\311W\203\344\316#!S#\317#\320\246!\205\375\317#\321\246!?\206\375\317#\322\246!)\203\323\202\n\324!SH*\fX\205\fX)\204% W\2043 U\205*W\205*!\314=\204P!<\203H!>\202M!U\203\254\"\206\250\311V\203b\315\202\250#\211!\307U\203\242#\211#\311W\203\201\316#!S#\317#\320\246!\205\232\317#\321\246!?\206\232\317#\322\246!)\203\242\323\202\247\324!SH*X\204%!\314=\204\311!<\203\301!>\202\306!U\205*\"\206\311V\203\331\315\202 #\211!\307U\203#\211#\311W\203\370\316#!S#\317#\320\246!\205\317#\321\246!?\206\317#\322\246!)\203\323\202\324!SH*X\205*$%B.\207" [dayname date m x d y calendar-day-of-week 2 calendar-nth-named-absday 0 6 calendar-gregorian-from-absolute t 1 abs zerop 4 100 400 29 [31 28 31 30 31 30 31 31 30 31 30 31] n limit last-abs first-abs last first m1 d1 y1 m2 d2 y2 month day year mark entry] 7 (#$ . 77989)])
#@77 Ordinal suffix for N. (That is, `st', `nd', `rd', or `th', as appropriate.)
(defalias 'diary-ordinal-suffix #[(n) "\301\246\302>\204\303\304\246W\203\305\207\306\304\246H\207" [n 100 (11 12 13) 3 10 "th" ["th" "st" "nd" "rd"]] 3 (#$ . 79799)])
#@652 Anniversary diary entry.
Entry applies if date is the anniversary of MONTH, DAY, YEAR.
The order of the input parameters changes according to
`calendar-date-style' (e.g. to DAY MONTH YEAR in the European style).

The diary entry can contain `%d' or `%d%s'; the %d will be replaced
by the number of years since the MONTH, DAY, YEAR, and the %s will
be replaced by the ordinal ending of that number (that is, `st',
`nd', `rd' or `th', as appropriate).  The anniversary of February 29
is considered to be March 1 in non-leap years.

An optional parameter MARK specifies a face or single-character
string to use when highlighting the day in the calendar.
(defalias 'diary-anniversary #[(month day &optional year mark) "\306	\n#\211\211\211A@*\211@)\307\f8)\f\307\f8)\2034Z\2025\310\307U\203s\311U\203s\211\312W\203S\313\n!S\314\n\315\246!\205i\314\n\310\246!?\206i\314\n\316\246!)\204s\317\320\312V\205\224\321E\f\"\205\224\322\323!#B.\207" [month day year ddate date x diary-make-date 2 100 29 0 abs zerop 4 400 3 1 calendar-date-equal format diary-ordinal-suffix dd mm yy y diff mark entry] 7 (#$ . 80057)])
#@541 Cycle diary entry--entry applies every N days starting at MONTH, DAY, YEAR.
The order of the input parameters changes according to
`calendar-date-style' (e.g. to N DAY MONTH YEAR in the European
style).  The entry can contain `%d' or `%d%s'; the %d will be
replaced by the number of repetitions since the MONTH DAY YEAR,
and %s by the ordinal ending of that number (that is, `st', `nd',
`rd' or `th', as appropriate).

An optional parameter MARK specifies a face or single-character
string to use when highlighting the day in the calendar.
(defalias 'diary-cyclic #[(n month day year &optional mark) "\306V\204\n\307\310!\210	\211\311	8)\312\313!\203!\307\314!\202z\306V\203\237S\315	\211\211@)	\211\211A@*	\311	8)\fS\316_\\\f\311V\203\213\317\f\320_\\\321\245Z\211\306W\203l\322!S\313\320\246!\205\202\313\323\246!?\206\202\313\324\246!)\203\213T-\n\325_\n\320\245\n\323\245[\n\324\245%\202z\322T!\326	\211\211@)	\211\211A@*	\311	8)\fS\316_\\\f\311V\203\317\f\320_\\\321\245Z\211\306W\203\346\322!S\313\320\246!\205\374\313\323\246!?\206\374\313\324\246!)\203T-\n\325_\n\320\245\n\323\245[\n\324\245\327\211\211@)	\211\211A@*	\311	8)\fS\316_\\\f\311V\203u\317\f\320_\\\321\245Z\211\306W\203V\322!S\313\320\246!\205l\313\323\246!?\206l\313\324\246!)\203uT-&+\330\f#\211\311	8)\312\313!\203\227\307\314!\202\360\306V\203S\315	\211\211@)	\211\211A@*	\311	8)\fS\316_\\\f\311V\203\317\f\320_\\\321\245Z\211\306W\203\342\322!S\313\320\246!\205\370\313\323\246!?\206\370\313\324\246!)\203T-\n\325_\n\320\245\n\323\245[\n\324\245%\202\360\322T!\326	\211\211@)	\211\211A@*	\311	8)\fS\316_\\\f\311V\203{\317\f\320_\\\321\245Z\211\306W\203\\\322!S\313\320\246!\205r\313\323\246!?\206r\313\324\246!)\203{T-\n\325_\n\320\245\n\323\245[\n\324\245\327\211\211@)	\211\211A@*	\311	8)\fS\316_\\\f\311V\203\353\317\f\320_\\\321\245Z\211\306W\203\314\322!S\313\320\246!\205\342\313\323\246!?\206\342\313\324\246!)\203\353T-&+Z\211\245\306Y\205\313\246!\205\331 \332!#B*\207" [n date offset-years year month x 0 error "Day count must be positive" 2 nil zerop "There was no year zero" + 31 23 4 10 abs 100 400 365 - (12 31 -1) diary-make-date format diary-ordinal-suffix day day-of-year diff cycle mark entry] 12 (#$ . 81234)])
#@75 Day of year and number of days remaining in the year of date diary entry.
(defalias 'diary-day-of-year #[nil "\301!\207" [date calendar-day-of-year-string] 2 (#$ . 83718)])
#@858 Provide a reminder of a diary entry.
SEXP is a diary-sexp.  DAYS is either a single number or a list
of numbers indicating the number(s) of days before the event that
the warning(s) should occur on.  A negative number -DAYS has the
same meaning as a list (1 2 ... DAYS).  If the current date
is (one of) DAYS before the event indicated by SEXP, then this function
returns a suitable message (as specified by `diary-remind-message').

In addition to the reminders beforehand, the diary entry also
appears on the date itself.

A `diary-nonmarking-symbol' at the beginning of the line of the
`diary-remind' entry specifies that the diary entry (not the
reminder) is non-marking.  Marking of reminders is independent of
whether the entry itself is a marking or nonmarking; if optional
parameter MARKING is non-nil then the reminders are marked on the
calendar.
(defalias 'diary-remind #[(sexp days &optional marking) "\250\203\306W\203\307\310[\"\311	!\211\203%\203!\f\203%\n\2021\250\203\n\204\2036
\203\312\211\3138)\314 \315 !\203U\316\317!\202\371 \306V\203\357 S\320\211\211@)!\211\211\"A@*#\3138) #!S\321_\\$!\313V\203\327$\322!\323_\\\324\245Z$ \211 \306W\203\265\325 !S \315 \323\246!\205\316\315 \326\246!?\206\316\315 \327\246!)\203\327$T$$-\330_\323\245\326\245[\327\245%\202\371\325 T!\331\211\211@)!\211\211\"A@*#\3138) #!S\321_\\$!\313V\203l$\322!\323_\\\324\245Z$ \211 \306W\203J\325 !S \315 \323\246!\205c\315 \326\246!?\206c\315 \327\246!)\203l$T$$-\330_\323\245\326\245[\327\245\332\211\211@)!\211\211\"A@*#\3138) #!S\321_\\$!\313V\203\364$\322!\323_\\\324\245Z$ \211 \306W\203\322\325 !S \315 \323\246!\205\353\315 \326\246!?\206\353\315 \327\246!)\203\364$T$$-&+\\!\311	!\211\205\n:\203\nA\333\311%\334#)\2021<\2051\2051\335	@
#\2061\335	A
#)\207" [days sexp diary-entry diary-marking-entries-flag diary-marking-entry-flag marking 0 number-sequence 1 eval calendar-gregorian-from-absolute 2 nil zerop error "There was no year zero" + 31 23 4 10 abs 100 400 365 - (12 31 -1) mapconcat "" diary-remind date offset-years year month x day day-of-year diary-remind-message] 12 (#$ . 83899)])
#@136 Insert a diary entry STRING which may be NONMARKING in FILE.
If omitted, NONMARKING defaults to nil and FILE defaults to
`diary-file'.
(defalias 'diary-make-entry #[(string &optional nonmarking file) "\206\306\307 !\310	\206\n!\210)\311\303!=\203\312 \210~\210\313 \210db\210\314\315\316d\317Ze]\314#)\203=\320 \210\321c\210\322y\210n\203E\323\202F\321
\203O\202P\323\324\261\207" [pop-up-frames file diary-file major-mode case-fold-search nonmarking window-dedicated-p selected-window find-file-other-window default-value diary-mode diary-unhide-everything t search-backward "Local Variables:" 3000 beginning-of-line "\n" -1 "" " " diary-nonmarking-symbol string] 4 (#$ . 86214)])
(byte-code "\300\301\302\303#\210\304\301\302\305#\207" [defalias make-diary-entry diary-make-entry nil make-obsolete "23.1"] 4)
#@103 Insert a diary entry for the date indicated by point.
Prefix argument ARG makes the entry nonmarking.
(defalias 'diary-insert-entry #[(arg &optional event) "\302\303\304\305\"\305\211#	\"\207" [event arg diary-make-entry calendar-date-string calendar-cursor-to-date t] 5 (#$ . 87052) (list current-prefix-arg last-nonmenu-event)])
(byte-code "\300\301\302\303#\210\304\301\302\305#\207" [defalias insert-diary-entry diary-insert-entry nil make-obsolete "23.1"] 4)
#@121 Insert a weekly diary entry for the day of the week indicated by point.
Prefix argument ARG makes the entry nonmarking.
(defalias 'diary-insert-weekly-entry #[(arg) "\301\302\303\304!!\"\207" [arg diary-make-entry calendar-day-name calendar-cursor-to-date t] 4 (#$ . 87524) "P"])
(byte-code "\300\301\302\303#\210\304\301\302\305#\207" [defalias insert-weekly-diary-entry diary-insert-weekly-entry nil make-obsolete "23.1"] 4)
#@130 Return value for `calendar-date-display-form' using `calendar-date-style'.
Optional symbol TYPE is either `monthly' or `yearly'.
(defalias 'diary-date-display-form #[(&optional type) "\302=\203	\303=\203\304\207	\305=\203\306\207\307\207\310=\2030	\303=\203&\311\207	\305=\203.\312\207\313\207	\303=\2038\314\207	\305=\203@\315\207\316\207" [type calendar-date-style monthly iso ((format "*-*-%.2d" (string-to-number day))) european (day " * ") ("* " day) yearly ((format "*-%.2d-%.2d" (string-to-number month) (string-to-number day))) (day " " monthname) (monthname " " day) ((format "%s %.2d %.2d" year (string-to-number month) (string-to-number day))) (day " " month " " year) (month " " day " " year)] 2 (#$ . 87959)])
#@352 Subroutine to insert a diary entry related to the date at point.
TYPE is the type of entry (`monthly' or `yearly').  NOMARK non-nil
means make the entry non-marking.  Array MONTHS is used in place
of `calendar-month-name-array'.  String SYMBOL marks the type of
diary entry.  Function ABSFUNC converts absolute dates to dates of
the appropriate type.
(defalias 'diary-insert-entry-1 #[(&optional type nomark months symbol absfunc) "\203\n\306!\202	\n\206\307\310!\311\312\313
\206\314\315\203\322\f\211\316\f8)\317 !\320!!\203@\321\322!\202\315!\323V\203\322!S \324\f\211\211@)\"\f\211\211#A@*$\f\316\f8)!$\"S\325_\\%\"\316V\203\272%\326\"\327_\\\330\245Z%!\211!\323W\203\230\331!!S!\320!\327\246!\205\261\320!\332\246!?\206\261\320!\333\246!)\203\272%T%%- \334_ \327\245 \332\245[ \333\245%\202\315\331!T! \335\f\211\211@)\"\f\211\211#A@*$\f\316\f8)!$\"S\325_\\%\"\316V\203G%\326\"\327_\\\330\245Z%!\211!\323W\203%\331!!S!\320!\327\246!\205>\320!\332\246!?\206>\320!\333\246!)\203G%T%%- \334_ \327\245 \332\245[ \333\245\336\211\211@)\"\f\211\211#A@*$\f\316\f8)!$\"S\325_\\%\"\316V\203\310%\326\"\327_\\\330\245Z%!\211!\323W\203\246\331!!S!\320!\327\246!\205\277\320!\332\246!?\206\277\320!\333\246!)\203\310%T%%-&+!\202\323\f??##&\"+\207" [type calendar-date-display-form months calendar-month-name-array date symbol diary-date-display-form calendar-cursor-to-date t diary-make-entry format "%s%s" "" calendar-date-string 2 nil zerop error "There was no year zero" 0 + 31 23 4 10 abs 100 400 365 - (12 31 -1) absfunc offset-years year month x day day-of-year nomark] 17 (#$ . 88702)])
#@123 Insert a monthly diary entry for the day of the month indicated by point.
Prefix argument ARG makes the entry nonmarking.
(defalias 'diary-insert-monthly-entry #[(arg) "\301\302\"\207" [arg diary-insert-entry-1 monthly] 3 (#$ . 90432) "P"])
(byte-code "\300\301\302\303#\210\304\301\302\305#\207" [defalias insert-monthly-diary-entry diary-insert-monthly-entry nil make-obsolete "23.1"] 4)
#@122 Insert an annual diary entry for the day of the year indicated by point.
Prefix argument ARG makes the entry nonmarking.
(defalias 'diary-insert-yearly-entry #[(arg) "\301\302\"\207" [arg diary-insert-entry-1 yearly] 3 (#$ . 90830) "P"])
(byte-code "\300\301\302\303#\210\304\301\302\305#\207" [defalias insert-yearly-diary-entry diary-insert-yearly-entry nil make-obsolete "23.1"] 4)
#@112 Insert an anniversary diary entry for the date given by point.
Prefix argument ARG makes the entry nonmarking.
(defalias 'diary-insert-anniversary-entry #[(arg) "\303 \304\305\306	\307\310\311!\312\311##\n\")\207" [calendar-date-display-form diary-sexp-entry-symbol arg diary-date-display-form diary-make-entry format "%s(diary-anniversary %s)" calendar-date-string calendar-cursor-to-date t nil] 8 (#$ . 91223) "P"])
(byte-code "\300\301\302\303#\210\304\301\302\305#\207" [defalias insert-anniversary-diary-entry diary-insert-anniversary-entry nil make-obsolete "23.1"] 4)
#@124 Insert a block diary entry for the days between the point and marked date.
Prefix argument ARG makes the entry nonmarking.
(defalias 'diary-insert-block-entry #[(arg) "\306 \307\310!@\206
\311\312!\313\211\211\3148)\313 !\315!!\2031\311\316!\202\325!\317V\203\313!S \320\211\211@)\"\211\211#A@*$\3148)!$\"S\321_\\%\"\314V\203\263%\322\"\323_\\\324\245Z%!\211!\317W\203\221\325!!S!\315!\323\246!\205\252\315!\326\246!?\206\252\315!\327\246!)\203\263%T%%- \330_ \323\245 \326\245[ \327\245%\202\325\325!T! \331\211\211@)\"\211\211#A@*$\3148)!$\"S\321_\\%\"\314V\203H%\322\"\323_\\\324\245Z%!\211!\317W\203&\325!!S!\315!\323\246!\205?\315!\326\246!?\206?\315!\327\246!)\203H%T%%- \330_ \323\245 \326\245[ \327\245\332\211\211@)\"\211\211#A@*$\3148)!$\"S\321_\\%\"\314V\203\320%\322\"\323_\\\324\245Z%!\211!\317W\203\256\325!!S!\315!\323\246!\205\307\315!\326\246!?\206\307\315!\327\246!)\203\320%T%%-&+\f\211\3148)\313 !\315!!\203\363\311\316!\202\227!\317V\203\215!S \320\211\211@)\"\211\211#A@*$\3148)!$\"S\321_\\%\"\314V\203u%\322\"\323_\\\324\245Z%!\211!\317W\203S\325!!S!\315!\323\246!\205l\315!\326\246!?\206l\315!\327\246!)\203u%T%%- \330_ \323\245 \326\245[ \327\245%\202\227\325!T! \331\211\211@)\"\211\211#A@*$\3148)!$\"S\321_\\%\"\314V\203\n%\322\"\323_\\\324\245Z%!\211!\317W\203\350\325!!S!\315!\323\246!\205\315!\326\246!?\206\315!\327\246!)\203\n%T%%- \330_ \323\245 \326\245[ \327\245\332\211\211@)\"\211\211#A@*$\3148)!$\"S\321_\\%\"\314V\203\222%\322\"\323_\\\324\245Z%!\211!\317W\203p\325!!S!\315!\323\246!\205\211\315!\326\246!?\206\211\315!\327\246!)\203\222%T%%-&+W\203\243\f\202\247\f\333\334\335&\336\n\313\310#\336	\313\310#$'\"-\207" [calendar-mark-ring end start mark cursor calendar-date-display-form diary-date-display-form calendar-cursor-to-date t error "No mark set in this buffer" nil 2 zerop "There was no year zero" 0 + 31 23 4 10 abs 100 400 365 - (12 31 -1) diary-make-entry format "%s(diary-block %s %s)" calendar-date-string date offset-years year month x day day-of-year diary-sexp-entry-symbol arg] 12 (#$ . 91806) "P"])
(byte-code "\300\301\302\303#\210\304\301\302\305#\207" [defalias insert-block-diary-entry diary-insert-block-entry nil make-obsolete "23.1"] 4)
#@114 Insert a cyclic diary entry starting at the date given by point.
Prefix argument ARG makes the entry nonmarking.
(defalias 'diary-insert-cyclic-entry #[(arg) "\303 \304\305\306	\307\310\311\"\312\313\314!\315\314#$\n\")\207" [calendar-date-display-form diary-sexp-entry-symbol arg diary-date-display-form diary-make-entry format "%s(diary-cyclic %d %s)" calendar-read "Repeat every how many days: " #[(x) "\301V\207" [x 0] 2] calendar-date-string calendar-cursor-to-date t nil] 9 (#$ . 94339) "P"])
(byte-code "\300\301\302\303#\210\304\301\302\305#\207" [defalias insert-cyclic-diary-entry diary-insert-cyclic-entry nil make-obsolete "23.1"] 4)
#@71 If `calendar-buffer' is live and diary entries are marked, redraw it.
(defalias 'diary-redraw-calendar #[nil "\203	\212\301 \210)\302\207" [calendar-mark-diary-entries-flag calendar-redraw nil] 1 (#$ . 94993)])
#@26 Keymap for `diary-mode'.
(defvar diary-mode-map (byte-code "\301 \302\303\304#\210\302\305\306#\210)\207" [map make-sparse-keymap define-key "" diary-show-all-entries "" quit-window] 4) (#$ . 95212))
#@58 Recognize sexp diary entry up to LIMIT for font-locking.
(defalias 'diary-font-lock-sexps #[(limit) "\303\304\305\306!\306	!#\n\307#\205\310\311\312\217\207" [diary-nonmarking-symbol diary-sexp-entry-symbol limit re-search-forward format "^%s?\\(%s\\)" regexp-quote t nil (byte-code "\214e}\210`\302\303!\210\304	`D!\210*\305\207" [limit start forward-sexp 1 store-match-data t] 3) ((error t))] 6 (#$ . 95426)])
#@277 Create font-lock patterns for `diary-date-forms' using MONTH-ARRAY.
If given, optional SYMBOL must be a prefix to entries.  If
optional ABBREV-ARRAY is present, also matches the abbreviations
from this array (with or without a final `.'), in addition to the
full month names.
(defalias 'diary-font-lock-date-forms #[(month-array &optional symbol abbrev-array) "\306	\307#\310\311\306\n\"\"\312\211\313\314\315\"-\207" [calendar-day-name-array calendar-day-abbrev-array month-array abbrev-array year day diary-name-pattern t format "\\(%s\\|\\*\\)" "\\([0-9]+\\|\\*\\)" "-?\\([0-9]+\\|\\*\\)" mapcar #[(x) "\303\304!\305	\203\304	!\202\306\307\310\311\n@\312\232\203#\313\nA!A\237\202$\n\306#\n@\312\232\2038\314\311\313\n!@!P\2029\314\260\315B\207" [diary-nonmarking-symbol symbol x "^" regexp-quote "?" "" "\\(" mapconcat eval backup reverse "\\)" (1 diary-face)] 10] month monthname dayname diary-date-forms] 6 (#$ . 95850)])
#@265 Subroutine of the function `diary-font-lock-keywords'.
If MARKFUNC is a member of `diary-nongregorian-marking-hook', or
LISTFUNC of `diary-nongregorian-listing-hook', then require FEATURE and
return a font-lock pattern matching array of MONTHS and marking SYMBOL.
(defalias 'diary-font-lock-keywords-1 '(macro . #[(markfunc listfunc feature months symbol) "\305\306\307\310D\311BB\307\310	D\312BBE\313\310\nDD\314\fEF\207" [markfunc listfunc feature months symbol when or memq quote (diary-nongregorian-marking-hook) (diary-nongregorian-listing-hook) require diary-font-lock-date-forms] 6 (#$ . 96807)]))
#@44 Regular expression matching a time of day.
(defconst diary-time-regexp "[0-9]?[0-9]\\([AaPp][mM]\\|\\([Hh]\\([0-9][0-9]\\)?\\|[:.][0-9][0-9]\\)\\([AaPp][Mm]\\)?\\)" (#$ . 97420))
#@61 Return a value for the variable `diary-font-lock-keywords'.
(defalias 'diary-font-lock-keywords #[nil "\306\307\310	#\311\n>\204\312>\205\313\314!\210\307\f
\"\315\n>\204&\316>\2050\313\317!\210\307#$\"\320\n>\204<\321>\205F\313\322!\210\307%&\"\323\324\325'!\"\326B\323\327\325(!\325)!#\330B\323\331\325(!\"\332B\323\333\325(!\334\335\325
$&E\"\336\"#\337B\340\323\341*\211#\342B\257%\207" [calendar-month-name-array calendar-month-abbrev-array diary-nongregorian-marking-hook diary-nongregorian-listing-hook calendar-hebrew-month-name-array-leap-year diary-hebrew-entry-symbol append diary-font-lock-date-forms nil diary-hebrew-mark-entries diary-hebrew-list-entries require cal-hebrew diary-islamic-mark-entries diary-islamic-list-entries cal-islam diary-bahai-mark-entries diary-bahai-list-entries cal-bahai format "^%s.*$" regexp-quote font-lock-keyword-face "^%s?\\(%s\\)" (1 font-lock-constant-face) "^%s" font-lock-constant-face "^%s?%s" regexp-opt mapcar t (1 font-lock-constant-face) (diary-font-lock-sexps . font-lock-keyword-face) "\\(^\\|\\s-\\)%s\\(-%s\\)?" (0 'diary-time t) calendar-islamic-month-name-array diary-islamic-entry-symbol calendar-bahai-month-name-array diary-bahai-entry-symbol diary-include-string diary-nonmarking-symbol diary-sexp-entry-symbol diary-time-regexp] 17 (#$ . 97605)])
#@37 Forms to highlight in `diary-mode'.
(defvar diary-font-lock-keywords (diary-font-lock-keywords) (#$ . 98950))
(byte-code "\300\301N\204\302\300\301\303\304!#\210\305\306!\204\302\306\307\310#\210\300\207" [diary-mode-hook variable-documentation put purecopy "Hook run when entering Diary mode.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it.  (This is true for all hook variables.)" boundp diary-mode-map definition-name diary-mode] 5)
(defvar diary-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" [diary-mode-map variable-documentation put purecopy "Keymap for `diary-mode'." boundp diary-mode-syntax-table definition-name diary-mode] 5)
(defvar diary-mode-syntax-table (make-syntax-table))
(byte-code "\300\301N\204\302\300\301\303\304!#\210\302\305\306\307#\207" [diary-mode-syntax-table variable-documentation put purecopy "Syntax table for `diary-mode'." diary-mode-abbrev-table definition-name diary-mode] 5)
(defvar diary-mode-abbrev-table (progn (define-abbrev-table 'diary-mode-abbrev-table nil) diary-mode-abbrev-table))
(byte-code "\300\301N\204\302\300\301\303\304!#\210\302\305\306\307#\207" [diary-mode-abbrev-table variable-documentation put purecopy "Abbrev table for `diary-mode'." diary-mode derived-mode-parent nil] 5)
#@144 Major mode for editing the diary file.

This mode runs the hook `diary-mode-hook', as the final step
during initialization.

\{diary-mode-map}
(defalias 'diary-mode #[nil "\306\300!\210\307\310 \210\311\312\313!\210\314\f!\210
\306\315!\210\316
\306\317!\210\306\320!\210\321\322!\210\323\324\325\326\307$\210\323\327\325\326\307$\210\203J)\330\331!\207" [delay-mode-hooks major-mode mode-name diary-mode-map diary-mode-syntax-table diary-mode-abbrev-table make-local-variable t kill-all-local-variables diary-mode "Diary" use-local-map set-syntax-table font-lock-defaults (diary-font-lock-keywords t) comment-start comment-end add-to-invisibility-spec (diary) add-hook after-save-hook diary-redraw-calendar nil after-revert-hook run-mode-hooks diary-mode-hook local-abbrev-table diary-comment-start diary-comment-end diary-header-line-flag diary-header-line-format header-line-format] 5 (#$ . 100324) nil])
#@112 Return a regexp matching the first line of a fancy diary date header.
This depends on the calendar date style.
(defalias 'diary-fancy-date-pattern #[nil "\306\307\310#\306	\307\310#\311\312\313\314\315\211\316\317\320#\307\310%-\321P\207" [calendar-day-name-array calendar-month-name-array year month day monthname diary-name-pattern nil t "1" "2" "3" replace-regexp-in-string "[0-9]+" mapconcat eval "" "\\(: .*\\)?" dayname calendar-date-display-form] 7 (#$ . 101261)])
#@52 Search for a fancy diary data header, up to LIMIT.
(defalias 'diary-fancy-date-matcher #[(limit) "\301\302\303\304 \"\305#\205\306\307\224\307\225\310\305$\210\305\207" [limit re-search-forward format "%s\\(\n +.*\\)*\n=+$" diary-fancy-date-pattern t put-text-property 0 font-lock-multiline] 5 (#$ . 101748)])
(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-font-lock-keywords diary-fancy-font-lock-keywords nil (saved-value saved-variable-comment) put make-obsolete-variable "23.1"] 6)
#@47 Keywords to highlight in fancy diary display.
(defvar diary-fancy-font-lock-keywords (byte-code "\301\302\303\304\305\306\307\310\211#\311B\257\207" [diary-time-regexp (diary-fancy-date-matcher . diary-face) ("^.*\\([aA]nniversary\\|[bB]irthday\\).*$" quote diary-anniversary) ("^.*Yahrzeit.*$" . font-lock-constant-face) ("^\\(Erev \\)?Rosh Hodesh.*" . font-lock-function-name-face) ("^Day.*omer.*$" . font-lock-builtin-face) ("^Parashat.*$" . font-lock-comment-face) format "\\(^\\|\\s-\\)%s\\(-%s\\)?" 'diary-time] 10) (#$ . 102379))
#@220 Function to use for `font-lock-fontify-region-function' in Fancy Diary.
Needed to handle multiline keyword in `diary-fancy-font-lock-keywords'.
Fontify the region between BEG and END, quietly unless VERBOSE is non-nil.
(defalias 'diary-fancy-font-lock-fontify-region-function #[(beg end &optional verbose) "b\210\303y\210\304\305!\203\306y\210\304\307!\203\310\306y!\204\304\311 !\203&\312 	b\210\303y\210\304\307!\2039\310\313y!\204,\304\305!\203C\312\314!\315	\n#\207" [beg end verbose 0 looking-at "=+$" -1 " +[^ ]" zerop diary-fancy-date-pattern line-beginning-position 1 2 font-lock-default-fontify-region] 4 (#$ . 102925)])
#@66 Keymap overriding minor-mode maps in `diary-fancy-display-mode'.
(defvar diary-fancy-overriding-map (make-sparse-keymap) (#$ . 103575))
(byte-code "\300\301N\204\302\300\301\303\304!#\210\305\306!\204\302\306\307\310#\210\300\207" [diary-fancy-display-mode-hook variable-documentation put purecopy "Hook run when entering Diary mode.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it.  (This is true for all hook variables.)" boundp diary-fancy-display-mode-map definition-name diary-fancy-display-mode] 5)
(defvar diary-fancy-display-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" [diary-fancy-display-mode-map variable-documentation put purecopy "Keymap for `diary-fancy-display-mode'." boundp diary-fancy-display-mode-syntax-table definition-name diary-fancy-display-mode] 5)
(defvar diary-fancy-display-mode-syntax-table (make-syntax-table))
(byte-code "\300\301N\204\302\300\301\303\304!#\210\302\305\306\307#\207" [diary-fancy-display-mode-syntax-table variable-documentation put purecopy "Syntax table for `diary-fancy-display-mode'." diary-fancy-display-mode-abbrev-table definition-name diary-fancy-display-mode] 5)
(defvar diary-fancy-display-mode-abbrev-table (progn (define-abbrev-table 'diary-fancy-display-mode-abbrev-table nil) diary-fancy-display-mode-abbrev-table))
(byte-code "\300\301N\204\302\300\301\303\304!#\210\302\305\306\307#\207" [diary-fancy-display-mode-abbrev-table variable-documentation put purecopy "Abbrev table for `diary-fancy-display-mode'." diary-fancy-display-mode derived-mode-parent special-mode] 5)
#@273 Major mode used while displaying diary entries using Fancy Display.

In addition to any hooks its parent mode `special-mode' might have run,
this mode runs the hook `diary-fancy-display-mode-hook', as the final step
during initialization.

\{diary-fancy-display-mode-map}
(defalias 'diary-fancy-display-mode #[nil "\306\300!\210\307\310 \210\311\312\310\313N\203\314\311\313\310\313N#\210\315!\204'\316\317 \"\210\320\f!\211\2036
\321 =\203<\322\f\323 \"\210)\324 \325\"\204V !=\204V\326 \325!C#\210\327!\210\330\f!\210 !\306\331!\210\332\306\333!\210\307\"BC\334\335!\210)\336\337!\207" [delay-mode-hooks major-mode mode-name diary-fancy-display-mode-map diary-fancy-display-mode-syntax-table parent make-local-variable t special-mode diary-fancy-display-mode "Diary" mode-class put keymap-parent set-keymap-parent current-local-map char-table-parent standard-syntax-table set-char-table-parent syntax-table abbrev-table-get :parents abbrev-table-put use-local-map set-syntax-table font-lock-defaults (diary-fancy-font-lock-keywords t nil nil nil (font-lock-fontify-region-function . diary-fancy-font-lock-fontify-region-function)) minor-mode-overriding-map-alist view-mode 1 run-mode-hooks diary-fancy-display-mode-hook diary-fancy-display-mode-abbrev-table local-abbrev-table diary-fancy-overriding-map] 6 (#$ . 105250) nil])
(byte-code "\300\301\302\303#\210\304\301\302\305#\207" [defalias fancy-diary-display-mode diary-fancy-display-mode nil make-obsolete "23.1"] 4)
#@254 Snarf a diary entry from a message assumed to be from MS Outlook.
SUBJECT and BODY are strings giving the message subject and body.
Arg TEST-ONLY non-nil means return non-nil if and only if the
message contains an appointment, don't make a diary entry.
(defalias 'diary-from-outlook-internal #[(subject body &optional test-only) "\300\301\215\207" [finished (byte-code "\306	\306\211\203N@\307\n@\f\"\310=\203G
\204B\nA\212\311 \312\216\313\314\315\316!\2034\f!\2025\317\306\320\310\f\"$\"!\210+\321\322\317\"\210A\211\204\n+\306\207" [format-string diary-outlook-formats fmt --dolist-tail-- body test-only nil string-match 0 current-window-configuration ((set-window-configuration #1=#:wconfig)) diary-make-entry format replace-match functionp t match-string throw finished #1# subject] 10)] 2 (#$ . 106757)])
(byte-code "\300\301\302\"\210\300\303\304\"\210\300\305\306\"\207" [autoload gnus-fetch-field "gnus-util" gnus-narrow-to-body "gnus" mm-get-part "mm-decode"] 3)
#@335 Maybe snarf diary entry from Outlook-generated message in Gnus.
Unless the optional argument NOCONFIRM is non-nil (which is the case when
this function is called interactively), then if an entry is found the
user is asked to confirm its addition.
Add this function to `gnus-article-prepare-hook' to notice appointments
automatically.
(defalias 'diary-from-outlook-gnus #[(&optional noconfirm) "rq\210\305\306!	\203\307	A@!\202\214\310 \210\311 )\312\n\313#\2056\f\204.\314\315!\2056\312\n\"\210\316\317!+\207" [gnus-article-buffer gnus-article-mime-handles body subject noconfirm gnus-fetch-field "subject" mm-get-part gnus-narrow-to-body buffer-string diary-from-outlook-internal t y-or-n-p "Snarf diary entry? " message "Diary entry added"] 4 (#$ . 107758) "p"])
(custom-add-option 'gnus-article-prepare-hook 'diary-from-outlook-gnus)
#@249 Maybe snarf diary entry from Outlook-generated message in Rmail.
Unless the optional argument NOCONFIRM is non-nil (which is the case when
this function is called interactively), then if an entry is found the
user is asked to confirm its addition.
(defalias 'diary-from-outlook-rmail #[(&optional noconfirm) "rq\210\304\305!\212\306 \210`)d{\307\n	\310#\205+\204#\311\312!\205+\307\n	\"\210\313\314!+\207" [rmail-buffer body subject noconfirm mail-fetch-field "subject" rfc822-goto-eoh diary-from-outlook-internal t y-or-n-p "Snarf diary entry? " message "Diary entry added"] 4 (#$ . 108614) "p"])
#@293 Maybe snarf diary entry from current Outlook-generated message.
Currently knows about Gnus and Rmail modes.  Unless the optional
argument NOCONFIRM is non-nil (which is the case when this
function is called interactively), then if an entry is found the
user is asked to confirm its addition.
(defalias 'diary-from-outlook #[(&optional noconfirm) "\303=\203\n\304\202\305>\203\306\202\307\310\"\211\n!)\207" [major-mode func noconfirm rmail-mode diary-from-outlook-rmail (gnus-summary-mode gnus-article-mode) diary-from-outlook-gnus error "Don't know how to snarf in `%s'"] 4 (#$ . 109226) "p"])
(provide 'diary-lib)

MMCT - 2023