成瀬です。

SASADA Koichi wrote:
>  10/16 10:00 の午前に東京は秋葉原で,まつもとさんを交えてオフライン
> 開発ミーティングを開催することになりました.議題は 1.9.1 spec freeze
> です.
>   http://redmine.ruby-lang.org/wiki/ruby/DevelopersMeeting20081016

この議事録っぽいものをおいておきます。
質問ツッコミお待ちしております。


= M17N 落ち穂拾い

== ruby のコマンドラインオプション -K -E -U

実装完了

== String#encode

引数なしの String#encode は default_internal に変換する。
ただし、変換できない文字、バイトは置換文字に置き換える。

= Dir.entries 等の外部入力で不正な文字が来た場合について

* external_encoding のまま渡す。
* 例外
* replace
* dummy

結論、「external_encoding のまま渡す」。つまり、

:変換あり
  成功: internal
  失敗: external
:変換なし
  internal = external

文字列を受け取る側は、受け取った String に対して、
とりあえず String#encode すればよろしい。

ただし、元のバイトに戻らない場合があるので、
そのような場合には元の文字列を取っておくこと。
(例として、ファイルパス等)
=> 将来的にはファイルパスは Pathname を返し、
   元のバイト列と、変換後の文字列両方を保持するようにするのがよい。

== ソースないのリテラル文字列について
リテラルは default_internl に変換しない

正規表現等において、ソースコードにおける意味と変換後の意味が、
大きく異なってしまう場合があるため。
(例として、/[亜-煕]/ など)

== ARGV
→ locale encoding に合わせて返す

== ENV
→ locale encoding に合わせて返す

== GUI
削る

これなんだっけ?

== socket
ASCII-8BIT に変更

== Readline
History に encoding をつける > 高尾さんお願いします

== その他
* GzipReader [ruby-dev:36801]
* ファイルパス変換 > 成瀬


= test/unit の autorunner がまともに動かない件について

誰かなんとかして・・・
→ akr さんがなんとかしてくれました、ありがたや


= ABI 互換性について
* 1.9 シリーズでの fix は見送る
* 1.9.1 は lib/ruby/1.9.1 になる
* 互換性が壊れたら lib/ruby/1.9.x になる


= marshal

== 1.8 と 1.9 の 正規表現の互換性について(\u 等)
1.9 では 1.8 にはなかった \uXXXX という記法が追加されているため、
従来「u」と解されていた「\u」で例外が発生するようになった。[ruby-dev:36750]

:解決案
  1.8 を修正し、エスケープするようにする。
  1.9 で読み込む時はその上で読み込むことを推奨。

[ruby-dev:36750] から始まるスレッドで議論中


= 徒然 binary mode

== rb

rb および wb は改行変換のみを行い、encoding は設定しなかった。
これは、rb や wb は Windows 環境で LF 改行のテキストを書き込む際に、
rb や wb を用いていたことによる。
しかし、default_internal 導入によって、この事情は変化したのではあるまいか。

議論の結果、encoding も変更することに。
ただし、encoding を変更せずにモード設定のみ行うオプションの記法は未決。

== 現在の rb 一覧表

うささんが書いてくださいました。 [ruby-dev:36820]
ツッコミお待ちしております。

== binmode

encoding に ASCII-8BIT を設定する

= warning

現在 warning はいつでも同じ物が出るが、開発者向けと利用者向けで分けるべきではないか。
たとえば、バージョン依存の obsolete 等は開発者向けであるため、
開発時のみに出るべきであり、利用時に出てもうれしくない。

-- 
NARUSE, Yui  <naruse / airemix.jp>