[Mew-dist 03476] Re: refile がおかしい。

Masahiro MURATA ( 村田全寛 ) muse at example.com
1998年 1月 22日 (木) 20:46:58 JST


  村田です。

>>> In [Mew-dist 03465] refileがおかしい。
>>> 小川真司 wrote:

> XEmacsでrefileがうまくいきません。
  (略)
> 環境は下記のとおりです。
> ・XEmacs-20.5b20
> ・mew-1.93b8
> ・im-83

  HP-UX 9.07, Emacs-20.2, Mew-1.93b8, im-80,83 という環境です。この問題
は昨年に気づいたのですが,原因を調べるためと忙しさで今まで放置していまし
た。

  Emacs-20.2 の問題なのかどうかは解りませんが,報告しておきます。
Mule-2.3 (Emacs-19.34)では以下の問題は起こりません。

  mew-mark.el にある関数 mew-summary-exec-mvrm で immv などを実行してい
ますが,プロセスが終了しているにもかかわらず,set-process-sentinel で指
定された関数 mew-summary-mvrm-sentinel がいつまで経っても呼ばれません。
ですので,while 文のところでループし続けることになってしまいます。
  start-process を呼ぶ時に process-connection-type を nil にするか,もし
くは以下の while 部分

    (while (eq (process-status mew-summary-buffer-process) 'run)
      (accept-process-output mew-summary-buffer-process)
      )

において accept-process-output を使わずに sit-for に変えると sentinel の
関数が呼ばれるようになります。

    (while (eq (process-status mew-summary-buffer-process) 'run)
      (sit-for 1)
      )

しかし,HP-UX 9 上であっても Mule-2.3 (Emacs-19.34) では 
process-connection-type を t にして上記のように accept-process-output を
使っても,プロセスが終了すれば sentinel で指定した関数が呼ばれるようなの
で,Emacs-20.2 の問題なのかも知れません。


  結局,現在の回避方法としては,process-connection-type を nil にすると
パスワード入力の部分で問題がでそうなので,accept-process-output を使わな
いような変更をした方がよいと思います。

--
村田 全寛 / MURATA Masahiro



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