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)
;; Build an alist of (EMAIL . LANGUAGE).
nconc (cl-loop for email in email-list
collect (cons email language))))
collect (cons (downcase email) language))))
(while addresses
(if (not (assoc (car addresses) address-lang-map))
(setq addresses (cdr addresses))
@ -180,31 +180,34 @@ The \"From\", \"To\", \"Cc\" and \"Bcc\" fields are looked up.
Addresses in `mu4e-user-mail-address-list' are filtered out.
Duplicates are removed."
(require 'cl)
;; TODO: Replace by cl-loop.
(cl-delete-duplicates
(seq-remove
(lambda (contact) (member (cadr contact) mu4e-user-mail-address-list))
(apply 'append
(if (eq major-mode 'mu4e-compose-mode)
(save-restriction
(message-narrow-to-headers)
(mapcar
(lambda (addr) (mail-extract-address-components (message-fetch-field addr) t))
(seq-filter 'message-fetch-field
'("From" "To" "Cc" "Bcc"))))
(unless (buffer-live-p (mu4e-get-headers-buffer))
(mu4e-error "no headers buffer connected"))
(let ((msg (or (mu4e-message-at-point 'noerror)
(with-current-buffer (mu4e-get-headers-buffer)
;; When loading messages, point might
;; not be over a message yet.
(mu4e-message-at-point 'noerror)))))
(when msg
(delq nil
(mapcar (lambda (field)
;; `mu4e-message-field' returns a list of (NAME . EMAIL).
(mapcar (lambda (addr) (list (car addr) (cdr addr)))
(mu4e-message-field msg field)))
'(:from :to :cc :bcc))))))))))
(seq-map (lambda (contact) (list (car contact) (and (cadr contact) (downcase (cadr contact)))))
(apply 'append
(if (eq major-mode 'mu4e-compose-mode)
(save-restriction
(message-narrow-to-headers)
(mapcar
(lambda (addr) (mail-extract-address-components
(message-fetch-field addr) t))
(seq-filter 'message-fetch-field
'("From" "To" "Cc" "Bcc"))))
(unless (buffer-live-p (mu4e-get-headers-buffer))
(mu4e-error "no headers buffer connected"))
(let ((msg (or (mu4e-message-at-point 'noerror)
(with-current-buffer (mu4e-get-headers-buffer)
;; When loading messages, point might
;; not be over a message yet.
(mu4e-message-at-point 'noerror)))))
(when msg
(delq nil
(mapcar (lambda (field)
;; `mu4e-message-field' returns a list of (NAME . EMAIL).
(mapcar (lambda (addr) (list (car addr) (cdr addr)))
(mu4e-message-field msg field)))
'(:from :to :cc :bcc)))))))))))
(defun ambrevar/message-send-maybe-crypted ()
"Crypt message if all recipients have a trusted key.