diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2004-06-26 06:17:20 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2004-06-26 06:17:20 +0000 |
commit | 4b1b5048b9ddeaba12aa429d3da73f4834b75ecb (patch) | |
tree | 0ef475543fb16eeec402e216443a9ad4db9af905 | |
parent | 8d02cb8bf9f6b0ae065bfbaa3034fc5a07e78c2e (diff) | |
download | ruby-4b1b5048b9ddeaba12aa429d3da73f4834b75ecb.tar.gz ruby-4b1b5048b9ddeaba12aa429d3da73f4834b75ecb.tar.xz ruby-4b1b5048b9ddeaba12aa429d3da73f4834b75ecb.zip |
* variable.c (rb_mod_class_variables): class variables are no longer
inherited. [ruby-dev:23808]
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@6529 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | variable.c | 13 |
2 files changed, 9 insertions, 9 deletions
@@ -1,3 +1,8 @@ +Sat Jun 26 15:17:11 2004 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * variable.c (rb_mod_class_variables): class variables are no longer + inherited. [ruby-dev:23808] + Sat Jun 26 11:07:20 2004 Nobuyoshi Nakada <nobu@ruby-lang.org> * configure.in (aix): -b must come at the start of the command line, diff --git a/variable.c b/variable.c index cb972ba81..6d4ccd2c5 100644 --- a/variable.c +++ b/variable.c @@ -1800,8 +1800,7 @@ cv_i(key, value, ary) * call-seq: * mod.class_variables => array * - * Returns an array of the names of class variables in <i>mod</i> and - * the ancestors of <i>mod</i>. + * Returns an array of the names of class variables in <i>mod</i>. * * class One * @@var1 = 1 @@ -1810,7 +1809,7 @@ cv_i(key, value, ary) * @@var2 = 2 * end * One.class_variables #=> ["@@var1"] - * Two.class_variables #=> ["@@var2", "@@var1"] + * Two.class_variables #=> ["@@var2"] */ VALUE @@ -1819,12 +1818,8 @@ rb_mod_class_variables(obj) { VALUE ary = rb_ary_new(); - for (;;) { - if (RCLASS(obj)->iv_tbl) { - st_foreach(RCLASS(obj)->iv_tbl, cv_i, ary); - } - obj = RCLASS(obj)->super; - if (!obj) break; + if (RCLASS(obj)->iv_tbl) { + st_foreach(RCLASS(obj)->iv_tbl, cv_i, ary); } return ary; } |