@c This is part of the Emacs manual.
-@c Copyright (C) 1985,86,87,93,94,95,1997,2000,2001 Free Software Foundation, Inc.
+@c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 2000, 2001,
+@c 2005 Free Software Foundation, Inc.
@c See file emacs.texi for copying conditions.
@node Calendar/Diary, Gnus, Dired, Top
@chapter The Calendar and the Diary
Calendar mode.
@kbd{Mouse-2} in the calendar brings up a menu of operations on a
-particular date; @kbd{C-Mouse-3} brings up a menu of commonly used
+particular date; @kbd{Mouse-3} brings up a menu of commonly used
calendar features that are independent of any particular date. To exit
-the calendar, type @kbd{q}. @xref{Advanced Calendar/Diary Usage,
-Customizing the Calendar and Diary,, emacs-xtra, Specialized Emacs
-Features}, for customization information about the calendar and diary.
+the calendar, type @kbd{q}.
+
+The basic features of the Calendar/Diary are described here.
+@xref{Advanced Calendar/Diary Usage,,, emacs-xtra, Specialized Emacs
+Features}, for information about more specialized features.
@menu
* Calendar Motion:: Moving through the calendar; selecting a date.
@kindex h @r{(Calendar mode)}
@findex calendar-cursor-holidays
+@vindex view-calendar-holidays-initially
To see if any holidays fall on a given date, position point on that
date in the calendar window and use the @kbd{h} command. Alternatively,
click on that date with @kbd{Mouse-2} and then choose @kbd{Holidays}
from the menu that appears. Either way, this displays the holidays for
that date, in the echo area if they fit there, otherwise in a separate
-window.
+window. If the variable @code{view-calendar-holidays-initially} is
+non-@code{nil}, holidays are displayed when the calendar is created.
@kindex x @r{(Calendar mode)}
@findex mark-calendar-holidays
@kindex u @r{(Calendar mode)}
@findex calendar-unmark
+@vindex mark-holidays-in-calendar
To view the distribution of holidays for all the dates shown in the
calendar, use the @kbd{x} command. This displays the dates that are
holidays in a different face (or places a @samp{*} after these dates, if
-display with multiple faces is not available). The command applies both
-to the currently visible months and to other months that subsequently
-become visible by scrolling. To turn marking off and erase the current
-marks, type @kbd{u}, which also erases any diary marks (@pxref{Diary}).
+display with multiple faces is not available). @xref{Calendar
+Customizing,, calendar-holiday-marker, emacs-xtra, Specialized Emacs
+Features}. The command applies both to the currently visible months and
+to other months that subsequently become visible by scrolling. To turn
+marking off and erase the current marks, type @kbd{u}, which also erases
+any diary marks (@pxref{Diary}). If the variable
+@code{mark-holidays-in-calendar} is non-@code{nil}, holidays are marked
+in the calendar when it is created (or recomputed).
+
@kindex a @r{(Calendar mode)}
@findex list-calendar-holidays
events for today, for the immediate future, or for any specified
date.
- By default, Emacs uses @file{~/diary} as the diary file. This is the
-same file that the @code{calendar} utility uses. A sample
-@file{~/diary} file is:
+ The name of the diary file is specified by the variable
+@code{diary-file}; @file{~/diary} is the default. A sample diary file
+is:
@example
12/22/1988 Twentieth wedding anniversary!!
entries.
@menu
-* Diary Commands:: Viewing diary entries and associated calendar dates.
+* Displaying the Diary:: Viewing diary entries and associated calendar dates.
* Format of Diary File:: Entering events in your diary.
* Date Formats:: Various ways you can specify dates.
* Adding to Diary:: Commands to create diary entries.
* Special Diary Entries:: Anniversaries, blocks of dates, cyclic entries, etc.
@end menu
-@node Diary Commands
-@subsection Commands Displaying Diary Entries
+@node Displaying the Diary
+@subsection Displaying the Diary
- Once you have created a @file{~/diary} file, you can use the calendar
-to view it. You can also view today's events outside of Calendar mode.
+ Once you have created a diary file, you can use the calendar to view
+it. You can also view today's events outside of Calendar mode.
@table @kbd
@item d
@kindex d @r{(Calendar mode)}
@findex view-diary-entries
+@vindex view-diary-entries-initially
Displaying the diary entries with @kbd{d} shows in a separate window
the diary entries for the selected date in the calendar. The mode line
of the new window shows the date of the diary entries and any holidays
that fall on that date. If you specify a numeric argument with @kbd{d},
it shows all the diary entries for that many successive days. Thus,
@kbd{2 d} displays all the entries for the selected date and for the
-following day.
+following day. If the variable @code{view-diary-entries-initially} is
+non-@code{nil}, the diary entries for the current date are displayed
+when the calendar is created (provided the current date is visible).
Another way to display the diary entries for a date is to click
@kbd{Mouse-2} on the date, and then choose @kbd{Diary entries} from
@kindex m @r{(Calendar mode)}
@findex mark-diary-entries
+@vindex mark-diary-entries-in-calendar
To get a broader view of which days are mentioned in the diary, use
-the @kbd{m} command. This displays the dates that have diary entries
-in a different face (or places a @samp{+} after these dates, if
-display with multiple faces is not available). The command applies both
-to the currently visible months and to other months that subsequently
-become visible by scrolling. To turn marking off and erase the current
-marks, type @kbd{u}, which also turns off holiday marks
-(@pxref{Holidays}).
+the @kbd{m} command. This displays the dates that have diary entries in
+a different face (or places a @samp{+} after these dates, if display
+with multiple faces is not available). @xref{Calendar Customizing,,
+diary-entry-marker, emacs-xtra, Specialized Emacs Features}. The
+command applies both to the currently visible months and to other months
+that subsequently become visible by scrolling. To turn marking off and
+erase the current marks, type @kbd{u}, which also turns off holiday
+marks (@pxref{Holidays}). If the variable
+@code{mark-diary-entries-in-calendar} is non-@code{nil}, diary dates are
+marked in the calendar when it is created (or recomputed).
@kindex s @r{(Calendar mode)}
@findex show-all-diary-entries
@vindex appt-display-format
@vindex appt-audible
+@vindex appt-display-mode-line
If you have a diary entry for an appointment, and that diary entry
begins with a recognizable time of day, Emacs can warn you several
minutes beforehand that that appointment is pending. Emacs alerts you
to the appointment by displaying a message in your chosen format, as
-specified by the variable @code{appt-display-format}. If the value
-of @code{appt-audible} is non-@code{nil}, an audible reminder is also given.
+specified by the variable @code{appt-display-format}. If the value of
+@code{appt-audible} is non-@code{nil}, an audible reminder is also
+given. In addition, if @code{appt-display-mode-line} is non-@code{nil},
+Emacs displays the number of minutes to the appointment on the mode
+line.
+
+@vindex appt-display-duration
+@vindex appt-disp-window-function
+@vindex appt-delete-window-function
+ If @code{appt-display-format} has the value @code{window}, then the
+variable @code{appt-display-duration} controls how long the reminder
+window is visible for; and the variables
+@code{appt-disp-window-function} and @code{appt-delete-window-function}
+give the names of functions used to create and destroy the window,
+respectively.
@findex appt-activate
To enable appointment notification, call the function
-@code{appt-activate} with a positive argument. This sets up an
+@code{appt-activate} with a positive argument. This sets up an
appointment list for today from the diary file, giving all diary entries
found with recognizable times of day, and reminds you just before each
of them. Calling @code{appt-activate} with a negative argument disables
@vindex appt-message-warning-time
@noindent
Then on Mondays, you will be reminded at around 9:20am about your coffee
-break and at around 11:50am about lunch. How many minutes in advance you
+break and at around 11:50am about lunch. How many minutes in advance you
are first warned is determined by the value of
@code{appt-message-warning-time}.