Function: org-element--get-global-node-properties
org-element--get-global-node-properties is a byte-compiled function
defined in org-element.el.gz.
Signature
(org-element--get-global-node-properties DATA)
Documentation
Set node properties associated with the whole Org buffer.
Upcase property names. It avoids confusion between properties obtained through property drawer and default properties from the parser (e.g. :end and :END:).
Alter DATA by side effect.
Source Code
;; Defined in /usr/src/emacs/lisp/org/org-element.el.gz
(defun org-element--get-global-node-properties (data)
"Set node properties associated with the whole Org buffer.
Upcase property names. It avoids confusion between properties
obtained through property drawer and default properties from the
parser (e.g. `:end' and :END:).
Alter DATA by side effect."
(with-current-buffer (org-element-property :buffer data)
(org-with-wide-buffer
(goto-char (point-min))
(org-skip-whitespace)
(forward-line 0)
(while (and (org-at-comment-p) (bolp)) (forward-line))
(let ((props (org-element--get-node-properties t data))
(has-category? nil))
(while props
(org-element-put-property data (car props) (cadr props))
(when (eq (car props) :CATEGORY) (setq has-category? t))
(setq props (cddr props)))
;; CATEGORY not set in top-level property drawer. Go the long way.
(unless has-category?
(org-element-put-property data :CATEGORY (org-element--get-category)))))
;; Return nil.
nil))