From: ts Date: 2002-02-01T23:27:35+09:00 Subject: Re: strange behavior >>>>> "T" == writes: T> regarded as part of B. When C asks B for its constants, B does not search T> its proxy. C don't ask for the constants of B C ask if it exist a constant in its scope, and if it don't exist it will search in its class With your example T> class A T> AA = 1 T> end T> T> class B < A T> BB = 1 T> class C T> puts BB => 1 T> puts AA => NameError T> end T> T> end BB is found because it's defined in the scope of C AA is not found because it's not defined in C, not in the scope of C, nor in any classes parent of C Guy Decoux