Function: org-property-get-allowed-values
org-property-get-allowed-values is a byte-compiled function defined in
org.el.gz.
Signature
(org-property-get-allowed-values EPOM PROPERTY &optional TABLE)
Documentation
Get allowed values at EPOM for the property PROPERTY.
EPOM can be an element, marker, or buffer position. When TABLE is non-nil, return an alist that can directly be used for completion.
Source Code
;; Defined in /usr/src/emacs/lisp/org/org.el.gz
(defun org-property-get-allowed-values (epom property &optional table)
"Get allowed values at EPOM for the property PROPERTY.
EPOM can be an element, marker, or buffer position.
When TABLE is non-nil, return an alist that can directly be used for
completion."
(let (vals)
(cond
((equal property "TODO")
(setq vals (org-with-point-at epom
(append org-todo-keywords-1 '("")))))
((equal property "PRIORITY")
(let ((n org-priority-lowest))
(while (>= n org-priority-highest)
(push (char-to-string n) vals)
(setq n (1- n)))))
((equal property "CATEGORY"))
((member property org-special-properties))
((setq vals (run-hook-with-args-until-success
'org-property-allowed-value-functions property)))
(t
(setq vals (org-entry-get epom (concat property "_ALL") 'inherit))
(when (and vals (string-match "\\S-" vals))
(setq vals (car (read-from-string (concat "(" vals ")"))))
(setq vals (mapcar (lambda (x)
(cond ((stringp x) x)
((numberp x) (number-to-string x))
((symbolp x) (symbol-name x))
(t "???")))
vals)))))
(when (member ":ETC" vals)
(setq vals (remove ":ETC" vals))
(org-add-props (car vals) '(org-unrestricted t)))
(if table (mapcar 'list vals) vals)))