ruby-trunk-changes r66075 - r66092

今日は UNIX Time から Time オブジェクトを生成する Time.at にタイムゾーンを指定するキーワード引数 in を追加する変更や MiNGW での Refinements の(?)不具合修正などがありました。

nobu: r66075 2018-11-28 23:08:30 +0900

Time.mktime などで timezone 引数を変換するのにその渡されたオブジェクトのクラスメソッドに find_timezone というメソッドがあればそれを呼んで変換するようにしています。今のところ組込みでこのようなメソッドを持っているクラスはないので拡張用かテスト用だと思います。

nobu: r66076 2018-11-28 23:08:31 +0900

r66075 の続きで Time.local などで find_timezone メソッドを呼んで timezone の引数の変換をするのに対応しています。

nobu: r66077 2018-11-28 23:08:32 +0900

Time.at の最後の引数に utc_to_local というメソッドが呼べるオブジェクトが渡されたら timezone として扱うようにしていますが、次でキーワード引数に変更されています。

nobu: r66078 2018-11-28 23:08:33 +0900

Time.at にキーワード引数 in で timezone を渡せるようにしています。おお、ついに!

nobu: r66079 2018-11-28 23:08:34 +0900

.travis.yml および appveyor.yml で tzinfo と timezone という gem をインストールするようにして、インストールされていたらこれらを使ったテストを実行するように追加しています。

nobu: r66080 2018-11-28 23:08:35 +0900

Time オブジェクトの Marshal.load 時にも timezone オブジェクトを find_timezone メソッドで変換するようにしていましたが、例外発生時に rescue してそのまま fstring 化した文字列を使うようにしています。

nobu: r66081 2018-11-28 23:56:19 +0900

defs/gmake.mk で gem パッケージの実行コマンドファイルが libexec/ に置かれるようになったのに対応しています。

nobu: r66082 2018-11-29 10:09:47 +0900

標準添付ライブラリ time.rb の rdoc 用コメントを移動したり追記したりしています。

svn: r66083 2018-11-29 10:09:49 +0900

version.h の日付更新。

shyouhei: r66084 2018-11-29 11:47:36 +0900

.travis.yml で文字列が "[" で始まっているものが配列の開始と解釈されてエラーになってしまうので、複数行の文字列を書く記法に変更しています。

shyouhei: r66085 2018-11-29 14:26:05 +0900

.travis.yml で Unicode 用のデータファイルをキャッシュするため .downloaded-cache というディレクトリを tool/downloader.rb の --cache-dir オプションに渡すようにしています。

shyouhei: r66086 2018-11-29 15:16:31 +0900

HEAP_PAGE_ALIGN_LOG というメモリ管理で使うページサイズの指定を configre で OpenBSD と MirOS では sysconf(_SC_PAGESIZE) でページサイズを取得してそこから計算するようにしてたのを消して常に 14 (つまり 2^14=16KB)を使うようにしています。もう古い OpenBSD/MirBSD はサポートが切れてて考慮しなくて良くなったとのこと。 [ruby-core:80691] [Bug #13438]

ko1: r66087 2018-11-29 15:37:01 +0900

TracePoint#enable のキーワード引数 target を使った機能が MinGW でハングアップする? という不具合を修正。 コードの修正ではなくて configure で mingw64 の時 __builtin_setjmp() を利用するようにしています。うーむなんでだろ。 [ruby-core:90094] [Bug #15348]

k0kubun: r66088 2018-11-29 15:51:08 +0900

r66087 で MinGW でのテスト失敗が修正されたので r66062 実行除外していた rubyspec のテストを戻しています。

nobu: r66089 2018-11-29 16:07:40 +0900

これもよくわからないですが gmake.mk に revision.h のルールを追加して common.mk でのコマンドは GNU make の時はコメントアウトされた状態になるように? しています。

nobu: r66090 2018-11-29 16:45:54 +0900

r66089 の続きで common.mk の revision.h の更新のコマンドを exit のリダイレクトで空ファイルにしているのを(これやっぱり空ファイル作ってたんだ)、一度削除してから作成するようにしています。srcdir が read only で作成に失敗する時はビルドディレクトリに作るようにしています。

ko1: r66091 2018-11-29 17:03:55 +0900

Transitne Heap の導入の時に Hash のサイズが小さめの時の配列による実装の時の Hash#replace でメモリリークと transitne heap フラグのセットのミスがあったのを修正しています。 [ruby-core:90137] [Bug #15358]

kazu: r66092 2018-11-29 18:22:13 +0900

r66082 で標準添付ライブラリ time.rb に追記した rdoc 用コメントのサンプルコードで不要な文があったのを削っています。