>From 79ebf2977ff54d4160c53f42a7a4bb25b59583a8 Mon Sep 17 00:00:00 2001 From: Eric Abrahamsen Date: Sun, 14 Dec 2014 17:33:00 +0800 Subject: [PATCH 3/4] New function org-get-log-list * lisp/org.el (org-get-log-list): Returns the items in an entry's log list. --- lisp/org.el | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/lisp/org.el b/lisp/org.el index 6df6e2e..0e750e1 100755 --- a/lisp/org.el +++ b/lisp/org.el @@ -13641,6 +13641,27 @@ narrowing." (forward-line))))) (if (bolp) (point) (line-beginning-position 2))))) +(defun org-get-log-list () + "Return the entry's log items, or nil. +The items are returned as a list of 'item elements." + (save-excursion + (goto-char (org-log-beginning)) + (let* ((el (org-element-at-point)) + list-string list-items) + ;; Should we try harder to make sure it's actually the log list? + (when (eq (org-element-type el) 'plain-list) + (setq list-string + (buffer-substring + (org-element-property :contents-begin el) + (org-element-property :contents-end el))) + (with-temp-buffer + (insert list-string) + (setq list-items + (org-element-map + (org-element-parse-buffer) + 'item #'identity)))) + list-items))) + (defun org-add-log-setup (&optional purpose state prev-state findpos how extra) "Set up the post command hook to take a note. If this is about to TODO state change, the new state is expected in STATE. -- 2.1.3