mu4e: Fix dictionary detection on non-lowercase email addresses

master
Pierre Neidhardt 2018-11-06 08:51:43 +01:00
parent 7a48d1f75a
commit c2ff1119f9
1 changed files with 26 additions and 23 deletions

View File

@ -129,7 +129,7 @@ Default to unread messages if the header buffer does not already exist."
if (and email-list language) if (and email-list language)
;; Build an alist of (EMAIL . LANGUAGE). ;; Build an alist of (EMAIL . LANGUAGE).
nconc (cl-loop for email in email-list nconc (cl-loop for email in email-list
collect (cons email language)))) collect (cons (downcase email) language))))
(while addresses (while addresses
(if (not (assoc (car addresses) address-lang-map)) (if (not (assoc (car addresses) address-lang-map))
(setq addresses (cdr addresses)) (setq addresses (cdr addresses))
@ -180,15 +180,18 @@ The \"From\", \"To\", \"Cc\" and \"Bcc\" fields are looked up.
Addresses in `mu4e-user-mail-address-list' are filtered out. Addresses in `mu4e-user-mail-address-list' are filtered out.
Duplicates are removed." Duplicates are removed."
(require 'cl) (require 'cl)
;; TODO: Replace by cl-loop.
(cl-delete-duplicates (cl-delete-duplicates
(seq-remove (seq-remove
(lambda (contact) (member (cadr contact) mu4e-user-mail-address-list)) (lambda (contact) (member (cadr contact) mu4e-user-mail-address-list))
(seq-map (lambda (contact) (list (car contact) (and (cadr contact) (downcase (cadr contact)))))
(apply 'append (apply 'append
(if (eq major-mode 'mu4e-compose-mode) (if (eq major-mode 'mu4e-compose-mode)
(save-restriction (save-restriction
(message-narrow-to-headers) (message-narrow-to-headers)
(mapcar (mapcar
(lambda (addr) (mail-extract-address-components (message-fetch-field addr) t)) (lambda (addr) (mail-extract-address-components
(message-fetch-field addr) t))
(seq-filter 'message-fetch-field (seq-filter 'message-fetch-field
'("From" "To" "Cc" "Bcc")))) '("From" "To" "Cc" "Bcc"))))
(unless (buffer-live-p (mu4e-get-headers-buffer)) (unless (buffer-live-p (mu4e-get-headers-buffer))
@ -204,7 +207,7 @@ Duplicates are removed."
;; `mu4e-message-field' returns a list of (NAME . EMAIL). ;; `mu4e-message-field' returns a list of (NAME . EMAIL).
(mapcar (lambda (addr) (list (car addr) (cdr addr))) (mapcar (lambda (addr) (list (car addr) (cdr addr)))
(mu4e-message-field msg field))) (mu4e-message-field msg field)))
'(:from :to :cc :bcc)))))))))) '(:from :to :cc :bcc)))))))))))
(defun ambrevar/message-send-maybe-crypted () (defun ambrevar/message-send-maybe-crypted ()
"Crypt message if all recipients have a trusted key. "Crypt message if all recipients have a trusted key.