diff options
author | Bastien Guerry <bzg@altern.org> | 2014-03-12 18:41:01 +0100 |
---|---|---|
committer | Bastien Guerry <bzg@altern.org> | 2014-03-12 18:41:01 +0100 |
commit | b28ebdf3f17a0fa5ef42c1719951df989be6d910 (patch) | |
tree | ec3611fdb233b73a9e1a33329d7dd424602499e4 | |
parent | 250abf061ba81c1d010c19d5f54506f10a37c1cb (diff) | |
download | org-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.el | 15 |
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." |