Function: org--property-local-values

org--property-local-values is a byte-compiled function defined in org.el.gz.

Signature

(org--property-local-values PROPERTY LITERAL-NIL &optional EPOM)

Documentation

Return value for PROPERTY in current entry or at EPOM.

EPOM can be point, marker, or syntax node.

Value is a list whose car is the base value for PROPERTY and cdr a list of accumulated values. Return nil if neither is found in the entry. Also return nil when PROPERTY is set to "nil", unless LITERAL-NIL is non-nil.

Source Code

;; Defined in /usr/src/emacs/lisp/org/org.el.gz
(defun org--property-local-values (property literal-nil &optional epom)
  "Return value for PROPERTY in current entry or at EPOM.
EPOM can be point, marker, or syntax node.

Value is a list whose car is the base value for PROPERTY and cdr
a list of accumulated values.  Return nil if neither is found in
the entry.  Also return nil when PROPERTY is set to \"nil\",
unless LITERAL-NIL is non-nil."
  (setq epom
        (org-element-lineage
         (org-element-at-point epom)
         '(headline inlinetask org-data)
         'with-self))
  (let* ((base-value  (org-element-property (intern (concat ":" (upcase property)    )) epom))
         (extra-value (org-element-property (intern (concat ":" (upcase property) "+")) epom))
         (extra-value (if (listp extra-value) extra-value (list extra-value)))
         (value (if literal-nil (cons base-value extra-value)
                  (cons (org-not-nil base-value) (org-not-nil extra-value)))))
    (and (not (equal value '(nil))) value)))