-*- mode: text; fill-column: 70; -*- この文書では、 Semi-gnus との違いおよび、使用する上で注意する必要のあ る項目を説明しています。 --- TODO.ja の「*1998/10/03-01 任意メッセージ cite 機能の実装方法変更」を 対策済です。 ;; 実装方法は、 mime-message-structure の仕様が安定し次第、変更する可 ;; 能性があります。 --- TODO.ja の以下のものは対策済です。 *1998/10/02-11 message.el の独立した使用時の問題 *1998/10/03-01 任意メッセージ cite 機能の実装方法変更 (keiichi branch) *1998/10/03-2 Info (gnus/gnus-ja) の選択 *1998/10/02-8 User-Agent ヘッダー・フィールド採用 *1998/10/02-12 ヘッダー・フィールドに対する不要な decode を排除 *1998/10/02-9 In-Reply-To ヘッダー形式変更 *1998/10/02-1 Draft の編集・送信時の encode / decode 問題 --- message-syntax-checks message-default-encoding (Default: "7bit") Message の送信時に Content-Transfer-Encoding をチェックするようにしま した。 チェックの基準は header に Content-Transfer-Encoding が指定されている 場合には、それに従い、指定されていない場合には、 message-default-encoding で指定されている encodeing に従います。 このチェックを行いたくない場合には、 message-syntax-checks に '(encoding . disable) を追加してください。 --- message-header-hook message-header-encode-function (Default: 'eword-encode-header) *6.9.4: message-encode-header-function から改名 message-header-encode-hook (Default: nil) *6.9.4: message-after-header-encode-hook から改名 Header を encode するための関数を、 Semi-gnus では message-header-hook から呼び出していますが、専用の変数をもうけ、 message-header-hook の実 行後にこの変数に設定された関数を呼び出します。 また、新たに message-header-encode-hook をもうけ、 message-header-encode-function の呼び出し後にこの hook を実行します。 message-setup-hook の内容を変更している方は、注意が必要です。 X-PGP-Sig パッケージを使用しており、 message-header-hook に x-pgp-sig-sign を設定されている方は、 設定先を message-header-encode-hook に移動してください。 --- Chao-gnus 6.9 での変更を取り込んでありますので、 apel は 9.5 以降のも の、 FLIM は 1.11.2 以降のもの SEMI は 1.10.0 以降のものが必要です。 また、 BBDB を使用されている方は、 bbdb-gnus.elc を Semi-gnus 6.8.X 以 前のものと共有することはできません。必ず、 byte-compile し直してくださ い。 ;; gnus を起動したあとで、 bbdb-gnus.el のみを byte-compile するという ;; のがお手軽です。 :-) --- gnus-bbdb.el Chao-gnus 6.9 を取り込んだ Semi-gnus に特化した BBDB API モジュールで す。 このモジュールを使用することによって、 Semi-gnus で使用する場合には mime-bbdb が不要になります。 1.11.2 以降の 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)))) --- 6.9.4: でこの変更は廃止しました。 message-setup-hook (Default: nil) message-mime-setup-function (Default: 'turn-on-mime-edit) Message 編集用 buffer を MIME メッセージ編集モードに切り替えるための関 数を、 Semi-gnus では message-setup-hook から呼び出していますが、専用 の変数をもうけ、 message-setup-hook の実行前にこの変数に設定された関数 を呼び出します。 message-setup-hook の内容を変更している方は注意が必要です。 --- *** org/bbdb.el Tue May 12 10:51:51 1998 --- bbdb.el Thu Oct 29 11:52:25 1998 *************** *** 620,625 **** --- 620,626 ---- (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) --- *** org/bbdb-hooks.el Tue May 12 10:51:49 1998 --- bbdb-hooks.el Thu Oct 29 13:03:52 1998 *************** *** 352,363 **** (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) (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)) ;; 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 --- 352,373 ---- (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 ! extract-field-value-funtion) (set-buffer (marker-buffer marker)) (save-restriction ! (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,374 **** (goto-char marker) (setq field (car (car ignore-all)) regexp (cdr (car ignore-all)) ! fieldval (bbdb-extract-field-value field)) (if (and fieldval (string-match regexp fieldval)) (setq ignore t) --- 378,384 ---- (goto-char marker) (setq field (car (car ignore-all)) regexp (cdr (car ignore-all)) ! fieldval (funcall extract-field-value-funtion field)) (if (and fieldval (string-match regexp fieldval)) (setq ignore t) *************** *** 382,388 **** 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 (if fieldval (while pairs (setq regexp (car (car pairs)) --- 392,398 ---- pairs (cdr (car rest)) ; (REGEXP . STRING) or ; (REGEXP FIELD-NAME STRING) or ; (REGEXP FIELD-NAME STRING REPLACE-P) ! fieldval (funcall extract-field-value-funtion field)) ; e.g., Subject line (if fieldval (while pairs (setq regexp (car (car pairs)) ---