[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 メーリングリストの案内