Class variables in singleton classes are separate from class  
variables in classes in 1.9 now.  Is this on purpose?

$ cat class_variables.rb
module X
   @@cv1 = nil

   class << self
     def cv1() @@cv1 ||= 'cv1' end
   end

   def self.cv1=(obj) @@cv1 = obj end

   @@cv2 = nil

   def self.cv2() @@cv2 ||= 'cv2' end
   def self.cv2=(obj) @@cv2 = obj end
end

p X.cv1
X.cv1 = 'new1'
p X.cv1

p X.cv2
X.cv2 = 'new2'
p X.cv2

$ ruby18 -v class_variables.rb
ruby 1.8.6 (2007-06-30 patchlevel 5000) [i686-darwin8.10.1]
"cv1"
"new1"
"cv2"
"new2"
$ ruby19 -v class_variables.rb
ruby 1.9.0 (2007-09-15 patchlevel 0) [i686-darwin8.10.1]
syck.so: warning: method redefined; discarding old value
"cv1"
"cv1"
"cv2"
"new2"

--
Poor workers blame their tools. Good workers build better tools. The
best workers get their tools to do the work for them. -- Syndicate Wars