This is a patch for bbdb.el / bbdb-hooks.el.
------ cut here ------ cut here ------ cut here ------ cut here ------
---- bbdb-2.32/lisp/bbdb-com.el~ Sun Feb 18 08:00:39 2001
-+++ bbdb-2.32/lisp/bbdb-com.el Sun Feb 18 08:00:39 2001
-@@ -1620,7 +1620,7 @@
+--- bbdb-2.33/lisp/bbdb-com.el~ Sat Sep 1 07:00:10 2001
++++ bbdb-2.33/lisp/bbdb-com.el Mon Sep 10 10:12:28 2001
+@@ -1654,7 +1654,7 @@
;; to be enclosed in quotes. Double-quotes and backslashes have
;; already been escaped. This quotes a few extra characters as
;; well (!,%, and $) just for common sense.
(format "\"%s\" <%s>" name net))
(t
(format "%s <%s>" name net)))))
---- bbdb-2.32/lisp/bbdb-hooks.el~ Tue Jan 30 08:00:56 2001
-+++ bbdb-2.32/lisp/bbdb-hooks.el Tue Jan 30 08:00:56 2001
-@@ -83,6 +83,8 @@
- ;;
+--- bbdb-2.33/lisp/bbdb-hooks.el~ Sat Sep 1 07:00:10 2001
++++ bbdb-2.33/lisp/bbdb-hooks.el Mon Sep 10 10:12:28 2001
+@@ -35,6 +35,8 @@
+ ;; $Id: README-gnus-bbdb.en,v 1.1.2.6.2.1 2001-09-10 10:24:51 yamaoka Exp $
;;
+(eval-when-compile (require 'cl))
+
(require 'bbdb)
- (defmacro the-v18-byte-compiler-sucks-wet-farts-from-dead-pigeons ()
-@@ -415,12 +417,23 @@
+ (defvar rmail-buffer)
+@@ -384,13 +386,23 @@
(marker (bbdb-header-start))
field pairs fieldval ; do all bindings here for speed
regexp string notes-field-name notes
-- replace-p replace-or-add-msg)
-+ replace-p replace-or-add-msg
-+ extract-field-value-funtion)
+- replace-p)
++ replace-p extract-field-value-funtion)
(set-buffer (marker-buffer marker))
(save-restriction
- (widen)
- (goto-char marker)
- (if (and (setq fieldval (bbdb-extract-field-value "From"))
+- (string-match (bbdb-user-mail-names) fieldval))
+ (let ((function-list bbdb-extract-field-value-function-list)
+ function)
+ (or (progn
+ (goto-char marker)
+ (setq extract-field-value-funtion 'bbdb-extract-field-value))))
+ (if (and (setq fieldval (funcall extract-field-value-funtion "From"))
- (string-match (bbdb-user-mail-names) fieldval))
++ (string-match (bbdb-user-mail-names) fieldval))
;; Don't do anything if this message is from us. Note that we have
;; to look at the message instead of the record, because the record
-@@ -431,7 +444,7 @@
+ ;; will be of the recipient of the message if it is from us.
+@@ -400,7 +412,7 @@
(goto-char marker)
(setq field (car (car ignore-all))
regexp (cdr (car ignore-all))
(if (and fieldval
(string-match regexp fieldval))
(setq ignore t)
-@@ -444,7 +457,8 @@
+@@ -413,7 +425,8 @@
pairs (cdr (car rest)) ; (REGEXP . STRING) or
; (REGEXP FIELD-NAME STRING) or
; (REGEXP FIELD-NAME STRING REPLACE-P)
(when fieldval
(while pairs
(setq regexp (car (car pairs))
---- bbdb-2.32/lisp/bbdb.el~ Sun Mar 4 20:30:09 2001
-+++ bbdb-2.32/lisp/bbdb.el Sun Mar 4 20:30:09 2001
-@@ -710,6 +710,7 @@
+--- bbdb-2.33/lisp/bbdb.el~ Wed Sep 5 07:00:12 2001
++++ bbdb-2.33/lisp/bbdb.el Mon Sep 10 10:12:28 2001
+@@ -707,6 +707,7 @@
(defvar bbdb-showing-changed-ones nil)
(defvar bbdb-modified-p nil)
- (defvar bbdb-elided-display nil)
+ (defvar bbdb-address-print-formatting-alist) ; "bbdb-print"
+(defvar bbdb-extract-field-value-function-list nil)
(defvar bbdb-debug t)
\e$B0J2<$O\e(B bbdb.el / bbdb-hooks.el \e$B$K$"$F$k\e(B patch \e$B$G$9!#\e(B
------ cut here ------ cut here ------ cut here ------ cut here ------
---- bbdb-2.32/lisp/bbdb-com.el~ Sun Feb 18 08:00:39 2001
-+++ bbdb-2.32/lisp/bbdb-com.el Sun Feb 18 08:00:39 2001
-@@ -1620,7 +1620,7 @@
+--- bbdb-2.33/lisp/bbdb-com.el~ Sat Sep 1 07:00:10 2001
++++ bbdb-2.33/lisp/bbdb-com.el Mon Sep 10 10:12:28 2001
+@@ -1654,7 +1654,7 @@
;; to be enclosed in quotes. Double-quotes and backslashes have
;; already been escaped. This quotes a few extra characters as
;; well (!,%, and $) just for common sense.
(format "\"%s\" <%s>" name net))
(t
(format "%s <%s>" name net)))))
---- bbdb-2.32/lisp/bbdb-hooks.el~ Tue Jan 30 08:00:56 2001
-+++ bbdb-2.32/lisp/bbdb-hooks.el Tue Jan 30 08:00:56 2001
-@@ -83,6 +83,8 @@
- ;;
+--- bbdb-2.33/lisp/bbdb-hooks.el~ Sat Sep 1 07:00:10 2001
++++ bbdb-2.33/lisp/bbdb-hooks.el Mon Sep 10 10:12:28 2001
+@@ -35,6 +35,8 @@
+ ;; $Id: README-gnus-bbdb.ja,v 1.1.2.6.2.1 2001-09-10 10:24:51 yamaoka Exp $
;;
+(eval-when-compile (require 'cl))
+
(require 'bbdb)
- (defmacro the-v18-byte-compiler-sucks-wet-farts-from-dead-pigeons ()
-@@ -415,12 +417,23 @@
+ (defvar rmail-buffer)
+@@ -384,13 +386,23 @@
(marker (bbdb-header-start))
field pairs fieldval ; do all bindings here for speed
regexp string notes-field-name notes
-- replace-p replace-or-add-msg)
-+ replace-p replace-or-add-msg
-+ extract-field-value-funtion)
+- replace-p)
++ replace-p extract-field-value-funtion)
(set-buffer (marker-buffer marker))
(save-restriction
- (widen)
- (goto-char marker)
- (if (and (setq fieldval (bbdb-extract-field-value "From"))
+- (string-match (bbdb-user-mail-names) fieldval))
+ (let ((function-list bbdb-extract-field-value-function-list)
+ function)
+ (or (progn
+ (goto-char marker)
+ (setq extract-field-value-funtion 'bbdb-extract-field-value))))
+ (if (and (setq fieldval (funcall extract-field-value-funtion "From"))
- (string-match (bbdb-user-mail-names) fieldval))
++ (string-match (bbdb-user-mail-names) fieldval))
;; Don't do anything if this message is from us. Note that we have
;; to look at the message instead of the record, because the record
-@@ -431,7 +444,7 @@
+ ;; will be of the recipient of the message if it is from us.
+@@ -400,7 +412,7 @@
(goto-char marker)
(setq field (car (car ignore-all))
regexp (cdr (car ignore-all))
(if (and fieldval
(string-match regexp fieldval))
(setq ignore t)
-@@ -444,7 +457,8 @@
+@@ -413,7 +425,8 @@
pairs (cdr (car rest)) ; (REGEXP . STRING) or
; (REGEXP FIELD-NAME STRING) or
; (REGEXP FIELD-NAME STRING REPLACE-P)
(when fieldval
(while pairs
(setq regexp (car (car pairs))
---- bbdb-2.32/lisp/bbdb.el~ Sun Mar 4 20:30:09 2001
-+++ bbdb-2.32/lisp/bbdb.el Sun Mar 4 20:30:09 2001
-@@ -710,6 +710,7 @@
+--- bbdb-2.33/lisp/bbdb.el~ Wed Sep 5 07:00:12 2001
++++ bbdb-2.33/lisp/bbdb.el Mon Sep 10 10:12:28 2001
+@@ -707,6 +707,7 @@
(defvar bbdb-showing-changed-ones nil)
(defvar bbdb-modified-p nil)
- (defvar bbdb-elided-display nil)
+ (defvar bbdb-address-print-formatting-alist) ; "bbdb-print"
+(defvar bbdb-extract-field-value-function-list nil)
(defvar bbdb-debug t)