ruby-trunk-changes r60939 - r60945

今日は Kernel#pp を利用したら動的に require "pp" されるようにする変更や、attr_accessor や define_method などが public メソッドになる変更などがありました。

nobu: r60939 2017-11-29 23:48:02 +0900

r60933 の configure.ac の関数名 lutimes() の typo を修正しています。 [ruby-core:33163] [Feature #4052]

marcandre: r60940 2017-11-30 02:47:47 +0900

Module#attr_reader, #attr_writer, #attr_accessor, #attr を public メソッドにしています。 [ruby-core:83900] [Feature #14132]

svn: r60941 2017-11-30 02:47:48 +0900

version.h の日付更新。

marcandre: r60942 2017-11-30 02:47:59 +0900

Module#define_method, #alias_method, #undef_method, #remove_method などのメソッド定義の操作系のメソッド群を public メソッドに変更しています。これでメソッド追加時などに module_eval しなくても良くなりますね。 [ruby-core:83901] [Feature #14133]

marcandre: r60943 2017-11-30 04:46:46 +0900

rubyspec に r60940, r60942 で public に変更したメソッドの可視性のテストの変更を取り込んでいます。

mame: r60944 2017-11-30 10:31:00 +0900

prelude.rb に Kernel#pp の定義を追加して、メソッドが呼ばれた時に動的に require "pp" するメソッドを定義しておくことで明示的に require しなくても pp メソッドはいきなり使えるようにしています。irb や pry 使ってる時など便利そう。 [ruby-core:83850] [Feature #14123]

mame: r60945 2017-11-30 11:12:42 +0900

r60944 で require "pp" 内で定義されたメソッドに委譲する時に引数を展開していなかったので * をつけて splat して渡すように修正しています。