(org-element-at-point) returns a nested list where sometimes a source block's headers are :headers and sometimes they're :parameters. What logic controls this? Is this intentional behavior or a bug?
To accommodate this behavior, I've defined header matching as:
(defun mh//header-match (elem match)
"Returns `t' if MATCH is explicitly a header of ELEM.
Explicit in this context means that it's literally written in the
file rather than being provided as a default header argument."
(let* ((elem (org-element-at-point))
(elem-header (append (list (org-element-property :parameters elem))
(org-element-property :header elem)))
(matchp nil))
(dolist (elt elem-header)
(if (string-match match elt)
(setq matchp t)))
matchp))
(org-element-at-point)returns a nested list where sometimes a source block's headers are:headersand sometimes they're:parameters. What logic controls this? Is this intentional behavior or a bug?To accommodate this behavior, I've defined header matching as: