Function: org-entry-delete
org-entry-delete is a byte-compiled function defined in org.el.gz.
Signature
(org-entry-delete EPOM PROPERTY)
Documentation
Delete PROPERTY from entry at element, point, or marker EPOM.
Accumulated properties, i.e. PROPERTY+, are also removed. Return non-nil when a property was removed.
Source Code
;; Defined in /usr/src/emacs/lisp/org/org.el.gz
(defun org-entry-delete (epom property)
"Delete PROPERTY from entry at element, point, or marker EPOM.
Accumulated properties, i.e. PROPERTY+, are also removed. Return
non-nil when a property was removed."
(org-with-point-at epom
(pcase (org-get-property-block)
(`(,begin . ,origin)
(let* ((end (copy-marker origin))
(re (org-re-property
(concat (regexp-quote property) "\\+?") t t)))
(goto-char begin)
(while (re-search-forward re end t)
(delete-region (match-beginning 0) (line-beginning-position 2)))
;; If drawer is empty, remove it altogether.
(when (= begin end)
(delete-region (line-beginning-position 0)
(line-beginning-position 2)))
;; Return non-nil if some property was removed.
(prog1 (/= end origin) (set-marker end nil))))
(_ nil))))