summaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/class.c2
-rw-r--r--src/error.c4
-rw-r--r--src/error.h1
-rw-r--r--src/variable.c4
4 files changed, 5 insertions, 6 deletions
diff --git a/src/class.c b/src/class.c
index 57cfae78f..377503c39 100644
--- a/src/class.c
+++ b/src/class.c
@@ -979,7 +979,7 @@ mrb_method_search(mrb_state *mrb, struct RClass* c, mrb_sym mid)
if (RSTRING_LEN(inspect) > 64) {
inspect = mrb_any_to_s(mrb, mrb_obj_value(c));
}
- mrb_raisef(mrb, E_NAME_ERROR, "undefined method '%S' for class %S",
+ mrb_name_error(mrb, mid, "undefined method '%S' for class %S",
mrb_sym2str(mrb, mid), inspect);
}
return m;
diff --git a/src/error.c b/src/error.c
index 5f1476115..522901ff7 100644
--- a/src/error.c
+++ b/src/error.c
@@ -306,8 +306,8 @@ mrb_name_error(mrb_state *mrb, mrb_sym id, const char *fmt, ...)
argv[0] = mrb_vformat(mrb, fmt, args);
va_end(args);
- argv[1] = mrb_symbol_value(id); /* ignore now */
- exc = mrb_class_new_instance(mrb, 1, argv, E_NAME_ERROR);
+ argv[1] = mrb_symbol_value(id);
+ exc = mrb_class_new_instance(mrb, 2, argv, E_NAME_ERROR);
mrb_exc_raise(mrb, exc);
}
diff --git a/src/error.h b/src/error.h
index 83d0938aa..3726cb4c4 100644
--- a/src/error.h
+++ b/src/error.h
@@ -13,7 +13,6 @@ mrb_value mrb_exc_new3(mrb_state *mrb, struct RClass* c, mrb_value str);
mrb_value make_exception(mrb_state *mrb, int argc, mrb_value *argv, int isstr);
mrb_value mrb_make_exception(mrb_state *mrb, int argc, mrb_value *argv);
mrb_value mrb_format(mrb_state *mrb, const char *format, ...);
-void mrb_name_error(mrb_state *mrb, mrb_sym id, const char *fmt, ...);
void mrb_exc_print(mrb_state *mrb, struct RObject *exc);
#endif /* MRUBY_ERROR_H */
diff --git a/src/variable.c b/src/variable.c
index a9570db02..2057b69ef 100644
--- a/src/variable.c
+++ b/src/variable.c
@@ -691,7 +691,7 @@ mrb_mod_cv_get(mrb_state *mrb, struct RClass * c, mrb_sym sym)
}
c = c->super;
}
- mrb_raisef(mrb, E_NAME_ERROR, "uninitialized class variable %S in %S",
+ mrb_name_error(mrb, sym, "uninitialized class variable %S in %S",
mrb_sym2str(mrb, sym), cls);
/* not reached */
return mrb_nil_value();
@@ -847,7 +847,7 @@ L_RETRY:
}
c = c->super;
}
- mrb_raisef(mrb, E_NAME_ERROR, "uninitialized constant %S",
+ mrb_name_error(mrb, sym, "uninitialized constant %S",
mrb_sym2str(mrb, sym));
/* not reached */
return mrb_nil_value();