From: Riley Lynch Date: 2001-10-30T19:47:59+09:00 Subject: [ruby-talk:23827] Global variables and Qfalse Here's a curiosity: When I set a global variable to Qfalse in c (rb_define_variable), it returns invariably as Qnil -- even on the ruby side. This problem arises in the var_getter callback ("variable.c") which is assigned the the global_entry in rb_defined_hooked_variable. var_getter reads in part: if (!var || !*var) return Qnil; ..which explains what is happening, since "var", in this case is a pointer to a VALUE set to Qfalse, i.e. 0. I understand why a null VALUE pointer is being returned as as nil object, but I don't follow the rationale for making the same transformation on a pointer to Qfalse. Is there a case for this behavior? Thanks, --Riley