T-gnus 6.15.14 revision 00.
[elisp/gnus.git-] / README-gnus-bbdb.ja
index 68c64ff..a2667c8 100644 (file)
@@ -1,7 +1,5 @@
 -*- mode: text; fill-column: 70; -*-
 
-  ** \e$BNkLZ7=0l$5$s$N$48|0U$K$h$j\e(B keiichi branch \e$B$+$i\e(B copy \e$B$7$^$7$?!#\e(B**
-
 ---
 BBDB \e$B$r;HMQ$5$l$F$$$kJ}$O!"\e(B bbdb-gnus.elc \e$B$r\e(B Semi-gnus 6.8.X \e$B0JA0$N$b\e(B
 \e$B$N$H6&M-$9$k$3$H$O$G$-$^$;$s!#I,$:!"\e(B byte-compile \e$B$7D>$7$F$/$@$5$$!#\e(B
@@ -12,12 +10,10 @@ BBDB \e$B$r;HMQ$5$l$F$$$kJ}$O!"\e(B bbdb-gnus.elc \e$B$r\e(B Semi-gnus 6.8.X \e$B0JA0
 ---
 gnus-bbdb.el
 
-Chao-gnus 6.9 \e$B$r<h$j9~$s$@\e(B Semi-gnus \e$B$KFC2=$7$?\e(B BBDB API \e$B%b%8%e!<%k$G\e(B
-\e$B$9!#\e(B 
-\e$B$3$N%b%8%e!<%k$r;HMQ$9$k$3$H$K$h$C$F!"\e(B Semi-gnus \e$B$G;HMQ$9$k>l9g$K$O\e(B
-mime-bbdb \e$B$,ITMW$K$J$j$^$9!#\e(B
+Semi-gnus \e$B$KFC2=$7$?\e(B BBDB API \e$B%b%8%e!<%k$G$9!#$3$N%b%8%e!<%k$r;HMQ$9$k\e(B
+\e$B$3$H$K$h$C$F!"\e(B Semi-gnus \e$B$G;HMQ$9$k>l9g$K$O\e(B mime-bbdb \e$B$,ITMW$K$J$j$^$9!#\e(B
 
-1.11.3 \e$B0J9_$N\e(B FLIM \e$B$,I,MW$G$9!#\e(B
+1.11.3 \e$B0J9_$N\e(B FLIM \e$B$,I,MW\e(B (T-gnus \e$B$G$O\e(B FLIM 1.14 \e$B$,I,MW\e(B) \e$B$G$9!#\e(B
 
 bbdb-auto-notes-hook \e$B$r;HMQ$7$F$$$J$$J}$K$OITMW$G$9$,!";HMQ$7$F$$$kJ}\e(B
 \e$B$O\e(B bbdb.el / bbdb-hooks.el \e$B$K$3$N%U%!%$%k$N:G8e$K$"$k\e(B patch \e$B$r$"$F$kI,\e(B
@@ -34,63 +30,96 @@ bbdb-auto-notes-hook \e$B$r;HMQ$7$F$$$J$$J}$K$OITMW$G$9$,!";HMQ$7$F$$$kJ}\e(B
 (bbdb-initialize 'sc)  ;; 'gnus / 'Gnus \e$B$O$O$:$7$F$/$@$5$$!#\e(B
 (add-hook 'gnus-startup-hook 'gnus-bbdb-insinuate)
 
+;; T-gnus 6.15.5 \e$B0J>e$G$OITMW$G$9!#\e(B
+;(eval-after-load "message"
+;  '(add-hook 'message-setup-hook 'gnus-bbdb-insinuate-message))
+
+FLIM \e$B$G$O\e(B quote \e$B$5$l$?\e(B eword encoded word \e$B$O\e(B decode \e$B$5$l$^$;$s$,!"$=$l\e(B
+\e$B$r6/@)E*$K\e(B decode \e$B$7$?$$>l9g$K$O!"<!$N@_Dj$r2C$($F$/$@$5$$!#\e(B
+
+(setq gnus-bbdb/decode-field-body-function
+      (function
+       (lambda (field-body field-name)
+         (eword-decode-string field-body))))
+
 ---
-\e$B0J2<$O\e(B bbdb.el / bbdb-hooks.el \e$B$K$"$F$k\e(B patch \e$B$G$9!#\e(B
+\e$B0J2<$O\e(B bbdb-com.el\e$B!"\e(Bbbdb-hooks.el \e$B$*$h$S\e(B bbdb.el \e$B$K$"$F$k\e(B patch \e$B$G$9!#\e(B
 
 ------ 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"))
+-               (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)
-+                        (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"))
-              (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-elided-display nil)
+ (defvar bbdb-address-print-formatting-alist) ; "bbdb-print"
 +(defvar bbdb-extract-field-value-function-list nil)
  
  (defvar bbdb-debug t)
@@ -98,3 +127,37 @@ bbdb-auto-notes-hook \e$B$r;HMQ$7$F$$$J$$J}$K$OITMW$G$9$,!";HMQ$7$F$$$kJ}\e(B
 ------ cut here ------ cut here ------ cut here ------ cut here ------
 
 ---
+gnus-bbdb/split-mail()
+
+nnmail-split-fancy \e$B$G;HMQ$9$k$?$a$N4X?t$G$9!#<!$N$h$&$K;HMQ$7$F$/$@$5$$!#\e(B
+
+(setq nnmail-split-methods 'nnmail-split-fancy
+      nnmail-split-fancy
+      '(|
+        .....
+*1      (: gnus-bbdb/split-mail "from\\|to\\|cc"
+           'company "foo" "foo-group") 
+        .....
+*2      (: gnus-bbdb/split-mail "from\\|to\\|cc" 'company "^bar")
+        .....
+*3      (: gnus-bbdb/split-mail "from\\|to\\|cc" 'group)
+        .....
+*4      (: gnus-bbdb/split-mail "from\\|to\\|cc" 'note "my friend"
+          '(|
+             .....
+        .....
+        ))
+
+*1 : From, To, Cc \e$B$$$:$l$+$N%X%C%@!<!&%U%#!<%k%I$K4^$^$l$k%a%$%k!&%"%I\e(B
+     \e$B%l%9$N$&$A\e(B BBDB \e$B$N\e(B `company' \e$B%U%#!<%k%I$K\e(B `foo' \e$B$,4^$^$l$k>l9g!"\e(B
+     `foo-group' \e$B$K?6$jJ,$1$^$9!#\e(B
+
+*2 : `company' \e$B%U%#!<%k%I$,\e(B `bar' \e$B$G;O$^$C$F$$$k>l9g!"\e(B`company' \e$B%U%#!<\e(B
+     \e$B%k%I$NFbMF$r$=$N$^$^%0%k!<%WL>$H$7$F;HMQ$7!"?6$jJ,$1$^$9!#\e(B
+
+*3 : `group' \e$B%U%#!<%k%I$,$"$k>l9g!"\e(B`group' \e$B%U%#!<%k%I$NFbMF$r$=$N$^$^\e(B
+     \e$B%0%k!<%WL>$H$7$F;HMQ$7!"?6$jJ,$1$^$9!#\e(B
+
+*4 : `note' \e$B%U%#!<%k%I$K\e(B `my friend' \e$B$,4^$^$l$k>l9g!"$=$N8e$m$K;XDj$5\e(B
+     \e$B$l$?5,B'$G?6$jJ,$1$^$9!#$3$N5,B'$N5-=RJ}K!$O!"DL>o$N\e(B
+     `nnmail-split-fancy' \e$B$G$N5-=RJ}K!$HF1$8$b$N$G$9!#\e(B