emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] scratch/org-contacts-rebased fc25530 074/118: contrib/lisp/org-co


From: Stefan Monnier
Subject: [elpa] scratch/org-contacts-rebased fc25530 074/118: contrib/lisp/org-contacts.el: Add a hook to allow users to plug completion functions
Date: Fri, 12 Nov 2021 15:37:07 -0500 (EST)

branch: scratch/org-contacts-rebased
commit fc2553023b42928f0e9e964572c83c0cf011f70e
Author: Grégoire Jadi <gregoire.jadi@gmail.com>
Commit: Grégoire Jadi <gregoire.jadi@gmail.com>

    contrib/lisp/org-contacts.el: Add a hook to allow users to plug completion 
functions
    
    * contrib/lisp/org-contacts.el (org-contacts-complete-functions): A
      hook that contains the list of functions used to complete contacts.
    (org-contacts-message-complete-function): Use the new hook.
    
    Suggested by John Kitchin.
---
 org-contacts.el | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

diff --git a/org-contacts.el b/org-contacts.el
index 7cc42fc..ac43f9d 100644
--- a/org-contacts.el
+++ b/org-contacts.el
@@ -183,6 +183,12 @@ This overrides `org-email-link-description-format' if set."
   :group 'org-contacts
   :type 'boolean)
 
+(defcustom org-contacts-complete-functions
+  '(org-contacts-complete-group org-contacts-complete-name)
+  "List of functions used to complete contacts in `message-mode'."
+  :group 'org-contacts
+  :type 'hook)
+
 ;; Decalre external functions and variables
 (declare-function org-reverse-string "org")
 (declare-function diary-ordinal-suffix "ext:diary-lib")
@@ -512,7 +518,6 @@ A group FOO is composed of contacts with the tag FOO."
                (completion-table-case-fold completion-list
                                            (not 
org-contacts-completion-ignore-case))))))))
 
-
 (defun org-contacts-remove-ignored-property-values (ignore-list list)
   "Remove all ignore-list's elements from list and you can use
    regular expressions in the ignore list."
@@ -570,8 +575,8 @@ A group FOO is composed of contacts with the tag FOO."
                        (goto-char (match-end 0))
                        (point))))
           (string (buffer-substring start end)))
-       (or (org-contacts-complete-group start end string)
-           (org-contacts-complete-name start end string))))))
+       (run-hook-with-args-until-success
+        'org-contacts-complete-functions start end string)))))
 
 (defun org-contacts-gnus-get-name-email ()
   "Get name and email address from Gnus message."



reply via email to

[Prev in Thread] Current Thread [Next in Thread]