diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | variable.c | 24 |
2 files changed, 17 insertions, 12 deletions
@@ -1,3 +1,8 @@ +Thu Sep 1 09:27:57 2011 NARUSE, Yui <naruse@ruby-lang.org> + + * variable.c (rb_autoloading_value) Fix the order of definitions. + It is used by autoload_defined_p. + Wed Aug 31 17:28:23 2011 Hiroshi Nakamura <nahi@ruby-lang.org> * variable.c (rb_autoload): There was a chance to run GC (from diff --git a/variable.c b/variable.c index 3ee4627a2b..9526b6226f 100644 --- a/variable.c +++ b/variable.c @@ -1601,18 +1601,6 @@ check_autoload_required(VALUE mod, ID id, const char **loadingpath) return 0; } -static int -autoload_defined_p(VALUE mod, ID id) -{ - struct st_table *tbl = RCLASS_CONST_TBL(mod); - st_data_t val; - - if (!tbl || !st_lookup(tbl, (st_data_t)id, &val) || ((rb_const_entry_t*)val)->value != Qundef) { - return 0; - } - return !rb_autoloading_value(mod, id, NULL); -} - int rb_autoloading_value(VALUE mod, ID id, VALUE* value) { @@ -1633,6 +1621,18 @@ rb_autoloading_value(VALUE mod, ID id, VALUE* value) return 0; } +static int +autoload_defined_p(VALUE mod, ID id) +{ + struct st_table *tbl = RCLASS_CONST_TBL(mod); + st_data_t val; + + if (!tbl || !st_lookup(tbl, (st_data_t)id, &val) || ((rb_const_entry_t*)val)->value != Qundef) { + return 0; + } + return !rb_autoloading_value(mod, id, NULL); +} + struct autoload_const_set_args { VALUE mod; ID id; |