annotate lispref/calendar.texi @ 25751:467b88fab665

*** empty log message ***
author Richard M. Stallman <rms@gnu.org>
date Fri, 17 Sep 1999 06:59:04 +0000
parents 78aaef52e28f
children 6a17c48b52ef
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
6387
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1 @c -*-texinfo-*-
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2 @c This is part of the GNU Emacs Lisp Reference Manual.
21007
66d807bdc5b4 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 20360
diff changeset
3 @c Copyright (C) 1990, 1991, 1992, 1993, 1995, 1998 Free Software Foundation, Inc.
6387
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4 @c See the file elisp.texi for copying conditions.
21682
90da2489c498 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 21007
diff changeset
5 @node Calendar, System Interface, Display, Top
6387
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
6 @chapter Customizing the Calendar and Diary
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
7
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
8 There are many customizations that you can use to make the calendar and
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
9 diary suit your personal tastes.
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
10
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
11 @menu
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
12 * Calendar Customizing:: Defaults you can set.
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
13 * Holiday Customizing:: Defining your own holidays.
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
14 * Date Display Format:: Changing the format.
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
15 * Time Display Format:: Changing the format.
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
16 * Daylight Savings:: Changing the default.
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
17 * Diary Customizing:: Defaults you can set.
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
18 * Hebrew/Islamic Entries:: How to obtain them.
7401
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
19 * Fancy Diary Display:: Enhancing the diary display, sorting entries,
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
20 using included diary files.
6387
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
21 * Sexp Diary Entries:: Fancy things you can do.
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
22 * Appt Customizing:: Customizing appointment reminders.
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
23 @end menu
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
24
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
25 @node Calendar Customizing
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
26 @section Customizing the Calendar
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
27 @vindex view-diary-entries-initially
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
28
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
29 If you set the variable @code{view-diary-entries-initially} to
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
30 @code{t}, calling up the calendar automatically displays the diary
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
31 entries for the current date as well. The diary dates appear only if
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
32 the current date is visible. If you add both of the following lines to
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
33 your @file{.emacs} file:@refill
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
34
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
35 @example
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
36 (setq view-diary-entries-initially t)
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
37 (calendar)
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
38 @end example
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
39
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
40 @noindent
7688
ab6b8aa5002e entered into RCS
Richard M. Stallman <rms@gnu.org>
parents: 7401
diff changeset
41 this displays both the calendar and diary windows whenever you start Emacs.
6387
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
42
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
43 @vindex view-calendar-holidays-initially
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
44 Similarly, if you set the variable
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
45 @code{view-calendar-holidays-initially} to @code{t}, entering the
7688
ab6b8aa5002e entered into RCS
Richard M. Stallman <rms@gnu.org>
parents: 7401
diff changeset
46 calendar automatically displays a list of holidays for the current
ab6b8aa5002e entered into RCS
Richard M. Stallman <rms@gnu.org>
parents: 7401
diff changeset
47 three-month period. The holiday list appears in a separate
ab6b8aa5002e entered into RCS
Richard M. Stallman <rms@gnu.org>
parents: 7401
diff changeset
48 window.
6387
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
49
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
50 @vindex mark-diary-entries-in-calendar
7401
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
51 You can set the variable @code{mark-diary-entries-in-calendar} to
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
52 @code{t} in order to mark any dates with diary entries. This takes
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
53 effect whenever the calendar window contents are recomputed. There are
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
54 two ways of marking these dates: by changing the face (@pxref{Faces}),
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
55 if the display supports that, or by placing a plus sign (@samp{+})
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
56 beside the date otherwise.
6387
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
57
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
58 @vindex mark-holidays-in-calendar
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
59 Similarly, setting the variable @code{mark-holidays-in-calendar} to
7401
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
60 @code{t} marks holiday dates, either with a change of face or with an
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
61 asterisk (@samp{*}).
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
62
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
63 @vindex calendar-holiday-marker
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
64 @vindex diary-entry-marker
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
65 The variable @code{calendar-holiday-marker} specifies how to mark a
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
66 date as being a holiday. Its value may be a character to insert next to
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
67 the date, or a face name to use for displaying the date. Likewise, the
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
68 variable @code{diary-entry-marker} specifies how to mark a date that has
12067
73dc8205d259 *** empty log message ***
Karl Heuer <kwzh@gnu.org>
parents: 10906
diff changeset
69 diary entries. The calendar creates faces named @code{holiday-face} and
73dc8205d259 *** empty log message ***
Karl Heuer <kwzh@gnu.org>
parents: 10906
diff changeset
70 @code{diary-face} for these purposes; those symbols are the default
73dc8205d259 *** empty log message ***
Karl Heuer <kwzh@gnu.org>
parents: 10906
diff changeset
71 values of these variables, when Emacs supports multiple faces on your
73dc8205d259 *** empty log message ***
Karl Heuer <kwzh@gnu.org>
parents: 10906
diff changeset
72 terminal.
6387
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
73
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
74 @vindex calendar-load-hook
7401
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
75 The variable @code{calendar-load-hook} is a normal hook run when the
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
76 calendar package is first loaded (before actually starting to display
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
77 the calendar).
6387
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
78
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
79 @vindex initial-calendar-window-hook
7401
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
80 Starting the calendar runs the normal hook
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
81 @code{initial-calendar-window-hook}. Recomputation of the calendar
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
82 display does not run this hook. But if you leave the calendar with the
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
83 @kbd{q} command and reenter it, the hook runs again.@refill
6387
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
84
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
85 @vindex today-visible-calendar-hook
7401
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
86 The variable @code{today-visible-calendar-hook} is a normal hook run
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
87 after the calendar buffer has been prepared with the calendar when the
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
88 current date is visible in the window. One use of this hook is to
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
89 replace today's date with asterisks; to do that, use the hook function
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
90 @code{calendar-star-date}.
6387
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
91
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
92 @findex calendar-star-date
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
93 @example
7401
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
94 (add-hook 'today-visible-calendar-hook 'calendar-star-date)
6387
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
95 @end example
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
96
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
97 @noindent
7401
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
98 Another standard hook function marks the current date, either by
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
99 changing its face or by adding an asterisk. Here's how to use it:
6387
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
100
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
101 @findex calendar-mark-today
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
102 @example
7401
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
103 (add-hook 'today-visible-calendar-hook 'calendar-mark-today)
6387
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
104 @end example
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
105
7401
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
106 @noindent
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
107 @vindex calendar-today-marker
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
108 The variable @code{calendar-today-marker} specifies how to mark today's
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
109 date. Its value should be a character to insert next to the date or a
12067
73dc8205d259 *** empty log message ***
Karl Heuer <kwzh@gnu.org>
parents: 10906
diff changeset
110 face name to use for displaying the date. A face named
73dc8205d259 *** empty log message ***
Karl Heuer <kwzh@gnu.org>
parents: 10906
diff changeset
111 @code{calendar-today-face} is provided for this purpose; that symbol is
73dc8205d259 *** empty log message ***
Karl Heuer <kwzh@gnu.org>
parents: 10906
diff changeset
112 the default for this variable when Emacs supports multiple faces on your
73dc8205d259 *** empty log message ***
Karl Heuer <kwzh@gnu.org>
parents: 10906
diff changeset
113 terminal.
7401
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
114
6387
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
115 @vindex today-invisible-calendar-hook
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
116 @noindent
7401
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
117 A similar normal hook, @code{today-invisible-calendar-hook} is run if
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
118 the current date is @emph{not} visible in the window.
6387
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
119
25751
467b88fab665 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 24862
diff changeset
120 @vindex calendar-move-hook
467b88fab665 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 24862
diff changeset
121 Starting in Emacs 21, each of the calendar cursor motion commands
467b88fab665 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 24862
diff changeset
122 runs the hook @code{calendar-move-hook} after it moves the cursor.
467b88fab665 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 24862
diff changeset
123
6387
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
124 @node Holiday Customizing
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
125 @section Customizing the Holidays
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
126
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
127 @vindex calendar-holidays
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
128 @vindex christian-holidays
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
129 @vindex hebrew-holidays
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
130 @vindex islamic-holidays
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
131 Emacs knows about holidays defined by entries on one of several lists.
7688
ab6b8aa5002e entered into RCS
Richard M. Stallman <rms@gnu.org>
parents: 7401
diff changeset
132 You can customize these lists of holidays to your own needs, adding or
ab6b8aa5002e entered into RCS
Richard M. Stallman <rms@gnu.org>
parents: 7401
diff changeset
133 deleting holidays. The lists of holidays that Emacs uses are for
ab6b8aa5002e entered into RCS
Richard M. Stallman <rms@gnu.org>
parents: 7401
diff changeset
134 general holidays (@code{general-holidays}), local holidays
ab6b8aa5002e entered into RCS
Richard M. Stallman <rms@gnu.org>
parents: 7401
diff changeset
135 (@code{local-holidays}), Christian holidays (@code{christian-holidays}),
ab6b8aa5002e entered into RCS
Richard M. Stallman <rms@gnu.org>
parents: 7401
diff changeset
136 Hebrew (Jewish) holidays (@code{hebrew-holidays}), Islamic (Moslem)
ab6b8aa5002e entered into RCS
Richard M. Stallman <rms@gnu.org>
parents: 7401
diff changeset
137 holidays (@code{islamic-holidays}), and other holidays
ab6b8aa5002e entered into RCS
Richard M. Stallman <rms@gnu.org>
parents: 7401
diff changeset
138 (@code{other-holidays}).
6387
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
139
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
140 @vindex general-holidays
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
141 The general holidays are, by default, holidays common throughout the
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
142 United States. To eliminate these holidays, set @code{general-holidays}
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
143 to @code{nil}.
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
144
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
145 @vindex local-holidays
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
146 There are no default local holidays (but sites may supply some). You
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
147 can set the variable @code{local-holidays} to any list of holidays, as
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
148 described below.
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
149
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
150 @vindex all-christian-calendar-holidays
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
151 @vindex all-hebrew-calendar-holidays
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
152 @vindex all-islamic-calendar-holidays
7401
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
153 By default, Emacs does not include all the holidays of the religions
7688
ab6b8aa5002e entered into RCS
Richard M. Stallman <rms@gnu.org>
parents: 7401
diff changeset
154 that it knows, only those commonly found in secular calendars. For a
7401
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
155 more extensive collection of religious holidays, you can set any (or
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
156 all) of the variables @code{all-christian-calendar-holidays},
6387
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
157 @code{all-hebrew-calendar-holidays}, or
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
158 @code{all-islamic-calendar-holidays} to @code{t}. If you want to
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
159 eliminate the religious holidays, set any or all of the corresponding
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
160 variables @code{christian-holidays}, @code{hebrew-holidays}, and
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
161 @code{islamic-holidays} to @code{nil}.@refill
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
162
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
163 @vindex other-holidays
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
164 You can set the variable @code{other-holidays} to any list of
7401
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
165 holidays. This list, normally empty, is intended for individual use.
6387
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
166
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
167 @cindex holiday forms
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
168 Each of the lists (@code{general-holidays}, @code{local-holidays},
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
169 @code{christian-holidays}, @code{hebrew-holidays},
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
170 @code{islamic-holidays}, and @code{other-holidays}) is a list of
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
171 @dfn{holiday forms}, each holiday form describing a holiday (or
7401
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
172 sometimes a list of holidays).
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
173
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
174 Here is a table of the possible kinds of holiday form. Day numbers
7688
ab6b8aa5002e entered into RCS
Richard M. Stallman <rms@gnu.org>
parents: 7401
diff changeset
175 and month numbers count starting from 1, but ``dayname'' numbers
7401
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
176 count Sunday as 0. The element @var{string} is always the
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
177 name of the holiday, as a string.
6387
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
178
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
179 @table @code
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
180 @item (holiday-fixed @var{month} @var{day} @var{string})
7688
ab6b8aa5002e entered into RCS
Richard M. Stallman <rms@gnu.org>
parents: 7401
diff changeset
181 A fixed date on the Gregorian calendar.
6387
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
182
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
183 @item (holiday-float @var{month} @var{dayname} @var{k} @var{string})
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
184 The @var{k}th @var{dayname} in @var{month} on the Gregorian calendar
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
185 (@var{dayname}=0 for Sunday, and so on); negative @var{k} means count back
7401
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
186 from the end of the month.
6387
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
187
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
188 @item (holiday-hebrew @var{month} @var{day} @var{string})
7688
ab6b8aa5002e entered into RCS
Richard M. Stallman <rms@gnu.org>
parents: 7401
diff changeset
189 A fixed date on the Hebrew calendar.
6387
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
190
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
191 @item (holiday-islamic @var{month} @var{day} @var{string})
7688
ab6b8aa5002e entered into RCS
Richard M. Stallman <rms@gnu.org>
parents: 7401
diff changeset
192 A fixed date on the Islamic calendar.
6387
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
193
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
194 @item (holiday-julian @var{month} @var{day} @var{string})
7688
ab6b8aa5002e entered into RCS
Richard M. Stallman <rms@gnu.org>
parents: 7401
diff changeset
195 A fixed date on the Julian calendar.
6387
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
196
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
197 @item (holiday-sexp @var{sexp} @var{string})
7401
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
198 A date calculated by the Lisp expression @var{sexp}. The expression
7688
ab6b8aa5002e entered into RCS
Richard M. Stallman <rms@gnu.org>
parents: 7401
diff changeset
199 should use the variable @code{year} to compute and return the date of a
ab6b8aa5002e entered into RCS
Richard M. Stallman <rms@gnu.org>
parents: 7401
diff changeset
200 holiday, or @code{nil} if the holiday doesn't happen this year. The
ab6b8aa5002e entered into RCS
Richard M. Stallman <rms@gnu.org>
parents: 7401
diff changeset
201 value of @var{sexp} must represent the date as a list of the form
ab6b8aa5002e entered into RCS
Richard M. Stallman <rms@gnu.org>
parents: 7401
diff changeset
202 @code{(@var{month} @var{day} @var{year})}.
ab6b8aa5002e entered into RCS
Richard M. Stallman <rms@gnu.org>
parents: 7401
diff changeset
203
ab6b8aa5002e entered into RCS
Richard M. Stallman <rms@gnu.org>
parents: 7401
diff changeset
204 @item (if @var{condition} @var{holiday-form})
ab6b8aa5002e entered into RCS
Richard M. Stallman <rms@gnu.org>
parents: 7401
diff changeset
205 A holiday that happens only if @var{condition} is true.
6387
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
206
7401
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
207 @item (@var{function} @r{[}@var{args}@r{]})
7688
ab6b8aa5002e entered into RCS
Richard M. Stallman <rms@gnu.org>
parents: 7401
diff changeset
208 A list of dates calculated by the function @var{function}, called with
ab6b8aa5002e entered into RCS
Richard M. Stallman <rms@gnu.org>
parents: 7401
diff changeset
209 arguments @var{args}.
6387
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
210 @end table
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
211
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
212 For example, suppose you want to add Bastille Day, celebrated in
7401
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
213 France on July 14. You can do this as follows:
6387
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
214
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
215 @smallexample
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
216 (setq other-holidays '((holiday-fixed 7 14 "Bastille Day")))
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
217 @end smallexample
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
218
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
219 @noindent
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
220 The holiday form @code{(holiday-fixed 7 14 "Bastille Day")} specifies the
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
221 fourteenth day of the seventh month (July).
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
222
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
223 Many holidays occur on a specific day of the week, at a specific time
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
224 of month. Here is a holiday form describing Hurricane Supplication Day,
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
225 celebrated in the Virgin Islands on the fourth Monday in August:
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
226
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
227 @smallexample
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
228 (holiday-float 8 1 4 "Hurricane Supplication Day")
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
229 @end smallexample
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
230
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
231 @noindent
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
232 Here the 8 specifies August, the 1 specifies Monday (Sunday is 0,
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
233 Tuesday is 2, and so on), and the 4 specifies the fourth occurrence in
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
234 the month (1 specifies the first occurrence, 2 the second occurrence,
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
235 @minus{}1 the last occurrence, @minus{}2 the second-to-last occurrence, and
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
236 so on).
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
237
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
238 You can specify holidays that occur on fixed days of the Hebrew,
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
239 Islamic, and Julian calendars too. For example,
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
240
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
241 @smallexample
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
242 (setq other-holidays
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
243 '((holiday-hebrew 10 2 "Last day of Hanukkah")
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
244 (holiday-islamic 3 12 "Mohammed's Birthday")
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
245 (holiday-julian 4 2 "Jefferson's Birthday")))
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
246 @end smallexample
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
247
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
248 @noindent
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
249 adds the last day of Hanukkah (since the Hebrew months are numbered with
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
250 1 starting from Nisan), the Islamic feast celebrating Mohammed's
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
251 birthday (since the Islamic months are numbered from 1 starting with
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
252 Muharram), and Thomas Jefferson's birthday, which is 2 April 1743 on the
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
253 Julian calendar.
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
254
7401
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
255 To include a holiday conditionally, use either Emacs Lisp's @code{if} or the
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
256 @code{holiday-sexp} form. For example, American presidential elections
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
257 occur on the first Tuesday after the first Monday in November of years
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
258 divisible by 4:
6387
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
259
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
260 @smallexample
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
261 (holiday-sexp (if (= 0 (% year 4))
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
262 (calendar-gregorian-from-absolute
7688
ab6b8aa5002e entered into RCS
Richard M. Stallman <rms@gnu.org>
parents: 7401
diff changeset
263 (1+ (calendar-dayname-on-or-before
ab6b8aa5002e entered into RCS
Richard M. Stallman <rms@gnu.org>
parents: 7401
diff changeset
264 1 (+ 6 (calendar-absolute-from-gregorian
ab6b8aa5002e entered into RCS
Richard M. Stallman <rms@gnu.org>
parents: 7401
diff changeset
265 (list 11 1 year))))))
6387
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
266 "US Presidential Election"))
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
267 @end smallexample
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
268
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
269 @noindent
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
270 or
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
271
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
272 @smallexample
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
273 (if (= 0 (% displayed-year 4))
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
274 (fixed 11
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
275 (extract-calendar-day
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
276 (calendar-gregorian-from-absolute
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
277 (1+ (calendar-dayname-on-or-before
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
278 1 (+ 6 (calendar-absolute-from-gregorian
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
279 (list 11 1 displayed-year)))))))
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
280 "US Presidential Election"))
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
281 @end smallexample
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
282
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
283 Some holidays just don't fit into any of these forms because special
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
284 calculations are involved in their determination. In such cases you
7401
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
285 must write a Lisp function to do the calculation. To include eclipses,
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
286 for example, add @code{(eclipses)} to @code{other-holidays}
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
287 and write an Emacs Lisp function @code{eclipses} that returns a
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
288 (possibly empty) list of the relevant Gregorian dates among the range
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
289 visible in the calendar window, with descriptive strings, like this:
6387
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
290
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
291 @smallexample
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
292 (((6 27 1991) "Lunar Eclipse") ((7 11 1991) "Solar Eclipse") ... )
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
293 @end smallexample
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
294
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
295 @node Date Display Format
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
296 @section Date Display Format
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
297 @vindex calendar-date-display-form
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
298
7688
ab6b8aa5002e entered into RCS
Richard M. Stallman <rms@gnu.org>
parents: 7401
diff changeset
299 You can customize the manner of displaying dates in the diary, in mode
ab6b8aa5002e entered into RCS
Richard M. Stallman <rms@gnu.org>
parents: 7401
diff changeset
300 lines, and in messages by setting @code{calendar-date-display-form}.
ab6b8aa5002e entered into RCS
Richard M. Stallman <rms@gnu.org>
parents: 7401
diff changeset
301 This variable holds a list of expressions that can involve the variables
ab6b8aa5002e entered into RCS
Richard M. Stallman <rms@gnu.org>
parents: 7401
diff changeset
302 @code{month}, @code{day}, and @code{year}, which are all numbers in
ab6b8aa5002e entered into RCS
Richard M. Stallman <rms@gnu.org>
parents: 7401
diff changeset
303 string form, and @code{monthname} and @code{dayname}, which are both
ab6b8aa5002e entered into RCS
Richard M. Stallman <rms@gnu.org>
parents: 7401
diff changeset
304 alphabetic strings. In the American style, the default value of this
ab6b8aa5002e entered into RCS
Richard M. Stallman <rms@gnu.org>
parents: 7401
diff changeset
305 list is as follows:
6387
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
306
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
307 @smallexample
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
308 ((if dayname (concat dayname ", ")) monthname " " day ", " year)
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
309 @end smallexample
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
310
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
311 @noindent
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
312 while in the European style this value is the default:
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
313
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
314 @smallexample
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
315 ((if dayname (concat dayname ", ")) day " " monthname " " year)
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
316 @end smallexample
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
317
7401
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
318 @noindent
6387
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
319 The ISO standard date representation is this:
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
320
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
321 @smallexample
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
322 (year "-" month "-" day)
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
323 @end smallexample
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
324
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
325 @noindent
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
326 This specifies a typical American format:
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
327
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
328 @smallexample
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
329 (month "/" day "/" (substring year -2))
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
330 @end smallexample
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
331
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
332 @node Time Display Format
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
333 @section Time Display Format
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
334 @vindex calendar-time-display-form
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
335
7401
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
336 The calendar and diary by default display times of day in the
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
337 conventional American style with the hours from 1 through 12, minutes,
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
338 and either @samp{am} or @samp{pm}. If you prefer the European style,
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
339 also known in the US as military, in which the hours go from 00 to 23,
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
340 you can alter the variable @code{calendar-time-display-form}. This
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
341 variable is a list of expressions that can involve the variables
7688
ab6b8aa5002e entered into RCS
Richard M. Stallman <rms@gnu.org>
parents: 7401
diff changeset
342 @code{12-hours}, @code{24-hours}, and @code{minutes}, which are all
ab6b8aa5002e entered into RCS
Richard M. Stallman <rms@gnu.org>
parents: 7401
diff changeset
343 numbers in string form, and @code{am-pm} and @code{time-zone}, which are
ab6b8aa5002e entered into RCS
Richard M. Stallman <rms@gnu.org>
parents: 7401
diff changeset
344 both alphabetic strings. The default value of
ab6b8aa5002e entered into RCS
Richard M. Stallman <rms@gnu.org>
parents: 7401
diff changeset
345 @code{calendar-time-display-form} is as follows:
6387
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
346
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
347 @smallexample
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
348 (12-hours ":" minutes am-pm
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
349 (if time-zone " (") time-zone (if time-zone ")"))
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
350 @end smallexample
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
351
7401
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
352 @noindent
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
353 Here is a value that provides European style times:
6387
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
354
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
355 @smallexample
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
356 (24-hours ":" minutes
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
357 (if time-zone " (") time-zone (if time-zone ")"))
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
358 @end smallexample
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
359
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
360 @node Daylight Savings
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
361 @section Daylight Savings Time
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
362 @cindex daylight savings time
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
363
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
364 Emacs understands the difference between standard time and daylight
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
365 savings time---the times given for sunrise, sunset, solstices,
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
366 equinoxes, and the phases of the moon take that into account. The rules
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
367 for daylight savings time vary from place to place and have also varied
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
368 historically from year to year. To do the job properly, Emacs needs to
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
369 know which rules to use.
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
370
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
371 Some operating systems keep track of the rules that apply to the place
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
372 where you are; on these systems, Emacs gets the information it needs
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
373 from the system automatically. If some or all of this information is
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
374 missing, Emacs fills in the gaps with the rules currently used in
7688
ab6b8aa5002e entered into RCS
Richard M. Stallman <rms@gnu.org>
parents: 7401
diff changeset
375 Cambridge, Massachusetts, which is the center of GNU's world.
ab6b8aa5002e entered into RCS
Richard M. Stallman <rms@gnu.org>
parents: 7401
diff changeset
376
6387
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
377
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
378 @vindex calendar-daylight-savings-starts
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
379 @vindex calendar-daylight-savings-ends
7688
ab6b8aa5002e entered into RCS
Richard M. Stallman <rms@gnu.org>
parents: 7401
diff changeset
380 If the default choice of rules is not appropriate for your location,
ab6b8aa5002e entered into RCS
Richard M. Stallman <rms@gnu.org>
parents: 7401
diff changeset
381 you can tell Emacs the rules to use by setting the variables
ab6b8aa5002e entered into RCS
Richard M. Stallman <rms@gnu.org>
parents: 7401
diff changeset
382 @code{calendar-daylight-savings-starts} and
ab6b8aa5002e entered into RCS
Richard M. Stallman <rms@gnu.org>
parents: 7401
diff changeset
383 @code{calendar-daylight-savings-ends}. Their values should be Lisp
6387
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
384 expressions that refer to the variable @code{year}, and evaluate to the
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
385 Gregorian date on which daylight savings time starts or (respectively)
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
386 ends, in the form of a list @code{(@var{month} @var{day} @var{year})}.
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
387 The values should be @code{nil} if your area does not use daylight
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
388 savings time.
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
389
7688
ab6b8aa5002e entered into RCS
Richard M. Stallman <rms@gnu.org>
parents: 7401
diff changeset
390 Emacs uses these expressions to determine the start and end dates of
ab6b8aa5002e entered into RCS
Richard M. Stallman <rms@gnu.org>
parents: 7401
diff changeset
391 daylight savings time as holidays and for correcting times of day in the
ab6b8aa5002e entered into RCS
Richard M. Stallman <rms@gnu.org>
parents: 7401
diff changeset
392 solar and lunar calculations.
6387
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
393
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
394 The values for Cambridge, Massachusetts are as follows:
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
395
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
396 @example
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
397 @group
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
398 (calendar-nth-named-day 1 0 4 year)
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
399 (calendar-nth-named-day -1 0 10 year)
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
400 @end group
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
401 @end example
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
402
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
403 @noindent
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
404 i.e., the first 0th day (Sunday) of the fourth month (April) in
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
405 the year specified by @code{year}, and the last Sunday of the tenth month
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
406 (October) of that year. If daylight savings time were
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
407 changed to start on October 1, you would set
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
408 @code{calendar-daylight-savings-starts} to this:
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
409
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
410 @example
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
411 (list 10 1 year)
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
412 @end example
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
413
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
414 For a more complex example, suppose daylight savings time begins on
7401
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
415 the first of Nisan on the Hebrew calendar. You should set
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
416 @code{calendar-daylight-savings-starts} to this value:
6387
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
417
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
418 @example
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
419 (calendar-gregorian-from-absolute
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
420 (calendar-absolute-from-hebrew
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
421 (list 1 1 (+ year 3760))))
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
422 @end example
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
423
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
424 @noindent
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
425 because Nisan is the first month in the Hebrew calendar and the Hebrew
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
426 year differs from the Gregorian year by 3760 at Nisan.
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
427
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
428 If there is no daylight savings time at your location, or if you want
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
429 all times in standard time, set @code{calendar-daylight-savings-starts}
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
430 and @code{calendar-daylight-savings-ends} to @code{nil}.
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
431
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
432 @vindex calendar-daylight-time-offset
7401
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
433 The variable @code{calendar-daylight-time-offset} specifies the
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
434 difference between daylight savings time and standard time, measured in
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
435 minutes. The value for Cambridge is 60.
6387
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
436
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
437 @vindex calendar-daylight-savings-starts-time
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
438 @vindex calendar-daylight-savings-ends-time
7401
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
439 The variable @code{calendar-daylight-savings-starts-time} and the
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
440 variable @code{calendar-daylight-savings-ends-time} specify the number
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
441 of minutes after midnight local time when the transition to and from
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
442 daylight savings time should occur. For Cambridge, both variables'
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
443 values are 120.
6387
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
444
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
445 @node Diary Customizing
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
446 @section Customizing the Diary
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
447
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
448 @vindex holidays-in-diary-buffer
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
449 Ordinarily, the mode line of the diary buffer window indicates any
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
450 holidays that fall on the date of the diary entries. The process of
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
451 checking for holidays can take several seconds, so including holiday
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
452 information delays the display of the diary buffer noticeably. If you'd
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
453 prefer to have a faster display of the diary buffer but without the
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
454 holiday information, set the variable @code{holidays-in-diary-buffer} to
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
455 @code{nil}.@refill
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
456
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
457 @vindex number-of-diary-entries
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
458 The variable @code{number-of-diary-entries} controls the number of
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
459 days of diary entries to be displayed at one time. It affects the
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
460 initial display when @code{view-diary-entries-initially} is @code{t}, as
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
461 well as the command @kbd{M-x diary}. For example, the default value is
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
462 1, which says to display only the current day's diary entries. If the
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
463 value is 2, both the current day's and the next day's entries are
7688
ab6b8aa5002e entered into RCS
Richard M. Stallman <rms@gnu.org>
parents: 7401
diff changeset
464 displayed. The value can also be a vector of seven elements: for
ab6b8aa5002e entered into RCS
Richard M. Stallman <rms@gnu.org>
parents: 7401
diff changeset
465 example, if the value is @code{[0 2 2 2 2 4 1]} then no diary entries
ab6b8aa5002e entered into RCS
Richard M. Stallman <rms@gnu.org>
parents: 7401
diff changeset
466 appear on Sunday, the current date's and the next day's diary entries
ab6b8aa5002e entered into RCS
Richard M. Stallman <rms@gnu.org>
parents: 7401
diff changeset
467 appear Monday through Thursday, Friday through Monday's entries appear
ab6b8aa5002e entered into RCS
Richard M. Stallman <rms@gnu.org>
parents: 7401
diff changeset
468 on Friday, while on Saturday only that day's entries appear.
6387
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
469
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
470 @vindex print-diary-entries-hook
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
471 @findex print-diary-entries
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
472 The variable @code{print-diary-entries-hook} is a normal hook run
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
473 after preparation of a temporary buffer containing just the diary
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
474 entries currently visible in the diary buffer. (The other, irrelevant
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
475 diary entries are really absent from the temporary buffer; in the diary
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
476 buffer, they are merely hidden.) The default value of this hook does
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
477 the printing with the command @code{lpr-buffer}. If you want to use a
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
478 different command to do the printing, just change the value of this
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
479 hook. Other uses might include, for example, rearranging the lines into
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
480 order by day and time.
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
481
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
482 @vindex diary-date-forms
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
483 You can customize the form of dates in your diary file, if neither the
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
484 standard American nor European styles suits your needs, by setting the
7401
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
485 variable @code{diary-date-forms}. This variable is a list of patterns
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
486 for recognizing a date. Each date pattern is a list whose elements may
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
487 be regular expressions (@pxref{Regular Expressions}) or the symbols
6387
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
488 @code{month}, @code{day}, @code{year}, @code{monthname}, and
7401
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
489 @code{dayname}. All these elements serve as patterns that match certain
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
490 kinds of text in the diary file. In order for the date pattern, as a
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
491 whole, to match, all of its elements must match consecutively.
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
492
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
493 A regular expression in a date pattern matches in its usual fashion,
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
494 using the standard syntax table altered so that @samp{*} is a word
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
495 constituent.
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
496
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
497 The symbols @code{month}, @code{day}, @code{year}, @code{monthname},
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
498 and @code{dayname} match the month number, day number, year number,
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
499 month name, and day name of the date being considered. The symbols that
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
500 match numbers allow leading zeros; those that match names allow
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
501 three-letter abbreviations and capitalization. All the symbols can
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
502 match @samp{*}; since @samp{*} in a diary entry means ``any day'', ``any
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
503 month'', and so on, it should match regardless of the date being
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
504 considered.
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
505
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
506 The default value of @code{diary-date-forms} in the American style is
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
507 this:
6387
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
508
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
509 @example
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
510 ((month "/" day "[^/0-9]")
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
511 (month "/" day "/" year "[^0-9]")
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
512 (monthname " *" day "[^,0-9]")
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
513 (monthname " *" day ", *" year "[^0-9]")
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
514 (dayname "\\W"))
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
515 @end example
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
516
7401
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
517 The date patterns in the list must be @emph{mutually exclusive} and
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
518 must not match any portion of the diary entry itself, just the date and
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
519 one character of whitespace. If, to be mutually exclusive, the pattern
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
520 must match a portion of the diary entry text---beyond the whitespace
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
521 that ends the date---then the first element of the date pattern
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
522 @emph{must} be @code{backup}. This causes the date recognizer to back
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
523 up to the beginning of the current word of the diary entry, after
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
524 finishing the match. Even if you use @code{backup}, the date pattern
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
525 must absolutely not match more than a portion of the first word of the
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
526 diary entry. The default value of @code{diary-date-forms} in the
6387
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
527 European style is this list:
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
528
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
529 @example
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
530 ((day "/" month "[^/0-9]")
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
531 (day "/" month "/" year "[^0-9]")
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
532 (backup day " *" monthname "\\W+\\<[^*0-9]")
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
533 (day " *" monthname " *" year "[^0-9]")
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
534 (dayname "\\W"))
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
535 @end example
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
536
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
537 @noindent
7401
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
538 Notice the use of @code{backup} in the third pattern, because it needs
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
539 to match part of a word beyond the date itself to distinguish it from
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
540 the fourth pattern.
6387
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
541
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
542 @node Hebrew/Islamic Entries
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
543 @section Hebrew- and Islamic-Date Diary Entries
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
544
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
545 Your diary file can have entries based on Hebrew or Islamic dates, as
7401
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
546 well as entries based on the world-standard Gregorian calendar.
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
547 However, because recognition of such entries is time-consuming and most
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
548 people don't use them, you must explicitly enable their use. If you
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
549 want the diary to recognize Hebrew-date diary entries, for example,
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
550 you must do this:
6387
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
551
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
552 @vindex nongregorian-diary-listing-hook
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
553 @vindex nongregorian-diary-marking-hook
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
554 @findex list-hebrew-diary-entries
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
555 @findex mark-hebrew-diary-entries
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
556 @smallexample
7401
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
557 (add-hook 'nongregorian-diary-listing-hook 'list-hebrew-diary-entries)
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
558 (add-hook 'nongregorian-diary-marking-hook 'mark-hebrew-diary-entries)
6387
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
559 @end smallexample
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
560
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
561 @noindent
7401
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
562 If you want Islamic-date entries, do this:
6387
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
563
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
564 @findex list-islamic-diary-entries
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
565 @findex mark-islamic-diary-entries
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
566 @smallexample
7401
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
567 (add-hook 'nongregorian-diary-listing-hook 'list-islamic-diary-entries)
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
568 (add-hook 'nongregorian-diary-marking-hook 'mark-islamic-diary-entries)
6387
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
569 @end smallexample
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
570
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
571 Hebrew- and Islamic-date diary entries have the same formats as
7401
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
572 Gregorian-date diary entries, except that @samp{H} precedes a Hebrew
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
573 date and @samp{I} precedes an Islamic date. Moreover, because the
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
574 Hebrew and Islamic month names are not uniquely specified by the first
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
575 three letters, you may not abbreviate them. For example, a diary entry
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
576 for the Hebrew date Heshvan 25 could look like this:
6387
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
577
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
578 @smallexample
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
579 HHeshvan 25 Happy Hebrew birthday!
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
580 @end smallexample
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
581
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
582 @noindent
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
583 and would appear in the diary for any date that corresponds to Heshvan 25
22252
40089afa2b1d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 21682
diff changeset
584 on the Hebrew calendar. And here is an Islamic-date diary entry that matches
7401
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
585 Dhu al-Qada 25:
6387
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
586
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
587 @smallexample
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
588 IDhu al-Qada 25 Happy Islamic birthday!
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
589 @end smallexample
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
590
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
591 As with Gregorian-date diary entries, Hebrew- and Islamic-date entries
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
592 are nonmarking if they are preceded with an ampersand (@samp{&}).
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
593
7401
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
594 Here is a table of commands used in the calendar to create diary entries
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
595 that match the selected date and other dates that are similar in the Hebrew
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
596 or Islamic calendar:
6387
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
597
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
598 @table @kbd
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
599 @item i h d
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
600 Add a diary entry for the Hebrew date corresponding to the selected date
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
601 (@code{insert-hebrew-diary-entry}).
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
602 @item i h m
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
603 Add a diary entry for the day of the Hebrew month corresponding to the
7401
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
604 selected date (@code{insert-monthly-hebrew-diary-entry}). This diary
7688
ab6b8aa5002e entered into RCS
Richard M. Stallman <rms@gnu.org>
parents: 7401
diff changeset
605 entry matches any date that has the same Hebrew day-within-month as the
7401
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
606 selected date.
6387
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
607 @item i h y
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
608 Add a diary entry for the day of the Hebrew year corresponding to the
7401
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
609 selected date (@code{insert-yearly-hebrew-diary-entry}). This diary
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
610 entry matches any date which has the same Hebrew month and day-within-month
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
611 as the selected date.
6387
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
612 @item i i d
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
613 Add a diary entry for the Islamic date corresponding to the selected date
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
614 (@code{insert-islamic-diary-entry}).
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
615 @item i i m
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
616 Add a diary entry for the day of the Islamic month corresponding to the
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
617 selected date (@code{insert-monthly-islamic-diary-entry}).
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
618 @item i i y
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
619 Add a diary entry for the day of the Islamic year corresponding to the
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
620 selected date (@code{insert-yearly-islamic-diary-entry}).
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
621 @end table
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
622
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
623 @findex insert-hebrew-diary-entry
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
624 @findex insert-monthly-hebrew-diary-entry
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
625 @findex insert-yearly-hebrew-diary-entry
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
626 @findex insert-islamic-diary-entry
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
627 @findex insert-monthly-islamic-diary-entry
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
628 @findex insert-yearly-islamic-diary-entry
7401
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
629 These commands work much like the corresponding commands for ordinary
7688
ab6b8aa5002e entered into RCS
Richard M. Stallman <rms@gnu.org>
parents: 7401
diff changeset
630 diary entries: they apply to the date that point is on in the calendar
7401
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
631 window, and what they do is insert just the date portion of a diary entry
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
632 at the end of your diary file. You must then insert the rest of the
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
633 diary entry.
6387
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
634
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
635 @node Fancy Diary Display
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
636 @section Fancy Diary Display
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
637 @vindex diary-display-hook
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
638 @findex simple-diary-display
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
639
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
640 Diary display works by preparing the diary buffer and then running the
7401
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
641 hook @code{diary-display-hook}. The default value of this hook
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
642 (@code{simple-diary-display}) hides the irrelevant diary entries and
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
643 then displays the buffer. However, if you specify the hook as follows,
6387
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
644
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
645 @cindex diary buffer
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
646 @findex fancy-diary-display
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
647 @example
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
648 (add-hook 'diary-display-hook 'fancy-diary-display)
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
649 @end example
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
650
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
651 @noindent
7401
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
652 this enables fancy diary display. It displays diary entries and
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
653 holidays by copying them into a special buffer that exists only for the
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
654 sake of display. Copying to a separate buffer provides an opportunity
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
655 to change the displayed text to make it prettier---for example, to sort
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
656 the entries by the dates they apply to.
6387
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
657
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
658 As with simple diary display, you can print a hard copy of the buffer
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
659 with @code{print-diary-entries}. To print a hard copy of a day-by-day
24862
78aaef52e28f *** empty log message ***
Karl Heuer <kwzh@gnu.org>
parents: 22252
diff changeset
660 diary for a week, position point on Sunday of that week, type
78aaef52e28f *** empty log message ***
Karl Heuer <kwzh@gnu.org>
parents: 22252
diff changeset
661 @kbd{7 d}, and then do @kbd{M-x print-diary-entries}. As usual, the
6387
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
662 inclusion of the holidays slows down the display slightly; you can speed
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
663 things up by setting the variable @code{holidays-in-diary-buffer} to
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
664 @code{nil}.
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
665
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
666 @vindex diary-list-include-blanks
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
667 Ordinarily, the fancy diary buffer does not show days for which there are
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
668 no diary entries, even if that day is a holiday. If you want such days to be
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
669 shown in the fancy diary buffer, set the variable
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
670 @code{diary-list-include-blanks} to @code{t}.@refill
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
671
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
672 @cindex sorting diary entries
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
673 If you use the fancy diary display, you can use the normal hook
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
674 @code{list-diary-entries-hook} to sort each day's diary entries by their
22252
40089afa2b1d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 21682
diff changeset
675 time of day. Here's how:
6387
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
676
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
677 @findex sort-diary-entries
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
678 @example
10906
7601ae23cf92 Fix sort-diary-entries example.
Richard M. Stallman <rms@gnu.org>
parents: 7688
diff changeset
679 (add-hook 'list-diary-entries-hook 'sort-diary-entries t)
6387
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
680 @end example
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
681
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
682 @noindent
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
683 For each day, this sorts diary entries that begin with a recognizable
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
684 time of day according to their times. Diary entries without times come
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
685 first within each day.
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
686
7401
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
687 Fancy diary display also has the ability to process included diary
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
688 files. This permits a group of people to share a diary file for events
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
689 that apply to all of them. Lines in the diary file of this form:
6387
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
690
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
691 @smallexample
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
692 #include "@var{filename}"
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
693 @end smallexample
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
694
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
695 @noindent
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
696 includes the diary entries from the file @var{filename} in the fancy
7688
ab6b8aa5002e entered into RCS
Richard M. Stallman <rms@gnu.org>
parents: 7401
diff changeset
697 diary buffer. The include mechanism is recursive, so that included files
7401
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
698 can include other files, and so on; you must be careful not to have a
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
699 cycle of inclusions, of course. Here is how to enable the include
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
700 facility:
6387
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
701
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
702 @vindex list-diary-entries-hook
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
703 @vindex mark-diary-entries-hook
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
704 @findex include-other-diary-files
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
705 @findex mark-included-diary-files
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
706 @smallexample
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
707 (add-hook 'list-diary-entries-hook 'include-other-diary-files)
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
708 (add-hook 'mark-diary-entries-hook 'mark-included-diary-files)
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
709 @end smallexample
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
710
7401
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
711 The include mechanism works only with the fancy diary display, because
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
712 ordinary diary display shows the entries directly from your diary file.
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
713
6387
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
714 @node Sexp Diary Entries
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
715 @section Sexp Entries and the Fancy Diary Display
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
716 @cindex sexp diary entries
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
717
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
718 Sexp diary entries allow you to do more than just have complicated
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
719 conditions under which a diary entry applies. If you use the fancy
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
720 diary display, sexp entries can generate the text of the entry depending
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
721 on the date itself. For example, an anniversary diary entry can insert
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
722 the number of years since the anniversary date into the text of the
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
723 diary entry. Thus the @samp{%d} in this dairy entry:
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
724
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
725 @findex diary-anniversary
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
726 @smallexample
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
727 %%(diary-anniversary 10 31 1948) Arthur's birthday (%d years old)
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
728 @end smallexample
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
729
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
730 @noindent
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
731 gets replaced by the age, so on October 31, 1990 the entry appears in
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
732 the fancy diary buffer like this:
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
733
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
734 @smallexample
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
735 Arthur's birthday (42 years old)
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
736 @end smallexample
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
737
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
738 @noindent
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
739 If the diary file instead contains this entry:
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
740
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
741 @smallexample
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
742 %%(diary-anniversary 10 31 1948) Arthur's %d%s birthday
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
743 @end smallexample
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
744
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
745 @noindent
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
746 the entry in the fancy diary buffer for October 31, 1990 appears like this:
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
747
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
748 @smallexample
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
749 Arthur's 42nd birthday
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
750 @end smallexample
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
751
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
752 Similarly, cyclic diary entries can interpolate the number of repetitions
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
753 that have occurred:
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
754
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
755 @findex diary-cyclic
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
756 @smallexample
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
757 %%(diary-cyclic 50 1 1 1990) Renew medication (%d%s time)
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
758 @end smallexample
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
759
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
760 @noindent
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
761 looks like this:
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
762
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
763 @smallexample
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
764 Renew medication (5th time)
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
765 @end smallexample
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
766
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
767 @noindent
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
768 in the fancy diary display on September 8, 1990.
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
769
20355
41e0ec95fdef Describe diary-remind and diary-date.
Edward M. Reingold <reingold@emr.cs.iit.edu>
parents: 12067
diff changeset
770 There is an early reminder diary sexp that includes its entry in the
41e0ec95fdef Describe diary-remind and diary-date.
Edward M. Reingold <reingold@emr.cs.iit.edu>
parents: 12067
diff changeset
771 diary not only on the date of occurrence, but also on earlier dates.
41e0ec95fdef Describe diary-remind and diary-date.
Edward M. Reingold <reingold@emr.cs.iit.edu>
parents: 12067
diff changeset
772 For example, if you want a reminder a week before your anniversary, you
41e0ec95fdef Describe diary-remind and diary-date.
Edward M. Reingold <reingold@emr.cs.iit.edu>
parents: 12067
diff changeset
773 can use
41e0ec95fdef Describe diary-remind and diary-date.
Edward M. Reingold <reingold@emr.cs.iit.edu>
parents: 12067
diff changeset
774
41e0ec95fdef Describe diary-remind and diary-date.
Edward M. Reingold <reingold@emr.cs.iit.edu>
parents: 12067
diff changeset
775 @findex diary-remind
41e0ec95fdef Describe diary-remind and diary-date.
Edward M. Reingold <reingold@emr.cs.iit.edu>
parents: 12067
diff changeset
776 @smallexample
21007
66d807bdc5b4 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 20360
diff changeset
777 %%(diary-remind '(diary-anniversary 12 22 1968) 7) Ed's anniversary
20355
41e0ec95fdef Describe diary-remind and diary-date.
Edward M. Reingold <reingold@emr.cs.iit.edu>
parents: 12067
diff changeset
778 @end smallexample
41e0ec95fdef Describe diary-remind and diary-date.
Edward M. Reingold <reingold@emr.cs.iit.edu>
parents: 12067
diff changeset
779
41e0ec95fdef Describe diary-remind and diary-date.
Edward M. Reingold <reingold@emr.cs.iit.edu>
parents: 12067
diff changeset
780 @noindent
20360
1645cf890b24 Describe diary-float function.
Edward M. Reingold <reingold@emr.cs.iit.edu>
parents: 20355
diff changeset
781 and the fancy diary will show
20355
41e0ec95fdef Describe diary-remind and diary-date.
Edward M. Reingold <reingold@emr.cs.iit.edu>
parents: 12067
diff changeset
782 @smallexample
25751
467b88fab665 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 24862
diff changeset
783 Ed's anniversary
20355
41e0ec95fdef Describe diary-remind and diary-date.
Edward M. Reingold <reingold@emr.cs.iit.edu>
parents: 12067
diff changeset
784 @end smallexample
41e0ec95fdef Describe diary-remind and diary-date.
Edward M. Reingold <reingold@emr.cs.iit.edu>
parents: 12067
diff changeset
785 @noindent
41e0ec95fdef Describe diary-remind and diary-date.
Edward M. Reingold <reingold@emr.cs.iit.edu>
parents: 12067
diff changeset
786 both on December 15 and on December 22.
41e0ec95fdef Describe diary-remind and diary-date.
Edward M. Reingold <reingold@emr.cs.iit.edu>
parents: 12067
diff changeset
787
41e0ec95fdef Describe diary-remind and diary-date.
Edward M. Reingold <reingold@emr.cs.iit.edu>
parents: 12067
diff changeset
788 @findex diary-date
41e0ec95fdef Describe diary-remind and diary-date.
Edward M. Reingold <reingold@emr.cs.iit.edu>
parents: 12067
diff changeset
789 The function @code{diary-date} applies to dates described by a month,
41e0ec95fdef Describe diary-remind and diary-date.
Edward M. Reingold <reingold@emr.cs.iit.edu>
parents: 12067
diff changeset
790 day, year combination, each of which can be an integer, a list of
41e0ec95fdef Describe diary-remind and diary-date.
Edward M. Reingold <reingold@emr.cs.iit.edu>
parents: 12067
diff changeset
791 integers, or @code{t}. The value @code{t} means all values. For
41e0ec95fdef Describe diary-remind and diary-date.
Edward M. Reingold <reingold@emr.cs.iit.edu>
parents: 12067
diff changeset
792 example,
41e0ec95fdef Describe diary-remind and diary-date.
Edward M. Reingold <reingold@emr.cs.iit.edu>
parents: 12067
diff changeset
793
41e0ec95fdef Describe diary-remind and diary-date.
Edward M. Reingold <reingold@emr.cs.iit.edu>
parents: 12067
diff changeset
794 @smallexample
41e0ec95fdef Describe diary-remind and diary-date.
Edward M. Reingold <reingold@emr.cs.iit.edu>
parents: 12067
diff changeset
795 %%(diary-date '(10 11 12) 22 t) Rake leaves
41e0ec95fdef Describe diary-remind and diary-date.
Edward M. Reingold <reingold@emr.cs.iit.edu>
parents: 12067
diff changeset
796 @end smallexample
41e0ec95fdef Describe diary-remind and diary-date.
Edward M. Reingold <reingold@emr.cs.iit.edu>
parents: 12067
diff changeset
797
41e0ec95fdef Describe diary-remind and diary-date.
Edward M. Reingold <reingold@emr.cs.iit.edu>
parents: 12067
diff changeset
798 @noindent
20360
1645cf890b24 Describe diary-float function.
Edward M. Reingold <reingold@emr.cs.iit.edu>
parents: 20355
diff changeset
799 causes the fancy diary to show
20355
41e0ec95fdef Describe diary-remind and diary-date.
Edward M. Reingold <reingold@emr.cs.iit.edu>
parents: 12067
diff changeset
800
41e0ec95fdef Describe diary-remind and diary-date.
Edward M. Reingold <reingold@emr.cs.iit.edu>
parents: 12067
diff changeset
801 @smallexample
41e0ec95fdef Describe diary-remind and diary-date.
Edward M. Reingold <reingold@emr.cs.iit.edu>
parents: 12067
diff changeset
802 Rake leaves
41e0ec95fdef Describe diary-remind and diary-date.
Edward M. Reingold <reingold@emr.cs.iit.edu>
parents: 12067
diff changeset
803 @end smallexample
41e0ec95fdef Describe diary-remind and diary-date.
Edward M. Reingold <reingold@emr.cs.iit.edu>
parents: 12067
diff changeset
804
41e0ec95fdef Describe diary-remind and diary-date.
Edward M. Reingold <reingold@emr.cs.iit.edu>
parents: 12067
diff changeset
805 @noindent
20360
1645cf890b24 Describe diary-float function.
Edward M. Reingold <reingold@emr.cs.iit.edu>
parents: 20355
diff changeset
806 on October 22, November 22, and December 22 of every year.
1645cf890b24 Describe diary-float function.
Edward M. Reingold <reingold@emr.cs.iit.edu>
parents: 20355
diff changeset
807
1645cf890b24 Describe diary-float function.
Edward M. Reingold <reingold@emr.cs.iit.edu>
parents: 20355
diff changeset
808 @findex diary-float
1645cf890b24 Describe diary-float function.
Edward M. Reingold <reingold@emr.cs.iit.edu>
parents: 20355
diff changeset
809 The function @code{diary-float} allows you to describe diary entries
1645cf890b24 Describe diary-float function.
Edward M. Reingold <reingold@emr.cs.iit.edu>
parents: 20355
diff changeset
810 that apply to dates like the third Friday of November, or the last
1645cf890b24 Describe diary-float function.
Edward M. Reingold <reingold@emr.cs.iit.edu>
parents: 20355
diff changeset
811 Tuesday in April. The parameters are the @var{month}, @var{dayname},
1645cf890b24 Describe diary-float function.
Edward M. Reingold <reingold@emr.cs.iit.edu>
parents: 20355
diff changeset
812 and an index @var{n}. The entry appears on the @var{n}th @var{dayname}
1645cf890b24 Describe diary-float function.
Edward M. Reingold <reingold@emr.cs.iit.edu>
parents: 20355
diff changeset
813 of @var{month}, where @var{dayname}=0 means Sunday, 1 means Monday, and
1645cf890b24 Describe diary-float function.
Edward M. Reingold <reingold@emr.cs.iit.edu>
parents: 20355
diff changeset
814 so on. If @var{n} is negative it counts backward from the end of
1645cf890b24 Describe diary-float function.
Edward M. Reingold <reingold@emr.cs.iit.edu>
parents: 20355
diff changeset
815 @var{month}. The value of @var{month} can be a list of months, a single
1645cf890b24 Describe diary-float function.
Edward M. Reingold <reingold@emr.cs.iit.edu>
parents: 20355
diff changeset
816 month, or @code{t} to specify all months. You can also use an optional
1645cf890b24 Describe diary-float function.
Edward M. Reingold <reingold@emr.cs.iit.edu>
parents: 20355
diff changeset
817 parameter @var{day} to specify the @var{n}th @var{dayname} of
21007
66d807bdc5b4 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 20360
diff changeset
818 @var{month} on or after/before @var{day}; the value of @var{day} defaults
20360
1645cf890b24 Describe diary-float function.
Edward M. Reingold <reingold@emr.cs.iit.edu>
parents: 20355
diff changeset
819 to 1 if @var{n} is positive and to the last day of @var{month} if
1645cf890b24 Describe diary-float function.
Edward M. Reingold <reingold@emr.cs.iit.edu>
parents: 20355
diff changeset
820 @var{n} is negative. For example,
1645cf890b24 Describe diary-float function.
Edward M. Reingold <reingold@emr.cs.iit.edu>
parents: 20355
diff changeset
821
1645cf890b24 Describe diary-float function.
Edward M. Reingold <reingold@emr.cs.iit.edu>
parents: 20355
diff changeset
822 @smallexample
1645cf890b24 Describe diary-float function.
Edward M. Reingold <reingold@emr.cs.iit.edu>
parents: 20355
diff changeset
823 %%(diary-float t 1 -1) Pay rent
1645cf890b24 Describe diary-float function.
Edward M. Reingold <reingold@emr.cs.iit.edu>
parents: 20355
diff changeset
824 @end smallexample
1645cf890b24 Describe diary-float function.
Edward M. Reingold <reingold@emr.cs.iit.edu>
parents: 20355
diff changeset
825
1645cf890b24 Describe diary-float function.
Edward M. Reingold <reingold@emr.cs.iit.edu>
parents: 20355
diff changeset
826 @noindent
1645cf890b24 Describe diary-float function.
Edward M. Reingold <reingold@emr.cs.iit.edu>
parents: 20355
diff changeset
827 causes the fancy diary to show
1645cf890b24 Describe diary-float function.
Edward M. Reingold <reingold@emr.cs.iit.edu>
parents: 20355
diff changeset
828
1645cf890b24 Describe diary-float function.
Edward M. Reingold <reingold@emr.cs.iit.edu>
parents: 20355
diff changeset
829 @smallexample
1645cf890b24 Describe diary-float function.
Edward M. Reingold <reingold@emr.cs.iit.edu>
parents: 20355
diff changeset
830 Pay rent
1645cf890b24 Describe diary-float function.
Edward M. Reingold <reingold@emr.cs.iit.edu>
parents: 20355
diff changeset
831 @end smallexample
1645cf890b24 Describe diary-float function.
Edward M. Reingold <reingold@emr.cs.iit.edu>
parents: 20355
diff changeset
832
1645cf890b24 Describe diary-float function.
Edward M. Reingold <reingold@emr.cs.iit.edu>
parents: 20355
diff changeset
833 @noindent
1645cf890b24 Describe diary-float function.
Edward M. Reingold <reingold@emr.cs.iit.edu>
parents: 20355
diff changeset
834 on the last Monday of every month.
20355
41e0ec95fdef Describe diary-remind and diary-date.
Edward M. Reingold <reingold@emr.cs.iit.edu>
parents: 12067
diff changeset
835
6387
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
836 The generality of sexp diary entries lets you specify any diary entry
7401
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
837 that you can describe algorithmically. A sexp diary entry contains an
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
838 expression that computes whether the entry applies to any given date.
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
839 If its value is non-@code{nil}, the entry applies to that date;
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
840 otherwise, it does not. The expression can use the variable @code{date}
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
841 to find the date being considered; its value is a list (@var{month}
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
842 @var{day} @var{year}) that refers to the Gregorian calendar.
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
843
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
844 Suppose you get paid on the 21st of the month if it is a weekday, and
7688
ab6b8aa5002e entered into RCS
Richard M. Stallman <rms@gnu.org>
parents: 7401
diff changeset
845 on the Friday before if the 21st is on a weekend. Here is how to write
7401
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
846 a sexp diary entry that matches those dates:
6387
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
847
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
848 @smallexample
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
849 &%%(let ((dayname (calendar-day-of-week date))
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
850 (day (car (cdr date))))
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
851 (or (and (= day 21) (memq dayname '(1 2 3 4 5)))
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
852 (and (memq day '(19 20)) (= dayname 5)))
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
853 ) Pay check deposited
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
854 @end smallexample
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
855
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
856 The following sexp diary entries take advantage of the ability (in the fancy
7401
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
857 diary display) to concoct diary entries whose text varies based on the date:
6387
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
858
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
859 @findex diary-sunrise-sunset
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
860 @findex diary-phases-of-moon
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
861 @findex diary-day-of-year
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
862 @findex diary-iso-date
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
863 @findex diary-julian-date
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
864 @findex diary-astro-day-number
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
865 @findex diary-hebrew-date
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
866 @findex diary-islamic-date
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
867 @findex diary-french-date
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
868 @findex diary-mayan-date
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
869 @table @code
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
870 @item %%(diary-sunrise-sunset)
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
871 Make a diary entry for the local times of today's sunrise and sunset.
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
872 @item %%(diary-phases-of-moon)
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
873 Make a diary entry for the phases (quarters) of the moon.
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
874 @item %%(diary-day-of-year)
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
875 Make a diary entry with today's day number in the current year and the number
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
876 of days remaining in the current year.
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
877 @item %%(diary-iso-date)
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
878 Make a diary entry with today's equivalent ISO commercial date.
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
879 @item %%(diary-julian-date)
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
880 Make a diary entry with today's equivalent date on the Julian calendar.
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
881 @item %%(diary-astro-day-number)
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
882 Make a diary entry with today's equivalent astronomical (Julian) day number.
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
883 @item %%(diary-hebrew-date)
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
884 Make a diary entry with today's equivalent date on the Hebrew calendar.
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
885 @item %%(diary-islamic-date)
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
886 Make a diary entry with today's equivalent date on the Islamic calendar.
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
887 @item %%(diary-french-date)
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
888 Make a diary entry with today's equivalent date on the French Revolutionary
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
889 calendar.
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
890 @item %%(diary-mayan-date)
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
891 Make a diary entry with today's equivalent date on the Mayan calendar.
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
892 @end table
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
893
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
894 @noindent
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
895 Thus including the diary entry
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
896
7401
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
897 @example
6387
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
898 &%%(diary-hebrew-date)
7401
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
899 @end example
6387
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
900
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
901 @noindent
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
902 causes every day's diary display to contain the equivalent date on the
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
903 Hebrew calendar, if you are using the fancy diary display. (With simple
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
904 diary display, the line @samp{&%%(diary-hebrew-date)} appears in the
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
905 diary for any date, but does nothing particularly useful.)
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
906
7688
ab6b8aa5002e entered into RCS
Richard M. Stallman <rms@gnu.org>
parents: 7401
diff changeset
907 These functions can be used to construct sexp diary entries based on
ab6b8aa5002e entered into RCS
Richard M. Stallman <rms@gnu.org>
parents: 7401
diff changeset
908 the Hebrew calendar in certain standard ways:
6387
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
909
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
910 @cindex rosh hodesh
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
911 @findex diary-rosh-hodesh
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
912 @cindex parasha, weekly
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
913 @findex diary-parasha
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
914 @cindex candle lighting times
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
915 @findex diary-sabbath-candles
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
916 @cindex omer count
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
917 @findex diary-omer
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
918 @cindex yahrzeits
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
919 @findex diary-yahrzeit
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
920 @table @code
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
921 @item %%(diary-rosh-hodesh)
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
922 Make a diary entry that tells the occurrence and ritual announcement of each
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
923 new Hebrew month.
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
924 @item %%(diary-parasha)
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
925 Make a Saturday diary entry that tells the weekly synagogue scripture reading.
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
926 @item %%(diary-sabbath-candles)
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
927 Make a Friday diary entry that tells the @emph{local time} of Sabbath
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
928 candle lighting.
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
929 @item %%(diary-omer)
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
930 Make a diary entry that gives the omer count, when appropriate.
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
931 @item %%(diary-yahrzeit @var{month} @var{day} @var{year}) @var{name}
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
932 Make a diary entry marking the anniversary of a date of death. The date
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
933 is the @emph{Gregorian} (civil) date of death. The diary entry appears
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
934 on the proper Hebrew calendar anniversary and on the day before. (In
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
935 the European style, the order of the parameters is changed to @var{day},
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
936 @var{month}, @var{year}.)
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
937 @end table
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
938
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
939 @node Appt Customizing
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
940 @section Customizing Appointment Reminders
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
941
7688
ab6b8aa5002e entered into RCS
Richard M. Stallman <rms@gnu.org>
parents: 7401
diff changeset
942 You can specify exactly how Emacs reminds you of an appointment, and
ab6b8aa5002e entered into RCS
Richard M. Stallman <rms@gnu.org>
parents: 7401
diff changeset
943 how far in advance it begins doing so, by setting these variables:
6387
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
944
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
945 @vindex appt-message-warning-time
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
946 @vindex appt-audible
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
947 @vindex appt-visible
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
948 @vindex appt-display-mode-line
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
949 @vindex appt-msg-window
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
950 @vindex appt-display-duration
7401
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
951 @vindex appt-disp-window-function
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
952 @vindex appt-delete-window-function
6387
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
953 @table @code
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
954 @item appt-message-warning-time
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
955 The time in minutes before an appointment that the reminder begins. The
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
956 default is 10 minutes.
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
957 @item appt-audible
7401
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
958 If this is non-@code{nil}, Emacs rings the
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
959 terminal bell for appointment reminders. The default is @code{t}.
6387
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
960 @item appt-visible
7401
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
961 If this is non-@code{nil}, Emacs displays the appointment
7688
ab6b8aa5002e entered into RCS
Richard M. Stallman <rms@gnu.org>
parents: 7401
diff changeset
962 message in the echo area. The default is @code{t}.
6387
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
963 @item appt-display-mode-line
7401
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
964 If this is non-@code{nil}, Emacs displays the number of minutes
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
965 to the appointment on the mode line. The default is @code{t}.
6387
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
966 @item appt-msg-window
7401
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
967 If this is non-@code{nil}, Emacs displays the appointment
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
968 message in another window. The default is @code{t}.
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
969 @item appt-disp-window-function
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
970 This variable holds a function to use to create the other window
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
971 for the appointment message.
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
972 @item appt-delete-window-function
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
973 This variable holds a function to use to get rid of the appointment
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
974 message window, when its time is up.
6387
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
975 @item appt-display-duration
7401
afe506bf7264 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 6387
diff changeset
976 The number of seconds to display an appointment message. The default
6387
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
977 is 5 seconds.
b06d5c68be5a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
978 @end table