summaryrefslogtreecommitdiff
path: root/variable.c
diff options
context:
space:
mode:
Diffstat (limited to 'variable.c')
-rw-r--r--variable.c15
1 files changed, 11 insertions, 4 deletions
diff --git a/variable.c b/variable.c
index 27b5630170..5bddd9cc1d 100644
--- a/variable.c
+++ b/variable.c
@@ -57,17 +57,18 @@ struct global_entry {
VALUE (*set_hook)();
};
-static mark_global_entry(key, entry)
+static
+mark_global_entry(key, entry)
ID key;
struct global_entry *entry;
{
switch (entry->mode) {
case GLOBAL_VAL:
- mark(entry->v.val); /* normal global value */
+ gc_mark(entry->v.val); /* normal global value */
break;
case GLOBAL_VAR:
if (entry->v.var)
- mark(*entry->v.var); /* c variable pointer */
+ gc_mark(*entry->v.var); /* c variable pointer */
break;
default:
break;
@@ -75,7 +76,7 @@ static mark_global_entry(key, entry)
return ST_CONTINUE;
}
-mark_global_tbl()
+gc_mark_global_tbl()
{
st_foreach(global_tbl, mark_global_entry, 0);
}
@@ -194,6 +195,8 @@ rb_gvar_get(entry)
default:
break;
}
+ if (verbose)
+ Warning("global var %s not initialized", rb_id2name(entry->id));
return Qnil;
}
@@ -207,6 +210,8 @@ rb_ivar_get_1(obj, id)
return Qnil;
if (st_lookup(obj->iv_tbl, id, &val))
return val;
+ if (verbose)
+ Warning("instance var %s not initialized", rb_id2name(id));
return Qnil;
}
@@ -224,6 +229,8 @@ rb_mvar_get(id)
VALUE val;
if (st_lookup(class_tbl, id, &val)) return val;
+ if (verbose)
+ Warning("local var %s not initialized", rb_id2name(id));
return Qnil;
}