aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGlenn Morris2008-04-08 07:02:13 +0000
committerGlenn Morris2008-04-08 07:02:13 +0000
commit36c0514ceaf4b3740a615c6c4f0a3280cbc1dd58 (patch)
tree3c98389edfb3ebb260eb59f4367bfe98d5929011
parent05786f2d93c238651290639638b1007eab20a7ac (diff)
downloademacs-36c0514ceaf4b3740a615c6c4f0a3280cbc1dd58.tar.gz
emacs-36c0514ceaf4b3740a615c6c4f0a3280cbc1dd58.zip
Update for calendar name changes.
Also add Baha'i calendar references where appropriate.
-rw-r--r--doc/emacs/ChangeLog5
-rw-r--r--doc/emacs/cal-xtra.texi250
-rw-r--r--doc/emacs/calendar.texi233
-rw-r--r--etc/NEWS1
4 files changed, 260 insertions, 229 deletions
diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog
index 1a3bb605eff..bf0fe7bee0f 100644
--- a/doc/emacs/ChangeLog
+++ b/doc/emacs/ChangeLog
@@ -1,3 +1,8 @@
12008-04-08 Glenn Morris <rgm@gnu.org>
2
3 * cal-xtra.texi, calendar.texi: Update for calendar name changes.
4 Also add Baha'i calendar references where appropriate.
5
12008-04-05 Glenn Morris <rgm@gnu.org> 62008-04-05 Glenn Morris <rgm@gnu.org>
2 7
3 * custom.texi (Init File): Byte-compiling .emacs is bad. 8 * custom.texi (Init File): Byte-compiling .emacs is bad.
diff --git a/doc/emacs/cal-xtra.texi b/doc/emacs/cal-xtra.texi
index f6a4af0499b..20af68effc9 100644
--- a/doc/emacs/cal-xtra.texi
+++ b/doc/emacs/cal-xtra.texi
@@ -32,23 +32,22 @@ diary suit your personal tastes.
32date as being a holiday. Its value may be a single-character string 32date as being a holiday. Its value may be a single-character string
33to insert next to the date, or a face name to use for displaying the 33to insert next to the date, or a face name to use for displaying the
34date. Likewise, the variable @code{diary-entry-marker} specifies how 34date. Likewise, the variable @code{diary-entry-marker} specifies how
35to mark a date that has diary entries. The calendar creates faces 35to mark a date that has diary entries. By default, the calendar uses
36named @code{holiday-face} and @code{diary-face} for these purposes; 36faces named @code{holiday} and @code{diary} for these purposes.
37those symbols are the default values of these variables.
38 37
39@vindex calendar-load-hook 38@vindex calendar-load-hook
40 The variable @code{calendar-load-hook} is a normal hook run when the 39 The variable @code{calendar-load-hook} is a normal hook run when the
41calendar package is first loaded (before actually starting to display 40calendar package is first loaded (before actually starting to display
42the calendar). 41the calendar).
43 42
44@vindex initial-calendar-window-hook 43@vindex calendar-initial-window-hook
45 Starting the calendar runs the normal hook 44 Starting the calendar runs the normal hook
46@code{initial-calendar-window-hook}. Recomputation of the calendar 45@code{calendar-initial-window-hook}. Recomputation of the calendar
47display does not run this hook. But if you leave the calendar with the 46display does not run this hook. But if you leave the calendar with the
48@kbd{q} command and reenter it, the hook runs again.@refill 47@kbd{q} command and reenter it, the hook runs again.@refill
49 48
50@vindex today-visible-calendar-hook 49@vindex calendar-today-visible-hook
51 The variable @code{today-visible-calendar-hook} is a normal hook run 50 The variable @code{calendar-today-visible-hook} is a normal hook run
52after the calendar buffer has been prepared with the calendar when the 51after the calendar buffer has been prepared with the calendar when the
53current date is visible in the window. One use of this hook is to 52current date is visible in the window. One use of this hook is to
54replace today's date with asterisks; to do that, use the hook function 53replace today's date with asterisks; to do that, use the hook function
@@ -56,7 +55,7 @@ replace today's date with asterisks; to do that, use the hook function
56 55
57@findex calendar-star-date 56@findex calendar-star-date
58@example 57@example
59(add-hook 'today-visible-calendar-hook 'calendar-star-date) 58(add-hook 'calendar-today-visible-hook 'calendar-star-date)
60@end example 59@end example
61 60
62@noindent 61@noindent
@@ -65,7 +64,7 @@ changing its face or by adding an asterisk. Here's how to use it:
65 64
66@findex calendar-mark-today 65@findex calendar-mark-today
67@example 66@example
68(add-hook 'today-visible-calendar-hook 'calendar-mark-today) 67(add-hook 'calendar-today-visible-hook 'calendar-mark-today)
69@end example 68@end example
70 69
71@noindent 70@noindent
@@ -73,12 +72,12 @@ changing its face or by adding an asterisk. Here's how to use it:
73The variable @code{calendar-today-marker} specifies how to mark 72The variable @code{calendar-today-marker} specifies how to mark
74today's date. Its value should be a single-character string to insert 73today's date. Its value should be a single-character string to insert
75next to the date or a face name to use for displaying the date. A 74next to the date or a face name to use for displaying the date. A
76face named @code{calendar-today-face} is provided for this purpose; 75face named @code{calendar-today} is provided for this purpose; that
77that symbol is the default for this variable. 76symbol is the default for this variable.
78 77
79@vindex today-invisible-calendar-hook 78@vindex calendar-today-invisible-hook
80@noindent 79@noindent
81 A similar normal hook, @code{today-invisible-calendar-hook} is run if 80 A similar normal hook, @code{calendar-today-invisible-hook} is run if
82the current date is @emph{not} visible in the window. 81the current date is @emph{not} visible in the window.
83 82
84@vindex calendar-move-hook 83@vindex calendar-move-hook
@@ -89,50 +88,60 @@ the current date is @emph{not} visible in the window.
89@subsection Customizing the Holidays 88@subsection Customizing the Holidays
90 89
91@vindex calendar-holidays 90@vindex calendar-holidays
92@vindex christian-holidays 91@vindex holiday-bahai-holidays
93@vindex hebrew-holidays 92@vindex holiday-christian-holidays
94@vindex islamic-holidays 93@vindex holiday-hebrew-holidays
94@vindex holiday-islamic-holidays
95 Emacs knows about holidays defined by entries on one of several lists. 95 Emacs knows about holidays defined by entries on one of several lists.
96You can customize these lists of holidays to your own needs, adding or 96You can customize these lists of holidays to your own needs, adding or
97deleting holidays. The lists of holidays that Emacs uses are for 97deleting holidays. The lists of holidays that Emacs uses are for
98general holidays (@code{general-holidays}), local holidays 98general holidays (@code{holiday-general-holidays}), local holidays
99(@code{local-holidays}), Christian holidays (@code{christian-holidays}), 99(@code{holiday-local-holidays}), Baha'i holidays
100Hebrew (Jewish) holidays (@code{hebrew-holidays}), Islamic (Muslim) 100(@code{holiday-bahai-holidays}), Christian holidays
101holidays (@code{islamic-holidays}), and other holidays 101(@code{holiday-christian-holidays}), Hebrew (Jewish) holidays
102(@code{other-holidays}). 102(@code{holiday-hebrew-holidays}), Islamic (Muslim) holidays
103 103(@code{holiday-islamic-holidays}), Oriental holidays
104@vindex general-holidays 104(@code{holiday-oriental-holidays}), sun- and moon-related holidays
105(@code{holiday-solar-holidays}), and other holidays
106(@code{holiday-other-holidays}).
107
108@vindex holiday-general-holidays
105 The general holidays are, by default, holidays common throughout the 109 The general holidays are, by default, holidays common throughout the
106United States. To eliminate these holidays, set @code{general-holidays} 110United States. To eliminate these holidays, set
107to @code{nil}. 111@code{holiday-general-holidays} to @code{nil}.
108 112
109@vindex local-holidays 113@vindex holiday-local-holidays
110 There are no default local holidays (but sites may supply some). You 114 There are no default local holidays (but sites may supply some). You
111can set the variable @code{local-holidays} to any list of holidays, as 115can set the variable @code{holiday-local-holidays} to any list of
112described below. 116holidays, as described below.
113 117
114@vindex all-christian-calendar-holidays 118@vindex calendar-bahai-all-holidays-flag
115@vindex all-hebrew-calendar-holidays 119@vindex calendar-christian-all-holidays-flag
116@vindex all-islamic-calendar-holidays 120@vindex calendar-hebrew-all-holidays-flag
121@vindex calendar-islamic-all-holidays-flag
117 By default, Emacs does not include all the holidays of the religions 122 By default, Emacs does not include all the holidays of the religions
118that it knows, only those commonly found in secular calendars. For a 123that it knows, only those commonly found in secular calendars. For a
119more extensive collection of religious holidays, you can set any (or 124more extensive collection of religious holidays, you can set any (or
120all) of the variables @code{all-christian-calendar-holidays}, 125all) of the variables @code{calendar-bahai-all-holidays-flag},
121@code{all-hebrew-calendar-holidays}, or 126@code{calendar-christian-all-holidays-flag},
122@code{all-islamic-calendar-holidays} to @code{t}. If you want to 127@code{calendar-hebrew-all-holidays-flag}, or
128@code{calendar-islamic-all-holidays-flag} to @code{t}. If you want to
123eliminate the religious holidays, set any or all of the corresponding 129eliminate the religious holidays, set any or all of the corresponding
124variables @code{christian-holidays}, @code{hebrew-holidays}, and 130variables @code{holiday-bahai-holidays}, @code{holiday-christian-holidays},
125@code{islamic-holidays} to @code{nil}.@refill 131@code{holiday-hebrew-holidays}, and @code{holiday-islamic-holidays} to
132@code{nil}.@refill
126 133
127@vindex other-holidays 134@vindex holiday-other-holidays
128 You can set the variable @code{other-holidays} to any list of 135 You can set the variable @code{holiday-other-holidays} to any list of
129holidays. This list, normally empty, is intended for individual use. 136holidays. This list, normally empty, is intended for individual use.
130 137
131@cindex holiday forms 138@cindex holiday forms
132 Each of the lists (@code{general-holidays}, @code{local-holidays}, 139 Each of the lists (@code{holiday-general-holidays},
133@code{christian-holidays}, @code{hebrew-holidays}, 140@code{holiday-local-holidays}, @code{holiday-bahai-holidays},
134@code{islamic-holidays}, and @code{other-holidays}) is a list of 141@code{holiday-christian-holidays}, @code{holiday-hebrew-holidays},
135@dfn{holiday forms}, each holiday form describing a holiday (or 142@code{holiday-islamic-holidays}, @code{holiday-oriental-holidays},
143@code{holiday-solar-holidays}, and @code{holiday-other-holidays}) is a
144list of @dfn{holiday forms}, each holiday form describing a holiday (or
136sometimes a list of holidays). 145sometimes a list of holidays).
137 146
138 Here is a table of the possible kinds of holiday form. Day numbers 147 Here is a table of the possible kinds of holiday form. Day numbers
@@ -199,8 +208,8 @@ the month (1 specifies the first occurrence, 2 the second occurrence,
199@minus{}1 the last occurrence, @minus{}2 the second-to-last occurrence, and 208@minus{}1 the last occurrence, @minus{}2 the second-to-last occurrence, and
200so on). 209so on).
201 210
202 You can specify holidays that occur on fixed days of the Hebrew, 211 You can specify holidays that occur on fixed days of the Baha'i,
203Islamic, and Julian calendars too. For example, 212Hebrew, Islamic, and Julian calendars too. For example,
204 213
205@smallexample 214@smallexample
206(setq other-holidays 215(setq other-holidays
@@ -236,7 +245,7 @@ or
236@smallexample 245@smallexample
237(if (= 0 (% displayed-year 4)) 246(if (= 0 (% displayed-year 4))
238 (fixed 11 247 (fixed 11
239 (extract-calendar-day 248 (calendar-extract-day
240 (calendar-gregorian-from-absolute 249 (calendar-gregorian-from-absolute
241 (1+ (calendar-dayname-on-or-before 250 (1+ (calendar-dayname-on-or-before
242 1 (+ 6 (calendar-absolute-from-gregorian 251 1 (+ 6 (calendar-absolute-from-gregorian
@@ -247,7 +256,7 @@ or
247 Some holidays just don't fit into any of these forms because special 256 Some holidays just don't fit into any of these forms because special
248calculations are involved in their determination. In such cases you 257calculations are involved in their determination. In such cases you
249must write a Lisp function to do the calculation. To include eclipses, 258must write a Lisp function to do the calculation. To include eclipses,
250for example, add @code{(eclipses)} to @code{other-holidays} 259for example, add @code{(eclipses)} to @code{holiday-other-holidays}
251and write an Emacs Lisp function @code{eclipses} that returns a 260and write an Emacs Lisp function @code{eclipses} that returns a
252(possibly empty) list of the relevant Gregorian dates among the range 261(possibly empty) list of the relevant Gregorian dates among the range
253visible in the calendar window, with descriptive strings, like this: 262visible in the calendar window, with descriptive strings, like this:
@@ -324,31 +333,32 @@ Here is a value that provides European style times:
324@node Diary Customizing 333@node Diary Customizing
325@subsection Customizing the Diary 334@subsection Customizing the Diary
326 335
327@vindex holidays-in-diary-buffer 336@vindex diary-show-holidays-flag
328 Ordinarily, the mode line of the diary buffer window indicates any 337 Ordinarily, the mode line of the diary buffer window indicates any
329holidays that fall on the date of the diary entries. The process of 338holidays that fall on the date of the diary entries. The process of
330checking for holidays can take several seconds, so including holiday 339checking for holidays can take several seconds, so including holiday
331information delays the display of the diary buffer noticeably. If you'd 340information delays the display of the diary buffer noticeably. If you'd
332prefer to have a faster display of the diary buffer but without the 341prefer to have a faster display of the diary buffer but without the
333holiday information, set the variable @code{holidays-in-diary-buffer} to 342holiday information, set the variable @code{diary-show-holidays-flag} to
334@code{nil}.@refill 343@code{nil}.@refill
335 344
336@vindex number-of-diary-entries 345@vindex diary-number-of-entries
337 The variable @code{number-of-diary-entries} controls the number of 346 The variable @code{diary-number-of-entries} controls the number of
338days of diary entries to be displayed at one time. It affects the 347days of diary entries to be displayed at one time. It affects the
339initial display when @code{view-diary-entries-initially} is @code{t}, as 348initial display when @code{calendar-view-diary-initially-flag} is
340well as the command @kbd{M-x diary}. For example, the default value is 349@code{t}, as well as the command @kbd{M-x diary}. For example, the
3411, which says to display only the current day's diary entries. If the 350default value is 1, which says to display only the current day's diary
342value is 2, both the current day's and the next day's entries are 351entries. If the value is 2, both the current day's and the next day's
343displayed. The value can also be a vector of seven elements: for 352entries are displayed. The value can also be a vector of seven
344example, if the value is @code{[0 2 2 2 2 4 1]} then no diary entries 353elements: for example, if the value is @code{[0 2 2 2 2 4 1]} then no
345appear on Sunday, the current date's and the next day's diary entries 354diary entries appear on Sunday, the current date's and the next day's
346appear Monday through Thursday, Friday through Monday's entries appear 355diary entries appear Monday through Thursday, Friday through Monday's
347on Friday, while on Saturday only that day's entries appear. 356entries appear on Friday, while on Saturday only that day's entries
348 357appear.
349@vindex print-diary-entries-hook 358
350@findex print-diary-entries 359@vindex diary-print-entries-hook
351 The variable @code{print-diary-entries-hook} is a normal hook run 360@findex diary-print-entries
361 The variable @code{diary-print-entries-hook} is a normal hook run
352after preparation of a temporary buffer containing just the diary 362after preparation of a temporary buffer containing just the diary
353entries currently visible in the diary buffer. (The other, irrelevant 363entries currently visible in the diary buffer. (The other, irrelevant
354diary entries are really absent from the temporary buffer; in the diary 364diary entries are really absent from the temporary buffer; in the diary
@@ -419,33 +429,34 @@ Notice the use of @code{backup} in the third pattern, because it needs
419to match part of a word beyond the date itself to distinguish it from 429to match part of a word beyond the date itself to distinguish it from
420the fourth pattern. 430the fourth pattern.
421 431
432@c FIXME Baha'i.
422@node Hebrew/Islamic Entries 433@node Hebrew/Islamic Entries
423@subsection Hebrew- and Islamic-Date Diary Entries 434@subsection Hebrew- and Islamic-Date Diary Entries
424 435
425 Your diary file can have entries based on Hebrew or Islamic dates, as 436 Your diary file can have entries based on Baha'i, Hebrew, or Islamic
426well as entries based on the world-standard Gregorian calendar. 437dates, as well as entries based on the world-standard Gregorian
427However, because recognition of such entries is time-consuming and most 438calendar. However, because recognition of such entries is
428people don't use them, you must explicitly enable their use. If you 439time-consuming and most people don't use them, you must explicitly
429want the diary to recognize Hebrew-date diary entries, for example, 440enable their use. If you want the diary to recognize Hebrew-date diary
430you must do this: 441entries, for example, you must do this:
431 442
432@vindex nongregorian-diary-listing-hook 443@vindex diary-nongregorian-listing-hook
433@vindex nongregorian-diary-marking-hook 444@vindex diary-nongregorian-marking-hook
434@findex list-hebrew-diary-entries 445@findex diary-hebrew-list-entries
435@findex mark-hebrew-diary-entries 446@findex diary-hebrew-mark-entries
436@smallexample 447@smallexample
437(add-hook 'nongregorian-diary-listing-hook 'list-hebrew-diary-entries) 448(add-hook 'diary-nongregorian-listing-hook 'diary-hebrew-list-entries)
438(add-hook 'nongregorian-diary-marking-hook 'mark-hebrew-diary-entries) 449(add-hook 'diary-nongregorian-marking-hook 'diary-hebrew-mark-entries)
439@end smallexample 450@end smallexample
440 451
441@noindent 452@noindent
442If you want Islamic-date entries, do this: 453If you want Islamic-date entries, do this:
443 454
444@findex list-islamic-diary-entries 455@findex diary-islamic-list-entries
445@findex mark-islamic-diary-entries 456@findex diary-islamic-mark-entries
446@smallexample 457@smallexample
447(add-hook 'nongregorian-diary-listing-hook 'list-islamic-diary-entries) 458(add-hook 'diary-nongregorian-listing-hook 'diary-islamic-list-entries)
448(add-hook 'nongregorian-diary-marking-hook 'mark-islamic-diary-entries) 459(add-hook 'diary-nongregorian-marking-hook 'diary-islamic-mark-entries)
449@end smallexample 460@end smallexample
450 461
451 Hebrew- and Islamic-date diary entries have the same formats as 462 Hebrew- and Islamic-date diary entries have the same formats as
@@ -478,34 +489,34 @@ or Islamic calendar:
478@table @kbd 489@table @kbd
479@item i h d 490@item i h d
480Add a diary entry for the Hebrew date corresponding to the selected date 491Add a diary entry for the Hebrew date corresponding to the selected date
481(@code{insert-hebrew-diary-entry}). 492(@code{diary-hebrew-insert-entry}).
482@item i h m 493@item i h m
483Add a diary entry for the day of the Hebrew month corresponding to the 494Add a diary entry for the day of the Hebrew month corresponding to the
484selected date (@code{insert-monthly-hebrew-diary-entry}). This diary 495selected date (@code{diary-hebrew-insert-monthly-entry}). This diary
485entry matches any date that has the same Hebrew day-within-month as the 496entry matches any date that has the same Hebrew day-within-month as the
486selected date. 497selected date.
487@item i h y 498@item i h y
488Add a diary entry for the day of the Hebrew year corresponding to the 499Add a diary entry for the day of the Hebrew year corresponding to the
489selected date (@code{insert-yearly-hebrew-diary-entry}). This diary 500selected date (@code{diary-hebrew-insert-yearly-entry}). This diary
490entry matches any date which has the same Hebrew month and day-within-month 501entry matches any date which has the same Hebrew month and day-within-month
491as the selected date. 502as the selected date.
492@item i i d 503@item i i d
493Add a diary entry for the Islamic date corresponding to the selected date 504Add a diary entry for the Islamic date corresponding to the selected date
494(@code{insert-islamic-diary-entry}). 505(@code{diary-islamic-insert-entry}).
495@item i i m 506@item i i m
496Add a diary entry for the day of the Islamic month corresponding to the 507Add a diary entry for the day of the Islamic month corresponding to the
497selected date (@code{insert-monthly-islamic-diary-entry}). 508selected date (@code{diary-islamic-insert-monthly-entry}).
498@item i i y 509@item i i y
499Add a diary entry for the day of the Islamic year corresponding to the 510Add a diary entry for the day of the Islamic year corresponding to the
500selected date (@code{insert-yearly-islamic-diary-entry}). 511selected date (@code{diary-islamic-insert-yearly-entry}).
501@end table 512@end table
502 513
503@findex insert-hebrew-diary-entry 514@findex diary-hebrew-insert-entry
504@findex insert-monthly-hebrew-diary-entry 515@findex diary-hebrew-insert-monthly-entry
505@findex insert-yearly-hebrew-diary-entry 516@findex diary-hebrew-insert-yearly-entry
506@findex insert-islamic-diary-entry 517@findex diary-islamic-insert-entry
507@findex insert-monthly-islamic-diary-entry 518@findex diary-islamic-insert-monthly-entry
508@findex insert-yearly-islamic-diary-entry 519@findex diary-islamic-insert-yearly-entry
509 These commands work much like the corresponding commands for ordinary 520 These commands work much like the corresponding commands for ordinary
510diary entries: they apply to the date that point is on in the calendar 521diary entries: they apply to the date that point is on in the calendar
511window, and what they do is insert just the date portion of a diary entry 522window, and what they do is insert just the date portion of a diary entry
@@ -515,17 +526,17 @@ diary entry.
515@node Fancy Diary Display 526@node Fancy Diary Display
516@subsection Fancy Diary Display 527@subsection Fancy Diary Display
517@vindex diary-display-hook 528@vindex diary-display-hook
518@findex simple-diary-display 529@findex diary-simple-display
519 530
520 Diary display works by preparing the diary buffer and then running the 531 Diary display works by preparing the diary buffer and then running the
521hook @code{diary-display-hook}. The default value of this hook 532hook @code{diary-display-hook}. The default value of this hook
522(@code{simple-diary-display}) hides the irrelevant diary entries and 533(@code{diary-simple-display}) hides the irrelevant diary entries and
523then displays the buffer. However, if you specify the hook as follows, 534then displays the buffer. However, if you specify the hook as follows,
524 535
525@cindex diary buffer 536@cindex diary buffer
526@findex fancy-diary-display 537@findex diary-fancy-display
527@example 538@example
528(add-hook 'diary-display-hook 'fancy-diary-display) 539(add-hook 'diary-display-hook diary-'fancy-display)
529@end example 540@end example
530 541
531@noindent 542@noindent
@@ -536,11 +547,11 @@ to change the displayed text to make it prettier---for example, to sort
536the entries by the dates they apply to. 547the entries by the dates they apply to.
537 548
538 As with simple diary display, you can print a hard copy of the buffer 549 As with simple diary display, you can print a hard copy of the buffer
539with @code{print-diary-entries}. To print a hard copy of a day-by-day 550with @code{diary-print-entries}. To print a hard copy of a day-by-day
540diary for a week, position point on Sunday of that week, type 551diary for a week, position point on Sunday of that week, type
541@kbd{7 d}, and then do @kbd{M-x print-diary-entries}. As usual, the 552@kbd{7 d}, and then do @kbd{M-x diary-print-entries}. As usual, the
542inclusion of the holidays slows down the display slightly; you can speed 553inclusion of the holidays slows down the display slightly; you can speed
543things up by setting the variable @code{holidays-in-diary-buffer} to 554things up by setting the variable @code{diary-show-holidays-flag} to
544@code{nil}. 555@code{nil}.
545 556
546@vindex diary-list-include-blanks 557@vindex diary-list-include-blanks
@@ -551,12 +562,12 @@ shown in the fancy diary buffer, set the variable
551 562
552@cindex sorting diary entries 563@cindex sorting diary entries
553 If you use the fancy diary display, you can use the normal hook 564 If you use the fancy diary display, you can use the normal hook
554@code{list-diary-entries-hook} to sort each day's diary entries by their 565@code{diary-list-entries-hook} to sort each day's diary entries by their
555time of day. Here's how: 566time of day. Here's how:
556 567
557@findex sort-diary-entries 568@findex diary-sort-entries
558@example 569@example
559(add-hook 'list-diary-entries-hook 'sort-diary-entries t) 570(add-hook 'diary-list-entries-hook 'diary-sort-entries t)
560@end example 571@end example
561 572
562@noindent 573@noindent
@@ -579,13 +590,13 @@ can include other files, and so on; you must be careful not to have a
579cycle of inclusions, of course. Here is how to enable the include 590cycle of inclusions, of course. Here is how to enable the include
580facility: 591facility:
581 592
582@vindex list-diary-entries-hook 593@vindex diary-list-entries-hook
583@vindex mark-diary-entries-hook 594@vindex diary-mark-entries-hook
584@findex include-other-diary-files 595@findex diary-include-other-diary-files
585@findex mark-included-diary-files 596@findex diary-mark-included-diary-files
586@smallexample 597@smallexample
587(add-hook 'list-diary-entries-hook 'include-other-diary-files) 598(add-hook 'diary-list-entries-hook 'diary-include-other-diary-files)
588(add-hook 'mark-diary-entries-hook 'mark-included-diary-files) 599(add-hook 'diary-mark-entries-hook 'diary-mark-included-diary-files)
589@end smallexample 600@end smallexample
590 601
591The include mechanism works only with the fancy diary display, because 602The include mechanism works only with the fancy diary display, because
@@ -754,6 +765,7 @@ diary display) to concoct diary entries whose text varies based on the date:
754@findex diary-iso-date 765@findex diary-iso-date
755@findex diary-julian-date 766@findex diary-julian-date
756@findex diary-astro-day-number 767@findex diary-astro-day-number
768@findex diary-bahai-date
757@findex diary-hebrew-date 769@findex diary-hebrew-date
758@findex diary-islamic-date 770@findex diary-islamic-date
759@findex diary-french-date 771@findex diary-french-date
@@ -772,6 +784,8 @@ Make a diary entry with today's equivalent ISO commercial date.
772Make a diary entry with today's equivalent date on the Julian calendar. 784Make a diary entry with today's equivalent date on the Julian calendar.
773@item %%(diary-astro-day-number) 785@item %%(diary-astro-day-number)
774Make a diary entry with today's equivalent astronomical (Julian) day number. 786Make a diary entry with today's equivalent astronomical (Julian) day number.
787@item %%(diary-bahai-date)
788Make a diary entry with today's equivalent date on the Baha'i calendar.
775@item %%(diary-hebrew-date) 789@item %%(diary-hebrew-date)
776Make a diary entry with today's equivalent date on the Hebrew calendar. 790Make a diary entry with today's equivalent date on the Hebrew calendar.
777@item %%(diary-islamic-date) 791@item %%(diary-islamic-date)
@@ -800,27 +814,27 @@ diary for any date, but does nothing particularly useful.)
800the Hebrew calendar in certain standard ways: 814the Hebrew calendar in certain standard ways:
801 815
802@cindex rosh hodesh 816@cindex rosh hodesh
803@findex diary-rosh-hodesh 817@findex diary-hebrew-rosh-hodesh
804@cindex parasha, weekly 818@cindex parasha, weekly
805@findex diary-parasha 819@findex diary-hebrew-parasha
806@cindex candle lighting times 820@cindex candle lighting times
807@findex diary-sabbath-candles 821@findex diary-hebrew-sabbath-candles
808@cindex omer count 822@cindex omer count
809@findex diary-omer 823@findex diary-hebrew-omer
810@cindex yahrzeits 824@cindex yahrzeits
811@findex diary-yahrzeit 825@findex diary-hebrew-yahrzeit
812@table @code 826@table @code
813@item %%(diary-rosh-hodesh) 827@item %%(diary-hebrew-rosh-hodesh)
814Make a diary entry that tells the occurrence and ritual announcement of each 828Make a diary entry that tells the occurrence and ritual announcement of each
815new Hebrew month. 829new Hebrew month.
816@item %%(diary-parasha) 830@item %%(diary-hebrew-parasha)
817Make a Saturday diary entry that tells the weekly synagogue scripture reading. 831Make a Saturday diary entry that tells the weekly synagogue scripture reading.
818@item %%(diary-sabbath-candles) 832@item %%(diary-hebrew-sabbath-candles)
819Make a Friday diary entry that tells the @emph{local time} of Sabbath 833Make a Friday diary entry that tells the @emph{local time} of Sabbath
820candle lighting. 834candle lighting.
821@item %%(diary-omer) 835@item %%(diary-hebrew-omer)
822Make a diary entry that gives the omer count, when appropriate. 836Make a diary entry that gives the omer count, when appropriate.
823@item %%(diary-yahrzeit @var{month} @var{day} @var{year}) @var{name} 837@item %%(diary-hebrew-yahrzeit @var{month} @var{day} @var{year}) @var{name}
824Make a diary entry marking the anniversary of a date of death. The date 838Make a diary entry marking the anniversary of a date of death. The date
825is the @emph{Gregorian} (civil) date of death. The diary entry appears 839is the @emph{Gregorian} (civil) date of death. The diary entry appears
826on the proper Hebrew calendar anniversary and on the day before. (In 840on the proper Hebrew calendar anniversary and on the day before. (In
diff --git a/doc/emacs/calendar.texi b/doc/emacs/calendar.texi
index 208a5ca6acf..16f8ebed427 100644
--- a/doc/emacs/calendar.texi
+++ b/doc/emacs/calendar.texi
@@ -241,23 +241,23 @@ horizontally, so that new months become visible in the window.
241 241
242@table @kbd 242@table @kbd
243@item > 243@item >
244Scroll calendar one month forward (@code{scroll-calendar-left}). 244Scroll calendar one month forward (@code{calendar-scroll-left}).
245@item < 245@item <
246Scroll calendar one month backward (@code{scroll-calendar-right}). 246Scroll calendar one month backward (@code{calendar-scroll-right}).
247@item C-v 247@item C-v
248@itemx @key{NEXT} 248@itemx @key{NEXT}
249Scroll calendar three months forward 249Scroll calendar three months forward
250(@code{scroll-calendar-left-three-months}). 250(@code{calendar-scroll-left-three-months}).
251@item M-v 251@item M-v
252@itemx @key{PRIOR} 252@itemx @key{PRIOR}
253Scroll calendar three months backward 253Scroll calendar three months backward
254(@code{scroll-calendar-right-three-months}). 254(@code{calendar-scroll-right-three-months}).
255@end table 255@end table
256 256
257@kindex > @r{(Calendar mode)} 257@kindex > @r{(Calendar mode)}
258@findex scroll-calendar-left 258@findex calendar-scroll-left
259@kindex < @r{(Calendar mode)} 259@kindex < @r{(Calendar mode)}
260@findex scroll-calendar-right 260@findex calendar-scroll-right
261 The most basic calendar scroll commands scroll by one month at a 261 The most basic calendar scroll commands scroll by one month at a
262time. This means that there are two months of overlap between the 262time. This means that there are two months of overlap between the
263display before the command and the display after. @kbd{>} scrolls the 263display before the command and the display after. @kbd{>} scrolls the
@@ -265,9 +265,9 @@ calendar contents one month forward in time. @kbd{<} scrolls the
265contents one month backwards in time. 265contents one month backwards in time.
266 266
267@kindex C-v @r{(Calendar mode)} 267@kindex C-v @r{(Calendar mode)}
268@findex scroll-calendar-left-three-months 268@findex calendar-scroll-left-three-months
269@kindex M-v @r{(Calendar mode)} 269@kindex M-v @r{(Calendar mode)}
270@findex scroll-calendar-right-three-months 270@findex calendar-scroll-right-three-months
271 The commands @kbd{C-v} and @kbd{M-v} scroll the calendar by an entire 271 The commands @kbd{C-v} and @kbd{M-v} scroll the calendar by an entire
272``screenful''---three months---in analogy with the usual meaning of 272``screenful''---three months---in analogy with the usual meaning of
273these commands. @kbd{C-v} makes later dates visible and @kbd{M-v} makes 273these commands. @kbd{C-v} makes later dates visible and @kbd{M-v} makes
@@ -302,13 +302,13 @@ point.
302@item p d 302@item p d
303Display day-in-year (@code{calendar-print-day-of-year}). 303Display day-in-year (@code{calendar-print-day-of-year}).
304@item C-c C-l 304@item C-c C-l
305Regenerate the calendar window (@code{redraw-calendar}). 305Regenerate the calendar window (@code{calendar-redraw}).
306@item SPC 306@item SPC
307Scroll the next window up (@code{scroll-other-window}). 307Scroll the next window up (@code{scroll-other-window}).
308@item DEL 308@item DEL
309Scroll the next window down (@code{scroll-other-window-down}). 309Scroll the next window down (@code{scroll-other-window-down}).
310@item q 310@item q
311Exit from calendar (@code{exit-calendar}). 311Exit from calendar (@code{calendar-exit}).
312@end table 312@end table
313 313
314@kindex p d @r{(Calendar mode)} 314@kindex p d @r{(Calendar mode)}
@@ -322,9 +322,9 @@ selected date. The count of days remaining does not include that
322date. 322date.
323 323
324@kindex C-c C-l @r{(Calendar mode)} 324@kindex C-c C-l @r{(Calendar mode)}
325@findex redraw-calendar 325@findex calendar-redraw
326 If the calendar window text gets corrupted, type @kbd{C-c C-l} 326 If the calendar window text gets corrupted, type @kbd{C-c C-l}
327(@code{redraw-calendar}) to redraw it. (This can only happen if you use 327(@code{calendar-redraw}) to redraw it. (This can only happen if you use
328non-Calendar-mode editing commands.) 328non-Calendar-mode editing commands.)
329 329
330@kindex SPC @r{(Calendar mode)} 330@kindex SPC @r{(Calendar mode)}
@@ -335,10 +335,12 @@ of holidays or diary entries in another window.
335 335
336@kindex q @r{(Calendar mode)} 336@kindex q @r{(Calendar mode)}
337@findex exit-calendar 337@findex exit-calendar
338 To exit from the calendar, type @kbd{q} (@code{exit-calendar}). This 338@vindex calendar-remove-frame-by-deleting
339 To exit from the calendar, type @kbd{q} (@code{calendar-exit}). This
339buries all buffers related to the calendar, selecting other buffers. 340buries all buffers related to the calendar, selecting other buffers.
340(If a frame contains a dedicated calendar window, exiting from the 341(If a frame contains a dedicated calendar window, exiting from the
341calendar iconifies that frame.) 342calendar deletes or iconifies that frame depending on the value of
343@code{calendar-remove-frame-by-deleting}.)
342 344
343@node Writing Calendar Files 345@node Writing Calendar Files
344@section Writing Calendar Files 346@section Writing Calendar Files
@@ -472,7 +474,7 @@ List holidays in another window for a specified range of years.
472 474
473@kindex h @r{(Calendar mode)} 475@kindex h @r{(Calendar mode)}
474@findex calendar-cursor-holidays 476@findex calendar-cursor-holidays
475@vindex view-calendar-holidays-initially 477@vindex calendar-view-holidays-initially-flag
476 To see if any holidays fall on a given date, position point on that 478 To see if any holidays fall on a given date, position point on that
477date in the calendar window and use the @kbd{h} command. Alternatively, 479date in the calendar window and use the @kbd{h} command. Alternatively,
478click on that date with @kbd{Mouse-2} and then choose @kbd{Holidays} 480click on that date with @kbd{Mouse-2} and then choose @kbd{Holidays}
@@ -484,11 +486,11 @@ window.
484@findex calendar-mark-holidays 486@findex calendar-mark-holidays
485@kindex u @r{(Calendar mode)} 487@kindex u @r{(Calendar mode)}
486@findex calendar-unmark 488@findex calendar-unmark
487@vindex mark-holidays-in-calendar 489@vindex calendar-mark-holidays-flag
488 To view the distribution of holidays for all the dates shown in the 490 To view the distribution of holidays for all the dates shown in the
489calendar, use the @kbd{x} command. This displays the dates that are 491calendar, use the @kbd{x} command. This displays the dates that are
490holidays in a different face (or places a @samp{*} after these dates, if 492holidays in a different face (or places a @samp{*} after these dates, if
491display with multiple faces is not available). 493a color display is not available, or if @code{font-lock-mode} is off).
492@iftex 494@iftex
493@inforef{Calendar Customizing, calendar-holiday-marker, emacs-xtra}. 495@inforef{Calendar Customizing, calendar-holiday-marker, emacs-xtra}.
494@end iftex 496@end iftex
@@ -499,7 +501,7 @@ display with multiple faces is not available).
499other months that subsequently become visible by scrolling. To turn 501other months that subsequently become visible by scrolling. To turn
500marking off and erase the current marks, type @kbd{u}, which also 502marking off and erase the current marks, type @kbd{u}, which also
501erases any diary marks (@pxref{Diary}). If the variable 503erases any diary marks (@pxref{Diary}). If the variable
502@code{mark-holidays-in-calendar} is non-@code{nil}, creating or 504@code{calendar-mark-holidays-flag} is non-@code{nil}, creating or
503updating the calendar marks holidays automatically. 505updating the calendar marks holidays automatically.
504 506
505@kindex a @r{(Calendar mode)} 507@kindex a @r{(Calendar mode)}
@@ -513,7 +515,7 @@ calendar window to scroll that list up and down, respectively.
513 The command @kbd{M-x holidays} displays the list of holidays for the 515 The command @kbd{M-x holidays} displays the list of holidays for the
514current month and the preceding and succeeding months; this works even 516current month and the preceding and succeeding months; this works even
515if you don't have a calendar window. If the variable 517if you don't have a calendar window. If the variable
516@code{view-calendar-holidays-initially} is non-@code{nil}, creating 518@code{calendar-view-holidays-initially-flag} is non-@code{nil}, creating
517the calendar displays holidays in this way. If you want the list of 519the calendar displays holidays in this way. If you want the list of
518holidays centered around a different month, use @kbd{C-u M-x 520holidays centered around a different month, use @kbd{C-u M-x
519holidays}, which prompts for the month and year. 521holidays}, which prompts for the month and year.
@@ -523,7 +525,7 @@ major Christian, Jewish, and Islamic holidays; also the solstices and
523equinoxes. 525equinoxes.
524 526
525@findex list-holidays 527@findex list-holidays
526 The command @kbd{M-x list-holidays} displays the list of holidays for 528 The command @kbd{M-x holiday-list} displays the list of holidays for
527a range of years. This function asks you for the starting and stopping 529a range of years. This function asks you for the starting and stopping
528years, and allows you to choose all the holidays or one of several 530years, and allows you to choose all the holidays or one of several
529categories of holidays. You can use this command even if you don't have 531categories of holidays. You can use this command even if you don't have
@@ -755,6 +757,11 @@ days are named by combining one of ten ``celestial stems'' with one of
755twelve ``terrestrial branches'' for a total of sixty names that are 757twelve ``terrestrial branches'' for a total of sixty names that are
756repeated in a cycle of sixty. 758repeated in a cycle of sixty.
757 759
760@cindex Baha'i calendar
761 The Baha'i calendar system is based on a solar cycle of 19 months with
76219 days each. The four remaining ``intercalary'' days are placed
763between the 18th and 19th months.
764
758@node To Other Calendar 765@node To Other Calendar
759@subsection Converting To Other Calendars 766@subsection Converting To Other Calendars
760 767
@@ -765,46 +772,50 @@ in various other calendar systems:
765@item Mouse-2 Other calendars 772@item Mouse-2 Other calendars
766Display the date that you click on, expressed in various other calendars. 773Display the date that you click on, expressed in various other calendars.
767@kindex p @r{(Calendar mode)} 774@kindex p @r{(Calendar mode)}
768@findex calendar-print-iso-date 775@findex calendar-iso-print-date
769@item p c 776@item p c
770Display ISO commercial calendar equivalent for selected day 777Display ISO commercial calendar equivalent for selected day
771(@code{calendar-print-iso-date}). 778(@code{calendar-iso-print-date}).
772@findex calendar-print-julian-date 779@findex calendar-julian-print-date
773@item p j 780@item p j
774Display Julian date for selected day (@code{calendar-print-julian-date}). 781Display Julian date for selected day (@code{calendar-julian-print-date}).
775@findex calendar-print-astro-day-number 782@findex calendar-astro-print-day-number
776@item p a 783@item p a
777Display astronomical (Julian) day number for selected day 784Display astronomical (Julian) day number for selected day
778(@code{calendar-print-astro-day-number}). 785(@code{calendar-astro-print-day-number}).
779@findex calendar-print-hebrew-date 786@findex calendar-hebrew-print-date
780@item p h 787@item p h
781Display Hebrew date for selected day (@code{calendar-print-hebrew-date}). 788Display Hebrew date for selected day (@code{calendar-hebrew-print-date}).
782@findex calendar-print-islamic-date 789@findex calendar-islamic-print-date
783@item p i 790@item p i
784Display Islamic date for selected day (@code{calendar-print-islamic-date}). 791Display Islamic date for selected day (@code{calendar-islamic-print-date}).
785@findex calendar-print-french-date 792@findex calendar-french-print-date
786@item p f 793@item p f
787Display French Revolutionary date for selected day 794Display French Revolutionary date for selected day
788(@code{calendar-print-french-date}). 795(@code{calendar-french-print-date}).
789@findex calendar-print-chinese-date 796@findex calendar-bahai-print-date
797@item p b
798Display Baha'i date for selected day
799(@code{calendar-bahai-print-date}).
800@findex calendar-chinese-print-date
790@item p C 801@item p C
791Display Chinese date for selected day 802Display Chinese date for selected day
792(@code{calendar-print-chinese-date}). 803(@code{calendar-chinese-print-date}).
793@findex calendar-print-coptic-date 804@findex calendar-coptic-print-date
794@item p k 805@item p k
795Display Coptic date for selected day 806Display Coptic date for selected day
796(@code{calendar-print-coptic-date}). 807(@code{calendar-coptic-print-date}).
797@findex calendar-print-ethiopic-date 808@findex calendar-ethiopic-print-date
798@item p e 809@item p e
799Display Ethiopic date for selected day 810Display Ethiopic date for selected day
800(@code{calendar-print-ethiopic-date}). 811(@code{calendar-ethiopic-print-date}).
801@findex calendar-print-persian-date 812@findex calendar-persian-print-date
802@item p p 813@item p p
803Display Persian date for selected day 814Display Persian date for selected day
804(@code{calendar-print-persian-date}). 815(@code{calendar-persian-print-date}).
805@findex calendar-print-mayan-date 816@findex calendar-mayan-print-date
806@item p m 817@item p m
807Display Mayan date for selected day (@code{calendar-print-mayan-date}). 818Display Mayan date for selected day (@code{calendar-mayan-print-date}).
808@end table 819@end table
809 820
810 If you are using X, the easiest way to translate a date into other 821 If you are using X, the easiest way to translate a date into other
@@ -827,51 +838,51 @@ to. This section describes the commands for doing this using calendars
827other than Mayan; for the Mayan calendar, see the following section. 838other than Mayan; for the Mayan calendar, see the following section.
828 839
829@kindex g @var{char} @r{(Calendar mode)} 840@kindex g @var{char} @r{(Calendar mode)}
830@findex calendar-goto-iso-date 841@findex calendar-iso-goto-date
831@findex calendar-goto-iso-week 842@findex calendar-iso-goto-week
832@findex calendar-goto-julian-date 843@findex calendar-julian-goto-date
833@findex calendar-goto-astro-day-number 844@findex calendar-astro-goto-day-number
834@findex calendar-goto-hebrew-date 845@findex calendar-hebrew-goto-date
835@findex calendar-goto-islamic-date 846@findex calendar-islamic-goto-date
836@findex calendar-goto-french-date 847@findex calendar-french-goto-date
837@findex calendar-goto-chinese-date 848@findex calendar-chinese-goto-date
838@findex calendar-goto-persian-date 849@findex calendar-persian-goto-date
839@findex calendar-goto-coptic-date 850@findex calendar-coptic-goto-date
840@findex calendar-goto-ethiopic-date 851@findex calendar-ethiopic-goto-date
841@table @kbd 852@table @kbd
842@item g c 853@item g c
843Move to a date specified in the ISO commercial calendar 854Move to a date specified in the ISO commercial calendar
844(@code{calendar-goto-iso-date}). 855(@code{calendar-iso-goto-date}).
845@item g w 856@item g w
846Move to a week specified in the ISO commercial calendar 857Move to a week specified in the ISO commercial calendar
847(@code{calendar-goto-iso-week}). 858(@code{calendar-iso-goto-week}).
848@item g j 859@item g j
849Move to a date specified in the Julian calendar 860Move to a date specified in the Julian calendar
850(@code{calendar-goto-julian-date}). 861(@code{calendar-julian-goto-date}).
851@item g a 862@item g a
852Move to a date specified with an astronomical (Julian) day number 863Move to a date specified with an astronomical (Julian) day number
853(@code{calendar-goto-astro-day-number}). 864(@code{calendar-astro-goto-day-number}).
854@item g h 865@item g h
855Move to a date specified in the Hebrew calendar 866Move to a date specified in the Hebrew calendar
856(@code{calendar-goto-hebrew-date}). 867(@code{calendar-hebrew-goto-date}).
857@item g i 868@item g i
858Move to a date specified in the Islamic calendar 869Move to a date specified in the Islamic calendar
859(@code{calendar-goto-islamic-date}). 870(@code{calendar-islamic-goto-date}).
860@item g f 871@item g f
861Move to a date specified in the French Revolutionary calendar 872Move to a date specified in the French Revolutionary calendar
862(@code{calendar-goto-french-date}). 873(@code{calendar-french-goto-date}).
863@item g C 874@item g C
864Move to a date specified in the Chinese calendar 875Move to a date specified in the Chinese calendar
865(@code{calendar-goto-chinese-date}). 876(@code{calendar-chinese-goto-date}).
866@item g p 877@item g p
867Move to a date specified in the Persian calendar 878Move to a date specified in the Persian calendar
868(@code{calendar-goto-persian-date}). 879(@code{calendar-persian-goto-date}).
869@item g k 880@item g k
870Move to a date specified in the Coptic calendar 881Move to a date specified in the Coptic calendar
871(@code{calendar-goto-coptic-date}). 882(@code{calendar-coptic-goto-date}).
872@item g e 883@item g e
873Move to a date specified in the Ethiopic calendar 884Move to a date specified in the Ethiopic calendar
874(@code{calendar-goto-ethiopic-date}). 885(@code{calendar-ethiopic-goto-date}).
875@end table 886@end table
876 887
877 These commands ask you for a date on the other calendar, move point to 888 These commands ask you for a date on the other calendar, move point to
@@ -880,13 +891,13 @@ other calendar's date in the echo area. Emacs uses strict completion
880(@pxref{Completion}) whenever it asks you to type a month name, so you 891(@pxref{Completion}) whenever it asks you to type a month name, so you
881don't have to worry about the spelling of Hebrew, Islamic, or French names. 892don't have to worry about the spelling of Hebrew, Islamic, or French names.
882 893
883@findex list-yahrzeit-dates 894@findex calendar-hebrew-list-yahrzeits
884@cindex yahrzeits 895@cindex yahrzeits
885 One common question concerning the Hebrew calendar is the computation 896 One common question concerning the Hebrew calendar is the computation
886of the anniversary of a date of death, called a ``yahrzeit.'' The Emacs 897of the anniversary of a date of death, called a ``yahrzeit.'' The Emacs
887calendar includes a facility for such calculations. If you are in the 898calendar includes a facility for such calculations. If you are in the
888calendar, the command @kbd{M-x list-yahrzeit-dates} asks you for a 899calendar, the command @kbd{M-x calendar-hebrew-list-yahrzeits} asks you for
889range of years and then displays a list of the yahrzeit dates for those 900a range of years and then displays a list of the yahrzeit dates for those
890years for the date given by point. If you are not in the calendar, 901years for the date given by point. If you are not in the calendar,
891this command first asks you for the date of death and the range of 902this command first asks you for the date of death and the range of
892years, and then displays the list of yahrzeit dates. 903years, and then displays the list of yahrzeit dates.
@@ -899,25 +910,25 @@ years, and then displays the list of yahrzeit dates.
899@table @kbd 910@table @kbd
900@item g m l 911@item g m l
901Move to a date specified by the long count calendar 912Move to a date specified by the long count calendar
902(@code{calendar-goto-mayan-long-count-date}). 913(@code{calendar-mayan-goto-long-count-date}).
903@item g m n t 914@item g m n t
904Move to the next occurrence of a place in the 915Move to the next occurrence of a place in the
905tzolkin calendar (@code{calendar-next-tzolkin-date}). 916tzolkin calendar (@code{calendar-mayan-next-tzolkin-date}).
906@item g m p t 917@item g m p t
907Move to the previous occurrence of a place in the 918Move to the previous occurrence of a place in the
908tzolkin calendar (@code{calendar-previous-tzolkin-date}). 919tzolkin calendar (@code{calendar-mayan-previous-tzolkin-date}).
909@item g m n h 920@item g m n h
910Move to the next occurrence of a place in the 921Move to the next occurrence of a place in the
911haab calendar (@code{calendar-next-haab-date}). 922haab calendar (@code{calendar-mayan-next-haab-date}).
912@item g m p h 923@item g m p h
913Move to the previous occurrence of a place in the 924Move to the previous occurrence of a place in the
914haab calendar (@code{calendar-previous-haab-date}). 925haab calendar (@code{calendar-mayan-previous-haab-date}).
915@item g m n c 926@item g m n c
916Move to the next occurrence of a place in the 927Move to the next occurrence of a place in the
917calendar round (@code{calendar-next-calendar-round-date}). 928calendar round (@code{calendar-mayan-next-calendar-round-date}).
918@item g m p c 929@item g m p c
919Move to the previous occurrence of a place in the 930Move to the previous occurrence of a place in the
920calendar round (@code{calendar-previous-calendar-round-date}). 931calendar round (@code{calendar-mayan-previous-calendar-round-date}).
921@end table 932@end table
922 933
923@cindex Mayan long count 934@cindex Mayan long count
@@ -930,7 +941,7 @@ The @dfn{long count} is a counting of days with these units:
930@end display 941@end display
931 942
932@kindex g m @r{(Calendar mode)} 943@kindex g m @r{(Calendar mode)}
933@findex calendar-goto-mayan-long-count-date 944@findex calendar-mayan-goto-long-count-date
934@noindent 945@noindent
935Thus, the long count date 12.16.11.16.6 means 12 baktun, 16 katun, 11 946Thus, the long count date 12.16.11.16.6 means 12 baktun, 16 katun, 11
936tun, 16 uinal, and 6 kin. The Emacs calendar can handle Mayan long 947tun, 16 uinal, and 6 kin. The Emacs calendar can handle Mayan long
@@ -938,8 +949,8 @@ count dates as early as 7.17.18.13.3, but no earlier. When you use the
938@kbd{g m l} command, type the Mayan long count date with the baktun, 949@kbd{g m l} command, type the Mayan long count date with the baktun,
939katun, tun, uinal, and kin separated by periods. 950katun, tun, uinal, and kin separated by periods.
940 951
941@findex calendar-previous-tzolkin-date 952@findex calendar-mayan-previous-tzolkin-date
942@findex calendar-next-tzolkin-date 953@findex calendar-mayan-next-tzolkin-date
943@cindex Mayan tzolkin calendar 954@cindex Mayan tzolkin calendar
944 The Mayan tzolkin calendar is a cycle of 260 days formed by a pair of 955 The Mayan tzolkin calendar is a cycle of 260 days formed by a pair of
945independent cycles of 13 and 20 days. Since this cycle repeats 956independent cycles of 13 and 20 days. Since this cycle repeats
@@ -949,8 +960,8 @@ previous tzolkin date; Emacs asks you for a tzolkin date and moves point
949to the previous occurrence of that date. Similarly, type @kbd{g m n t} 960to the previous occurrence of that date. Similarly, type @kbd{g m n t}
950to go to the next occurrence of a tzolkin date. 961to go to the next occurrence of a tzolkin date.
951 962
952@findex calendar-previous-haab-date 963@findex calendar-mayan-previous-haab-date
953@findex calendar-next-haab-date 964@findex calendar-mayan-next-haab-date
954@cindex Mayan haab calendar 965@cindex Mayan haab calendar
955 The Mayan haab calendar is a cycle of 365 days arranged as 18 months 966 The Mayan haab calendar is a cycle of 365 days arranged as 18 months
956of 20 days each, followed a 5-day monthless period. Like the tzolkin 967of 20 days each, followed a 5-day monthless period. Like the tzolkin
@@ -962,8 +973,8 @@ Similarly, type @kbd{g m n h} to go to the next occurrence of a haab
962date. 973date.
963 974
964@c This is omitted because it is too long for smallbook format. 975@c This is omitted because it is too long for smallbook format.
965@c @findex calendar-previous-calendar-round-date 976@c @findex calendar-mayan-previous-calendar-round-date
966@findex calendar-next-calendar-round-date 977@findex calendar-mayan-next-calendar-round-date
967@cindex Mayan calendar round 978@cindex Mayan calendar round
968 The Maya also used the combination of the tzolkin date and the haab 979 The Maya also used the combination of the tzolkin date and the haab
969date. This combination is a cycle of about 52 years called a 980date. This combination is a cycle of about 52 years called a
@@ -1040,10 +1051,10 @@ Display all diary entries for the date you click on.
1040Display the entire diary file (@code{diary-show-all-entries}). 1051Display the entire diary file (@code{diary-show-all-entries}).
1041@item m 1052@item m
1042Mark all visible dates that have diary entries 1053Mark all visible dates that have diary entries
1043(@code{mark-diary-entries}). 1054(@code{diary-mark-entries}).
1044@item u 1055@item u
1045Unmark the calendar window (@code{calendar-unmark}). 1056Unmark the calendar window (@code{calendar-unmark}).
1046@item M-x print-diary-entries 1057@item M-x diary-print-entries
1047Print hard copy of the diary display as it appears. 1058Print hard copy of the diary display as it appears.
1048@item M-x diary 1059@item M-x diary
1049Display all diary entries for today's date. 1060Display all diary entries for today's date.
@@ -1053,7 +1064,7 @@ Mail yourself email reminders about upcoming diary entries.
1053 1064
1054@kindex d @r{(Calendar mode)} 1065@kindex d @r{(Calendar mode)}
1055@findex diary-view-entries 1066@findex diary-view-entries
1056@vindex view-diary-entries-initially 1067@vindex calendar-view-diary-initially-flag
1057 Displaying the diary entries with @kbd{d} shows in a separate window 1068 Displaying the diary entries with @kbd{d} shows in a separate window
1058the diary entries for the selected date in the calendar. The mode line 1069the diary entries for the selected date in the calendar. The mode line
1059of the new window shows the date of the diary entries and any holidays 1070of the new window shows the date of the diary entries and any holidays
@@ -1065,13 +1076,13 @@ following day.
1065 Another way to display the diary entries for a date is to click 1076 Another way to display the diary entries for a date is to click
1066@kbd{Mouse-2} on the date, and then choose @kbd{Diary entries} from 1077@kbd{Mouse-2} on the date, and then choose @kbd{Diary entries} from
1067the menu that appears. If the variable 1078the menu that appears. If the variable
1068@code{view-diary-entries-initially} is non-@code{nil}, creating the 1079@code{calendar-view-diary-initially-flag} is non-@code{nil}, creating the
1069calendar lists the diary entries for the current date (provided the 1080calendar lists the diary entries for the current date (provided the
1070current date is visible). 1081current date is visible).
1071 1082
1072@kindex m @r{(Calendar mode)} 1083@kindex m @r{(Calendar mode)}
1073@findex mark-diary-entries 1084@findex diary-mark-entries
1074@vindex mark-diary-entries-in-calendar 1085@vindex calendar-mark-diary-entries-flag
1075 To get a broader view of which days are mentioned in the diary, use 1086 To get a broader view of which days are mentioned in the diary, use
1076the @kbd{m} command. This displays the dates that have diary entries in 1087the @kbd{m} command. This displays the dates that have diary entries in
1077a different face (or places a @samp{+} after these dates, if display 1088a different face (or places a @samp{+} after these dates, if display
@@ -1086,7 +1097,7 @@ with multiple faces is not available).
1086other months that subsequently become visible by scrolling. To turn 1097other months that subsequently become visible by scrolling. To turn
1087marking off and erase the current marks, type @kbd{u}, which also 1098marking off and erase the current marks, type @kbd{u}, which also
1088turns off holiday marks (@pxref{Holidays}). If the variable 1099turns off holiday marks (@pxref{Holidays}). If the variable
1089@code{mark-diary-entries-in-calendar} is non-@code{nil}, creating or 1100@code{calendar-mark-diary-entries-flag} is non-@code{nil}, creating or
1090updating the calendar marks diary dates automatically. 1101updating the calendar marks diary dates automatically.
1091 1102
1092@kindex s @r{(Calendar mode)} 1103@kindex s @r{(Calendar mode)}
@@ -1094,18 +1105,18 @@ updating the calendar marks diary dates automatically.
1094 To see the full diary file, rather than just some of the entries, use 1105 To see the full diary file, rather than just some of the entries, use
1095the @kbd{s} command. 1106the @kbd{s} command.
1096 1107
1097 Display of selected diary entries uses the selective display feature 1108 Display of selected diary entries uses invisible text to hide entries
1098to hide entries that don't apply. The diary buffer as you see it is 1109that don't apply. The diary buffer as you see it is an illusion, so
1099an illusion, so simply printing the buffer does not print what you see 1110simply printing the buffer does not print what you see on your screen.
1100on your screen. There is a special command to print hard copy of the 1111There is a special command to print hard copy of the diary buffer
1101diary buffer @emph{as it appears}; this command is @kbd{M-x 1112@emph{as it appears}; this command is @kbd{M-x diary-print-entries}.
1102print-diary-entries}. It sends the data directly to the printer. You 1113It sends the data directly to the printer. You can customize it
1103can customize it like @code{lpr-region} (@pxref{Printing}). 1114like @code{lpr-region} (@pxref{Printing}).
1104 1115
1105@findex diary 1116@findex diary
1106 The command @kbd{M-x diary} displays the diary entries for the current 1117 The command @kbd{M-x diary} displays the diary entries for the current
1107date, independently of the calendar display, and optionally for the next 1118date, independently of the calendar display, and optionally for the next
1108few days as well; the variable @code{number-of-diary-entries} specifies 1119few days as well; the variable @code{diary-number-of-entries} specifies
1109how many days to include. 1120how many days to include.
1110@iftex 1121@iftex
1111@inforef{Diary Customizing,, emacs-xtra}. 1122@inforef{Diary Customizing,, emacs-xtra}.
@@ -1256,28 +1267,28 @@ entries:
1256 1267
1257@table @kbd 1268@table @kbd
1258@item i d 1269@item i d
1259Add a diary entry for the selected date (@code{insert-diary-entry}). 1270Add a diary entry for the selected date (@code{diary-insert-entry}).
1260@item i w 1271@item i w
1261Add a diary entry for the selected day of the week (@code{insert-weekly-diary-entry}). 1272Add a diary entry for the selected day of the week (@code{diary-insert-weekly-entry}).
1262@item i m 1273@item i m
1263Add a diary entry for the selected day of the month (@code{insert-monthly-diary-entry}). 1274Add a diary entry for the selected day of the month (@code{diary-insert-monthly-entry}).
1264@item i y 1275@item i y
1265Add a diary entry for the selected day of the year (@code{insert-yearly-diary-entry}). 1276Add a diary entry for the selected day of the year (@code{diary-insert-yearly-entry}).
1266@end table 1277@end table
1267 1278
1268@kindex i d @r{(Calendar mode)} 1279@kindex i d @r{(Calendar mode)}
1269@findex insert-diary-entry 1280@findex diary-insert-entry
1270 You can make a diary entry for a specific date by selecting that date 1281 You can make a diary entry for a specific date by selecting that date
1271in the calendar window and typing the @kbd{i d} command. This command 1282in the calendar window and typing the @kbd{i d} command. This command
1272displays the end of your diary file in another window and inserts the 1283displays the end of your diary file in another window and inserts the
1273date; you can then type the rest of the diary entry. 1284date; you can then type the rest of the diary entry.
1274 1285
1275@kindex i w @r{(Calendar mode)} 1286@kindex i w @r{(Calendar mode)}
1276@findex insert-weekly-diary-entry 1287@findex diary-insert-weekly-entry
1277@kindex i m @r{(Calendar mode)} 1288@kindex i m @r{(Calendar mode)}
1278@findex insert-monthly-diary-entry 1289@findex diary-insert-monthly-entry
1279@kindex i y @r{(Calendar mode)} 1290@kindex i y @r{(Calendar mode)}
1280@findex insert-yearly-diary-entry 1291@findex diary-insert-yearly-entry
1281 If you want to make a diary entry that applies to a specific day of 1292 If you want to make a diary entry that applies to a specific day of
1282the week, select that day of the week (any occurrence will do) and type 1293the week, select that day of the week (any occurrence will do) and type
1283@kbd{i w}. This inserts the day-of-week as a generic date; you can then 1294@kbd{i w}. This inserts the day-of-week as a generic date; you can then
@@ -1294,7 +1305,7 @@ For example, @kbd{C-u i w} makes a nonmarking weekly diary entry.
1294exiting Emacs. Saving the diary file after using any of the above 1305exiting Emacs. Saving the diary file after using any of the above
1295insertion commands will automatically update the diary marks in the 1306insertion commands will automatically update the diary marks in the
1296calendar window, if appropriate. You can use the command 1307calendar window, if appropriate. You can use the command
1297@code{redraw-calendar} to force an update at any time. 1308@code{calendar-redraw} to force an update at any time.
1298 1309
1299@node Special Diary Entries 1310@node Special Diary Entries
1300@subsection Special Diary Entries 1311@subsection Special Diary Entries
@@ -1313,17 +1324,17 @@ sexp entries:
1313@table @kbd 1324@table @kbd
1314@item i a 1325@item i a
1315Add an anniversary diary entry for the selected date 1326Add an anniversary diary entry for the selected date
1316(@code{insert-anniversary-diary-entry}). 1327(@code{diary-insert-anniversary-entry}).
1317@item i b 1328@item i b
1318Add a block diary entry for the current region 1329Add a block diary entry for the current region
1319(@code{insert-block-diary-entry}). 1330(@code{diary-insert-block-entry}).
1320@item i c 1331@item i c
1321Add a cyclic diary entry starting at the date 1332Add a cyclic diary entry starting at the date
1322(@code{insert-cyclic-diary-entry}). 1333(@code{diary-insert-cyclic-entry}).
1323@end table 1334@end table
1324 1335
1325@kindex i a @r{(Calendar mode)} 1336@kindex i a @r{(Calendar mode)}
1326@findex insert-anniversary-diary-entry 1337@findex diary-insert-anniversary-entry
1327 If you want to make a diary entry that applies to the anniversary of a 1338 If you want to make a diary entry that applies to the anniversary of a
1328specific date, move point to that date and use the @kbd{i a} command. 1339specific date, move point to that date and use the @kbd{i a} command.
1329This displays the end of your diary file in another window and inserts 1340This displays the end of your diary file in another window and inserts
@@ -1357,14 +1368,14 @@ indicates the stopping date. (Again, if you are using the European or ISO
1357calendar style, the input order of month, day and year is different.) 1368calendar style, the input order of month, day and year is different.)
1358 1369
1359@kindex i b @r{(Calendar mode)} 1370@kindex i b @r{(Calendar mode)}
1360@findex insert-block-diary-entry 1371@findex diary-insert-block-entry
1361 To insert a block entry, place point and the mark on the two 1372 To insert a block entry, place point and the mark on the two
1362dates that begin and end the range, and type @kbd{i b}. This command 1373dates that begin and end the range, and type @kbd{i b}. This command
1363displays the end of your diary file in another window and inserts the 1374displays the end of your diary file in another window and inserts the
1364block description; you can then type the diary entry. 1375block description; you can then type the diary entry.
1365 1376
1366@kindex i c @r{(Calendar mode)} 1377@kindex i c @r{(Calendar mode)}
1367@findex insert-cyclic-diary-entry 1378@findex diary-insert-cyclic-entry
1368 @dfn{Cyclic} diary entries repeat after a fixed interval of days. To 1379 @dfn{Cyclic} diary entries repeat after a fixed interval of days. To
1369create one, select the starting date and use the @kbd{i c} command. The 1380create one, select the starting date and use the @kbd{i c} command. The
1370command prompts for the length of interval, then inserts the entry, 1381command prompts for the length of interval, then inserts the entry,
diff --git a/etc/NEWS b/etc/NEWS
index e7ebed4eb03..da7a42a0642 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -570,6 +570,7 @@ The variable `european-calendar-style' is obsolete - use `calendar-date-style'.
570Similarly, the commands `american-calendar' and `european-calendar' 570Similarly, the commands `american-calendar' and `european-calendar'
571should be replaced by `calendar-set-date-style'. 571should be replaced by `calendar-set-date-style'.
572 572
573+++
573*** The calendar namespace has been rationalized. 574*** The calendar namespace has been rationalized.
574All functions and variables now begin with a `calendar-', `diary-', or 575All functions and variables now begin with a `calendar-', `diary-', or
575`holiday-' prefix. The various calendar systems have secondary 576`holiday-' prefix. The various calendar systems have secondary