阿部です。立て続けで、すみません。

  include したモジュールに定義されている定数を defined? で調べると 
nil が返ってきてしまいます。1.6 と 1.8 の両方で起こっているようです。
"constant" を返すようにすると、何かまずいのでしょうか?

$ cat a.rb
module A
  X = 10
end
class B
  include A
end
p defined?(B::X)
p B::X

$ ruby a.rb
nil
10

$ ruby --version
ruby 1.8.0 (2003-01-11) [i386-cygwin]

$ ruby16 a.rb
nil
10

$ ruby16 --version
ruby 1.6.8 (2002-12-24) [i686-cygwin]

--------
Black / 阿部 茂