[Mew-dist 750] Re: 1.66 (was Re: 1.65 (mew-summary-search))

OKUNISHI Fujikazu fuji0924 at example.com
1997年 3月 26日 (水) 01:04:16 JST


奥西です。

>>>>> "Tue, 25 Mar 1997 00:14:49 +0900" に発信されたメッセージ
>>>>> <19970324220625N.fuji0924 at example.com> にて"僕" ==
>>>>> OKUNISHI Fujikazu <fuji0924 at example.com> が書きました:

僕> 1.65 にしてから "/" mew-summary-search() がおかしくなって全然 pick 
僕> されなくなりました。

僕> で、`?' mew-summary-search-mark() は 1.65 でも 1.66 でも使えています。

僕> mew-summary-search() 自体のコードは変わってないので原因はまだちゃんと
僕> 追えてません。

の件で少し追ってみました。原因は、mew-summary-pick() で pick を起動す
る際に(mew-mule2.el で定義されている)mew-plet を使用するように 1.65
から変更されてたことにありました。

OS/2 MH は、ファイルへの書き込みには LF のみにするようになっています
(これは Mew 対応のためだけに仕様を変更してもらいました)が、STDOUT
及び STDERR へは CRLF で出力します。お解りのように LF だけだと MH 単体
で使っている場合にコンソールの表示が乱れるからです。

このため、 pick でマッチしたメイル番号が 1^M  2^M  3^M .. のように全て
CR 付きになってしまい、MH scan へ渡される番号がおかしくなってしまうた
めに scan がコケてしまっていたというわけです。

#このへんは、vscan の出力が EOL=CRLF なので、regexp をいじらないと 
#Virtual mode でメイル番号の取得にコケて no message になるのと似たよ
#うなことですね。

原因はわかったのですが、根本的な解決方法を思い付かなかったので取り敢え
ず (^_^;; mew-summary-pick() を以下のようにすれば直ります。

;     (mew-plet
       (apply (function call-process)
          mew-prog-pick nil t nil "-list" folder range epat)
;      )


#おまけ:
DOS 系の OS では、C や perl で \n は CRLF を意味しますが、OS/2 Mule は
厳密で、\n は LF のみ、\r は CR のみを指します。かずさんは 非 UNIX 系 
OS には関心をお持ちでないようですが。:-)
----
奥西藤和 / OKUNISHI Fujikazu
mailto:fuji0924 at example.com
# PGP Public Key: mailto:pgp-public-keys at example.com /Subject:GET 0x1B8BF431






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