>> On Mon, 17 Apr 2000 18:35:18 +0900 >> 「土」== tsuchiya@xxxxxxxxxxxxxxxxxxxxxxx (TSUCHIYA Masatoshi) said as follows: 土> えーと。手元では、mhc-db.el という抽象化層を定義して、従来の方式と CVS 土> 経由の方式を使い分けられるようにした版を実装し始めています。この抽象化 土> を、きちんと行えば問題はないのではないでしょうか。 実装しました。結局、 mhc-file.el スケジュールファイル操作の抽象化層 mhc-cvs.el CVS経由でスケジュールファイルを管理するバックエンド mhc-spool.el 従来方式の真似をするバックエンド という構成になっています。mhc-spool.el を使っている場合でも、 ~/Mail/schedule/.log にファイル操作の履歴を書き出すようにしたので、こ れを使えば CVS に依存せずに同期を行うスクリプトも書けると思います。 以下にパッチを添付します。
Attachment:
mhc.diff.gz
Description: Binary data
パッチの使い方について説明します。私の設定は以下のようになっています。 ;; mhc.el (setq mhc-mailer-package 'gnus mhc-base-folder "+schedule" mhc-mail-path (expand-file-name "../MHC" gnus-directory) mhc-file-method 'mhc-cvs mhc-cvs-repository-path "/work/tsuchiya/cvsroot") (require 'mhc) (add-hook 'gnus-summary-mode-hook 'mhc-mode) (add-hook 'gnus-group-mode-hook 'mhc-mode) (add-hook 'gnus-startup-hook 'mhc-file-setup) (add-hook 'gnus-exit-gnus-hook 'mhc-file-exit) mhc-file-method が管理方式を決定する変数です。このパッチでは、 'mhc-spool または 'mhc-cvs という値が有効です。mhc-cvs-repository-path は、CVS のレポジトリの場所を示す変数です。何も設定しなければ、環境変数 CVSROOT の値や、~/CVS/ などを探し、適当なものを使います。 最後の2つのフックは、MUA の起動時にメソッドの初期化を行い、終了時に後 片付けを行うための設定です。これがないと正常に動作しませんから、MUA に あわせて適当に設定してください。 使い方は、これまでと変わりません。mhc-file-toggle-offline / mhc-file-sync という2つのコマンドが別に使えるようになっています。名前 からも想像がつくように、前者はオフライン操作とオンライン操作を切り替え、 後者はスケジュールファイルをサーバーから取り寄せます。 -- 土屋 雅稔 ( TSUCHIYA Masatoshi ) http://www-nagao.kuee.kyoto-u.ac.jp/member/tsuchiya/