Merge semi-1_11_0_9.
[elisp/semi.git] / mime-bbdb.el
index 6ee0feb..62bc191 100644 (file)
@@ -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
+             (mime-decode-field-body from 'From) t
              (or (bbdb-invoke-hook-for-value mime-bbdb/auto-create-p)
                  offer-to-create)
              offer-to-create))