Feng Shu writes: > (defun org-contacts-complete-name (start end string) > "Complete text at START with a user name and email." > (let* ((completion-ignore-case org-contacts-completion-ignore-case) > @@ -484,10 +497,17 @@ A group FOO is composed of contacts with the tag FOO." > ;; The contact name is always the car of the assoc-list > ;; returned by `org-contacts-filter'. > for contact-name = (car contact) > + > + ;; Build the list of the email addresses which has > + ;; been expired > + for expire-list = (org-contacts-split-property (or > + (cdr (assoc-string org-contacts-expire-property > + (caddr contact))) "")) > ;; Build the list of the user email addresses. > - for email-list = (org-contacts-split-property (or > - (cdr (assoc-string org-contacts-email-property > - (caddr contact))) "")) > + for email-list = (org-contacts-remove-expired-property expire-list > + (org-contacts-split-property (or > + (cdr (assoc-string org-contacts-email-property > + (caddr contact))) ""))) I forgot to ask, why do you also modify org-contacts-complete-name? This function isn't used to export to VCARD, but to complete the email in Gnus. -- Daimrod/Greg