X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=mime-bbdb.el;h=381655cb53d44387b84cfdacf2c2a37b3e949f1e;hb=0aabc987adb80d7d257fbd59af84448f03040768;hp=6ee0feb0d616a8f7a2246bcbd263e62924ed4c68;hpb=0c115c3068d06f197bf3cb99aad53c3a948a15a0;p=elisp%2Fsemi.git diff --git a/mime-bbdb.el b/mime-bbdb.el index 6ee0feb..381655c 100644 --- a/mime-bbdb.el +++ b/mime-bbdb.el @@ -155,22 +155,24 @@ Creating or modifying it as necessary. A record will be created if mime-bbdb/auto-create-p is non-nil, or if OFFER-TO-CREATE is non-nil and the user confirms the creation." (save-excursion - (if (and mime-view-buffer - (get-buffer mime-view-buffer)) - (set-buffer mime-view-buffer)) + (if (and mime-preview-buffer + (get-buffer mime-preview-buffer)) + (set-buffer mime-preview-buffer)) (if bbdb-use-pop-up (mime-bbdb/pop-up-bbdb-buffer offer-to-create) - (let* ((from (std11-field-body "From")) - (addr (if from - (car (cdr (mail-extract-address-components from)))))) - (if (or (null from) - (null addr) - (string-match (bbdb-user-mail-names) addr)) - (setq from (or (std11-field-body "To") from)) + (let* ((message (get-text-property (point-min) 'mime-view-entity)) + (from (mime-fetch-field 'From message)) + addr) + (if (or (null from) + (null (setq addr (car (mime-read-field 'From message)))) + (string-match (bbdb-user-mail-names) + (std11-address-string addr))) + (setq from (or (mime-fetch-field 'To message) + from)) ) (if from (bbdb-annotate-message-sender - from t + (eword-decode-structured-field-body from) t (or (bbdb-invoke-hook-for-value mime-bbdb/auto-create-p) offer-to-create) offer-to-create))