diff options
Diffstat (limited to 'lisp')
-rw-r--r-- | lisp/ChangeLog | 3 | ||||
-rw-r--r-- | lisp/calendar/appt.el | 22 |
2 files changed, 19 insertions, 6 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index c38c5ba6413..6972c9c743f 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,5 +1,8 @@ 2010-09-15 Glenn Morris <rgm@gnu.org> + * calendar/appt.el (appt-check): Rather than showing the diary, + just turn off invisible display, and only if needed. + * calendar/diary-lib.el (diary-list-entries): Doc fix. (Bug#7019) 2010-09-14 Stefan Monnier <monnier@iro.umontreal.ca> diff --git a/lisp/calendar/appt.el b/lisp/calendar/appt.el index c850abc63cc..5767ef543ee 100644 --- a/lisp/calendar/appt.el +++ b/lisp/calendar/appt.el @@ -345,17 +345,27 @@ displayed in a window: (selective (if d-buff ; diary buffer exists (with-current-buffer d-buff - diary-selective-display)))) + diary-selective-display))) + d-buff2) ;; FIXME why not using diary-list-entries with ;; non-nil LIST-ONLY? (diary) ;; If the diary buffer existed before this command, ;; restore its display state. Otherwise, kill it. - (if d-buff - ;; Displays the diary buffer. - (or selective (diary-show-all-entries)) - (and (setq d-buff (find-buffer-visiting diary-file)) - (kill-buffer d-buff))))) + (and (setq d-buff2 (find-buffer-visiting diary-file)) + (if d-buff + (or selective + (with-current-buffer d-buff2 + (if diary-selective-display + ;; diary-show-all-entries displays + ;; the diary buffer. + (diary-unhide-everything)))) + ;; FIXME does not kill any included diary files. + ;; The real issue is that (diary) should not + ;; have the side effect of visiting all the + ;; diary files. It is not really appt.el's job to + ;; clean up this mess... + (kill-buffer d-buff2))))) (error nil))) (setq appt-prev-comp-time cur-comp-time appt-mode-string nil |