ruby-trunk-changes r64741 - r64751

今日は elisp ファイル群の削除(別リポジトリへ分離)や frozen_string_literal の指定が効かないケースがある不具合の修正などがありました。

hsbt: r64741 2018-09-14 21:34:50 +0900

misc/ サブディレクトリにある elisp のファイルを削除しています。これらは GitHubruby/elisp リポジトリに分離するそうです。

hsbt: r64742 2018-09-14 21:37:51 +0900

misc/README ファイルに lldb_cruby.py と test_lldb_cruby.rb について追記しています。

hsbt: r64743 2018-09-14 22:19:45 +0900

r64741 で ruby/elisp リポジトリに分離するため削除した misc/ の elisp ファイルですが misc/ruby-style.el は ruby スクリプトを書くためのものじゃなくて rubyリポジトリの C のソースコードのためのスタイルみたいなので戻しています。

svn: r64744 2018-09-14 22:19:46 +0900

r64743 で追加というか復活したファイルの svn property の設定。

nobu: r64745 2018-09-15 11:20:47 +0900

スクリプトに magic comment で #frozen_string_literal: true が指定されていた時に Proc#[] メソッドに文字列リテラルが渡された時にその引数が fstring になってないという不具合を修正しています。ふえー、よく気がついたなこれ。 https://github.com/ruby/ruby/pull/1957 [ruby-core:89003] [Bug #15118]

svn: r64746 2018-09-15 11:20:48 +0900

version.h の日付更新。

nobu: r64747 2018-09-15 17:39:07 +0900

Kernel#sprintf にフォーマット指示子 %p を指定した時に inspect メソッドで文字列化したものが埋め込まれる挙動を確認するテストを追加しています。

nobu: r64748 2018-09-15 18:25:31 +0900

r64733 で Enumerable#all? などのメソッドに使われないブロックを渡した時に警告を出力するようにしたため、rubyspec でこれらのブロックが呼ばれないということを(ブロック内で raise することで)確認する spec があったためここで警告が出てしまっていたので、2.6 以降は実行しないように version による guard を追加しています。 https://github.com/ruby/ruby/pull/1953

nobu: r64749 2018-09-15 18:48:42 +0900

mspec で spec ファイルのパスを展開するために File.expand_path を使っていたのを File.realpath を使うように変更しています。

nobu: r64750 2018-09-15 18:59:14 +0900

Coverity Scan などの静的解析ツールで検出された dlopen() や mmap() の閉じ忘れなどリソースリークの修正。 https://github.com/ruby/ruby/pull/1956

nobu: r64751 2018-09-15 20:45:31 +0900

r64749 の mspec の変更で do...end ブロックの rescue 節を使ってしまってましたが、これは新しい文法なので begin を使うように修正しています。