I've recently switched back to building Emacs from CVS again, so that I can take advantage of the multi-tty features. But after doing so, something went wrong with my calendar/diary display. I'd hit 'd' on a date, but instead of showing me the appointments for that date, it would just show my entire diary file. This caused me to miss and/or forget a number of appointments. Fortunately, the diary entries were still being correctly inserted into my Planner pages — that minimized the damage done to my life, but sometimes I still just didn't look at them.
Today I finally debugged the problem. Turns out that a few things are changing about the Emacs Diary.
fancy-diary-display is being sensibly renamed to
diary-display-hook has changed to
diary-display-function and is no longer supposed to allow a list of functions. Making this change to my
.emacs seems to have solved the problem, and I can now see my appointments again, whether using an older version of Emacs or a development version.
;; Diary functions changed in version 23
(if (fboundp 'diary-fancy-display)
(setq diary-display-function 'diary-fancy-display)
(add-hook 'diary-display-hook 'fancy-diary-display))
I think there is still an Emacs bug here somewhere, because in theory backward compatibility is supposed to be preserved.
This change is also going to affect
planner-diary.el, so I'll look and see what needs to be updated in the code and docs for that.
EDIT: Hm, looks like maybe this was all a red herring. For some reason, I had the line
(diary 0) also in my
.emacs. When I was trying to construct a test case to report the backward compatiblity bug, I removed that line, and things seemed to then work. Since an argument less than 1 is not supposed to do anything, this seems odd.