incompatible change at rev.31169 about autoload
After rev.31169, const_defined? about a pre-autoloading constant on a included module returns true.
# Ruby/Tk cannot work on rev.31169 or later.
On ruby1.8 and before rev.31169, returns false.
For example, the following outputs a different result between before rev.31169 and after.
module X; autoload :A, 'foo.rb'; end
module M; include X; end
p M.const_defined? :A
# see also, .
This change makes it impossible checking M::A is defined on M or included from X without autoloading,
beacause M.autoload?(:A) returns nil.
Even if M.autoload?(:A) returns 'foo.rb', it is not a good solution.
It has a same problem about where the autoload is defined.
At least, Ruby/Tk requires a way to check it for default-widget-set control.
Hidetoshi NAGAI (email@example.com)
Department of Artificial Intelligence, Kyushu Institute of Technology