From: "NARUSE, Yui" Date: 2008-08-03T21:13:27+09:00 Subject: [ruby-dev:35750] Re: [Bug:1.9] default_external depends on the order of -K and -E 成瀬です。 Takao Kouji wrote: > 高尾宏治です。 > > On 2008/08/03, at 17:59, Yugui (Yuki Sonoda) wrote: >> NARUSE, Yui さんは書きました: >>> ただ、-K と -E は本来同時指定するものではないように思うので、 >>> 「仕様」としては、同時指定の場合の動作は未定義、でもいいかもしれませんが。 >> 同時に指定した場合と複数回指定した場合は「未定義」に一票 > > どちらを優先するとかいう意見はないのですが、 > rubyの仕様として未定義とする場合、Rubyのユーザへの説明が面倒とか、 > テストが書けないという問題はないでしょうか。 > 私のこれまでの経験だと定義しておいたほうが楽という認識があります。 ふーむ、それだととりあえず例外ですかねぇ。 --- ruby.c (revision 18324) +++ ruby.c (working copy) @@ -792,6 +792,8 @@ proc_options(int argc, char **argv, stru } if (enc_name) { opt->src.enc.name = rb_str_new2(enc_name); + if (opt->ext.enc.name) + rb_raise(rb_eRuntimeError, "duplicate argument for default external"); opt->ext.enc.name = opt->src.enc.name; } s++; @@ -878,6 +880,8 @@ proc_options(int argc, char **argv, stru } } encoding: + if (opt->ext.enc.name) + rb_raise(rb_eRuntimeError, "duplicate argument for default external"); opt->ext.enc.name = rb_str_new2(s); } else if (strcmp("version", s) == 0) -- NARUSE, Yui