Emacs failed to notice me some appointments (fortunately they are not important). Here is the finding: The doc string of diary-list-entries says the return list is sorted, which is not the case. (add-hook 'diary-list-entries-hook 'diary-sort-entries) is not guaranteed to work unless that is the very last function to run. Other functions in that hook can modify the entries too, for example, diary-include-other-diary-files. The first patch fixes these issues. Another fix will be to fix the doc string to state that the returned list is not sorted. appt-make-list replies on sorted diary entries to work. The second patch explicitly sorts the list before processing.