@c -*-texinfo-*-
@c This is part of the GNU Emacs Lisp Reference Manual.
-@c Copyright (C) 1990, 1991, 1992, 1993, 1995, 1998 Free Software Foundation, Inc.
+@c Copyright (C) 1990, 1991, 1992, 1993, 1995, 1998 Free Software Foundation, Inc.
@c See the file elisp.texi for copying conditions.
@node Calendar, System Interface, Display, Top
@chapter Customizing the Calendar and Diary
* Daylight Savings:: Changing the default.
* Diary Customizing:: Defaults you can set.
* Hebrew/Islamic Entries:: How to obtain them.
-* Fancy Diary Display:: Enhancing the diary display, sorting entries,
+* Fancy Diary Display:: Enhancing the diary display, sorting entries,
using included diary files.
* Sexp Diary Entries:: Fancy things you can do.
* Appt Customizing:: Customizing appointment reminders.
@code{t} in order to mark any dates with diary entries. This takes
effect whenever the calendar window contents are recomputed. There are
two ways of marking these dates: by changing the face (@pxref{Faces}),
-if the display supports that, or by placing a plus sign (@samp{+})
-beside the date otherwise.
+or by placing a plus sign (@samp{+}) beside the date.
@vindex mark-holidays-in-calendar
Similarly, setting the variable @code{mark-holidays-in-calendar} to
variable @code{diary-entry-marker} specifies how to mark a date that has
diary entries. The calendar creates faces named @code{holiday-face} and
@code{diary-face} for these purposes; those symbols are the default
-values of these variables, when Emacs supports multiple faces on your
-terminal.
+values of these variables.
@vindex calendar-load-hook
The variable @code{calendar-load-hook} is a normal hook run when the
date. Its value should be a character to insert next to the date or a
face name to use for displaying the date. A face named
@code{calendar-today-face} is provided for this purpose; that symbol is
-the default for this variable when Emacs supports multiple faces on your
-terminal.
+the default for this variable.
@vindex today-invisible-calendar-hook
@noindent
well as entries based on the world-standard Gregorian calendar.
However, because recognition of such entries is time-consuming and most
people don't use them, you must explicitly enable their use. If you
-want the diary to recognize Hebrew-date diary entries, for example,
+want the diary to recognize Hebrew-date diary entries, for example,
you must do this:
@vindex nongregorian-diary-listing-hook
selected date.
@item i h y
Add a diary entry for the day of the Hebrew year corresponding to the
-selected date (@code{insert-yearly-hebrew-diary-entry}). This diary
+selected date (@code{insert-yearly-hebrew-diary-entry}). This diary
entry matches any date which has the same Hebrew month and day-within-month
as the selected date.
@item i i d
These commands work much like the corresponding commands for ordinary
diary entries: they apply to the date that point is on in the calendar
window, and what they do is insert just the date portion of a diary entry
-at the end of your diary file. You must then insert the rest of the
+at the end of your diary file. You must then insert the rest of the
diary entry.
@node Fancy Diary Display
@noindent
on the last Monday of every month.
- The generality of sexp diary entries lets you specify any diary entry
-that you can describe algorithmically. A sexp diary entry contains an
-expression that computes whether the entry applies to any given date.
-If its value is non-@code{nil}, the entry applies to that date;
-otherwise, it does not. The expression can use the variable @code{date}
-to find the date being considered; its value is a list (@var{month}
-@var{day} @var{year}) that refers to the Gregorian calendar.
+ The generality of sexp diary entries lets you specify any diary
+entry that you can describe algorithmically. A sexp diary entry
+contains an expression that computes whether the entry applies to any
+given date. If its value is non-@code{nil}, the entry applies to that
+date; otherwise, it does not. The expression can use the variable
+@code{date} to find the date being considered; its value is a list
+(@var{month} @var{day} @var{year}) that refers to the Gregorian
+calendar.
+
+ The sexp diary entry applies to a date when the expression's value
+is non-@code{nil}, but some values have more specific meanings. If
+the value is a string, that string is a description of the event which
+occurs on that date. The value can also have the form
+@code{(@var{mark} . @var{string})}; then @var{mark} specifies how to
+mark the date in the calendar, and @var{string} is the description of
+the event. If @var{mark} is a single-character string, that character
+appears next to the date in the calendar. If @var{mark} is a face
+name, the date is displayed in that face. If @var{mark} is
+@code{nil}, that specifies no particular highlighting for the date.
Suppose you get paid on the 21st of the month if it is a weekday, and
on the Friday before if the 21st is on a weekend. Here is how to write
@var{month}, @var{year}.)
@end table
+ All the functions documented above take an optional argument
+@var{mark} which specifies how to mark the date in the calendar display.
+If one of these functions decides that it applies to a certain date,
+it returns a value that contains @var{mark}.
+
@node Appt Customizing
@section Customizing Appointment Reminders
The number of seconds to display an appointment message. The default
is 5 seconds.
@end table
+
+@ignore
+ arch-tag: 8e50c766-4703-4888-a421-af15244cca7e
+@end ignore