* parse.y (parser_set_encode): show the erred file name instead of
the file that requires it. [ruby-core:24006] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23837 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
4d0e9c4515
commit
37138a2a93
@ -1,3 +1,8 @@
|
|||||||
|
Wed Jun 24 15:02:29 2009 Nobuyoshi Nakada <nobu@ruby-lang.org>
|
||||||
|
|
||||||
|
* parse.y (parser_set_encode): show the erred file name instead of
|
||||||
|
the file that requires it. [ruby-core:24006]
|
||||||
|
|
||||||
Wed Jun 24 11:41:20 2009 Akinori MUSHA <knu@iDaemons.org>
|
Wed Jun 24 11:41:20 2009 Akinori MUSHA <knu@iDaemons.org>
|
||||||
|
|
||||||
* misc/ruby-style.el: It is too late to set c-file-style in
|
* misc/ruby-style.el: It is too late to set c-file-style in
|
||||||
|
14
parse.y
14
parse.y
@ -6066,13 +6066,23 @@ parser_set_encode(struct parser_params *parser, const char *name)
|
|||||||
{
|
{
|
||||||
int idx = rb_enc_find_index(name);
|
int idx = rb_enc_find_index(name);
|
||||||
rb_encoding *enc;
|
rb_encoding *enc;
|
||||||
|
VALUE excargs[3];
|
||||||
|
|
||||||
if (idx < 0) {
|
if (idx < 0) {
|
||||||
rb_raise(rb_eArgError, "unknown encoding name: %s", name);
|
VALUE rb_make_backtrace(void);
|
||||||
|
VALUE rb_make_exception(int, VALUE*);
|
||||||
|
|
||||||
|
excargs[1] = rb_sprintf("unknown encoding name: %s", name);
|
||||||
|
error:
|
||||||
|
excargs[0] = rb_eArgError;
|
||||||
|
excargs[2] = rb_make_backtrace();
|
||||||
|
rb_ary_unshift(excargs[2], rb_sprintf("%s:%d", ruby_sourcefile, ruby_sourceline));
|
||||||
|
rb_exc_raise(rb_make_exception(3, excargs));
|
||||||
}
|
}
|
||||||
enc = rb_enc_from_index(idx);
|
enc = rb_enc_from_index(idx);
|
||||||
if (!rb_enc_asciicompat(enc)) {
|
if (!rb_enc_asciicompat(enc)) {
|
||||||
rb_raise(rb_eArgError, "%s is not ASCII compatible", rb_enc_name(enc));
|
excargs[1] = rb_sprintf("%s is not ASCII compatible", rb_enc_name(enc));
|
||||||
|
goto error;
|
||||||
}
|
}
|
||||||
parser->enc = enc;
|
parser->enc = enc;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user