Function: org-entry-delete

org-entry-delete is a byte-compiled function defined in org.el.gz.

Signature

(org-entry-delete POM PROPERTY)

Documentation

Delete PROPERTY from entry at point-or-marker POM.

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 (pom property)
  "Delete PROPERTY from entry at point-or-marker POM.
Accumulated properties, i.e. PROPERTY+, are also removed.  Return
non-nil when a property was removed."
  (org-with-point-at pom
    (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))))