[#35333] [Ruby 1.8 - Bug #221] (Open) Net::SMTPでSMTPのHELO/EHLOにデフォルトで不正なホスト名を使用 — Anonymous <redmine@...>

チケット #221 が報告されました。 (by Anonymous)

31 messages 2008/07/03
[#35521] [Ruby 1.8 - Bug #221] Net::SMTPでSMTPのHELO/EHLOにデフォルトで不正なホスト名を使用 — Anonymous <redmine@...> 2008/07/15

チケット #221 が更新されました。 (by Anonymous)

[#35522] Re: [Ruby 1.8 - Bug #221] Net::SMTPでSMTPのHELO/EHLOにデフォルトで不正なホスト名を使用 — とみたまさひろ <tommy@...> 2008/07/15

とみたです。

[#35527] Re: [Ruby 1.8 - Bug #221] Net::SMTPでSMTPのHELO/EHLOにデフォルトで不正なホスト名を使用 — とみたまさひろ <tommy@...> 2008/07/16

とみたです。

[#35537] Re: [Ruby 1.8 - Bug #221] Net::SMTPでSMTPのHELO/EHLOにデフォルトで不正なホスト名を使用 — Urabe Shyouhei <shyouhei@...> 2008/07/16

卜部です。

[#35355] リリース前ToDoリスト — Yukihiro Matsumoto <matz@...>

まつもと ゆきひろです

42 messages 2008/07/04
[#35365] Re: リリース前ToDoリスト — Nobuyoshi Nakada <nobu@...> 2008/07/04

なかだです。

[#35366] Re: リリース前ToDoリスト — Yukihiro Matsumoto <matz@...> 2008/07/04

まつもと ゆきひろです

[#35464] Re: リリース前ToDoリスト — Takao Kouji <kouji@...7.net> 2008/07/13

高尾宏治です。

[#35514] Re: リリース前ToDoリスト — Takao Kouji <kouji@...7.net> 2008/07/15

高尾宏治です。

[#35515] Re: リリース前ToDoリスト — Nobuyoshi Nakada <nobu@...> 2008/07/15

なかだです。

[#35519] Re: リリース前ToDoリスト — Takao Kouji <kouji@...7.net> 2008/07/15

高尾宏治です。

[#35523] Re: リリース前ToDoリスト — Nobuyoshi Nakada <nobu@...> 2008/07/16

なかだです。

[#35528] Re: リリース前ToDoリスト — "Shugo Maeda" <shugo@...> 2008/07/16

前田です。

[#35531] Re: リリース前ToDoリスト — Nobuyoshi Nakada <nobu@...> 2008/07/16

なかだです。

[#35532] Re: リリース前ToDoリスト — "Shugo Maeda" <shugo@...> 2008/07/16

前田です。

[#35534] Re: リリース前ToDoリスト — Nobuyoshi Nakada <nobu@...> 2008/07/16

なかだです。

[#35551] [Ruby 1.8 - Bug #212] Issues with Readline in Mac OS X — Takao Kouji <kouji@...7.net> 2008/07/16

高尾宏治です。

[#35553] Re: [Ruby 1.8 - Bug #212] Issues with Readline in Mac OS X — "Keita Yamaguchi" <keita.yamaguchi@...> 2008/07/16

山口と申します。

[#35556] Re: [Ruby 1.8 - Bug #212] Issues with Readline in Mac OS X — Takao Kouji <kouji@...7.net> 2008/07/17

高尾宏治です。

[#35588] Re: [Ruby 1.8 - Bug #212] Issues with Readline in Mac OS X — Takao Kouji <kouji@...7.net> 2008/07/19

高尾宏治です。

[#35592] Re: [Ruby 1.8 - Bug #212] Issues with Readline in Mac OS X — Takao Kouji <kouji@...7.net> 2008/07/19

高尾宏治です。

[#35629] Re: [Ruby 1.8 - Bug #212] Issues with Readline in Mac OS X — "M.Suzuki" <macobasi@...> 2008/07/22

GyRCJDMkcyRLJEEkTyEjGyhCTS5TdXp1a2kbJEIkRyQ5ISMbKEINCg0KGyRCO24kNyRGJF8kXiQ3

[#35639] Re: [Ruby 1.8 - Bug #212] Issues with Readline in Mac OS X — Takao Kouji <kouji@...7.net> 2008/07/23

高尾宏治です。

[#35372] patch for ruby-core:17472 — wanabe <s.wanabe@...>

ワナベと申します。

16 messages 2008/07/05
[#35378] Re: patch for ruby-core:17472 — Nobuyoshi Nakada <nobu@...> 2008/07/06

なかだです。

[#35404] ruby_1_8_6/ruby_1_8_7ブランチのメンテナンスポリシーについて — "Shugo Maeda" <shugo@...>

前田です。

54 messages 2008/07/09
[#35405] Re: ruby_1_8_6/ruby_1_8_7ブランチのメンテナンスポリシーについて — Urabe Shyouhei <shyouhei@...> 2008/07/09

卜部です。

[#35413] Re: ruby_1_8_6/ruby_1_8_7ブランチのメンテナンスポリシーについて — "Shugo Maeda" <shugo@...> 2008/07/09

前田です。

[#35415] Re: ruby_1_8_6/ruby_1_8_7ブランチのメンテナンスポリシーについて — Urabe Shyouhei <shyouhei@...> 2008/07/09

卜部です。

[#35418] Re: ruby_1_8_6/ruby_1_8_7ブランチのメンテナンスポリシーについて — "Shugo Maeda" <shugo@...> 2008/07/10

前田です。

[#35425] Re: ruby_1_8_6/ruby_1_8_7ブランチのメンテナンスポリシーについて — Urabe Shyouhei <shyouhei@...> 2008/07/10

Shugo Maeda さんは書きました:

[#35427] Re: ruby_1_8_6/ruby_1_8_7ブランチのメンテナンスポリシーについて — "GOTO Kentaro" <gotoken@...> 2008/07/10

どこにぶら下げるのがいいのかわからないので、単に意思表明ですが、

[#35429] Re: ruby_1_8_6/ruby_1_8_7ブランチのメンテナンスポリシーについて — Urabe Shyouhei <shyouhei@...> 2008/07/10

卜部です。

[#35440] Re: ruby_1_8_6/ruby_1_8_7ブランチのメンテナンスポリシーについて — "Akinori MUSHA" <knu@...> 2008/07/11

At Fri, 11 Jul 2008 01:00:29 +0900,

[#35442] Re: ruby_1_8_6/ruby_1_8_7ブランチのメンテナンスポリシーについて — "Shugo Maeda" <shugo@...> 2008/07/11

前田です。

[#35451] Re: ruby_1_8_6/ruby_1_8_7ブランチのメンテナンスポリシーについて — Urabe Shyouhei <shyouhei@...> 2008/07/12

そういえばこの部分に言及するのを忘れていた

[#35454] Re: ruby_1_8_6/ruby_1_8_7ブランチのメンテナンスポリシーについて — "Shugo Maeda" <shugo@...> 2008/07/12

前田です。

[#35455] Re: ruby_1_8_6/ruby_1_8_7ブランチのメンテナンスポリシーについて — Urabe Shyouhei <shyouhei@...> 2008/07/12

卜部です。

[#35456] Re: ruby_1_8_6/ruby_1_8_7ブランチのメンテナンスポリシーについて — "Shugo Maeda" <shugo@...> 2008/07/13

前田です。

[#35462] Re: ruby_1_8_6/ruby_1_8_7ブランチのメンテナンスポリシーについて — Tanaka Akira <akr@...> 2008/07/13

In article <704d5db90807121803o5ea67361ucbf968f8a18a845d@mail.gmail.com>,

[#35465] Re: ruby_1_8_6/ruby_1_8_7ブランチのメンテナンスポリシーについて — Urabe Shyouhei <shyouhei@...> 2008/07/13

Tanaka Akira さんは書きました:

[#35474] Re: ruby_1_8_6/ruby_1_8_7ブランチのメンテナンスポリシーについて — "Shugo Maeda" <shugo@...> 2008/07/14

前田です。

[#35457] Re: ruby_1_8_6/ruby_1_8_7ブランチのメンテナンスポリシーについて — Urabe Shyouhei <shyouhei@...> 2008/07/13

卜部です。

[#35472] Re: ruby_1_8_6/ruby_1_8_7ブランチのメンテナンスポリシーについて — "Shugo Maeda" <shugo@...> 2008/07/14

前田です。

[#35473] Re: ruby_1_8_6/ruby_1_8_7ブランチのメンテナンスポリシーについて — Urabe Shyouhei <shyouhei@...> 2008/07/14

卜部です。

[#35475] Re: ruby_1_8_6/ruby_1_8_7ブランチのメンテナンスポリシーについて — "Shugo Maeda" <shugo@...> 2008/07/14

前田です。

[#35420] Re: [ruby-cvs:25212] Ruby:r17993 (trunk): * test/ruby/envutil.rb (assert_normal_exit): finish writing script — Tanaka Akira <akr@...>

In article <200807100931.m6A9V4vi014459@ci.ruby-lang.org>,

11 messages 2008/07/10
[#35421] Re: [ruby-cvs:25212] Ruby:r17993 (trunk): * test/ruby/envutil.rb (assert_normal_exit): finish writing script — wanabe <s.wanabe@...> 2008/07/10

ワナベです。

[#35422] Re: [ruby-cvs:25212] Ruby:r17993 (trunk): * test/ruby/envutil.rb (assert_normal_exit): finish writing script — "U.Nakamura" <usa@...> 2008/07/10

こんにちは、なかむら(う)です。

[#35423] Re: [ruby-cvs:25212] Ruby:r17993 (trunk): * test/ruby/envutil.rb (assert_normal_exit): finish writing script — wanabe <s.wanabe@...> 2008/07/10

ワナベです。

[#35458] make profiler for gc — authorNari <authornari@...>

nariです。

21 messages 2008/07/13
[#35461] Re: make profiler for gc — Tanaka Akira <akr@...> 2008/07/13

In article <1153cee60807122239t19f6ae05vc0c1995c77349377@mail.gmail.com>,

[#35468] Re: make profiler for gc — authorNari <authornari@...> 2008/07/13

nariです。

[#35597] [request]C APIの拡張 — "Goro Fuji" <g.psy.va@...>

藤と申します。

15 messages 2008/07/20

[#35620] non-locale filename encoding — Tanaka Akira <akr@...>

Dir の使いかたとして、ファイル名のエンコーディングが locale

18 messages 2008/07/21
[#35634] Re: non-locale filename encoding — "NARUSE, Yui" <naruse@...> 2008/07/22

成瀬です。

[#35635] Re: non-locale filename encoding — Tanaka Akira <akr@...> 2008/07/23

In article <48866F3F.80906@airemix.jp>,

[#35642] Re: non-locale filename encoding — "NARUSE, Yui" <naruse@...> 2008/07/23

成瀬です。

[#35643] Re: non-locale filename encoding — Tanaka Akira <akr@...> 2008/07/23

In article <488771FD.4020800@airemix.jp>,

[#35649] PENDINGS.rb (Was: Re: [Ruby 1.9 - Bug #354] (Assigned) Test failure test/ruby/test_transcode.rb) — "Yusuke ENDOH" <mame@...>

遠藤です。

14 messages 2008/07/24
[#35650] Re: PENDINGS.rb (Was: Re: [Ruby 1.9 - Bug #354] (Assigned) Test failure test/ruby/test_transcode.rb) — Tanaka Akira <akr@...> 2008/07/24

In article <e0b1e5700807240845o4c09cfa5gae142c1dd0c74170@mail.gmail.com>,

[#35651] Re: PENDINGS.rb (Was: Re: [Ruby 1.9 - Bug #354] (Assigned) Test failure test/ruby/test_transcode.rb) — "Yusuke ENDOH" <mame@...> 2008/07/24

2008/07/25 1:02 Tanaka Akira <akr@fsij.org>:

[#35654] Re: PENDINGS.rb (Was: Re: [Ruby 1.9 - Bug #354] (Assigned) Test failure test/ruby/test_transcode.rb) — "NARUSE, Yui" <naruse@...> 2008/07/24

成瀬です。

[#35686] Re: PENDINGS.rb (Was: Re: [Ruby 1.9 - Bug #354] (Assigned) Test failure test/ruby/test_transcode.rb) — "Yusuke ENDOH" <mame@...> 2008/07/29

遠藤です。

[ruby-dev:35635] Re: non-locale filename encoding

From: Tanaka Akira <akr@...>
Date: 2008-07-23 04:16:23 UTC
List: ruby-dev #35635
In article <48866F3F.80906@airemix.jp>,
  "NARUSE, Yui" <naruse@airemix.jp> writes:

> あまりプログラムにがんばらせたくないなぁと思っているのですが、
> いちいち引数を与えあり、Ruby 自体ががんばるのもその中に入る
> という主張も成り立つのでしょうねぇ。

Dir の internal_encoding, external_encoding を使うには、プロ
グラムが変な方向にがんばる必要が有るように思えます。

> しかし、実際のところ、現在自動変換が行われるのは
> Windows くらいなわけで (これも検討中ではある)、
> たいていの場合は動作が変わらないわけです。
>
> とすると、田中さんの提案は、デフォルトをもっと自動変換側に
> 倒した場合に真価を発揮するのですかね。

いいえ。

たとえば、あるディレクトリの各ファイルのサイズを表示すること
を考えてみましょう。

% mkdir /tmp/xyz
% cd /tmp/xyz
% ruby -e 'open("\x91\x92\x93\x94", "w")'
% ls
????

ここで、エンコーディングを指定しなければ、以下のようになりま
す。

% ruby -e '
Dir.open(".") {|d|
  while n = d.read
    p [File.size(n), n]
  end
}'
[4096, "."]
[45056, ".."]
[0, "\x91\x92\x93\x94"]

このプログラムは、Unix では任意のファイル名について動作しま
す。たとえば、上記の \x91\x92\x93\x94 でも動きます。

しかし、Windows で、Unicode にはあるが、システムコードページ
では表現できない文字 (日本語版 Windows の場合でいえば、CP932
では表現できない文字) がファイル名に使われていると、おそらく
動かないでしょう。

Windows でそういうファイル名も扱おうと考えた場合、現時点では、
Ruby にはそのための機構が入っていないのでどう指定するかは明
らかでは有りませんが、仮に、:external_encoding=>"utf-16le"
とすると Unicode なファイル名を扱うようになり、
:external_encoding=>"utf-16le", :internal_encoding=>"utf-8"
とするとそれを UTF-8 にしてわたしてくれるしてみましょう。
そうすると次のようになります。

% ./ruby -e '
Dir.open(".", :external_encoding=>"utf-16le", :internal_encoding=>"utf-8") {|d|
  while n = d.read
    p [File.size(n), n]
  end
}'
-e:3:in `read': invalid byte sequence (RuntimeError)
        from -e:3:in `block in <main>'
        from -e:2:in `open'
        from -e:2:in `<main>'

しかし、残念なことに、これは Unix では動きません。
直接的には、上記のエラーは、"." を UTF-16LE から UTF-8 に変
換しようとして発生しています。

また、仮に変換エラーが起きなかったとしても、一般に変換を行う
とバイト列が変化します。しかし、File.size はファイルをちゃん
と同定する必要があります。とすると、逆変換が必要になりますが、
一般に変換・逆変換でバイト列が round trip する保証はありませ
ん。

明らかなケースとしては、GB18030 があげられます。GB18030 は
UTF-8 のスーパーセットですから、GB18030 -> UTF-8 -> GB18030
では元に戻らないケースが存在します。

そうすると、こういう変換を行うのは Windows だけに限定する必
要が有ります。そすると次のようになります。

% ./ruby -e '
opt = /windows/ =~ RUBY_PLATFORM ? {:external_encoding=>"utf-16le", :internal_encoding=>"utf-8"} : {}
Dir.open(".", opt) {|d|
  while n = d.read
    p [File.size(n), n]
  end
}'

結局、File.size は確実にファイルを同定する必要があって、その
点では文字コードの変換は基本的に邪魔で、厄介者でしか有りませ
ん。

もちろん、この問題は File.size だけではなくて、ファイルの実
体にアクセスするすべての操作 (stat, open, unlink, link, ...)
で問題になります。

そうすると、やはり変換していない生のファイル名が必要で、
Unix ではバイト列そのままで locale な encoding がついたもの、
Windows では UTF-8 なものを返すオプションを仮に
:native_filename=>true とすると、以下のように書けます。

% ruby -e '
Dir.open(".", :native_filename=>true) {|d|
  while n = d.read
    p [File.size(n), n]
  end
}'

ここでは、生のファイル名を p で表示していますが、ちゃんと
locale に従ってエンコードするなら、以下のように変換します。
(ここで変換に失敗したときの対処が必要かもしれません)

しかし、File.size に渡すファイル名は変換しませんし、してはい
けません。

% ruby -e '
Dir.open(".", :native_filename=>true) {|d|
  while n = d.read
    p [File.size(n), n.encode(Encoding.locale_charmap)]
  end
}'

また、ファイル名を標準入力に出すのでなく、GUI で表示するので
あれば、GUI の扱うコードに変換する必要があるでしょう。しかし、
やはりその場合でも File.size に渡すファイル名は変換しません
し、してはいけません。

このように、結局、ファイル名を確実に扱うのに必要な機構は、確
実にファイルを同定できるファイル名を得ることで、文字コードの
変換は邪魔です。

変換は表示の際に必要になりますが、対象がファイル名である以上、
ファイルが同定できなくなるのはむしろ問題が大きいと考えられま
す。

それなのに、なんでそんな機構を Dir につけるんでしょう?

>> internal_encoding, external_encoding って、どういうアプリケー
>> ションで役に立つんでしょう?
>
> 当時はあまり明示的に force_encoding / encode させたくないという趣旨でした。

locale に従って運用されているシステムを想定する用法なら
現状で force_encoding も encode も不要です。

そうでない想定をするなら、internal_encoding,
external_encoding が役に立つアプリケーションってどういうケー
スでしょう?

Windows で Unicode なファイル名を扱うときだとしても、その書
き方として、ポータブルにならない書き方を提案するのはよくない
んじゃないでしょうか。

internal_encoding, external_encoding が役に立つアプリケーショ
ンの具体的な例ってないんでしょうか?

> 結局のところ、プログラムで頑張らせるべきか、
> 設定の手段をするべきかという所なのですかねぇ。

Dir による変換は、プログラムを変な方向にがんばらせるのではな
いでしょうか。

Windows かどうかを条件判断するとか、逆変換が必要になるとか。

> # つまるところ、例外が出た時の処理の利便性か

逆変換が可能であるような場合には、変換しても問題がないのかも
しれません。そういう意味で、この問題を変換で例外が出たときの
問題というとらえかたはありえるでしょう。

しかし、私は、そもそも変換するのが問題だととらえています。
-- 
[田中 哲][たなか あきら][Tanaka Akira]

In This Thread