-File: xemacs.info, Node: Diary Customizing, Next: Hebrew/Islamic Entries, Prev: Daylight Savings, Up: Calendar Customization
-
-Customizing the Diary
-.....................
-
- Ordinarily, the mode line of the diary buffer window indicates any
-holidays that fall on the date of the diary entries. The process of
-checking for holidays can take several seconds, so including holiday
-information delays the display of the diary buffer noticeably. If you'd
-prefer to have a faster display of the diary buffer but without the
-holiday information, set the variable `holidays-in-diary-buffer' to
-`nil'.
-
- The variable `number-of-diary-entries' controls the number of days
-of diary entries to be displayed at one time. It affects the initial
-display when `view-diary-entries-initially' is `t', as well as the
-command `M-x diary'. For example, the default value is 1, which says
-to display only the current day's diary entries. If the value is 2,
-both the current day's and the next day's entries are displayed. The
-value can also be a vector of seven elements: for example, if the value
-is `[0 2 2 2 2 4 1]' then no diary entries appear on Sunday, the
-current date's and the next day's diary entries appear Monday through
-Thursday, Friday through Monday's entries appear on Friday, while on
-Saturday only that day's entries appear.
-
- The variable `print-diary-entries-hook' is a normal hook run after
-preparation of a temporary buffer containing just the diary entries
-currently visible in the diary buffer. (The other, irrelevant diary
-entries are really absent from the temporary buffer; in the diary
-buffer, they are merely hidden.) The default value of this hook does
-the printing with the command `lpr-buffer'. If you want to use a
-different command to do the printing, just change the value of this
-hook. Other uses might include, for example, rearranging the lines into
-order by day and time.
-
- You can customize the form of dates in your diary file, if neither
-the standard American nor European styles suits your needs, by setting
-the variable `diary-date-forms'. This variable is a list of patterns
-for recognizing a date. Each date pattern is a list whose elements may
-be regular expressions (*note Regexps::.) or the symbols `month',
-`day', `year', `monthname', and `dayname'. All these elements serve as
-patterns that match certain kinds of text in the diary file. In order
-for the date pattern, as a whole, to match, all of its elements must
-match consecutively.
-
- A regular expression in a date pattern matches in its usual fashion,
-using the standard syntax table altered so that `*' is a word
-constituent.
-
- The symbols `month', `day', `year', `monthname', and `dayname' match
-the month number, day number, year number, month name, and day name of
-the date being considered. The symbols that match numbers allow
-leading zeros; those that match names allow three-letter abbreviations
-and capitalization. All the symbols can match `*'; since `*' in a
-diary entry means "any day", "any month", and so on, it should match
-regardless of the date being considered.
-
- The default value of `diary-date-forms' in the American style is
-this:
-
- ((month "/" day "[^/0-9]")
- (month "/" day "/" year "[^0-9]")
- (monthname " *" day "[^,0-9]")
- (monthname " *" day ", *" year "[^0-9]")
- (dayname "\\W"))
-
-Emacs matches of the diary entries with the date forms is done with the
-standard syntax table from Fundamental mode (*note Syntax Tables:
-(lispref)Syntax Tables.), but with the `*' changed so that it is a word
-constituent.
-
- The date patterns in the list must be *mutually exclusive* and must
-not match any portion of the diary entry itself, just the date and one
-character of whitespace. If, to be mutually exclusive, the pattern
-must match a portion of the diary entry text--beyond the whitespace
-that ends the date--then the first element of the date pattern *must*
-be `backup'. This causes the date recognizer to back up to the
-beginning of the current word of the diary entry, after finishing the
-match. Even if you use `backup', the date pattern must absolutely not
-match more than a portion of the first word of the diary entry. The
-default value of `diary-date-forms' in the European style is this list:
-
- ((day "/" month "[^/0-9]")
- (day "/" month "/" year "[^0-9]")
- (backup day " *" monthname "\\W+\\<[^*0-9]")
- (day " *" monthname " *" year "[^0-9]")
- (dayname "\\W"))
-
-Notice the use of `backup' in the third pattern, because it needs to
-match part of a word beyond the date itself to distinguish it from the
-fourth pattern.