Sometimes I get a message from a mailing list with a From address like this: "John Doe via RT <[EMAIL PROTECTED]>" Since I have a record for <[EMAIL PROTECTED]>, BBDB will offer me to make "John Doe via" the name of this record, which is certainly not what I want.
I added a variable `bbdb-canonicalize-name-hook', similar to `bbdb-canonicalize-net-hook', and I set it like this: (setq bbdb-canonicalize-name-hook (lambda (name) (when name (cond ((string-match " via$" name) nil) (name))))) is there a better solution? -- Sam Steingold (http://www.podval.org/~sds) running w2k <http://www.camera.org> <http://www.iris.org.il> <http://www.memri.org/> <http://www.mideasttruth.com/> <http://www.palestine-central.com/links.html> Marriage is the sole cause of divorce. cd d:/gnu/sitelisp/bbdb/lisp/ diff -u -b -w -i -B "d:/gnu/sitelisp/bbdb/lisp/bbdb.el.old" "d:/gnu/sitelisp/bbdb/lisp/bbdb.el" --- d:/gnu/sitelisp/bbdb/lisp/bbdb.el.old 2002-01-15 17:00:58.000000000 -0500 +++ d:/gnu/sitelisp/bbdb/lisp/bbdb.el 2003-07-23 10:23:29.000000000 -0400 @@ -642,6 +642,12 @@ :group 'bbdb-hooks :type 'function) +(defcustom bbdb-canonicalize-name-hook nil + "*If this is non-nil, it should be a function of one arg: the name string. +See `bbdb-canonicalize-net-hook' for details." + :group 'bbdb-hooks + :type 'function) + (defcustom bbdb-canonicalize-redundant-nets-p t "*If this is non-nil, redundant network addresses will be ignored. If a record has an address of the form [EMAIL PROTECTED], setting this to t @@ -2993,11 +2999,11 @@ match)))) -(defun bbdb-canonicalize-address (net) - ;; call the bbdb-canonicalize-net-hook repeatedly until it returns a +(defun bbdb-canonicalize (net hook) + ;; call the hook repeatedly until it returns a ;; value eq to the value passed in. This implies that it can't ;; destructively modify the string. - (while (not (eq net (setq net (funcall bbdb-canonicalize-net-hook net))))) + (while (not (eq net (setq net (funcall hook net))))) net) @@ -3047,7 +3053,9 @@ (if (equal net "") (error "mail-extr returned \"\" as net"))) (if (and net bbdb-canonicalize-net-hook) - (setq net (bbdb-canonicalize-address net))) + (setq net (bbdb-canonicalize net bbdb-canonicalize-net-hook))) + (if (and name bbdb-canonicalize-name-hook) + (setq name (bbdb-canonicalize name bbdb-canonicalize-name-hook))) (let ((change-p nil) (record (or (bbdb-search-simple nil net) Diff finished at Wed Jul 23 10:23:35 ------------------------------------------------------- This SF.Net email sponsored by: Free pre-built ASP.NET sites including Data Reports, E-commerce, Portals, and Forums are available now. Download today and enter to win an XBOX or Visual Studio .NET. http://aspnet.click-url.com/go/psa00100006ave/direct;at.asp_061203_01/01 _______________________________________________ [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/bbdb-info BBDB Home Page: http://bbdb.sourceforge.net/