Debugger entered--Lisp error: (error "Before first headline at position 1 in buffer diary.org") signal(error ("Before first headline at position 1 in buffer diary.org")) error("Before first headline at position %d in buffer %s" 1 #) (condition-case nil (outline-back-to-heading invisible-ok) (error (error "Before first headline at position %d in buffer %s" (point) (current-buffer)))) org-back-to-heading(t) (let (start-level re) (org-back-to-heading t) (setq start-level (funcall outline-level)) (if (equal start-level 1) nil (setq re (concat "^\\*\\{1," (number-to-string (1- start-level)) "\\} ")) (if (re-search-backward re nil t) (funcall outline-level)))) org-up-heading-safe() (while (org-up-heading-safe) (if (looking-at org-complex-heading-regexp) (progn (setq rtn (cons (org-match-string-no-properties 4) rtn))))) (save-restriction (widen) (while (org-up-heading-safe) (if (looking-at org-complex-heading-regexp) (progn (setq rtn (cons (org-match-string-no-properties 4) rtn))))) rtn) (save-excursion (save-restriction (widen) (while (org-up-heading-safe) (if (looking-at org-complex-heading-regexp) (progn (setq rtn (cons (org-match-string-no-properties 4) rtn))))) rtn)) (let (rtn case-fold-search) (save-excursion (save-restriction (widen) (while (org-up-heading-safe) (if (looking-at org-complex-heading-regexp) (progn (setq rtn (cons ... rtn))))) rtn))) (if fastp (progn (if (> level 19) (error "Outline path failure, more than 19 levels")) (progn (let* ((i level)) (while (<= i 19) (aset org-olpa i nil) (setq i (+ i 1))) nil)) (prog1 (delq nil (append org-olpa nil)) (aset org-olpa level heading))) (let (rtn case-fold-search) (save-excursion (save-restriction (widen) (while (org-up-heading-safe) (if (looking-at org-complex-heading-regexp) (progn (setq rtn ...)))) rtn)))) org-get-outline-path() (and (derived-mode-p (quote org-mode)) (org-get-outline-path)) (let* (case-fold-search message-log-max (bfn (buffer-file-name (buffer-base-buffer))) (path (and (derived-mode-p (quote org-mode)) (org-get-outline-path))) res) (if current (setq path (append path (save-excursion (org-back-to-heading t) (if (looking-at org-complex-heading-regexp) (list (match-string 4))))))) (setq res (org-format-outline-path path (1- (frame-width)) (and file bfn (concat (file-name-nondirectory bfn) separator)) separator)) (if just-return-string (org-no-properties res) (message "%s" res))) org-display-outline-path(nil nil "->" t) (let ((s (org-display-outline-path nil nil "->" t))) (if (eq "" s) "" (concat s "->"))) (save-excursion (goto-char (or --mpom (point))) (let ((s (org-display-outline-path nil nil "->" t))) (if (eq "" s) "" (concat s "->")))) (save-excursion (if (markerp --mpom) (set-buffer (marker-buffer --mpom))) (save-excursion (goto-char (or --mpom (point))) (let ((s (org-display-outline-path nil nil "->" t))) (if (eq "" s) "" (concat s "->"))))) (let ((--mpom (org-get-at-bol (quote org-marker)))) (save-excursion (if (markerp --mpom) (set-buffer (marker-buffer --mpom))) (save-excursion (goto-char (or --mpom (point))) (let ((s (org-display-outline-path nil nil "->" t))) (if (eq "" s) "" (concat s "->")))))) (setq time (cond (s2 (concat (org-agenda-time-of-day-to-ampm-maybe s1) "-" (org-agenda-time-of-day-to-ampm-maybe s2) (if org-agenda-timegrid-use-ampm " "))) (s1 (concat (org-agenda-time-of-day-to-ampm-maybe s1) (if org-agenda-timegrid-use-ampm "........ " "......"))) (t "")) extra (or (and (not habitp) extra) "") breadcrumbs (let ((--mpom (org-get-at-bol (quote org-marker)))) (save-excursion (if (markerp --mpom) (set-buffer (marker-buffer --mpom))) (save-excursion (goto-char (or --mpom (point))) (let ((s (org-display-outline-path nil nil "->" t))) (if (eq "" s) "" (concat s "->")))))) category (if (symbolp category) (symbol-name category) category) thecategory (copy-sequence category) level (or level "")) (let* ((category (or category (if (stringp org-category) org-category (and org-category (symbol-name org-category))) (if buffer-file-name (file-name-sans-extension (file-name-nondirectory buffer-file-name)) ""))) (category-icon (org-agenda-get-category-icon category)) (category-icon (if category-icon (propertize " " (quote display) category-icon) "")) (tag (if tags (nth (1- (length tags)) tags) "")) time effort neffort (ts (if dotime (concat (if (stringp dotime) dotime "") (and org-agenda-search-headline-for-time txt)))) (time-of-day (and dotime (org-get-time-of-day ts))) stamp plain s0 s1 s2 rtn srp l duration thecategory breadcrumbs) (and (derived-mode-p (quote org-mode)) buffer-file-name (add-to-list (quote org-agenda-contributing-files) buffer-file-name)) (if (and dotime time-of-day) (progn (if (or (setq stamp (string-match org-stamp-time-of-day-regexp ts)) (setq plain (string-match org-plain-time-of-day-regexp ts))) (progn (setq s0 (match-string 0 ts) srp (and stamp (match-end 3)) s1 (match-string (if plain 1 2) ts) s2 (match-string (if plain 8 ...) ts)) (if (and org-prefix-has-time org-agenda-remove-times-when-in-prefix (or stamp plain) (string-match ... txt) (not ...) (if ... ... t)) (setq txt (replace-match "" nil nil txt))))) (if s1 (setq s1 (org-get-time-of-day s1 (quote string) t))) (if s2 (setq s2 (org-get-time-of-day s2 (quote string) t))) (let (org-time-clocksum-use-effort-durations) (if (and s1 (not s2) org-agenda-default-appointment-duration) (progn (setq s2 (org-minutes-to-clocksum-string ...))))) (if s2 (progn (setq duration (- (org-hh:mm-string-to-minutes s2) (org-hh:mm-string-to-minutes s1))))))) (if (string-match "\\([ ]+\\)\\(:[[:alnum:address@hidden:]+:\\)[ ]*$" txt) (progn (if (or (eq org-agenda-remove-tags t) (and org-agenda-remove-tags org-prefix-has-tag)) (setq txt (replace-match "" t t txt)) (setq txt (replace-match (concat (make-string ... 32) (match-string 2 txt)) t t txt))))) (if (derived-mode-p (quote org-mode)) (progn (setq effort (condition-case nil (progn (get-text-property 0 (quote org-effort) txt)) (error nil))) (if effort (setq neffort (org-duration-string-to-minutes effort) effort (setq effort (concat "[" effort "]"))) (setq effort "")))) (if remove-re (progn (while (string-match remove-re txt) (setq txt (replace-match "" t t txt))))) (add-text-properties 0 (length txt) (quote (org-heading t)) txt) (setq time (cond (s2 (concat (org-agenda-time-of-day-to-ampm-maybe s1) "-" (org-agenda-time-of-day-to-ampm-maybe s2) (if org-agenda-timegrid-use-ampm " "))) (s1 (concat (org-agenda-time-of-day-to-ampm-maybe s1) (if org-agenda-timegrid-use-ampm "........ " "......"))) (t "")) extra (or (and (not habitp) extra) "") breadcrumbs (let ((--mpom (org-get-at-bol (quote org-marker)))) (save-excursion (if (markerp --mpom) (set-buffer (marker-buffer --mpom))) (save-excursion (goto-char (or --mpom (point))) (let ((s ...)) (if (eq "" s) "" (concat s "->")))))) category (if (symbolp category) (symbol-name category) category) thecategory (copy-sequence category) level (or level "")) (if (string-match org-bracket-link-regexp category) (progn (setq l (if (match-end 3) (- (match-end 3) (match-beginning 3)) (- (match-end 1) (match-beginning 1)))) (if (< l (or org-prefix-category-length 0)) (progn (setq category (copy-sequence category)) (org-add-props category nil (quote extra-space) (make-string (- org-prefix-category-length l 1) 32))))) (if (and org-prefix-category-max-length (>= (length category) org-prefix-category-max-length)) (setq category (substring category 0 (1- org-prefix-category-max-length))))) (setq rtn (concat (eval formatter) txt)) (remove-text-properties 0 (length rtn) (quote (line-prefix t wrap-prefix t)) rtn) (org-add-props rtn nil (quote org-category) (if thecategory (downcase thecategory) category) (quote tags) (mapcar (quote org-downcase-keep-props) tags) (quote org-highest-priority) org-highest-priority (quote org-lowest-priority) org-lowest-priority (quote time-of-day) time-of-day (quote duration) duration (quote effort) effort (quote effort-minutes) neffort (quote breadcrumbs) breadcrumbs (quote txt) txt (quote level) level (quote time) time (quote extra) extra (quote format) org-prefix-format-compiled (quote dotime) dotime)) (progn (setq txt (org-trim txt)) (setq txt (org-agenda-fix-displayed-tags txt tags org-agenda-show-inherited-tags org-agenda-hide-tags-regexp)) (let* ((category (or category (if (stringp org-category) org-category (and org-category (symbol-name org-category))) (if buffer-file-name (file-name-sans-extension (file-name-nondirectory buffer-file-name)) ""))) (category-icon (org-agenda-get-category-icon category)) (category-icon (if category-icon (propertize " " (quote display) category-icon) "")) (tag (if tags (nth (1- (length tags)) tags) "")) time effort neffort (ts (if dotime (concat (if (stringp dotime) dotime "") (and org-agenda-search-headline-for-time txt)))) (time-of-day (and dotime (org-get-time-of-day ts))) stamp plain s0 s1 s2 rtn srp l duration thecategory breadcrumbs) (and (derived-mode-p (quote org-mode)) buffer-file-name (add-to-list (quote org-agenda-contributing-files) buffer-file-name)) (if (and dotime time-of-day) (progn (if (or (setq stamp (string-match org-stamp-time-of-day-regexp ts)) (setq plain (string-match org-plain-time-of-day-regexp ts))) (progn (setq s0 (match-string 0 ts) srp (and stamp ...) s1 (match-string ... ts) s2 (match-string ... ts)) (if (and org-prefix-has-time org-agenda-remove-times-when-in-prefix ... ... ... ...) (setq txt ...)))) (if s1 (setq s1 (org-get-time-of-day s1 (quote string) t))) (if s2 (setq s2 (org-get-time-of-day s2 (quote string) t))) (let (org-time-clocksum-use-effort-durations) (if (and s1 (not s2) org-agenda-default-appointment-duration) (progn (setq s2 ...)))) (if s2 (progn (setq duration (- ... ...)))))) (if (string-match "\\([ ]+\\)\\(:[[:alnum:address@hidden:]+:\\)[ ]*$" txt) (progn (if (or (eq org-agenda-remove-tags t) (and org-agenda-remove-tags org-prefix-has-tag)) (setq txt (replace-match "" t t txt)) (setq txt (replace-match (concat ... ...) t t txt))))) (if (derived-mode-p (quote org-mode)) (progn (setq effort (condition-case nil (progn (get-text-property 0 ... txt)) (error nil))) (if effort (setq neffort (org-duration-string-to-minutes effort) effort (setq effort (concat "[" effort "]"))) (setq effort "")))) (if remove-re (progn (while (string-match remove-re txt) (setq txt (replace-match "" t t txt))))) (add-text-properties 0 (length txt) (quote (org-heading t)) txt) (setq time (cond (s2 (concat (org-agenda-time-of-day-to-ampm-maybe s1) "-" (org-agenda-time-of-day-to-ampm-maybe s2) (if org-agenda-timegrid-use-ampm " "))) (s1 (concat (org-agenda-time-of-day-to-ampm-maybe s1) (if org-agenda-timegrid-use-ampm "........ " "......"))) (t "")) extra (or (and (not habitp) extra) "") breadcrumbs (let ((--mpom (org-get-at-bol (quote org-marker)))) (save-excursion (if (markerp --mpom) (set-buffer (marker-buffer --mpom))) (save-excursion (goto-char (or --mpom ...)) (let (...) (if ... "" ...))))) category (if (symbolp category) (symbol-name category) category) thecategory (copy-sequence category) level (or level "")) (if (string-match org-bracket-link-regexp category) (progn (setq l (if (match-end 3) (- (match-end 3) (match-beginning 3)) (- (match-end 1) (match-beginning 1)))) (if (< l (or org-prefix-category-length 0)) (progn (setq category (copy-sequence category)) (org-add-props category nil (quote extra-space) (make-string ... 32))))) (if (and org-prefix-category-max-length (>= (length category) org-prefix-category-max-length)) (setq category (substring category 0 (1- org-prefix-category-max-length))))) (setq rtn (concat (eval formatter) txt)) (remove-text-properties 0 (length rtn) (quote (line-prefix t wrap-prefix t)) rtn) (org-add-props rtn nil (quote org-category) (if thecategory (downcase thecategory) category) (quote tags) (mapcar (quote org-downcase-keep-props) tags) (quote org-highest-priority) org-highest-priority (quote org-lowest-priority) org-lowest-priority (quote time-of-day) time-of-day (quote duration) duration (quote effort) effort (quote effort-minutes) neffort (quote breadcrumbs) breadcrumbs (quote txt) txt (quote level) level (quote time) time (quote extra) extra (quote format) org-prefix-format-compiled (quote dotime) dotime))) (unwind-protect (progn (setq txt (org-trim txt)) (setq txt (org-agenda-fix-displayed-tags txt tags org-agenda-show-inherited-tags org-agenda-hide-tags-regexp)) (let* ((category (or category (if (stringp org-category) org-category (and org-category ...)) (if buffer-file-name (file-name-sans-extension ...) ""))) (category-icon (org-agenda-get-category-icon category)) (category-icon (if category-icon (propertize " " (quote display) category-icon) "")) (tag (if tags (nth (1- ...) tags) "")) time effort neffort (ts (if dotime (concat (if ... dotime "") (and org-agenda-search-headline-for-time txt)))) (time-of-day (and dotime (org-get-time-of-day ts))) stamp plain s0 s1 s2 rtn srp l duration thecategory breadcrumbs) (and (derived-mode-p (quote org-mode)) buffer-file-name (add-to-list (quote org-agenda-contributing-files) buffer-file-name)) (if (and dotime time-of-day) (progn (if (or (setq stamp ...) (setq plain ...)) (progn (setq s0 ... srp ... s1 ... s2 ...) (if ... ...))) (if s1 (setq s1 (org-get-time-of-day s1 ... t))) (if s2 (setq s2 (org-get-time-of-day s2 ... t))) (let (org-time-clocksum-use-effort-durations) (if (and s1 ... org-agenda-default-appointment-duration) (progn ...))) (if s2 (progn (setq duration ...))))) (if (string-match "\\([ ]+\\)\\(:[[:alnum:address@hidden:]+:\\)[ ]*$" txt) (progn (if (or (eq org-agenda-remove-tags t) (and org-agenda-remove-tags org-prefix-has-tag)) (setq txt (replace-match "" t t txt)) (setq txt (replace-match ... t t txt))))) (if (derived-mode-p (quote org-mode)) (progn (setq effort (condition-case nil (progn ...) (error nil))) (if effort (setq neffort (org-duration-string-to-minutes effort) effort (setq effort ...)) (setq effort "")))) (if remove-re (progn (while (string-match remove-re txt) (setq txt (replace-match "" t t txt))))) (add-text-properties 0 (length txt) (quote (org-heading t)) txt) (setq time (cond (s2 (concat (org-agenda-time-of-day-to-ampm-maybe s1) "-" (org-agenda-time-of-day-to-ampm-maybe s2) (if org-agenda-timegrid-use-ampm " "))) (s1 (concat (org-agenda-time-of-day-to-ampm-maybe s1) (if org-agenda-timegrid-use-ampm "........ " "......"))) (t "")) extra (or (and (not habitp) extra) "") breadcrumbs (let ((--mpom (org-get-at-bol ...))) (save-excursion (if (markerp --mpom) (set-buffer ...)) (save-excursion (goto-char ...) (let ... ...)))) category (if (symbolp category) (symbol-name category) category) thecategory (copy-sequence category) level (or level "")) (if (string-match org-bracket-link-regexp category) (progn (setq l (if (match-end 3) (- ... ...) (- ... ...))) (if (< l (or org-prefix-category-length 0)) (progn (setq category ...) (org-add-props category nil ... ...)))) (if (and org-prefix-category-max-length (>= (length category) org-prefix-category-max-length)) (setq category (substring category 0 (1- org-prefix-category-max-length))))) (setq rtn (concat (eval formatter) txt)) (remove-text-properties 0 (length rtn) (quote (line-prefix t wrap-prefix t)) rtn) (org-add-props rtn nil (quote org-category) (if thecategory (downcase thecategory) category) (quote tags) (mapcar (quote org-downcase-keep-props) tags) (quote org-highest-priority) org-highest-priority (quote org-lowest-priority) org-lowest-priority (quote time-of-day) time-of-day (quote duration) duration (quote effort) effort (quote effort-minutes) neffort (quote breadcrumbs) breadcrumbs (quote txt) txt (quote level) level (quote time) time (quote extra) extra (quote format) org-prefix-format-compiled (quote dotime) dotime))) (set-match-data save-match-data-internal (quote evaporate))) (let ((save-match-data-internal (match-data))) (unwind-protect (progn (setq txt (org-trim txt)) (setq txt (org-agenda-fix-displayed-tags txt tags org-agenda-show-inherited-tags org-agenda-hide-tags-regexp)) (let* ((category (or category (if ... org-category ...) (if buffer-file-name ... ""))) (category-icon (org-agenda-get-category-icon category)) (category-icon (if category-icon (propertize " " ... category-icon) "")) (tag (if tags (nth ... tags) "")) time effort neffort (ts (if dotime (concat ... ...))) (time-of-day (and dotime (org-get-time-of-day ts))) stamp plain s0 s1 s2 rtn srp l duration thecategory breadcrumbs) (and (derived-mode-p (quote org-mode)) buffer-file-name (add-to-list (quote org-agenda-contributing-files) buffer-file-name)) (if (and dotime time-of-day) (progn (if (or ... ...) (progn ... ...)) (if s1 (setq s1 ...)) (if s2 (setq s2 ...)) (let (org-time-clocksum-use-effort-durations) (if ... ...)) (if s2 (progn ...)))) (if (string-match "\\([ ]+\\)\\(:[[:alnum:address@hidden:]+:\\)[ ]*$" txt) (progn (if (or ... ...) (setq txt ...) (setq txt ...)))) (if (derived-mode-p (quote org-mode)) (progn (setq effort (condition-case nil ... ...)) (if effort (setq neffort ... effort ...) (setq effort "")))) (if remove-re (progn (while (string-match remove-re txt) (setq txt ...)))) (add-text-properties 0 (length txt) (quote (org-heading t)) txt) (setq time (cond (s2 (concat ... "-" ... ...)) (s1 (concat ... ...)) (t "")) extra (or (and (not habitp) extra) "") breadcrumbs (let ((--mpom ...)) (save-excursion (if ... ...) (save-excursion ... ...))) category (if (symbolp category) (symbol-name category) category) thecategory (copy-sequence category) level (or level "")) (if (string-match org-bracket-link-regexp category) (progn (setq l (if ... ... ...)) (if (< l ...) (progn ... ...))) (if (and org-prefix-category-max-length (>= ... org-prefix-category-max-length)) (setq category (substring category 0 ...)))) (setq rtn (concat (eval formatter) txt)) (remove-text-properties 0 (length rtn) (quote (line-prefix t wrap-prefix t)) rtn) (org-add-props rtn nil (quote org-category) (if thecategory (downcase thecategory) category) (quote tags) (mapcar (quote org-downcase-keep-props) tags) (quote org-highest-priority) org-highest-priority (quote org-lowest-priority) org-lowest-priority (quote time-of-day) time-of-day (quote duration) duration (quote effort) effort (quote effort-minutes) neffort (quote breadcrumbs) breadcrumbs (quote txt) txt (quote level) level (quote time) time (quote extra) extra (quote format) org-prefix-format-compiled (quote dotime) dotime))) (set-match-data save-match-data-internal (quote evaporate)))) (let* ((bindings (car org-prefix-format-compiled)) (formatter (cadr org-prefix-format-compiled))) (progn (let* ((--cl-var-- bindings) (--cl-var-- nil) (var nil) (value nil)) (while (consp --cl-var--) (setq --cl-var-- (car --cl-var--) var (car (prog1 --cl-var-- (setq --cl-var-- ...))) value (car --cl-var--)) (set var value) (setq --cl-var-- (cdr --cl-var--))) nil)) (let ((save-match-data-internal (match-data))) (unwind-protect (progn (setq txt (org-trim txt)) (setq txt (org-agenda-fix-displayed-tags txt tags org-agenda-show-inherited-tags org-agenda-hide-tags-regexp)) (let* ((category (or category ... ...)) (category-icon (org-agenda-get-category-icon category)) (category-icon (if category-icon ... "")) (tag (if tags ... "")) time effort neffort (ts (if dotime ...)) (time-of-day (and dotime ...)) stamp plain s0 s1 s2 rtn srp l duration thecategory breadcrumbs) (and (derived-mode-p (quote org-mode)) buffer-file-name (add-to-list (quote org-agenda-contributing-files) buffer-file-name)) (if (and dotime time-of-day) (progn (if ... ...) (if s1 ...) (if s2 ...) (let ... ...) (if s2 ...))) (if (string-match "\\([ ]+\\)\\(:[[:alnum:address@hidden:]+:\\)[ ]*$" txt) (progn (if ... ... ...))) (if (derived-mode-p (quote org-mode)) (progn (setq effort ...) (if effort ... ...))) (if remove-re (progn (while ... ...))) (add-text-properties 0 (length txt) (quote (org-heading t)) txt) (setq time (cond (s2 ...) (s1 ...) (t "")) extra (or (and ... extra) "") breadcrumbs (let (...) (save-excursion ... ...)) category (if (symbolp category) (symbol-name category) category) thecategory (copy-sequence category) level (or level "")) (if (string-match org-bracket-link-regexp category) (progn (setq l ...) (if ... ...)) (if (and org-prefix-category-max-length ...) (setq category ...))) (setq rtn (concat (eval formatter) txt)) (remove-text-properties 0 (length rtn) (quote (line-prefix t wrap-prefix t)) rtn) (org-add-props rtn nil (quote org-category) (if thecategory (downcase thecategory) category) (quote tags) (mapcar (quote org-downcase-keep-props) tags) (quote org-highest-priority) org-highest-priority (quote org-lowest-priority) org-lowest-priority (quote time-of-day) time-of-day (quote duration) duration (quote effort) effort (quote effort-minutes) neffort (quote breadcrumbs) breadcrumbs (quote txt) txt (quote level) level (quote time) time (quote extra) extra (quote format) org-prefix-format-compiled (quote dotime) dotime))) (set-match-data save-match-data-internal (quote evaporate))))) org-agenda-format-item(nil "11:00 test" nil nil nil t) (setq fmt (org-agenda-format-item nil text nil nil nil t) time (get-text-property 0 (quote time) fmt) time2 (if (> (length time) 0) (concat " " (car (split-string time "\\."))) nil) text (get-text-property 0 (quote txt) fmt)) (if org-agenda-insert-diary-extract-time (setq fmt (org-agenda-format-item nil text nil nil nil t) time (get-text-property 0 (quote time) fmt) time2 (if (> (length time) 0) (concat " " (car (split-string time "\\."))) nil) text (get-text-property 0 (quote txt) fmt))) (let ((org-prefix-has-time t) (org-agenda-time-leading-zero t) fmt time time2) (if org-agenda-insert-diary-extract-time (setq fmt (org-agenda-format-item nil text nil nil nil t) time (get-text-property 0 (quote time) fmt) time2 (if (> (length time) 0) (concat " " (car (split-string time "\\."))) nil) text (get-text-property 0 (quote txt) fmt))) (if (eq org-agenda-insert-diary-strategy (quote top-level)) (org-agenda-insert-diary-as-top-level text) (require (quote org-datetree)) (org-datetree-find-date-create d1) (org-agenda-insert-diary-make-new-entry text)) (org-insert-time-stamp (org-time-from-absolute (calendar-absolute-from-gregorian d1)) nil nil nil nil time2)) (cond ((eq type (quote anniversary)) (or (re-search-forward "^*[ ]+Anniversaries" nil t) (progn (or (org-at-heading-p t) (progn (outline-next-heading) (insert "* Anniversaries\n\n") (beginning-of-line -1))))) (outline-next-heading) (org-back-over-empty-lines) (backward-char 1) (insert "\n") (insert (format "%%%%(org-anniversary %d %2d %2d) %s" (nth 2 d1) (car d1) (nth 1 d1) text))) ((eq type (quote day)) (let ((org-prefix-has-time t) (org-agenda-time-leading-zero t) fmt time time2) (if org-agenda-insert-diary-extract-time (setq fmt (org-agenda-format-item nil text nil nil nil t) time (get-text-property 0 (quote time) fmt) time2 (if (> (length time) 0) (concat " " (car ...)) nil) text (get-text-property 0 (quote txt) fmt))) (if (eq org-agenda-insert-diary-strategy (quote top-level)) (org-agenda-insert-diary-as-top-level text) (require (quote org-datetree)) (org-datetree-find-date-create d1) (org-agenda-insert-diary-make-new-entry text)) (org-insert-time-stamp (org-time-from-absolute (calendar-absolute-from-gregorian d1)) nil nil nil nil time2)) (end-of-line 0)) ((eq type (quote block)) (if (> (calendar-absolute-from-gregorian d1) (calendar-absolute-from-gregorian d2)) (setq d1 (prog1 d2 (setq d2 d1)))) (if (eq org-agenda-insert-diary-strategy (quote top-level)) (org-agenda-insert-diary-as-top-level text) (require (quote org-datetree)) (org-datetree-find-date-create d1) (org-agenda-insert-diary-make-new-entry text)) (org-insert-time-stamp (org-time-from-absolute (calendar-absolute-from-gregorian d1))) (insert "--") (org-insert-time-stamp (org-time-from-absolute (calendar-absolute-from-gregorian d2))) (end-of-line 0))) (let ((cw (current-window-configuration))) (org-switch-to-buffer-other-window (find-file-noselect org-agenda-diary-file)) (widen) (goto-char (point-min)) (cond ((eq type (quote anniversary)) (or (re-search-forward "^*[ ]+Anniversaries" nil t) (progn (or (org-at-heading-p t) (progn (outline-next-heading) (insert "* Anniversaries\n\n") (beginning-of-line -1))))) (outline-next-heading) (org-back-over-empty-lines) (backward-char 1) (insert "\n") (insert (format "%%%%(org-anniversary %d %2d %2d) %s" (nth 2 d1) (car d1) (nth 1 d1) text))) ((eq type (quote day)) (let ((org-prefix-has-time t) (org-agenda-time-leading-zero t) fmt time time2) (if org-agenda-insert-diary-extract-time (setq fmt (org-agenda-format-item nil text nil nil nil t) time (get-text-property 0 (quote time) fmt) time2 (if (> ... 0) (concat " " ...) nil) text (get-text-property 0 (quote txt) fmt))) (if (eq org-agenda-insert-diary-strategy (quote top-level)) (org-agenda-insert-diary-as-top-level text) (require (quote org-datetree)) (org-datetree-find-date-create d1) (org-agenda-insert-diary-make-new-entry text)) (org-insert-time-stamp (org-time-from-absolute (calendar-absolute-from-gregorian d1)) nil nil nil nil time2)) (end-of-line 0)) ((eq type (quote block)) (if (> (calendar-absolute-from-gregorian d1) (calendar-absolute-from-gregorian d2)) (setq d1 (prog1 d2 (setq d2 d1)))) (if (eq org-agenda-insert-diary-strategy (quote top-level)) (org-agenda-insert-diary-as-top-level text) (require (quote org-datetree)) (org-datetree-find-date-create d1) (org-agenda-insert-diary-make-new-entry text)) (org-insert-time-stamp (org-time-from-absolute (calendar-absolute-from-gregorian d1))) (insert "--") (org-insert-time-stamp (org-time-from-absolute (calendar-absolute-from-gregorian d2))) (end-of-line 0))) (if (string-match "\\S-" text) (progn (set-window-configuration cw) (message "%s entry added to %s" (capitalize (symbol-name type)) (abbreviate-file-name org-agenda-diary-file))) (org-reveal t) (message "Please finish entry here"))) org-agenda-add-entry-to-org-agenda-diary-file(day "11:00 test" (3 1 2013)) (cond ((equal char 100) (setq text (read-string "Day entry: ")) (org-agenda-add-entry-to-org-agenda-diary-file (quote day) text d1) (and (equal (buffer-name) org-agenda-buffer-name) (org-agenda-redo))) ((equal char 97) (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 (quote anniversary) text d1) (and (equal (buffer-name) org-agenda-buffer-name) (org-agenda-redo))) ((equal char 98) (setq text (read-string "Block entry: ")) (if (and d1 d2 (not (equal d1 d2))) nil (error "No block of days selected")) (org-agenda-add-entry-to-org-agenda-diary-file (quote block) text d1 d2) (and (equal (buffer-name) org-agenda-buffer-name) (org-agenda-redo))) ((equal char 106) (org-switch-to-buffer-other-window (find-file-noselect org-agenda-diary-file)) (require (quote org-datetree)) (org-datetree-find-date-create d1) (org-reveal t)) (t (error "Invalid selection character `%c'" char))) (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 (point-at-bol) (quote day))) (if dp1 nil (error "No date defined in current line")) (setq d1 (calendar-gregorian-from-absolute dp1) d2 (and (condition-case nil (progn (mark)) (error nil)) (save-excursion (goto-char (mark)) (setq dp2 (get-text-property (point-at-bol) (quote 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 100) (setq text (read-string "Day entry: ")) (org-agenda-add-entry-to-org-agenda-diary-file (quote day) text d1) (and (equal (buffer-name) org-agenda-buffer-name) (org-agenda-redo))) ((equal char 97) (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 (quote anniversary) text d1) (and (equal (buffer-name) org-agenda-buffer-name) (org-agenda-redo))) ((equal char 98) (setq text (read-string "Block entry: ")) (if (and d1 d2 (not (equal d1 d2))) nil (error "No block of days selected")) (org-agenda-add-entry-to-org-agenda-diary-file (quote block) text d1 d2) (and (equal (buffer-name) org-agenda-buffer-name) (org-agenda-redo))) ((equal char 106) (org-switch-to-buffer-other-window (find-file-noselect org-agenda-diary-file)) (require (quote org-datetree)) (org-datetree-find-date-create d1) (org-reveal t)) (t (error "Invalid selection character `%c'" char)))) org-agenda-diary-entry-in-org-file() (if (not (eq org-agenda-diary-file (quote diary-file))) (org-agenda-diary-entry-in-org-file) (require (quote diary-lib)) (let* ((char (progn (message "Diary entry: [d]ay [w]eekly [m]onthly [y]early [a]nniversary [b]lock [c]yclic") (read-char-exclusive))) (cmd (cdr (assoc char (quote (... ... ... ... ... ... ...))))) (oldf (symbol-function (quote calendar-cursor-to-date))) (point (point)) (mark (or (mark t) (point)))) (if cmd nil (error "No command associated with <%c>" char)) (if (and (get-text-property point (quote day)) (or (not (equal 98 char)) (get-text-property mark (quote day)))) nil (error "Don't know which date to use for diary entry")) (let ((calendar-mark-ring (list (calendar-gregorian-from-absolute (or ... ...))))) (unwind-protect (progn (fset (quote calendar-cursor-to-date) (function (lambda ... ...))) (call-interactively cmd)) (fset (quote calendar-cursor-to-date) oldf))))) org-agenda-diary-entry() call-interactively(org-agenda-diary-entry nil nil)