[Mew-dist 10191] Re: IMAP & nntp (Re: Mew 1.94b49 + IM 120)
Hideyuki SHIRAI ( 白井秀行 )
shirai at example.com
1999年 8月 18日 (水) 15:35:05 JST
From: Kazu Yamamoto (山本和彦) <kazu at example.com> さん曰く
Subject: [Mew-dist 10179] Re: IMAP & nntp (Re: Mew 1.94b49 + IM 120)
Message-ID: <19990818122646G.kazu at example.com>
Date: Wed, 18 Aug 1999 12:27:24 +0900
kazu> > 1. Win32 で oimcat + imap + passwd 入力のときに message の最後に
kazu> > 余分な "^M" がつくことがある。
kazu>
+ binmode(STDERR);
print STDERR $prompt;
flush('STDERR');
chomp($secret = <STDIN>);
print STDERR "\n";
+ flush('STDERR');
これ、もうちょっと説明しておきますね。(以下、全部 M-x shell 上の結果)
UNIX では
[shirai at example.com:~/]% imcat --boundary=on --src=%#mh/inbox 1
Password (imap/auth:shirai at example.com): hogehoge
---BEGIN-IMGET-MESSAGE---
<<本文>>
[shirai at example.com:~/]%
となり、'print STDERR "\n";' の出力が boundary より先に来るため
何も問題ないのですが、Win32 ではなぜか
[shirai at example.com:~/]% imcat --boundary=on --src=%#mh/inbox 1
Password (imap/auth:shirai at example.com): hogehoge
---BEGIN-IMGET-MESSAGE---
<<本文>>
[shirai at example.com:~/]%
のように 'print STDERR "\n";' の出力が一番最後に来てしまい、
message の一部と見なされてしまいます。Mew から起動しても同じよう
です。
もしかしてたら環境依存かもしれないのですが、UNIX でも flush して
おけば、確実に boundary より前に "\n" が出力されるし安全かな、と
いった感じです。
# binmode() は必要無いですね。
--
白井秀行 (mailto:shirai at example.com)
Mew-dist メーリングリストの案内