diff --git a/lisp/org-archive.el b/lisp/org-archive.el index c32ee23c4..e56b01f95 100644 --- a/lisp/org-archive.el +++ b/lisp/org-archive.el @@ -226,6 +226,7 @@ this heading." (save-excursion (org-back-to-heading t) ;; Get context information that will be lost by moving the tree + (org-refresh-category-properties) (setq category (org-get-category) todo (and (looking-at org-todo-line-regexp) (match-string 2)) diff --git a/lisp/org-clock.el b/lisp/org-clock.el index 17fccae27..93b0b524c 100644 --- a/lisp/org-clock.el +++ b/lisp/org-clock.el @@ -442,7 +442,9 @@ pointing to it." (ignore-errors (goto-char marker) (setq file (buffer-file-name (marker-buffer marker)) - cat (org-get-category) + cat (or (org-get-category) + (progn (org-refresh-category-properties) + (org-get-category))) heading (org-get-heading 'notags) prefix (save-excursion (org-back-to-heading t) diff --git a/lisp/org-icalendar.el b/lisp/org-icalendar.el index a1bc5ade0..d4034fe6d 100644 --- a/lisp/org-icalendar.el +++ b/lisp/org-icalendar.el @@ -302,6 +302,7 @@ When COMBINE is non nil, add the category to each line." scheduledp deadlinep todo prefix due start tmp pri categories location summary desc uid alarm (sexp-buffer (get-buffer-create "*ical-tmp*"))) + (org-refresh-category-properties) (save-excursion (goto-char (point-min)) (while (re-search-forward re1 nil t) diff --git a/lisp/org.el b/lisp/org.el index 863a80b9d..e190b84d2 100644 --- a/lisp/org.el +++ b/lisp/org.el @@ -8142,11 +8142,7 @@ call CMD." (defun org-get-category (&optional pos) "Get the category applying to position POS." - (let ((pos (or pos (point)))) - (or (get-text-property pos 'org-category) - (progn - (org-refresh-category-properties) - (get-text-property pos 'org-category))))) + (get-text-property (or pos (point)) 'org-category)) (defun org-refresh-category-properties () "Refresh category text properties in the buffer." @@ -13486,7 +13482,10 @@ things up because then unnecessary parsing is avoided." 'add_times)) props)) (unless (assoc "CATEGORY" props) - (push (cons "CATEGORY" (org-get-category)) props)) + (setq value (or (org-get-category) + (progn (org-refresh-category-properties) + (org-get-category)))) + (push (cons "CATEGORY" value) props)) (append sum-props (nreverse props))))))) (defun org-entry-get (pom property &optional inherit literal-nil) @@ -15703,6 +15702,7 @@ When a buffer is unmodified, it is just killed. When modified, it is saved (set-buffer (org-get-agenda-file-buffer file))) (widen) (setq bmp (buffer-modified-p)) + (org-refresh-category-properties) (setq org-todo-keywords-for-agenda (append org-todo-keywords-for-agenda org-todo-keywords-1)) (setq org-done-keywords-for-agenda