From: Tim Hunter Date: 2008-03-28T08:24:08+09:00 Subject: rb_cv_set defines class var but doesn't? I'm using rb_cv_set in a C extension to set the value of a class variable. Via gdb I can see that rb_cv_set successfully creates the variable. The rb_cvar_defined function returns Qtrue and a subsequent call to rb_cv_get returns the correct value. From the C side, everything is copacetic. From Ruby, however, things are squirrely. Using class_eval I can see the variable: MyClass.class_eval { p class_variables } shows ["@@_tmpnam_"] as expected. However, MyClass.class_eval { x = @@_tmpnam_ } raises NameError: "uninitialized class variable @@_tmpnam_ in MyClass". MyClass.class_eval { p defined? @@_tmpnam_ } shows "nil". I'm running 1.8.6 patchlevel 114 on Kubuntu Gutsy. This works as expected with Ruby 1.9.0-1. Is this just a bug in 1.8.6? Is there another way I can inspect the value of @@_tmpnam_ in 1.8.6? -- RMagick: http://rmagick.rubyforge.org/ RMagick 2: http://rmagick.rubyforge.org/rmagick2.html