From: matz@... (Yukihiro Matsumoto) Date: 1998-07-01T11:52:39+09:00 Subject: [ruby-dev:3150] Re: experimental release 1.1b9_28 まつもと ゆきひろです In message "[ruby-dev:3143] Re: experimental release 1.1b9_28" on 98/07/01, Tadayoshi Funaba writes: |ふなばです。 |ついでですが、いきなり next にでくわした場合などのエラーメッセージって、 |ちょっと他と違いますね。ちょっとヘンかも。 え? unexpected nextって出ること? そういえばちょっと変です ね.パッチ出しておきます.ついでにObject#initializeの再定義 で警告を出すパッチもつけときます. --- eval.c 1998/06/30 01:40:42 1.1.1.2.2.68 +++ eval.c 1998/07/01 02:40:15 @@ -983,3 +983,3 @@ error_pos(); - fprintf(stderr, "unexpected return\n"); + fprintf(stderr, ": unexpected return\n"); exit(1); @@ -988,3 +988,3 @@ error_pos(); - fprintf(stderr, "unexpected next\n"); + fprintf(stderr, ": unexpected next\n"); exit(1); @@ -993,3 +993,3 @@ error_pos(); - fprintf(stderr, "unexpected break\n"); + fprintf(stderr, ": unexpected break\n"); exit(1); @@ -998,3 +998,3 @@ error_pos(); - fprintf(stderr, "unexpected redo\n"); + fprintf(stderr, ": unexpected redo\n"); exit(1); @@ -1003,3 +1003,3 @@ error_pos(); - fprintf(stderr, "retry outside of rescue clause\n"); + fprintf(stderr, ": retry outside of rescue clause\n"); exit(1); @@ -2342,2 +2342,5 @@ + if (the_class == cObject && node->nd_mid == init) { + Warn("re-defining Object#initialize may cause infinite loop"); + } body = search_method(the_class, node->nd_mid, &origin);