summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBastien Guerry <bzg@altern.org>2014-03-12 18:41:01 +0100
committerBastien Guerry <bzg@altern.org>2014-03-12 18:41:01 +0100
commitb28ebdf3f17a0fa5ef42c1719951df989be6d910 (patch)
treeec3611fdb233b73a9e1a33329d7dd424602499e4
parent250abf061ba81c1d010c19d5f54506f10a37c1cb (diff)
downloadorg-mode-b28ebdf3f17a0fa5ef42c1719951df989be6d910.tar.gz
org.el (org-delete-property): Don't suggest to delete the CATEGORY property
* org.el (org-delete-property): Don't suggest to delete the CATEGORY property when the category is not explicitely set in the property drawer. Also enforce matching when completing. Thanks to Oleh for providing a preliminary patch for this.
-rw-r--r--lisp/org.el15
1 files changed, 9 insertions, 6 deletions
diff --git a/lisp/org.el b/lisp/org.el
index 720600d..b6e00fa 100644
--- a/lisp/org.el
+++ b/lisp/org.el
@@ -15805,13 +15805,16 @@ When optional argument DELETE-EMPTY-DRAWER is a string, it defines
an empty drawer to delete."
(interactive
(let* ((completion-ignore-case t)
- (prop (org-icompleting-read "Property: "
- (org-entry-properties nil 'standard))))
+ (cat (org-entry-get (point) "CATEGORY"))
+ (props0 (org-entry-properties nil 'standard))
+ (props (if cat props0
+ (delete `("CATEGORY" . ,(org-get-category)) props0)))
+ (prop (if (< 1 (length props))
+ (org-icompleting-read "Property: " props nil t)
+ (caar props))))
(list prop)))
- (message "Property %s %s" property
- (if (org-entry-delete nil property delete-empty-drawer)
- "deleted"
- "was not present in the entry")))
+ (if (org-entry-delete nil property delete-empty-drawer)
+ (message "Property %s deleted" property)))
(defun org-delete-property-globally (property)
"Remove PROPERTY globally, from all entries."