ruby-trunk-changes r40468 - r40484

今日は Rinda::RingServer の機能拡張、クロスコンパイル時のビルドエラー対策、REXML の不具合修正などがありました。

akr:r40468 2013-04-25 23:17:33 +0900

拡張ライブラリ curses の extconf.rb でも openssl と同様に --with-curses-version={function,variable} というプラットフォーム依存の検出を指定できるようにするオプションを追加しています。 これもクロスコンパイル時のためとのこと。

shirosaki:r40469 2013-04-26 00:36:30 +0900

r39891 で Rinda のテストで子プロセスを SIGTERM で停止しようとしているところ、Windows 版では SIGTERM は利用できないので SIGKILL を使うようにしています。

shirosaki:r40470 2013-04-26 00:36:33 +0900

Rinda::RingServer.new でインスタンス変数 @sockets にソケットのオブジェクトを格納するのを make_socket メソッド内で行うように変更しています。initialize 後に make_socket メソッドを呼ばれた場合のことを考慮するためだそうです。

svn:r40471 2013-04-26 00:36:34 +0900

version.h の日付更新。

shirosaki:r40472 2013-04-26 00:43:22 +0900

r39896 でコメントアウトから戻して r39908 で IPv6 の multicast のインタフェースを選択するようにした Rinda::RingServer のテストが Windows 版でエラーになるのに対策しています。Rinda::RingServer.new の address に配列を受け付けるようにして interface address と multicast address を独立して指定できるようにしています。 [ruby-core:53692] [Bug #8159]

akr:r40473 2013-04-26 12:43:19 +0900

拡張ライブラリ curses の cueses でチェックの順序の入れ替えと、socket の extconf.rb で UNIX ドメインソケットでの fd passing のチェックを recvmsg の存在チェックと struct msghdr のメンバ msg_control の存在チェックの結果をみて利用可能なときだけチェックするようにしています。いずれも不要なチェックを省くだけで結果には影響なさそうな気がします。

akr:r40474 2013-04-26 12:51:01 +0900

configure.in の AC_FUNC_SETPGRP の呼び出し部分にコメントを追加しています。クロスコンパイル時に問題があるみたいです。 参考URL https://lists.gnu.org/archive/html/bug-autoconf/2013-02/msg00002.html

zzak:r40475 2013-04-26 14:36:51 +0900

Rss::AtomRSS::Maker の rdoc コメントを全体的に追加しています。

akr:r40476 2013-04-26 17:43:37 +0900

ARM 向けのクロスコンパイル時に IS_STACK_DIR_UPPER() の判定に必要な変数が宣言されないためコンパイルエラーになるそうで thread_pthread.c の ruby_init_stack() の machine stack のアドレス範囲を計算するところで STACK_GROW_DIR_DETECTION を追加しています。

akr:r40477 2013-04-26 17:45:02 +0900

configure.in の AC_FUNC_GETPGRP の呼び出し部分にも古い autoconf で問題があることをコメントとして追記しています。参考URL http://lists.gnu.org/archive/html/bug-gnu-utils/2001-09/msg00181.html
autoconf 2.52 あたりの話らしいので最近のディストリビューションなどではたいてい大丈夫だと思います。

akr:r40478 2013-04-26 18:16:14 +0900

seekdir(3) が利用できない環境で Dir#seek の実装である dir_seek() は rb_f_notimplement に define しているのに dir_seek を利用している Dir#set_pos は考慮されていなかったので、同じく rb_f_notimplement にするようにしています。

akr:r40479 2013-04-26 18:42:14 +0900

r40464 で 拡張ライブラリ socket の extconf.rb に追加した --{enable,disable}-close-fds-by-recvmsg-with-peek オプションのチェックで enable_config メソッドのブロック渡しを利用するようにしています。ついでに警告やメッセージで recvmsg の fd passing の機能についてのチェックであることを明示するようにしています。

kou:r40480 2013-04-26 21:21:45 +0900

r40475 の rdoc コメントのインデント修正。

kou:r40481 2013-04-26 21:48:59 +0900

r40475 の rdoc コメントのインデント修正。

kou:r40482 2013-04-26 22:56:34 +0900

標準添付ライブラリ rexml の REXML::Attributes#to_a が返す値が期待したものと違っていた不具合を修正しています。 いやー正直新しい挙動と見較べてどっちが期待されたものなのか判断がつかないです。 XML むずかしい。 [ruby-dev:47277] [Bug #8301]

kou:r40484 2013-04-26 23:36:30 +0900

標準添付ライブラリ rexml の REXML::Text.normalize の filter という機能がうまく働いていなかったのを修正しています。 しかし報告者もメンテナも何につかうのかわからないという機能なので、必要なのか疑問が……*1[ruby-dev:47278] [Bug #8302]

*1:多分報告者の ohai さんはドキュメント(るりま?)のメンテナンスをしていて気がついたのではないかと思います