diff --git a/mu4e/mu4e-vars.el b/mu4e/mu4e-vars.el index 66dbc3fa..c24563e1 100644 --- a/mu4e/mu4e-vars.el +++ b/mu4e/mu4e-vars.el @@ -270,8 +270,8 @@ Set to nil to not have any time-based restriction." ;;; function for mapping a contact onto the canonical one. (defun mu4e-contact-identity (contact) "This returns the name and the mail-address of a contact. -It's used as an identity function for converting contacts to their -canonical counterpart." +It is used as the identity function for converting contacts to +their canonical counterpart; useful as an example." (let ((name (plist-get contact :name)) (mail (plist-get contact :mail))) (list :name name :mail mail))) @@ -279,7 +279,7 @@ canonical counterpart." (defcustom mu4e-contact-rewrite-function nil "Function to be used for when processing contacts and rewrite them, for example you may use this for correcting typo's, changed -names and adapting addresses or names to company policies. As as +names and adapting addresses or names to company policies. As an example of this, see `mu4e-contact-identity'." :type 'function :group 'mu4e-compose) diff --git a/mu4e/mu4e.texi b/mu4e/mu4e.texi index 6f25a528..e196e22f 100644 --- a/mu4e/mu4e.texi +++ b/mu4e/mu4e.texi @@ -2497,6 +2497,7 @@ guidelines for doing so. * Extension points:: * Available functions:: * Message functions:: +* Contact functions:: * Utility functions:: @end menu @@ -2603,6 +2604,31 @@ point. Requires the 'formail' tool from procmail." @end lisp +@node Contact functions +@section Contact functions + +It can be useful to rewrite the contact information that @t{mu4e} +provides, for example to convert them to some standardized format, or +to fix spelling errors. + +You can do this by setting @code{mu4e-contact-rewrite-function} to +your function, for example: + +@lisp +(defun my-rewrite-function (contact) + (let* ((name (plist-get contact :name)) + (mail (plist-get contact :mail)) + (actual-name + (cond + ((string= name "jonh smiht") "John Smith") + ;; other replacements + (t name)))) + (list :name actual-name :mail mail))) +(setq mu4e-contact-rewrite-function 'my-rewrite-function) +@end lisp + +This function is called for each of your contacts. + @node Utility functions @section Utility functions