ruby-trunk-changes r55318 - r55332

今日も String の casemap 関連のメソッドの実装変更などがありました。

nobu: r55318 2016-06-08 10:09:21 +0900

標準添付ライブラリ date の変数に const 修飾子をつけたり、文字列の配列を固定幅の char[] 配列の配列として宣言しなおしたりしています。

svn: r55319 2016-06-08 10:09:22 +0900

version.h の日付更新。

nobu: r55320 2016-06-08 10:09:23 +0900

拡張ライブラリ date の date_parse.c に埋め込まれていたタイムゾーンの名前と offset のテーブルを ext/date/zonetab.list というファイルに分離して gperf コマンドで zonetab.h というヘッダファイルを生成して利用するようにしています。けど common.mk には zonetab.c というファイル名が書かれてますね。

nobu: r55321 2016-06-08 11:08:00 +0900

Proc#curry のテストメソッドから Proc#lambda? のテストをしている部分を別のテストメソッドに切り出して、Proc オブジェクトを proc(&l) のようにブロック引数として渡した時に、Proc#lambda? はその Proc オブジェクトの生成方法によらず、元の Proc オブジェクトの lambda? が残ることを確認するテストを追加しています。

nobu: r55322 2016-06-08 14:41:08 +0900

r55320 の common.mk の zonetab.c → zonetab.h に修正しています。

nobu: r55323 2016-06-08 15:29:14 +0900

ext/date/zonetab.list および生成された zonetab.h で static 関数のプロトタイプ宣言を前方に追加しています。

shugo: r55324 2016-06-08 16:06:57 +0900

標準添付ライブラリ net/smtp の Net::SMTP#get_ok, #get_response で改行コード (\r および \n いずれか)を含んでいるとエラーにするようにしています。 RFC5321 によると許容されていないとのこと。

shugo: r55325 2016-06-08 16:10:15 +0900

r55324 の ChangeLog エントリに謝辞を追加しています。

nobu: r55326 2016-06-08 16:47:39 +0900

拡張ライブラリ stringio に README ファイルというのがあったのを README.md にして Markdown 記法で書きなおしています。こんなファイルあったのか。

ngoto: r55327 2016-06-08 20:36:57 +0900

Solaris Studio 12 でのビルドエラー修正のため PUREFUNC() マクロの引数に渡している余分なセミコロンを除去しています。 [ruby-dev:49651] [Bug #12470]

ngoto: r55328 2016-06-08 20:56:33 +0900

r55303 の make update-XXX でサブディレクトリの移動とチェックを変更したのを revert しています。 Solaris 10 でエラーになったそうです。 [ruby-dev:49654] [Bug #12471]

duerst: r55329 2016-06-08 21:28:42 +0900

String#upcase!, #downcase! などで ASCII 文字のみの処理を行う条件を修正しています。また rb_str_ascii_casemap() という関数を追加して #downcase, #downcase! では :ascii オプションが指定された時の処理はまた別に分岐して行うようにしています。

duerst: r55330 2016-06-08 21:57:44 +0900

r55329 の #downcase, #downcase! の :ascii オプションを渡した時と同様に rb_str_upcase_bang() でも rb_str_ascii_casemap() を利用するようにしていますが、これは次で revert されています。

duerst: r55331 2016-06-08 22:22:28 +0900

r55330 が無限ループに陥いる可能性があるからということで revert されています。 r55329 の rb_str_downcase_bang() のほうはいいのかな。

kazu: r55332 2016-06-08 23:11:17 +0900

r55329 で追加された rb_str_ascii_casemap() の変数の型の修正。