[Mew-dist 03599] Re: PGP で署名できない

Kazu Yamamoto ( 山本和彦 ) Kazu at example.com
1998年 1月 30日 (金) 14:50:05 JST


From: "Y.Shimamura/島村豊"<shimamura at example.com>
Subject: [Mew-dist 03596] Re: PGPで署名できない
Date: Fri, 30 Jan 1998 14:35:09 +0900

> ちなみにうちでは、復号化もうまくいきませんでした。
> ひょっとして別件なのかな?

同じです。署名と復号にはパスワードが必要です。IMAP のパスワードも同様
の問題を含んでいます。

Emacs は非同期(start-process)にあげたプロセスと同期を取る素直な方法が
提供されていません。しかし、入力されたパスワードを Emacs からプロセス
に送るにはどこかで同期しないといけません。

よって、無理矢理こんなことして同期をとります。

    (while mew-pgp-running
	(if mew-xemacs-p
	    (accept-process-output)
	  (sit-for 1)
	  ;; accept-process-output or sleep-for is not enough
	  (discard-input))
	)

sit-for とか accept-process-output は、プロセスに CPU 時間を与えます。
よって、filter で入力したパスワードをプロセスに送ることができます。
sentinel で mew-pgp-running は nil になるので、このループから抜けられ
ます。

これが刺さる原因は、accept-process-output がうまくプロセスに CPU 時間
を与えないので、いつまで足っても sentinel が呼ばれないからでしょう。

ある UNIX で XEmacs の accept-process-output がうまく動かないとしたら、
それは XEmacs のバグです。XEmacs に直してもらうのが一番正しいです。

#しかし、このような説明をすると、そんな使い方は考えていないと言われる
#と思います。;(

--かず@きっとこんなことしているのは Mew だけ



Mew-dist メーリングリストの案内