From 8632b1f94c354b7648f4a10a6dfd630f0166cec2 Mon Sep 17 00:00:00 2001 From: Tom Willemse Date: Fri, 16 Feb 2024 16:35:13 -0800 Subject: [PATCH] Check to see if a contact is being stored MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Before storing a link to a contact, actually check that the element at point is a contact. This calls the same matcher that is used by ‘org-contacts-db’ to see if the current element is indeed a contact. --- org-contacts.el | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/org-contacts.el b/org-contacts.el index 59d59a8..a6ba641 100644 --- a/org-contacts.el +++ b/org-contacts.el @@ -1274,7 +1274,12 @@ are effectively trimmed). If nil, all zero-length substrings are retained." (when (and (eq major-mode 'org-mode) (member (buffer-file-name) (mapcar #'expand-file-name (org-contacts-files))) - (not (org-before-first-heading-p))) + (not (org-before-first-heading-p)) + (let ((element (org-element-at-point))) + (funcall (cdr (org-make-tags-matcher org-contacts-matcher)) + (org-element-property :todo-keyword element) + (org-get-tags element) + (org-element-property :level element)))) (if (bound-and-true-p org-id-link-to-org-use-id) (org-id-store-link) (let ((headline-str (substring-no-properties (org-get-heading t t t t))))