ruby-trunk-changes r62697 - r62705

今日は configure の --disable-mathn オプション追加や net/http の不正な URI へのエラー対応などがありました。

kazu: r62697 2018-03-08 22:00:04 +0900

doc/NEWS-2.5.0 の typo 修正。

naruse: r62698 2018-03-09 01:07:54 +0900

標準添付ライブラリ net/http で渡された URI が host の部分を持たないような URI だった時に ArgumentError 例外を発生させるように修正しています。 https://github.com/ruby/ruby/pull/1278

svn: r62699 2018-03-09 01:07:55 +0900

version.h の日付更新。

nobu: r62700 2018-03-09 10:51:25 +0900

complex.c の rb_funcall() でメソッド呼び出しする関数を定義するためのマクロ math1() と math2() はもう未使用になっていたので削除しています。

nobu: r62701 2018-03-09 11:06:39 +0900

complex.c の f_add(), f_mul(), f_sub() で real, imag が 0 や 1 の時の最適化を PRESERVE_SIGNEDZERO というマクロ定義をみて分岐していたのを消しています。なんだっけこのマクロ。今は常に定義される状態になってる(けどもう参照しているところがなくなってるので消してもよさそう)。

nobu: r62702 2018-03-09 12:02:08 +0900

r62701 の続きで FIXNUM_ZERO_P() や Fixnum の 1 かどうかの判定の前に FIXNUM_P() で T_FIXNUM かどうかチェックしていましたが、不要なので削除しています。まあ Fixnum の 1 との比較は VALUE をそのまま比較すればいいというのはある程度実装に依存していますが(Fixnum は常に即値)。

nobu: r62703 2018-03-09 12:51:04 +0900

complex.c, rational.c および拡張ライブラリ date の ext/date/date_core.c に assert(3) を呼んで有効な時に標準エラー出力にメッセージを吐いてるところがあったので削除しています。

nobu: r62704 2018-03-09 12:57:34 +0900

math.c の rb_math_log() を math_log() を呼び出す wrapper として定義していたのを、逆に math_log() を rb_math_log() を呼ぶように変更しています。math_log() の最後の unused_obj という引数は未使用なので。

nobu: r62705 2018-03-09 13:24:48 +0900

configure のオプションに --disable-mathn を追加して、マクロ CANONICALIZATION_FOR_MATHN の定義を config.h に出していたのをコンパイルオプション XCFLAGS に -D で追加するようにしています。拡張ライブラリのビルド時に定義しないようにするためみたいです。