1 -*- mode: text; fill-column: 70; -*-
4 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
5 \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
7 ;; gnus
\e$B$r5/F0$7$?$"$H$G!"
\e(B bbdb-gnus.el
\e$B$N$_$r
\e(B byte-compile
\e$B$9$k$H$$$&
\e(B
8 ;;
\e$B$N$,$*<j7Z$G$9!#
\e(B :-)
13 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
14 \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
16 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
18 bbdb-auto-notes-hook
\e$B$r;HMQ$7$F$$$J$$J}$K$OITMW$G$9$,!";HMQ$7$F$$$kJ}
\e(B
19 \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
20 \e$BMW$,$"$j$^$9!#
\e(B
24 ;; mime-bbdb
\e$B$K4X$9$k@_Dj$OITMW$G$9!#
\e(B
25 ;(setq mime-bbdb/use-mail-extr nil)
26 ;(eval-after-load "mail-extr" '(require 'mime-bbdb))
30 (bbdb-initialize 'sc) ;; 'gnus / 'Gnus
\e$B$O$O$:$7$F$/$@$5$$!#
\e(B
31 (add-hook 'gnus-startup-hook 'gnus-bbdb-insinuate)
33 ;; T-gnus 6.15.5
\e$B0J>e$G$OITMW$G$9!#
\e(B
34 ;(eval-after-load "message"
35 ; '(add-hook 'message-setup-hook 'gnus-bbdb-insinuate-message))
37 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
38 \e$B$r6/@)E*$K
\e(B decode
\e$B$7$?$$>l9g$K$O!"<!$N@_Dj$r2C$($F$/$@$5$$!#
\e(B
40 (setq gnus-bbdb/decode-field-body-function
42 (lambda (field-body field-name)
43 (eword-decode-string field-body))))
46 \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
48 ------ cut here ------ cut here ------ cut here ------ cut here ------
49 --- bbdb-2.34/lisp/bbdb-com.el~ Tue Jan 15 23:00:57 2002
50 +++ bbdb-2.34/lisp/bbdb-com.el Thu Jan 31 03:55:01 2002
52 ;; to be enclosed in quotes. Double-quotes and backslashes have
53 ;; already been escaped. This quotes a few extra characters as
54 ;; well (!,%, and $) just for common sense.
55 - ((string-match "[][\000-\037\177()<>@,;:.!$%]" name)
56 + ((string-match "[][\000-\037\177<>@,;.!$%]" name)
57 (format "\"%s\" <%s>" name net))
59 (format "%s <%s>" name net)))))
60 --- bbdb-2.34/lisp/bbdb-hooks.el~ Tue Jan 15 09:00:11 2002
61 +++ bbdb-2.34/lisp/bbdb-hooks.el Thu Jan 31 03:55:01 2002
65 +(eval-when-compile (require 'cl))
71 field pairs fieldval ; do all bindings here for speed
72 regexp string notes-field-name notes
74 + replace-p extract-field-value-funtion)
75 (set-buffer (marker-buffer marker))
79 - (if (and (setq fieldval (bbdb-extract-field-value "From"))
80 - (string-match (bbdb-user-mail-names) fieldval))
81 + (let ((function-list bbdb-extract-field-value-function-list)
84 + (while (and (not extract-field-value-funtion)
85 + (setq function (car function-list)))
86 + (setq extract-field-value-funtion (funcall function)
87 + function-list (cdr function-list)))
88 + extract-field-value-funtion)
92 + (setq extract-field-value-funtion 'bbdb-extract-field-value))))
93 + (if (and (setq fieldval (funcall extract-field-value-funtion "From"))
94 + (string-match (bbdb-user-mail-names) fieldval))
95 ;; Don't do anything if this message is from us. Note that we have
96 ;; to look at the message instead of the record, because the record
97 ;; will be of the recipient of the message if it is from us.
100 (setq field (car (car ignore-all))
101 regexp (cdr (car ignore-all))
102 - fieldval (bbdb-extract-field-value field))
103 + fieldval (funcall extract-field-value-funtion field))
105 (string-match regexp fieldval))
108 pairs (cdr (car rest)) ; (REGEXP . STRING) or
109 ; (REGEXP FIELD-NAME STRING) or
110 ; (REGEXP FIELD-NAME STRING REPLACE-P)
111 - fieldval (bbdb-extract-field-value field)) ; e.g., Subject line
112 + fieldval (funcall extract-field-value-funtion field))
113 + ; e.g., Subject line
115 ;; we perform the auto notes stuff only for authors of a message
116 ;; or if explicitly requested
117 --- bbdb-2.34/lisp/bbdb.el~ Tue Jan 15 23:00:58 2002
118 +++ bbdb-2.34/lisp/bbdb.el Thu Jan 31 03:55:01 2002
120 (defvar bbdb-showing-changed-ones nil)
121 (defvar bbdb-modified-p nil)
122 (defvar bbdb-address-print-formatting-alist) ; "bbdb-print"
123 +(defvar bbdb-extract-field-value-function-list nil)
125 (defvar bbdb-debug t)
126 (defmacro bbdb-debug (&rest body)
127 ------ cut here ------ cut here ------ cut here ------ cut here ------
130 gnus-bbdb/split-mail()
132 nnmail-split-fancy
\e$B$G;HMQ$9$k$?$a$N4X?t$G$9!#<!$N$h$&$K;HMQ$7$F$/$@$5$$!#
\e(B
134 (setq nnmail-split-methods 'nnmail-split-fancy
138 *1 (: gnus-bbdb/split-mail "from\\|to\\|cc"
139 'company "foo" "foo-group")
141 *2 (: gnus-bbdb/split-mail "from\\|to\\|cc" 'company "^bar")
143 *3 (: gnus-bbdb/split-mail "from\\|to\\|cc" 'group)
145 *4 (: gnus-bbdb/split-mail "from\\|to\\|cc" 'note "my friend"
151 *1 : From, To, Cc
\e$B$$$:$l$+$N%X%C%@!<!&%U%#!<%k%I$K4^$^$l$k%a%$%k!&%"%I
\e(B
152 \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
153 `foo-group'
\e$B$K?6$jJ,$1$^$9!#
\e(B
155 *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
156 \e$B%k%I$NFbMF$r$=$N$^$^%0%k!<%WL>$H$7$F;HMQ$7!"?6$jJ,$1$^$9!#
\e(B
158 *3 : `group'
\e$B%U%#!<%k%I$,$"$k>l9g!"
\e(B`group'
\e$B%U%#!<%k%I$NFbMF$r$=$N$^$^
\e(B
159 \e$B%0%k!<%WL>$H$7$F;HMQ$7!"?6$jJ,$1$^$9!#
\e(B
161 *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
162 \e$B$l$?5,B'$G?6$jJ,$1$^$9!#$3$N5,B'$N5-=RJ}K!$O!"DL>o$N
\e(B
163 `nnmail-split-fancy'
\e$B$G$N5-=RJ}K!$HF1$8$b$N$G$9!#
\e(B