Use overlays rather than selective-display.
(diary-selective-display): New var. (diary-header-line-format): Use it. (diary-list-entries): Add argument `list-only'. Put the buffer in diary-mode. Don't add \^M at beg and end. Replace \^M by invisible overlays. (diary-unhide-everything): Replace \^M by invisible overlays. (print-diary-entries): Look for overlays rather than \^M. Add a space to the temp buffer name. (diary-show-all-entries, mark-diary-entries, make-diary-entry): Put the buffer in diary-mode. (list-sexp-diary-entries): Replace \^M by invisible overlays. (diary-anniversary): Make the year arg optional. (diary-time-regexp): New const. (diary-font-lock-keywords): Use it to accept a few more time formats.
Showing with 79 additions and 71 deletions