org-refresh-category-properties: Do not check element cache

* lisp/org.el (org-refresh-category-properties): Do not check if
org-element-cache is active.  This function is now obsolete and can
only be called on purpose by third-party code that probably expects
the text properties to be assigned regardless whether the cache is
active.

This commit also fixes compiler warning as
`org-element--cache-active-p' is not declared anymore in lisp/org.el.
This commit is contained in:
Ihor Radchenko 2023-05-30 11:17:20 +03:00
parent 9ed7956afd
commit 5ed3e1dfc3
No known key found for this signature in database
GPG Key ID: 6470762A7DA11D8B
1 changed files with 42 additions and 43 deletions

View File

@ -8027,49 +8027,48 @@ the whole buffer."
(defun org-refresh-category-properties ()
"Refresh category text properties in the buffer."
(unless (org-element--cache-active-p)
(let ((case-fold-search t)
(inhibit-read-only t)
(default-category
(cond ((null org-category)
(if buffer-file-name
(file-name-sans-extension
(file-name-nondirectory buffer-file-name))
"???"))
((symbolp org-category) (symbol-name org-category))
(t org-category))))
(let ((category (catch 'buffer-category
(org-with-wide-buffer
(goto-char (point-max))
(while (re-search-backward "^[ \t]*#\\+CATEGORY:" (point-min) t)
(let ((element (org-element-at-point-no-context)))
(when (org-element-type-p element 'keyword)
(throw 'buffer-category
(org-element-property :value element))))))
default-category)))
(with-silent-modifications
(org-with-wide-buffer
;; Set buffer-wide property from keyword. Search last #+CATEGORY
;; keyword. If none is found, fall-back to `org-category' or
;; buffer file name, or set it by the document property drawer.
(put-text-property (point-min) (point-max)
'org-category category)
;; Set categories from the document property drawer or
;; property drawers in the outline. If category is found in
;; the property drawer for the whole buffer that value
;; overrides the keyword-based value set above.
(goto-char (point-min))
(let ((regexp (org-re-property "CATEGORY")))
(while (re-search-forward regexp nil t)
(let ((value (match-string-no-properties 3)))
(when (org-at-property-p)
(put-text-property
(save-excursion (org-back-to-heading-or-point-min t))
(save-excursion (if (org-before-first-heading-p)
(point-max)
(org-end-of-subtree t t)))
'org-category
value)))))))))))
(let ((case-fold-search t)
(inhibit-read-only t)
(default-category
(cond ((null org-category)
(if buffer-file-name
(file-name-sans-extension
(file-name-nondirectory buffer-file-name))
"???"))
((symbolp org-category) (symbol-name org-category))
(t org-category))))
(let ((category (catch 'buffer-category
(org-with-wide-buffer
(goto-char (point-max))
(while (re-search-backward "^[ \t]*#\\+CATEGORY:" (point-min) t)
(let ((element (org-element-at-point-no-context)))
(when (org-element-type-p element 'keyword)
(throw 'buffer-category
(org-element-property :value element))))))
default-category)))
(with-silent-modifications
(org-with-wide-buffer
;; Set buffer-wide property from keyword. Search last #+CATEGORY
;; keyword. If none is found, fall-back to `org-category' or
;; buffer file name, or set it by the document property drawer.
(put-text-property (point-min) (point-max)
'org-category category)
;; Set categories from the document property drawer or
;; property drawers in the outline. If category is found in
;; the property drawer for the whole buffer that value
;; overrides the keyword-based value set above.
(goto-char (point-min))
(let ((regexp (org-re-property "CATEGORY")))
(while (re-search-forward regexp nil t)
(let ((value (match-string-no-properties 3)))
(when (org-at-property-p)
(put-text-property
(save-excursion (org-back-to-heading-or-point-min t))
(save-excursion (if (org-before-first-heading-p)
(point-max)
(org-end-of-subtree t t)))
'org-category
value))))))))))
(defun org-refresh-stats-properties ()
"Refresh stats text properties in the buffer."