aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--variable.c24
2 files changed, 17 insertions, 12 deletions
diff --git a/ChangeLog b/ChangeLog
index 7aeea8e265..4c3e324051 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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;