Function: diary-include-files
diary-include-files is a byte-compiled function defined in
diary-lib.el.gz.
Signature
(diary-include-files &optional MARK)
Documentation
Process diary entries from included diary files.
By default, lists included entries, but if optional argument MARK is non-nil
marks entries instead.
For example, this enables you to share common diary files.
Specify include files using lines matching diary-include-string, e.g.
#include "filename"
This is recursive; that is, included files may include other files.
Source Code
;; Defined in /usr/src/emacs/lisp/calendar/diary-lib.el.gz
(defun diary-include-files (&optional mark)
"Process diary entries from included diary files.
By default, lists included entries, but if optional argument MARK is non-nil
marks entries instead.
For example, this enables you to share common diary files.
Specify include files using lines matching `diary-include-string', e.g.
#include \"filename\"
This is recursive; that is, included files may include other files."
(goto-char (point-min))
(while (re-search-forward
(format "^%s \"\\([^\"]*\\)\"" (regexp-quote diary-include-string))
nil t)
(let ((diary-file (match-string-no-properties 1))
(diary-mark-entries-hook #'diary-mark-included-diary-files)
(diary-list-entries-hook #'diary-include-other-diary-files)
(diary-including t)
diary-hook diary-list-include-blanks efile)
(if (file-exists-p diary-file)
(if (file-readable-p diary-file)
(if (member (setq efile (expand-file-name diary-file))
diary-included-files)
(error "Recursive diary include for %s" diary-file)
(setq diary-included-files
(append diary-included-files (list efile)))
(if mark
(diary-mark-entries)
;; FIXME: `diary-include-files' can be run from
;; diary-mark-entries-hook (via
;; diary-mark-included-diary-files) or from
;; diary-list-entries-hook (via
;; diary-include-other-diary-files). In the "list" case,
;; `number' is dynamically bound, but not in the "mark" case!
(with-no-warnings (defvar number))
(setq diary-entries-list
(append diary-entries-list
(diary-list-entries original-date number t)))))
(display-warning
'diary
(format-message "Can't read included diary file %s\n"
diary-file)
:error))
(display-warning
'diary
(format-message "Can't find included diary file %s\n"
diary-file)
:error))))
(goto-char (point-min)))