Function: org-agenda-diary-entry-in-org-file
org-agenda-diary-entry-in-org-file is a byte-compiled function defined
in org-agenda.el.gz.
Signature
(org-agenda-diary-entry-in-org-file)
Documentation
Make a diary entry in the file org-agenda-diary-file.
Source Code
;; Defined in /usr/src/emacs/lisp/org/org-agenda.el.gz
(defun org-agenda-diary-entry-in-org-file ()
"Make a diary entry in the file `org-agenda-diary-file'."
(let (d1 d2 char (text "") dp1 dp2)
(if (equal (buffer-name) "*Calendar*")
(setq d1 (calendar-cursor-to-date t)
d2 (car calendar-mark-ring))
(setq dp1 (get-text-property (line-beginning-position) 'day))
(unless dp1 (user-error "No date defined in current line"))
(setq d1 (calendar-gregorian-from-absolute dp1)
d2 (and (ignore-errors (mark))
(save-excursion
(goto-char (mark))
(setq dp2 (get-text-property (line-beginning-position) 'day)))
(calendar-gregorian-from-absolute dp2))))
(message "Diary entry: [d]ay [a]nniversary [b]lock [j]ump to date tree")
(setq char (read-char-exclusive))
(cond
((equal char ?d)
(setq text (read-string "Day entry: "))
(org-agenda-add-entry-to-org-agenda-diary-file 'day text d1)
(and (equal (buffer-name) org-agenda-buffer-name) (org-agenda-redo)))
((equal char ?a)
(setq d1 (list (car d1) (nth 1 d1)
(read-number (format "Reference year [%d]: " (nth 2 d1))
(nth 2 d1))))
(setq text (read-string "Anniversary (use %d to show years): "))
(org-agenda-add-entry-to-org-agenda-diary-file 'anniversary text d1)
(and (equal (buffer-name) org-agenda-buffer-name) (org-agenda-redo)))
((equal char ?b)
(setq text (read-string "Block entry: "))
(unless (and d1 d2 (not (equal d1 d2)))
(user-error "No block of days selected"))
(org-agenda-add-entry-to-org-agenda-diary-file 'block text d1 d2)
(and (equal (buffer-name) org-agenda-buffer-name) (org-agenda-redo)))
((equal char ?j)
(org-switch-to-buffer-other-window
(find-file-noselect org-agenda-diary-file))
(require 'org-datetree)
(org-datetree-find-date-create d1)
(org-fold-reveal t))
(t (user-error "Invalid selection character `%c'" char)))))