From c458305bddd2bc241e3e84acf97a746847bd15f4 Mon Sep 17 00:00:00 2001 From: ShengHuo ZHU Date: Sun, 30 Dec 2001 19:44:02 +0000 Subject: [PATCH] (gnus-picon-split-address): New function. (gnus-picon-find-face): Use it. (gnus-picon-transform-address): Use it. Set first to t for each address. --- lisp/ChangeLog | 4 ++++ lisp/gnus-picon.el | 16 +++++++++++----- 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index a6643f745..ba85b1ffe 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -3,6 +3,10 @@ * ietf-drums.el (ietf-drums-parse-addresses): Recover from errors. * gnus-picon.el (gnus-picon-transform-address): Skip bad addresses. + (gnus-picon-split-address): New function. + (gnus-picon-find-face): Use it. + (gnus-picon-transform-address): Use it. Set first to t for each + address. * gnus-art.el (gnus-with-article-headers): Move to here. Define the macro then use it. diff --git a/lisp/gnus-picon.el b/lisp/gnus-picon.el index 04f37611a..759b148f7 100644 --- a/lisp/gnus-picon.el +++ b/lisp/gnus-picon.el @@ -102,9 +102,15 @@ List of pairs (KEY . GLYPH) where KEY is either a filename or an URL.") ;;; Functions: +(defsubst gnus-picon-split-address (address) + (setq address (split-string address "@")) + (if (cdr address) + (cons (car address) (split-string (nth 1 address) "\\.")) + (split-string (car address) "\\."))) + (defun gnus-picon-find-face (address directories &optional exact) (let* ((databases gnus-picon-databases) - (address (split-string address "[.@]")) + (address (gnus-picon-split-address address)) (user (pop address)) database directory found instance base) (while (and (not found) @@ -156,12 +162,12 @@ GLYPH can be either a glyph or a string." (gnus-with-article-headers (let ((addresses (mail-header-parse-addresses (mail-fetch-field header))) - (first t) - spec file) + first spec file) (dolist (address addresses) - (setq address (car address)) + (setq address (car address) + first t) (when (stringp address) - (setq spec (split-string address "[.@]")) + (setq spec (gnus-picon-split-address address)) (when (setq file (gnus-picon-find-face address gnus-picon-user-directories)) (setcar spec (gnus-picon-create-glyph file))) -- 2.25.1