Synch with Oort Gnus.
[elisp/gnus.git-] / README-gnus-bbdb.en
index c438aad..9bd0cba 100644 (file)
@@ -1,8 +1,5 @@
 -*- mode: text; fill-column: 70; -*-
 
 -*- mode: text; fill-column: 70; -*-
 
-  **  This document is copied from keiichi branch. **
-  **  We thank Keiichi Suzuki a lot.               **
-
 ---
  If BBDB is used then, bbdb-gnus.elc can't be shared with them before
 Semi-gnus 6.8.X. It is necessary to byte-compile it again.
 ---
  If BBDB is used then, bbdb-gnus.elc can't be shared with them before
 Semi-gnus 6.8.X. It is necessary to byte-compile it again.
@@ -13,11 +10,10 @@ Semi-gnus 6.8.X. It is necessary to byte-compile it again.
 ---
 gnus-bbdb.el
 
 ---
 gnus-bbdb.el
 
- This is the BBDB API module for Semi-gnus, which includes Chao-gnus
-6.9. `mime-bbdb' should not be necessary for Semi-gnus, if that module
-were used.
+ This is the BBDB API module for Semi-gnus. `mime-bbdb' should not be
+necessary for Semi-gnus, if that module were used.
 
 
- You need FLIM after 1.11.3.
+ You need FLIM 1.11.3 or later.
 
  If you are using bbdb-auto-notes-hook, the patch listed at the end
 of this file should be applied. If not, it might not.
 
  If you are using bbdb-auto-notes-hook, the patch listed at the end
 of this file should be applied. If not, it might not.
@@ -32,6 +28,7 @@ of this file should be applied. If not, it might not.
 (require 'gnus-bbdb)
 (bbdb-initialize 'sc)  ;; 'Gnus or 'gnus should be deleted.
 (add-hook 'gnus-startup-hook 'gnus-bbdb-insinuate)
 (require 'gnus-bbdb)
 (bbdb-initialize 'sc)  ;; 'Gnus or 'gnus should be deleted.
 (add-hook 'gnus-startup-hook 'gnus-bbdb-insinuate)
+(add-hook 'message-setup-hook 'gnus-bbdb-insinuate-message)
 
  If you would like to decode the quoted encoded words forcibly, even
 though FLIM does not decode them, put the following lines in your
 
  If you would like to decode the quoted encoded words forcibly, even
 though FLIM does not decode them, put the following lines in your
@@ -43,62 +40,83 @@ though FLIM does not decode them, put the following lines in your
          (eword-decode-string field-body))))
 
 ---
          (eword-decode-string field-body))))
 
 ---
- This is a patch for bbdb.el / bbdb-hooks.el.
+ This is a patch for bbdb-com.el, bbdb-hooks.el and bbdb.el.
 
 ------ cut here ------ cut here ------ cut here ------ cut here ------
 
 ------ cut here ------ cut here ------ cut here ------ cut here ------
---- bbdb-hooks.el~     Tue Oct 13 03:13:50 1998
-+++ bbdb-hooks.el      Fri Oct 30 17:05:53 1998
-@@ -352,12 +352,22 @@
-       (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)
+--- bbdb-2.34/lisp/bbdb-com.el~        Tue Jan 15 23:00:57 2002
++++ bbdb-2.34/lisp/bbdb-com.el Thu Jan 31 03:55:01 2002
+@@ -1686,7 +1686,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.
+-          ((string-match "[][\000-\037\177()<>@,;:.!$%]" name)
++        ((string-match "[][\000-\037\177<>@,;.!$%]" name)
+            (format "\"%s\" <%s>" name net))
+           (t
+            (format "%s <%s>" name net)))))
+--- bbdb-2.34/lisp/bbdb-hooks.el~      Tue Jan 15 09:00:11 2002
++++ bbdb-2.34/lisp/bbdb-hooks.el       Thu Jan 31 03:55:01 2002
+@@ -36,4 +36,6 @@
+ ;;
++(eval-when-compile (require 'cl))
++
+ (require 'bbdb)
+ (require 'bbdb-com)
+@@ -405,13 +407,23 @@
+          ignore
+          field pairs fieldval  ; do all bindings here for speed
+          regexp string notes-field-name notes
+-         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"))
      (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
 +            (while (and (not extract-field-value-funtion)
 +      (let ((function-list bbdb-extract-field-value-function-list)
 +          function)
 +      (or (progn
 +            (while (and (not extract-field-value-funtion)
-+                        (setq function (pop function-list)))
-+              (setq extract-field-value-funtion (funcall function)))
++                        (setq function (car function-list)))
++              (setq extract-field-value-funtion (funcall function)
++                    function-list (cdr function-list)))
 +            extract-field-value-funtion)
 +          (progn
 +            (widen)
 +            (goto-char marker)
 +            (setq extract-field-value-funtion 'bbdb-extract-field-value))))
 +      (if (and (setq fieldval (funcall extract-field-value-funtion "From"))
 +            extract-field-value-funtion)
 +          (progn
 +            (widen)
 +            (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))
-         ;; 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
-@@ -368,7 +378,7 @@
-         (goto-char marker)
-         (setq field (car (car ignore-all))
-               regexp (cdr (car ignore-all))
--              fieldval (bbdb-extract-field-value field))
-+              fieldval (funcall extract-field-value-funtion field))
-         (if (and fieldval
-                  (string-match regexp fieldval))
-             (setq ignore t)
-@@ -382,7 +392,7 @@
-               pairs (cdr (car rest))  ; (REGEXP . STRING) or
-                                       ; (REGEXP FIELD-NAME STRING) or
-                                       ; (REGEXP FIELD-NAME STRING REPLACE-P)
--              fieldval (bbdb-extract-field-value field)) ; e.g., Subject line
-+              fieldval (funcall extract-field-value-funtion field)) ; e.g., Subject line
-         (if fieldval
-             (while pairs
-               (setq regexp (car (car pairs))
---- bbdb.el~   Tue Oct 13 03:14:55 1998
-+++ bbdb.el    Fri Oct 30 17:05:53 1998
-@@ -620,6 +620,7 @@
++             (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
+           ;; will be of the recipient of the message if it is from us.
+@@ -421,7 +433,7 @@
+           (goto-char marker)
+           (setq field (car (car ignore-all))
+                 regexp (cdr (car ignore-all))
+-                fieldval (bbdb-extract-field-value field))
++                fieldval (funcall extract-field-value-funtion field))
+           (if (and fieldval
+                    (string-match regexp fieldval))
+               (setq ignore t)
+@@ -434,7 +446,8 @@
+                 pairs (cdr (car rest))  ; (REGEXP . STRING) or
+                                         ; (REGEXP FIELD-NAME STRING) or
+                                         ; (REGEXP FIELD-NAME STRING REPLACE-P)
+-                fieldval (bbdb-extract-field-value field)) ; e.g., Subject line
++                fieldval (funcall extract-field-value-funtion field))
++                                        ; e.g., Subject line
+           (when fieldval
+             ;; we perform the auto notes stuff only for authors of a message
+             ;; or if explicitly requested
+--- bbdb-2.34/lisp/bbdb.el~    Tue Jan 15 23:00:58 2002
++++ bbdb-2.34/lisp/bbdb.el     Thu Jan 31 03:55:01 2002
+@@ -737,6 +737,7 @@
  (defvar bbdb-showing-changed-ones nil)
  (defvar bbdb-modified-p nil)
  (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)
 +(defvar bbdb-extract-field-value-function-list nil)
  
  (defvar bbdb-debug t)