[#34911] erb still treats $KCODE — "Yusuke ENDOH" <mame@...>

遠藤です。

16 messages 2008/06/03

[#34923] open() and encodings — "NARUSE, Yui" <naruse@...>

成瀬です。

53 messages 2008/06/03
[#34924] Re: open() and encodings — Yukihiro Matsumoto <matz@...> 2008/06/04

まつもと ゆきひろです

[#34931] Re: open() and encodings — "NARUSE, Yui" <naruse@...> 2008/06/04

成瀬です。

[#34934] Re: open() and encodings — Yukihiro Matsumoto <matz@...> 2008/06/05

まつもと ゆきひろです

[#34935] Re: open() and encodings — "U.Nakamura" <usa@...> 2008/06/05

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

[#34936] Re: open() and encodings — Yukihiro Matsumoto <matz@...> 2008/06/05

まつもと ゆきひろです

[#34937] Re: open() and encodings — "U.Nakamura" <usa@...> 2008/06/05

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

[#34948] Re: open() and encodings — Hidetoshi NAGAI <nagai@...> 2008/06/05

永井@知能.九工大です.

[#34961] Re: open() and encodings — "NARUSE, Yui" <naruse@...> 2008/06/05

成瀬です。

[#34997] Re: [ruby-changes:5517] Ruby:r17021 (trunk): * vm_insnhelper.c, vm.c, proc.c (proc_call): allow call method with — SASADA Koichi <ko1@...>

 ささだです.

19 messages 2008/06/08
[#34998] Re: [ruby-changes:5517] Ruby:r17021 (trunk): * vm_insnhelper.c, vm.c, proc.c (proc_call): allow call method with — Yukihiro Matsumoto <matz@...> 2008/06/08

まつもと ゆきひろです

[#34999] Re: [ruby-changes:5517] Ruby:r17021 (trunk): * vm_insnhelper.c, vm.c, proc.c (proc_call): allow call method with — SASADA Koichi <ko1@...> 2008/06/08

 ささだです.

[#35000] Re: [ruby-changes:5517] Ruby:r17021 (trunk): * vm_insnhelper.c, vm.c, proc.c (proc_call): allow call method with — Yukihiro Matsumoto <matz@...> 2008/06/08

まつもと ゆきひろです

[#35001] Re: [ruby-changes:5517] Ruby:r17021 (trunk): * vm_insnhelper.c, vm.c, proc.c (proc_call): allow call method with — SASADA Koichi <ko1@...> 2008/06/08

 ささだです.

[#35003] Re: [ruby-changes:5517] Ruby:r17021 (trunk): * vm_insnhelper.c, vm.c, proc.c (proc_call): allow call method with — Yukihiro Matsumoto <matz@...> 2008/06/08

まつもと ゆきひろです

[#35007] Re: [ruby-changes:5517] Ruby:r17021 (trunk): * vm_insnhelper.c, vm.c, proc.c (proc_call): allow call method with — "Yusuke ENDOH" <mame@...> 2008/06/09

遠藤です。

[#35013] Re: [ruby-changes:5517] Ruby:r17021 (trunk): * vm_insnhelper.c, vm.c, proc.c (proc_call): allow call method with — Yukihiro Matsumoto <matz@...> 2008/06/09

まつもと ゆきひろです

[#35019] Re: [ruby-changes:5517] Ruby:r17021 (trunk): * vm_insnhelper.c, vm.c, proc.c (proc_call): allow call method with — "Yusuke ENDOH" <mame@...> 2008/06/09

遠藤です。

[#35021] Re: [ruby-changes:5517] Ruby:r17021 (trunk): * vm_insnhelper.c, vm.c, proc.c (proc_call): allow call method with — Yukihiro Matsumoto <matz@...> 2008/06/09

まつもと ゆきひろです

[#35020] Ruby 1.8.7-p17 has been released — "Akinori MUSHA" <knu@...>

 Ruby 1.8.7-p17 をリリースしました。

13 messages 2008/06/09

[#35044] deadlock detection for 1.9 — "Yusuke ENDOH" <mame@...>

遠藤です。

14 messages 2008/06/10

[#35108] Re: [ruby-list:44988] Re: 各ブランチの計画 — Urabe Shyouhei <shyouhei@...>

卜部です。

15 messages 2008/06/15

[#35200] Win32 Unicode console output — Tietew <tietew@...>

Tietew です。

22 messages 2008/06/22
[#35270] Re: Win32 Unicode console output — "NARUSE, Yui" <naruse@...> 2008/06/29

[#35226] [PATCH] freeze required_paths in gem_prelude.rb — "Keita Yamaguchi" <keita.yamaguchi@...>

山口と申します。

14 messages 2008/06/25
[#35228] Re: [PATCH] freeze required_paths in gem_prelude.rb — "Yusuke ENDOH" <mame@...> 2008/06/25

遠藤です。

[#35230] Re: [PATCH] freeze required_paths in gem_prelude.rb — Yukihiro Matsumoto <matz@...> 2008/06/25

まつもと ゆきひろです

[#35227] [Bug:trunk] Re: [ruby-cvs:24798] Ruby:r17573 (trunk): * parse.y (primary): make functional-style not operator to act — "U.Nakamura" <usa@...>

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

7 messages 2008/06/25

[#35247] Re: [ruby-list:45128] Re: Ruby 1.9.0/1.8.7/1.8.6/1.8.5 new releases (Security Fix) — Urabe Shyouhei <shyouhei@...>

卜部です。-devに振ります。ひょっとしてこんなパッチでSEGVのほうはおさまっ

13 messages 2008/06/26
[#35250] Re: [ruby-list:45128] Re: Ruby 1.9.0/1.8.7/1.8.6/1.8.5 new releases (Security Fix) — Yukihiro Matsumoto <matz@...> 2008/06/26

まつもと ゆきひろです

[#35273] $SAFEの今後 — Urabe Shyouhei <shyouhei@...>

〜これまでのあらすじ〜

24 messages 2008/06/30
[#35293] Re: $SAFEの今後 — Yukihiro Matsumoto <matz@...> 2008/07/01

まつもと ゆきひろです

[#35298] Re: $SAFEの今後 — Urabe Shyouhei <shyouhei@...> 2008/07/01

卜部です。

[#35303] Re: $SAFEの今後 — Yukihiro Matsumoto <matz@...> 2008/07/01

まつもと ゆきひろです

[#35304] Re: $SAFEの今後 — Urabe Shyouhei <shyouhei@...> 2008/07/01

卜部です。

[#35305] Re: $SAFEの今後 — Yukihiro Matsumoto <matz@...> 2008/07/01

まつもと ゆきひろです

[#35306] Re: $SAFEの今後 — "Shugo Maeda" <shugo@...> 2008/07/02

前田です。

[#35278] [BUG] test_win32ole_event.rb in trunk — Masaki Suketa <masaki.suketa@...>

助田です。

22 messages 2008/06/30
[#35281] Re: [BUG] test_win32ole_event.rb in trunk — "U.Nakamura" <usa@...> 2008/06/30

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

[#35282] Re: [BUG] test_win32ole_event.rb in trunk — arton <artonx@...> 2008/06/30

artonです。

[#35295] Re: [BUG] test_win32ole_event.rb in trunk — Masaki Suketa <masaki.suketa@...> 2008/07/01

助田です。

[ruby-dev:34934] Re: open() and encodings

From: Yukihiro Matsumoto <matz@...>
Date: 2008-06-05 01:47:58 UTC
List: ruby-dev #34934
まつもと ゆきひろです

In message "Re: [ruby-dev:34931] Re: open() and encodings"
    on Thu, 5 Jun 2008 07:16:24 +0900, "NARUSE, Yui" <naruse@airemix.jp> writes:

|> 「ファイルシステムのエンコーディング」って変換して渡せるほど
|> 信頼できるものなんでしょうか。変換ってのは間違ってると致命的
|> ですから。
|
|変換で間違えて読めないのは、実際はそこまで致命的ではないと思うのです。
|そのようなケースではどのみちどこかで変換したであろうはずで、
|この場合どこで変換しても注意深くしないと読めないものは読めないわけです。
|ならば、読めるものは楽に読めた方がいいであろうと。
|
|どちらかといえば気にしていたのは読めてはならないものを読めてしまう場合でしたが、
|こちらも結局変換が必要な場合における脅威は増減しないであろうという見解です。

ごめんなさい、おっしゃることがよくわかりませんでした。
成瀬さんのおっしゃる「読める」というのは、「人間に読める」と
いう意味なんでしょうか。そうだとすると私はそれはさほど重視し
ていなくて、むしろ「壊れていない」ことを重視したいところです。

変換、特に暗黙の変換が入ると、文字が変化する(正規化や多対多対
応など)可能性があり(まあ、この点について改めて成瀬さんに指摘
する必要はないのかもしれませんが)、そのような問題の発生を助長
しかねない仕様の導入にはとくに慎重であるべきだと考えます。

|こちらはUNIXにおけるデフォルトがlocaleでは適切とは言えない、
|ということでしょうか。

そうですね。それに基づいてファイル名の暗黙の変換が行われるの
であれば、間違っていると影響が非常に大きいのですが、localeは
そこまで信頼できる情報ではないでしょう。ただエンコーディング
タグを付けるだけであればそれほど不適切とは言えないでしょうが。

|と、すると、デフォルトは ASCII-8BIT あたりにして変換しない方がいいのですかねぇ。

他のところでも徹底されている「明示的に指定しない限り変換しな
い」というポリシーは維持したいところです。

|> えーと、IO.readなどの類推からいえば、まず
|> 
|>   open("filename", encoding: "EUC-JP:Shift_JIS")
|> 
|> の導入が先だろうと思います。で、internal_encodingなどに反対
|> するわけではありませんが、その場合にはopen_key_argsも同じオ
|> プションを受け付けるべきでしょうね。
|
|なるほど。
|そのように変更してみました。

パッチを読んでみました。

* Win32ではrb_filesystem_encoding()がrb_locale_encoding()になっ
  てますが、それはそれでいいんですか?

* 上にも書いた通り、明示的に指定しない限りパスのエンコーディ
  ングは変換してほしくありません。少なくともUNIX系OS上では。
  パスのエンコーディングがOSとして定義されているWindowsやOSX
  では、RubyがUTF-16を扱いにくいのでデフォルトでUTF-8 に変換
  することはアリだと思います。

* external_encoding, internal_encodingですが、改めて考えてみ
  ると、これだと現状ではできないexternal_encodingを指定せずに
  internal_encodingを指定することが可能ですよね。検証していな
  いんですが、ほかの場所でそのような組み合わせを想定していな
  いんで、ちゃんと動かないような。たぶん、internal_encoding
  だけが指定された時にはエラーになるべきなんだと思います。少
  なくともファイルの中身に関しては。

  ディレクトリに関してはファイルシステムのエンコーディングが
  決まっているOSでは問題ありませんが、決まらないOS(UNIX系)で
  はやはりエラーになるべきではないかと。

				まつもと ゆきひろ /:|)

In This Thread