summaryrefslogtreecommitdiff
path: root/lisp
diff options
context:
space:
mode:
Diffstat (limited to 'lisp')
-rw-r--r--lisp/ChangeLog3
-rw-r--r--lisp/calendar/appt.el22
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