From 271ec25b43470ad451b0d97c3120e734b9c0efbc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gr=C3=A9goire=20Jadi?= Date: Thu, 9 May 2013 00:31:16 +0200 Subject: [PATCH] contrib/lisp/org-contacts.el: Permit to unload properly `org-contacts' * contrib/lisp/org-contacts.el (org-contacts-setup-completion-at-point): Setup `completion-at-point-functions' in a dedicated function so it's easier to add and to remove it from `message-mode-hook'. (org-contacts-unload-hook): This function removes all hooks added while loading `org-contacts' in order to respect Emacs coding conventions. --- org-contacts.el | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/org-contacts.el b/org-contacts.el index c84f1f2..d81d43b 100644 --- a/org-contacts.el +++ b/org-contacts.el @@ -702,12 +702,18 @@ This adds `org-contacts-gnus-check-mail-address' and (add-hook 'gnus-article-prepare-hook 'org-contacts-gnus-check-mail-address) (add-hook 'gnus-article-prepare-hook 'org-contacts-gnus-store-last-mail)) +(defun org-contacts-setup-completion-at-point () + "Add `org-contacts-message-complete-function' as a new function +to complete the thing at point." + (add-to-list 'completion-at-point-functions + 'org-contacts-message-complete-function)) + +(defun org-contacts-unload-hook () + (remove-hook 'message-mode-hook 'org-contacts-setup-completion-at-point)) + (when (and org-contacts-enable-completion (boundp 'completion-at-point-functions)) - (add-hook 'message-mode-hook - (lambda () - (add-to-list 'completion-at-point-functions - 'org-contacts-message-complete-function)))) + (add-hook 'message-mode-hook 'org-contacts-setup-completion-at-point)) (defun org-contacts-wl-get-from-header-content () "Retrieve the content of the `From' header of an email.