From 2a30c10d01d67c790a99070a433be3c444401055 Mon Sep 17 00:00:00 2001 From: yamaoka Date: Mon, 16 Nov 1998 02:20:35 +0000 Subject: [PATCH] New files. --- README-gnus-bbdb.en | 104 +++++++++++++++++++++++++++++++++++++++++++++++++++ README-gnus-bbdb.ja | 104 +++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 208 insertions(+) create mode 100644 README-gnus-bbdb.en create mode 100644 README-gnus-bbdb.ja diff --git a/README-gnus-bbdb.en b/README-gnus-bbdb.en new file mode 100644 index 0000000..b99d805 --- /dev/null +++ b/README-gnus-bbdb.en @@ -0,0 +1,104 @@ +-*- mode: text; fill-column: 70; -*- + +--- + 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. + +;; It is a simple way that only bbdb-gnus.el is byte-compiled after +;; gnus starts. + +--- +gnus-bbdb.el + + 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 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. + + EXAMPLE: + +;; You need to set nothing for `mime-bbdb'. +;(setq mime-bbdb/use-mail-extr nil) +;(eval-after-load "mail-extr" '(require 'mime-bbdb)) + +(require 'bbdb) +(require 'gnus-bbdb) +(bbdb-initialize 'sc) ;; 'Gnus or 'gnus should be deleted. +(add-hook 'gnus-startup-hook 'gnus-bbdb-insinuate) + + If you would like to decode the quoted encoded words forcibly, even +though FLIM does not decode them, put the following lines in your +.gnus file. + +(setq gnus-bbdb/decode-field-body-function + (function + (lambda (field-body field-name) + (eword-decode-string field-body)))) + +--- + This is a patch for bbdb.el / bbdb-hooks.el. + +------ 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) + (set-buffer (marker-buffer marker)) + (save-restriction +- (widen) +- (goto-char marker) +- (if (and (setq fieldval (bbdb-extract-field-value "From")) ++ (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))) ++ 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 @@ + (defvar bbdb-showing-changed-ones nil) + (defvar bbdb-modified-p nil) + (defvar bbdb-elided-display nil) ++(defvar bbdb-extract-field-value-function-list nil) + + (defvar bbdb-debug t) + (defmacro bbdb-debug (&rest body) +------ cut here ------ cut here ------ cut here ------ cut here ------ + +--- diff --git a/README-gnus-bbdb.ja b/README-gnus-bbdb.ja new file mode 100644 index 0000000..18f3e9b --- /dev/null +++ b/README-gnus-bbdb.ja @@ -0,0 +1,104 @@ +-*- mode: text; fill-column: 70; -*- + +--- +BBDB を使用されている方は、 bbdb-gnus.elc を Semi-gnus 6.8.X 以前のも +のと共有することはできません。必ず、 byte-compile し直してください。 + +;; gnus を起動したあとで、 bbdb-gnus.el のみを byte-compile するという +;; のがお手軽です。 :-) + +--- +gnus-bbdb.el + +Semi-gnus に特化した BBDB API モジュールです。このモジュールを使用する +ことによって、 Semi-gnus で使用する場合には mime-bbdb が不要になります。 + +1.11.3 以降の FLIM が必要です。 + +bbdb-auto-notes-hook を使用していない方には不要ですが、使用している方 +は bbdb.el / bbdb-hooks.el にこのファイルの最後にある patch をあてる必 +要があります。 + +設定例: + +;; mime-bbdb に関する設定は不要です。 +;(setq mime-bbdb/use-mail-extr nil) +;(eval-after-load "mail-extr" '(require 'mime-bbdb)) + +(require 'bbdb) +(require 'gnus-bbdb) +(bbdb-initialize 'sc) ;; 'gnus / 'Gnus ははずしてください。 +(add-hook 'gnus-startup-hook 'gnus-bbdb-insinuate) + +FLIM では quote された eword encoded word は decode されませんが、それ +を強制的に decode したい場合には、次の設定を加えてください。 + +(setq gnus-bbdb/decode-field-body-function + (function + (lambda (field-body field-name) + (eword-decode-string field-body)))) + +--- +以下は bbdb.el / bbdb-hooks.el にあてる patch です。 + +------ 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) + (set-buffer (marker-buffer marker)) + (save-restriction +- (widen) +- (goto-char marker) +- (if (and (setq fieldval (bbdb-extract-field-value "From")) ++ (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))) ++ 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 @@ + (defvar bbdb-showing-changed-ones nil) + (defvar bbdb-modified-p nil) + (defvar bbdb-elided-display nil) ++(defvar bbdb-extract-field-value-function-list nil) + + (defvar bbdb-debug t) + (defmacro bbdb-debug (&rest body) +------ cut here ------ cut here ------ cut here ------ cut here ------ + +--- -- 1.7.10.4