Commit 3a2f4c32 authored by Yukihiro "Matz" Matsumoto's avatar Yukihiro "Matz" Matsumoto

Merge branch 'master' of github.com:mruby/mruby

parents e8d98a38 5a089aa4
...@@ -83,7 +83,7 @@ mrb_fix2binstr(mrb_state *mrb, mrb_value x, int base) ...@@ -83,7 +83,7 @@ mrb_fix2binstr(mrb_state *mrb, mrb_value x, int base)
char d; char d;
if (base != 2) { if (base != 2) {
mrb_raisef(mrb, E_ARGUMENT_ERROR, "invalid radix %d", base); mrb_raisef(mrb, E_ARGUMENT_ERROR, "invalid radix %S", mrb_fixnum_value(base));
} }
if (val >= (1 << 10)) if (val >= (1 << 10))
...@@ -148,17 +148,17 @@ mrb_fix2binstr(mrb_state *mrb, mrb_value x, int base) ...@@ -148,17 +148,17 @@ mrb_fix2binstr(mrb_state *mrb, mrb_value x, int base)
#define GETARG() (!mrb_undef_p(nextvalue) ? nextvalue : \ #define GETARG() (!mrb_undef_p(nextvalue) ? nextvalue : \
posarg == -1 ? \ posarg == -1 ? \
(mrb_raisef(mrb, E_ARGUMENT_ERROR, "unnumbered(%d) mixed with numbered", nextarg), mrb_undef_value()) : \ (mrb_raisef(mrb, E_ARGUMENT_ERROR, "unnumbered(%S) mixed with numbered", mrb_fixnum_value(nextarg)), mrb_undef_value()) : \
posarg == -2 ? \ posarg == -2 ? \
(mrb_raisef(mrb, E_ARGUMENT_ERROR, "unnumbered(%d) mixed with named", nextarg), mrb_undef_value()) : \ (mrb_raisef(mrb, E_ARGUMENT_ERROR, "unnumbered(%S) mixed with named", mrb_fixnum_value(nextarg)), mrb_undef_value()) : \
(posarg = nextarg++, GETNTHARG(posarg))) (posarg = nextarg++, GETNTHARG(posarg)))
#define GETPOSARG(n) (posarg > 0 ? \ #define GETPOSARG(n) (posarg > 0 ? \
(mrb_raisef(mrb, E_ARGUMENT_ERROR, "numbered(%d) after unnumbered(%d)", n, posarg), mrb_undef_value()) : \ (mrb_raisef(mrb, E_ARGUMENT_ERROR, "numbered(%S) after unnumbered(%S)", mrb_fixnum_value(n), mrb_fixnum_value(posarg)), mrb_undef_value()) : \
posarg == -2 ? \ posarg == -2 ? \
(mrb_raisef(mrb, E_ARGUMENT_ERROR, "numbered(%d) after named", n), mrb_undef_value()) : \ (mrb_raisef(mrb, E_ARGUMENT_ERROR, "numbered(%S) after named", mrb_fixnum_value(n)), mrb_undef_value()) : \
((n < 1) ? \ ((n < 1) ? \
(mrb_raisef(mrb, E_ARGUMENT_ERROR, "invalid index - %d$", n), mrb_undef_value()) : \ (mrb_raisef(mrb, E_ARGUMENT_ERROR, "invalid index - %S$", mrb_fixnum_value(n)), mrb_undef_value()) : \
(posarg = -1, GETNTHARG(n)))) (posarg = -1, GETNTHARG(n))))
#define GETNTHARG(nth) \ #define GETNTHARG(nth) \
...@@ -166,9 +166,9 @@ mrb_fix2binstr(mrb_state *mrb, mrb_value x, int base) ...@@ -166,9 +166,9 @@ mrb_fix2binstr(mrb_state *mrb, mrb_value x, int base)
#define GETNAMEARG(id, name, len) ( \ #define GETNAMEARG(id, name, len) ( \
posarg > 0 ? \ posarg > 0 ? \
(mrb_raisef(mrb, E_ARGUMENT_ERROR, "named%.*s after unnumbered(%d)", (len), (name), posarg), mrb_undef_value()) : \ (mrb_raisef(mrb, E_ARGUMENT_ERROR, "named%S after unnumbered(%S)", mrb_str_new(mrb, (name), (len)), mrb_fixnum_value(posarg)), mrb_undef_value()) : \
posarg == -1 ? \ posarg == -1 ? \
(mrb_raisef(mrb, E_ARGUMENT_ERROR, "named%.*s after numbered", (len), (name)), mrb_undef_value()) : \ (mrb_raisef(mrb, E_ARGUMENT_ERROR, "named%S after numbered", mrb_str_new(mrb, (name), (len))), mrb_undef_value()) : \
(posarg = -2, mrb_hash_fetch(mrb, get_hash(mrb, &hash, argc, argv), id, mrb_undef_value()))) (posarg = -2, mrb_hash_fetch(mrb, get_hash(mrb, &hash, argc, argv), id, mrb_undef_value())))
#define GETNUM(n, val) \ #define GETNUM(n, val) \
...@@ -553,7 +553,7 @@ mrb_str_format(mrb_state *mrb, int argc, const mrb_value *argv, mrb_value fmt) ...@@ -553,7 +553,7 @@ mrb_str_format(mrb_state *mrb, int argc, const mrb_value *argv, mrb_value fmt)
retry: retry:
switch (*p) { switch (*p) {
default: default:
mrb_raisef(mrb, E_ARGUMENT_ERROR, "malformed format string - %%%c", *p); mrb_raisef(mrb, E_ARGUMENT_ERROR, "malformed format string - \\%%S", mrb_str_new(mrb, p, 1));
break; break;
case ' ': case ' ':
...@@ -592,7 +592,7 @@ retry: ...@@ -592,7 +592,7 @@ retry:
GETNUM(n, width); GETNUM(n, width);
if (*p == '$') { if (*p == '$') {
if (!mrb_undef_p(nextvalue)) { if (!mrb_undef_p(nextvalue)) {
mrb_raisef(mrb, E_ARGUMENT_ERROR, "value given twice - %d$", n); mrb_raisef(mrb, E_ARGUMENT_ERROR, "value given twice - %S$", mrb_fixnum_value(n));
} }
nextvalue = GETPOSARG(n); nextvalue = GETPOSARG(n);
p++; p++;
...@@ -612,14 +612,14 @@ retry: ...@@ -612,14 +612,14 @@ retry:
for (; p < end && *p != term; ) for (; p < end && *p != term; )
p++; p++;
if (id) { if (id) {
mrb_raisef(mrb, E_ARGUMENT_ERROR, "name%.*s after <%s>", mrb_raisef(mrb, E_ARGUMENT_ERROR, "name%S after <%S>",
(int)(p - start + 1), start, mrb_sym2name(mrb, id)); mrb_str_new(mrb, start, p - start + 1), mrb_sym2str(mrb, id));
} }
symname = mrb_str_new(mrb, start + 1, p - start - 1); symname = mrb_str_new(mrb, start + 1, p - start - 1);
id = mrb_intern_str(mrb, symname); id = mrb_intern_str(mrb, symname);
nextvalue = GETNAMEARG(mrb_symbol_value(id), start, (int)(p - start + 1)); nextvalue = GETNAMEARG(mrb_symbol_value(id), start, (int)(p - start + 1));
if (mrb_undef_p(nextvalue)) { if (mrb_undef_p(nextvalue)) {
mrb_raisef(mrb, E_KEY_ERROR, "key%.*s not found", (int)(p - start + 1), start); mrb_raisef(mrb, E_KEY_ERROR, "key%S not found", mrb_str_new(mrb, start, p - start + 1));
} }
if (term == '}') goto format_s; if (term == '}') goto format_s;
p++; p++;
......
...@@ -67,8 +67,8 @@ mrb_struct_members(mrb_state *mrb, mrb_value s) ...@@ -67,8 +67,8 @@ mrb_struct_members(mrb_state *mrb, mrb_value s)
if (!strcmp(mrb_class_name(mrb, mrb_obj_class(mrb, s)), "Struct")) { if (!strcmp(mrb_class_name(mrb, mrb_obj_class(mrb, s)), "Struct")) {
if (RSTRUCT_LEN(s) != RARRAY_LEN(members)) { if (RSTRUCT_LEN(s) != RARRAY_LEN(members)) {
mrb_raisef(mrb, E_TYPE_ERROR, mrb_raisef(mrb, E_TYPE_ERROR,
"struct size differs (%" PRIdMRB_INT " required %" PRIdMRB_INT " given)", "struct size differs (%S required %S given)",
RARRAY_LEN(members), RSTRUCT_LEN(s)); mrb_fixnum_value(RARRAY_LEN(members)), mrb_fixnum_value(RSTRUCT_LEN(s)));
} }
} }
return members; return members;
...@@ -125,7 +125,7 @@ mrb_struct_getmember(mrb_state *mrb, mrb_value obj, mrb_sym id) ...@@ -125,7 +125,7 @@ mrb_struct_getmember(mrb_state *mrb, mrb_value obj, mrb_sym id)
return ptr[i]; return ptr[i];
} }
} }
mrb_raisef(mrb, E_NAME_ERROR, "%s is not struct member", mrb_sym2name(mrb, id)); mrb_raisef(mrb, E_NAME_ERROR, "%S is not struct member", mrb_sym2str(mrb, id));
return mrb_nil_value(); /* not reached */ return mrb_nil_value(); /* not reached */
} }
...@@ -204,8 +204,8 @@ mrb_struct_set(mrb_state *mrb, mrb_value obj, mrb_value val) ...@@ -204,8 +204,8 @@ mrb_struct_set(mrb_state *mrb, mrb_value obj, mrb_value val)
return ptr[i] = val; return ptr[i] = val;
} }
} }
mrb_raisef(mrb, E_NAME_ERROR, "`%s' is not a struct member", mrb_raisef(mrb, E_NAME_ERROR, "`%S' is not a struct member",
mrb_sym2name(mrb, mid)); mrb_sym2str(mrb, mid));
return mrb_nil_value(); /* not reached */ return mrb_nil_value(); /* not reached */
} }
...@@ -249,7 +249,7 @@ make_struct(mrb_state *mrb, mrb_value name, mrb_value members, struct RClass * k ...@@ -249,7 +249,7 @@ make_struct(mrb_state *mrb, mrb_value name, mrb_value members, struct RClass * k
name = mrb_str_to_str(mrb, name); name = mrb_str_to_str(mrb, name);
id = mrb_to_id(mrb, name); id = mrb_to_id(mrb, name);
if (!mrb_is_const_id(id)) { if (!mrb_is_const_id(id)) {
mrb_raisef(mrb, E_NAME_ERROR, "identifier %s needs to be constant", mrb_string_value_ptr(mrb, name)); mrb_raisef(mrb, E_NAME_ERROR, "identifier %S needs to be constant", name);
} }
if (mrb_const_defined_at(mrb, klass, id)) { if (mrb_const_defined_at(mrb, klass, id)) {
mrb_warn("redefining constant Struct::%s", mrb_string_value_ptr(mrb, name)); mrb_warn("redefining constant Struct::%s", mrb_string_value_ptr(mrb, name));
...@@ -544,7 +544,7 @@ mrb_struct_aref_id(mrb_state *mrb, mrb_value s, mrb_sym id) ...@@ -544,7 +544,7 @@ mrb_struct_aref_id(mrb_state *mrb, mrb_value s, mrb_sym id)
return ptr[i]; return ptr[i];
} }
} }
mrb_raisef(mrb, E_NAME_ERROR, "no member '%s' in struct", mrb_sym2name(mrb, id)); mrb_raisef(mrb, E_NAME_ERROR, "no member '%S' in struct", mrb_sym2str(mrb, id));
return mrb_nil_value(); /* not reached */ return mrb_nil_value(); /* not reached */
} }
...@@ -580,12 +580,12 @@ mrb_struct_aref_n(mrb_state *mrb, mrb_value s, mrb_value idx) ...@@ -580,12 +580,12 @@ mrb_struct_aref_n(mrb_state *mrb, mrb_value s, mrb_value idx)
if (i < 0) i = RSTRUCT_LEN(s) + i; if (i < 0) i = RSTRUCT_LEN(s) + i;
if (i < 0) if (i < 0)
mrb_raisef(mrb, E_INDEX_ERROR, mrb_raisef(mrb, E_INDEX_ERROR,
"offset %" PRIdMRB_INT " too small for struct(size:%" PRIdMRB_INT ")", "offset %S too small for struct(size:%S)",
i, RSTRUCT_LEN(s)); mrb_fixnum_value(i), mrb_fixnum_value(RSTRUCT_LEN(s)));
if (RSTRUCT_LEN(s) <= i) if (RSTRUCT_LEN(s) <= i)
mrb_raisef(mrb, E_INDEX_ERROR, mrb_raisef(mrb, E_INDEX_ERROR,
"offset %" PRIdMRB_INT " too large for struct(size:%" PRIdMRB_INT ")", "offset %S too large for struct(size:%S)",
i, RSTRUCT_LEN(s)); mrb_fixnum_value(i), mrb_fixnum_value(RSTRUCT_LEN(s)));
return RSTRUCT_PTR(s)[i]; return RSTRUCT_PTR(s)[i];
} }
...@@ -608,8 +608,8 @@ mrb_struct_aset_id(mrb_state *mrb, mrb_value s, mrb_sym id, mrb_value val) ...@@ -608,8 +608,8 @@ mrb_struct_aset_id(mrb_state *mrb, mrb_value s, mrb_sym id, mrb_value val)
len = RARRAY_LEN(members); len = RARRAY_LEN(members);
if (RSTRUCT_LEN(s) != len) { if (RSTRUCT_LEN(s) != len) {
mrb_raisef(mrb, E_TYPE_ERROR, mrb_raisef(mrb, E_TYPE_ERROR,
"struct size differs (%" PRIdMRB_INT " required %" PRIdMRB_INT " given)", "struct size differs (%S required %S given)",
len, RSTRUCT_LEN(s)); mrb_fixnum_value(len), mrb_fixnum_value(RSTRUCT_LEN(s)));
} }
ptr = RSTRUCT_PTR(s); ptr = RSTRUCT_PTR(s);
ptr_members = RARRAY_PTR(members); ptr_members = RARRAY_PTR(members);
...@@ -619,7 +619,7 @@ mrb_struct_aset_id(mrb_state *mrb, mrb_value s, mrb_sym id, mrb_value val) ...@@ -619,7 +619,7 @@ mrb_struct_aset_id(mrb_state *mrb, mrb_value s, mrb_sym id, mrb_value val)
return val; return val;
} }
} }
mrb_raisef(mrb, E_NAME_ERROR, "no member '%s' in struct", mrb_sym2name(mrb, id)); mrb_raisef(mrb, E_NAME_ERROR, "no member '%S' in struct", mrb_sym2str(mrb, id));
return val; /* not reach */ return val; /* not reach */
} }
...@@ -662,13 +662,13 @@ mrb_struct_aset(mrb_state *mrb, mrb_value s) ...@@ -662,13 +662,13 @@ mrb_struct_aset(mrb_state *mrb, mrb_value s)
if (i < 0) i = RSTRUCT_LEN(s) + i; if (i < 0) i = RSTRUCT_LEN(s) + i;
if (i < 0) { if (i < 0) {
mrb_raisef(mrb, E_INDEX_ERROR, mrb_raisef(mrb, E_INDEX_ERROR,
"offset %" PRIdMRB_INT " too small for struct(size:%" PRIdMRB_INT ")", "offset %S too small for struct(size:%S)",
i, RSTRUCT_LEN(s)); mrb_fixnum_value(i), mrb_fixnum_value(RSTRUCT_LEN(s)));
} }
if (RSTRUCT_LEN(s) <= i) { if (RSTRUCT_LEN(s) <= i) {
mrb_raisef(mrb, E_INDEX_ERROR, mrb_raisef(mrb, E_INDEX_ERROR,
"offset %" PRIdMRB_INT " too large for struct(size:%" PRIdMRB_INT ")", "offset %S too large for struct(size:%S)",
i, RSTRUCT_LEN(s)); mrb_fixnum_value(i), mrb_fixnum_value(RSTRUCT_LEN(s)));
} }
return RSTRUCT_PTR(s)[i] = val; return RSTRUCT_PTR(s)[i] = val;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment