ruby-trunk-changes r51843 - r51853

今日は net/ftp の MLST, MLSD コマンド対応と結果の属性取得メソッドの追加や、定数の enum 化などがありました。

shugo: r51843 2015-09-12 23:09:45 +0900

r51840 で標準添付ライブラリ net/ftp に MLST と MLSD に対応したので、そのレスポンスを表すクラス MLSxEntry を導入して file?, directory?, appendable?, creatable?, deleteable?, enterable? renamable?, listable?, directory_makable?, purgeable?, readable?, writable? などのメソッドで perm フィールドの内容をチェックできるようにしています。

svn: r51844 2015-09-12 23:12:19 +0900

r51843 の行末の空白除去。

svn: r51845 2015-09-12 23:13:09 +0900

r51843 で新規追加されたファイルの svn property 設定。

ko1: r51846 2015-09-13 03:47:43 +0900

vm_push_frame() から type 毎の block, method entry, cref などのチェックをする部分を vm_check_frame() という関数に切り出しています。また vm_push_frame() でキャストの追加や sp の操作などリファクタリングvm_call_iseq_setup_normal() で VM スタックのローカル変数領域のクリアをしていたのをやめています(vm_push_frame() で初期化されるので冗長)。

svn: r51847 2015-09-13 03:48:00 +0900

version.h の日付更新。

shugo: r51848 2015-09-13 09:47:01 +0900

標準添付ライブラリ net/ftp で r51840 に続いて MLSxEntry に size, modify, create, type, unique, perm, lang, media_type, charset などのメソッドを追加しています。

nobu: r51849 2015-09-13 11:01:22 +0900

configure で enum 型の定数に ULONG_LONG_MAX または ULONG_MAX を値として指定できるかどうかをチェックして ENUM_OVER_INT というマクロを定義するようにしています。

nobu: r51850 2015-09-13 11:02:58 +0900

r51849 での ENUM_OVER_INT のチェックで ULONG_LONG_MAX という定数を使っていたところは ULLONG_MAX を利用するように修正しています。

nobu: r51851 2015-09-13 11:03:31 +0900

include/ruby/ruby.h と include/ruby/encoding.h で定数を #define で定数マクロとして定義していたのを全体的に enum を使った定義にしたり、元々 enum になっていたものも無名だったものに名前をつけたり 名前に prefix をつけたりと整理しています。 ここで r51850 で追加された ENUM_OVER_INT が利用されています。

kazu: r51852 2015-09-14 01:42:57 +0900

r51833 の ChangeLog エントリの typo 修正。 r51839 でも修正されてましたがまだ typo してたんですね。

svn: r51853 2015-09-14 01:43:16 +0900

version.h の日付更新。