pgg-pgp5

Daiki Ueno ueno @ ueda.info.waseda.ac.jp
2000年 1月 12日 (水) 12:40:09 JST


Makoto.Nakagawa @ jp.compaq.com (中川 誠) writes:

>   > 早速ですが、ChangeLog をいただけますでしょうか?^^;;
> 
> verify-region を call-process を使用しないように修正するにしても、とりあ
> えず前回のパッチに対する ChangeLog を書く、でよいのでしょうか。

はい。お願いします。

> pgg-*-process-region に起動したプロセスに対して process-send-region しな
> いためのオプショナルな引き数を追加、という変更しか思いつかないのですが、
> この方針でよいでしょうか。
> 
> process-region という名前と相性が悪いのでいやだなぁ、と思ったのです。

確かに、PGP, PGP5.* の場合には一度ファイルに書き出してから
process-send-region しているので、二度手間だとは思います。
この際、GnuPG とは全く別の実装にしたほうが良いのではと思います。
 
>   > pgg-*-process-region の仕様としては、call-process-region で、
>   > 各 PGP コマンドを呼び出したあと、pgg-{errors,output,status}-buffer の 
>   > 3 つのバッファに出力を振り分けるという役割があるので、
>   > 単純に call-process で置き換えることはできないような気がします。
> 
> で、自分の使用している範囲で verify の動作を外から眺めてみた結果、
> call-process でも問題はなかろうと判断しました。

具体的には、署名検証が失敗した際に、pgg-*-process-region を利用した
verify-region では nil を返し、call-process を利用した先の例では、
無条件に t を返してしまうと思うのですが、どうでしょう?

;; call-process-shell-command を使っているのは、単に標準エラー出力を
;; 標準出力から分離する目的だったと思います。

>   >> semi-pgpgpg では問題がないのは call-process-region と 
>   >> pgg-*-process-region の仕様の差のようです。
> 
>   > ;; 差というのは process-connection-type でしょうかねぇ?
> 
> process-connection-type を describe-variable してみましたが、私にはちょっ
> と意味が分りかねます。

pgg-*-process-region では、process-connection-type を nil に束縛し、
PGP コマンドとのやりとりに pipe を利用しています。
既定値は t (pty) ですが、純粋に subprocess として利用する場合には、
pipe のほうが効率が良いのではなかったかと。

;; と、少し前に、Wanderlust ML のほうで話題になっていました。
;; > http://lists.airs.net/wl/archive/199911/msg00383.html
--
Daiki Ueno (ueno @ ueda.info.waseda.ac.jp)




More information about the Emacs-mime-ja mailing list