+2010-09-14 Glenn Morris <rgm@gnu.org>
+
+ * calendar/diary-lib.el (diary-included-files): New variable.
+ (diary-list-entries): Maybe initialize diary-included-files.
+ (diary-include-other-diary-files): Append to diary-included-files.
+ * calendar/appt.el (appt-update-list): Also check the members of
+ diary-included-files. (Bug#6999)
+
2010-09-12 David Reitter <david.reitter@gmail.com>
* simple.el (line-move-visual): Do not truncate goal column to
(if d-buff ; diary buffer exists
(with-current-buffer d-buff
diary-selective-display))))
+ ;; 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.
(defun appt-update-list ()
"If the current buffer is visiting the diary, update appointments.
-This function is intended for use with `write-file-functions'."
- (and (string-equal buffer-file-name (expand-file-name diary-file))
+This function also acts on any file listed in `diary-included-files'.
+It is intended for use with `write-file-functions'."
+ (and (member buffer-file-name (append diary-included-files
+ (list (expand-file-name diary-file))))
appt-timer
(let ((appt-display-diary nil))
(appt-check t)))
(1+ (calendar-absolute-from-gregorian gdate))))))
(goto-char (point-min)))
+(defvar diary-including) ; dynamically bound in diary-include-other-diary-files
+(defvar diary-included-files nil
+ "List of any diary files included in the last call to `diary-list-entries'.")
+
;; FIXME non-greg and list hooks run same number of times?
(defun diary-list-entries (date number &optional list-only)
"Create and display a buffer containing the relevant lines in `diary-file'.
(date-string (calendar-date-string date))
(diary-buffer (find-buffer-visiting diary-file))
diary-entries-list file-glob-attrs)
+ (or (bound-and-true-p diary-including)
+ (setq diary-included-files nil))
(message "Preparing diary...")
(save-current-buffer
(if (not diary-buffer)
(let ((diary-file (match-string-no-properties 1))
(diary-list-entries-hook 'diary-include-other-diary-files)
(diary-display-function 'ignore)
+ (diary-including t)
diary-hook diary-list-include-blanks)
(if (file-exists-p diary-file)
(if (file-readable-p diary-file)
(unwind-protect
- (setq diary-entries-list
+ (setq diary-included-files
+ (append diary-included-files
+ (list (expand-file-name diary-file)))
+ diary-entries-list
(append diary-entries-list
(diary-list-entries original-date number)))
(with-current-buffer (find-buffer-visiting diary-file)