Function: org-set-property
org-set-property is an interactive and byte-compiled function defined
in org.el.gz.
Signature
(org-set-property PROPERTY VALUE)
Documentation
In the current entry, set PROPERTY to VALUE.
When called interactively, this will prompt for a property name, offering completion on existing and default properties. And then it will prompt for a value, offering completion either on allowed values (via an inherited xxx_ALL property) or on existing values in other instances of this property in the current file.
Throw an error when trying to set a property with an invalid name.
Key Bindings
Source Code
;; Defined in /usr/src/emacs/lisp/org/org.el.gz
(defun org-set-property (property value)
"In the current entry, set PROPERTY to VALUE.
When called interactively, this will prompt for a property name, offering
completion on existing and default properties. And then it will prompt
for a value, offering completion either on allowed values (via an inherited
xxx_ALL property) or on existing values in other instances of this property
in the current file.
Throw an error when trying to set a property with an invalid name."
(interactive (list nil nil))
(let ((property (or property (org-read-property-name))))
;; `org-entry-put' also makes the following check, but this one
;; avoids polluting `org-last-set-property' and
;; `org-last-set-property-value' needlessly.
(unless (org--valid-property-p property)
(user-error "Invalid property name: \"%s\"" property))
(let ((value (or value (org-read-property-value property)))
(fn (cdr (assoc-string property org-properties-postprocess-alist t))))
(setq org-last-set-property property)
(setq org-last-set-property-value (concat property ": " value))
;; Possibly postprocess the inserted value:
(when fn (setq value (funcall fn value)))
(unless (equal (org-entry-get nil property) value)
(org-entry-put nil property value)))))