I have seen the msg from Adrian Lanz regarding RFC2047-encoded From:
fields, a few months back. I have been using the following patch to
bbdb.el for a couple of years, with no visible ill effects. Ulike
Adrian's patch, mine decodes the From fields before looking them up
and/or storing them into .bbdb. Encoded strings are not used or stored
anywhere. It requires the presence of rfc2047.el, which was there in
21.3, but not in 20.7.
The patch itself:
*** bbdb.el Thu Aug 11 13:09:05 2005
--- bbdb-patched.el Thu Aug 11 22:27:06 2005
***************
*** 3126,3132 ****
\(assuming that CREATE-P is true\). "
(let* ((data (if (consp from)
from ; if from is a cons, it's pre-parsed (hack hack)
! (mail-extract-address-components from)))
(name (car data))
(net (car (cdr data))))
(if (equal name net) (setq name nil))
--- 3126,3134 ----
\(assuming that CREATE-P is true\). "
(let* ((data (if (consp from)
from ; if from is a cons, it's pre-parsed (hack hack)
! ;; BA was here. This needs rfc2047.el
! (mail-extract-address-components
! (rfc2047-decode-string from))))
(name (car data))
(net (car (cdr data))))
(if (equal name net) (setq name nil))
A version that tries to cope with requires and missing rfc2047:
*** bbdb.el Thu Aug 11 13:09:05 2005
--- bbdb-patched2.el Thu Aug 11 22:45:41 2005
***************
*** 58,63 ****
--- 58,67 ----
;; autoload doesn't work for these
(condition-case nil (require 'message)
(error (message "Warning: message not found. Ensure it is in your
`load-path'"))); for message-mode-map
+ ;; TO FIX: byte-compiler will still complain about rfc2047-decode-string if
+ ;; rfc2047 cannot be found.
+ (condition-case nil (require 'rfc2047)
+ (error (message "Warning: rfc2047 not found. RFC2047-decoding of mail
headers may not work."))); for rfc2047-decode-string
(require 'sendmail); for mail-mode-map
)
***************
*** 110,115 ****
--- 114,122 ----
(or (fboundp 'set-keymap-prompt)
(fset 'set-keymap-prompt 'ignore)))
+ (unless (require 'rfc2047 nil t)
+ (defalias 'rfc2047-decode-string 'identity))
+
;; this should really be in bbdb-com
;;;###autoload
(defun bbdb-submit-bug-report ()
***************
*** 3126,3132 ****
\(assuming that CREATE-P is true\). "
(let* ((data (if (consp from)
from ; if from is a cons, it's pre-parsed (hack hack)
! (mail-extract-address-components from)))
(name (car data))
(net (car (cdr data))))
(if (equal name net) (setq name nil))
--- 3133,3141 ----
\(assuming that CREATE-P is true\). "
(let* ((data (if (consp from)
from ; if from is a cons, it's pre-parsed (hack hack)
! ;; BA was here. This needs rfc2047.el
! (mail-extract-address-components
! (rfc2047-decode-string from))))
(name (car data))
(net (car (cdr data))))
(if (equal name net) (setq name nil))
-------------------------------------------------------
SF.Net email is Sponsored by the Better Software Conference & EXPO
September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices
Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA
Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf
_______________________________________________
[email protected]
https://lists.sourceforge.net/lists/listinfo/bbdb-info
BBDB Home Page: http://bbdb.sourceforge.net/