johnsu01 (johnsu01) wrote,
johnsu01
johnsu01

  • Music:

Changes in Emacs Diary babbling

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-fancy-display, and 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.

Tags: emacs, lisp, planner
Subscribe
  • Post a new comment

    Error

    default userpic
    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 0 comments