以下のプログラムの挙動が 1.8 と 1.9 で異なりますが、意図的な
ものでしょうか?

% cat z.rb
module M
  module_function
  def m
    p :m
  end
end

class C
end

class << C
  include M
end

C.m
% ruby -v z.rb
ruby 1.9.0 (2008-03-11 revision 15748) [i686-linux]
:m
% ruby-1.8 -v z.rb
ruby 1.8.6 (2008-03-11 patchlevel 5000) [i686-linux]
z.rb:15: private method `m' called for C:Class (NoMethodError)

上記のように、1.8 では NoMethodError となるものが 1.9 ではそ
のまま呼び出しに成功します。
-- 
[田中 哲][たなか あきら][Tanaka Akira]