Subject: bug#15987: 24.3; diary-add-to-list ignored by diary-mark-entries

From: Glenn Morris <[email-masked]>
Date: Sat, 30 Nov 2013 18:08:37 -0500

"Roland Winkler" wrote:

> BBDB 3 defines the function bbdb-anniv-diary-entries which adds
> anniversaries from BBDB records to `diary-list-entries' by calling
> diary-add-to-list.  This is a clean thing and works fine.

Not sure I agree. It may happen to do something, but this function is
intended to be used to add entries from a literal diary file.
These days, it might be called "diary--add-to-list".
diary-entries-list is dynamically bound during certain diary operations,
it is not a generally accessible variable.

> Now I've been asked on the BBDB mailing list how these anniversaries
> from BBDB records can also be marked in the Emacs calendar, and it
> seems to me that there is no easy way to achieve this.

It's intended to mark entries from a diary-file, not arbitrary sources.
So I view this as a wishlist item to have non-diary sources treated as
diary entries. I don't think this is going to be a high priority for me
to implement, because it doesn't make much sense to me. Eg what will
happen when you press "d" on such a marked date in the calendar?
This "Searches the file named in `diary-file' for entries that match
[the date]". There will be no file to search.

Instead you could simply have a function that exports bbdb data to a
diary file, and include it from the main diary file. Then everything
would just work, right now.

I mean, you can do something horrible with hooks, eg

(add-hook 'diary-mark-entries-hook
           (lambda () (calendar-mark-date-pattern 11 11 2013)))

But don't do that, just export a diary file.