[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[mhc:00550] mhc-snap20000427.tar.gz
乃村です。久々の snap です。
眠い目を擦りながらやってるので、少々不安ですが、
http://www.swlab.csce.kyushu-u.ac.jp/~nom/prj/mhc/mhc-snap20000427.tar.gz
からどうぞ。
* mhc-snap20000427 (2000-04-27)
・ mhc*.el
+ minor-mode convention に違反しているキーバインド
C-c> と C-c< を C-cn と C-cp に変更。
+ mew 対応でヘッダデコード等の強化
(add-hook 'mew-message-hook 'mhc-misc-hdr-decode)
が .emacs に必要に (mhc.el 中のコメント参照)
Hideyuki SHIRAI (白井秀行) <shirai@xxxxxxxxxxxxxxxxxxx>
(And thanks to Mr. Shun-ichi Goto <gotoh@xxxxxxxxxxx>)
+ Gnus サポートの強化
TSUCHIYA Masatoshi <tsuchiya@xxxxxxxxxxxxxxxxxxxxxxx>
MIYOSHI Masanori <miyoshi@xxxxxxxxx>
+ 一部変数の defcustom 化
TSUCHIYA Masatoshi <tsuchiya@xxxxxxxxxxxxxxxxxxxxxxx>
+ mhc-import の MUA との連携強化
teranisi@xxxxxxxxxx (Yuuichi Teranishi/寺西裕一)
+ mew 向けのの設定方法を少し変更
・ データベースのトランザクションログを取るようにした。
・ Ruby 側のライブラリを mhc 相当に (Record-Id 等の整備)
・ Note PC と sync を行うための mhc-sync を実験的に追加
・ palm2mhc に interactive option -i を追加
注意すべき変更は、C-c> と C-c< を C-cn と C-cp に変更したことと、
Mew ユーザは (add-hook 'mew-message-hook 'mhc-misc-hdr-decode)
を加えると幸せになれるという所でしょうか。
Gnus のパッチをちゃんと取り込めているか心配です。
ruby+ssh で Note PC と sync するための script mhc-sync を
実験的に加えました。使い方ですが、
0. notepc, server の 2台のマシンがあるとします。双方で
mhc-sync, ssh が使えるようにしておきます。
ruby-ext/lib もインストールしましょう。
1. 最初の時点で +schedule 以下はまったく同じにしておきます。
例えば、notepc で rsync を使って、
rsync -a --delete server:/home/nom/Mail/schedule/ /home/nom/Mail/schedule
のようにしておきます。
2. notepc, server でいつも通りの操作をします。
C-cm した後に、C-cC-c で finish するのを忘れないで下さい。
(C-xC-s してセーブしないように)
3. どちらか一方のホストで、(たとえば notepc)
mhc-sync -client sync_id@xxxxxxxxxxxxxxxx
のように実行すると、sync が行われます。
sync_id というのは、2台の間で sync 履歴を管理するための
識別名(合言葉) です。何でもいいですが、同じ 2台の組み合わせ
で sync するときは、常に同じでないといけません。
何が起こるかだけを見たい場合は、mhc-sync 中の $DRY_RUN を
true にして実行してみて下さい。
・ ディレクトリが $HOME/Mail/schedule に固定です。
・ 引数チェックをあまり真面目にやっていません。
・ Windows でうまく実行できるかは不明です。glob 関係で
[0-9]*/[0-9]* とかやってる所が多分怪しい。
あ、古い mhc で作ったアーティクルには、X-SC-Record-Id がないもの
がありますので、rsync する前に全部に付けておきましょう。
以下のコマンド create_message_id で、
create_message_id ~/Mail/schedule/[0-9]*/[0-9]*/[0-9]*
とかやると付きます。intersect も忘れずに。
恐いから、遊ぶ前にバックアップは取りましょう。
--
nom
#!/usr/local/bin/ruby
$last_mid_rand = 'AAAA'
$last_mid_time = nil
$i = 0
$DOMAIN = 'set_your_domain'
def create_message_id(domain = $DOMAIN)
mid_time = Time .now .strftime("%Y%m%d%H%M%S")
mid_user = Process .uid .to_s
if $last_mid_time && mid_time == $last_mid_time
$i += 1
$last_mid_rand .succ!
mid_rand = $last_mid_rand
else
$last_mid_rand = 'AAAA'
mid_rand = $last_mid_rand
$i = 0
end
mid_rand += '-' + $$ .to_s
$last_mid_time = mid_time
return '<' + mid_time + mid_rand + '.' + mid_user + '@' + domain + '>'
end
while path = ARGV .shift
file = File .open(path)
contents = file .gets(nil)
file .close
if contents =~ /X-SC-Record-Id:/
print "#{path} has X-SC-Record-Id: ignored.\n"
else
print "add X-SC-Record-Id: to #{path}.\n"
contents .sub!(/^/np, "X-SC-Record-Id: " +
create_message_id() + "\n")
## contents .sub!(/\n\n/np, "\nX-SC-Record-Id: " +
## create_message_id() + "\n\n")
file = File .open(path, "w")
file << contents
file .close
end
end