diary-list-sexp-entries

diary-list-sexp-entries is a compiled Lisp function in `diary-lib.el'.

(diary-list-sexp-entries DATE)

Add sexp entries for DATE from the diary file to `diary-entries-list'.
Also, make them visible in the diary. Returns t if any entries are found.

Sexp diary entries must be prefaced by a `diary-sexp-entry-symbol'
(normally `%%'). The form of a sexp diary entry is

%%(SEXP) ENTRY

Both ENTRY and DATE are available when the SEXP is evaluated. If
the SEXP returns nil, the diary entry does not apply. If it
returns a non-nil value, ENTRY will be taken to apply to DATE; if
the value is a string, that string will be the diary entry in the
fancy diary display.

For example, the following diary entry will apply to the 21st of
the month if it is a weekday and the Friday before if the 21st is
on a weekend:

&%%(let ((dayname (calendar-day-of-week date))
(day (calendar-extract-day date)))
(or
(and (= day 21) (memq dayname '(1 2 3 4 5)))
(and (memq day '(19 20)) (= dayname 5)))
) UIUC pay checks deposited

A number of built-in functions are available for this type of
diary entry. In the following, the optional parameter MARK
specifies a face or single-character string to use when
highlighting the day in the calendar. For those functions that
take MONTH, DAY, and YEAR as arguments, the order of the input
parameters changes according to `calendar-date-style' (e.g. to
DAY MONTH YEAR in the European style).

%%(diary-date MONTH DAY YEAR &optional MARK) text
Entry applies if date is MONTH, DAY, YEAR. DAY, MONTH, and YEAR can
be a list of integers, `t' (meaning all values), or an integer.

%%(diary-float MONTH DAYNAME N &optional DAY MARK) text
Entry will appear on the Nth DAYNAME after/before MONTH DAY.
DAYNAME=0 means Sunday, DAYNAME=1 means Monday, and so on.
If N>0, use the Nth DAYNAME after MONTH DAY.
If N<0, use the Nth DAYNAME before MONTH DAY.
DAY defaults to 1 if N>0, and MONTH's last day otherwise.
MONTH can be a list of months, a single month, or `t' to
specify all months.

%%(diary-block M1 D1 Y1 M2 D2 Y2 &optional MARK) text
Entry will appear on dates between M1/D1/Y1 and M2/D2/Y2,
inclusive.

%%(diary-anniversary MONTH DAY YEAR &optional MARK) text
Entry will appear on anniversary dates of MONTH DAY, YEAR.
Text can contain `%d' or `%d%s'; `%d' will be replaced by the
number of years since the MONTH DAY, YEAR, and `%s' by the
ordinal ending of that number (i.e. `st', `nd', `rd' or `th',
as appropriate). The anniversary of February 29 is
considered to be March 1 in a non-leap year.

%%(diary-cyclic N MONTH DAY YEAR &optional MARK) text
Entry will appear every N days, starting MONTH DAY, YEAR.
Text can contain `%d' or `%d%s'; `%d' will be replaced by the
number of repetitions since the MONTH DAY, YEAR and `%s' by
the ordinal ending of that number (i.e. `st', `nd', `rd' or
`th', as appropriate).

%%(diary-remind SEXP DAYS &optional MARKING) text
Entry is a reminder for diary sexp SEXP. DAYS is either a
single number or a list of numbers indicating the number(s)
of days before the event that the warning(s) should occur.
A negative number -DAYS has the same meaning as a list (1 2 ... DAYS).
If the current date is (one of) DAYS before the event indicated
by EXPR, then a suitable message (as specified by
`diary-remind-message') appears. In addition to the
reminders beforehand, the diary entry also appears on the
date itself. If optional MARKING is non-nil then the
*reminders* are marked on the calendar. Marking of reminders
is independent of whether the entry *itself* is a marking or
non-marking one.

%%(diary-hebrew-yahrzeit MONTH DAY YEAR) text
Text is assumed to be the name of the person; the date is the
date of death on the *civil* calendar. The diary entry will
appear on the proper Hebrew-date anniversary and on the day
before.

All the remaining functions do not accept any text, and so only
make sense with `diary-fancy-display'. Most produce output every day.

`diary-day-of-year' - day of year and number of days remaining
`diary-iso-date' - ISO commercial date
`diary-astro-day-number' - astronomical (Julian) day number
`diary-sunrise-sunset' - local times of sunrise and sunset

These functions give the date in alternative calendrical systems:

`diary-bahai-date', `diary-chinese-date', `diary-coptic-date',
`diary-ethiopic-date', `diary-french-date', `diary-hebrew-date',
`diary-islamic-date', `diary-julian-date', `diary-mayan-date',
`diary-persian-date'

Theses functions only produce output on certain dates:

`diary-lunar-phases' - phases of moon (on the appropriate days)
`diary-hebrew-omer' - Omer count, within 50 days after Passover
`diary-hebrew-parasha' - weekly parasha, every Saturday
`diary-hebrew-rosh-hodesh' - Rosh Hodesh, or the day or Saturday before
`diary-hebrew-sabbath-candles' - local time of candle lighting, on Fridays


Marking these entries is *extremely* time consuming, so it is
best if they are non-marking.