From: keiju@... (=?ISO-2022-JP?B?GyRCQFBETTc9PHkbKEI=?=) Date: 2002-12-06T15:47:31+09:00 Subject: [ruby-list:36692] Re: SyntaxError caused by redefinition of Class#== within irb. けいじゅ@日本ラショナルソフトウェアです. In [ruby-list:36683] the message: "[ruby-list:36683] SyntaxError caused by redefinition of Class#== within irb.", on Dec/06 01:51(JST) Shusaku writes: >Shusakuです。 >irb で Object#== を(インタラクティブに)再定義しようとすると >SyntaxError になります。 ですね. このバグはだいぶ以前に西尾さんから報告があって対処してあったの ですが, irbをいろいろと大改造中で対処版は出せていませんでした. 以下のパッチを当ててください. たぶん, 解決すると思います. --- lib/irb/ruby-lex.rb 29 Jul 2002 06:14:08 -0000 1.11 +++ lib/irb/ruby-lex.rb 6 Dec 2002 06:18:07 -0000 @@ -790,7 +790,8 @@ valid = false unless peek_match?(/^\s*(<<|\w)/) when "def" - valid = false if peek_match?(/^\s*(([+-\/*&\|^]|<<|>>|\|\||\&\&)?=|\&\&|\|\|)/) + valid = false if peek_match?(/^\s*(([+-\/*&\|^]|<<|>>|\|\||\&\&)=|\&\&|\|\|)/) +# valid = false if peek_match?(/^\s*(([+-\/*&\|^]|<<|>>|\|\||\&\&)?=|\&\&|\|\|)/) when "do" valid = false if peek_match?(/^\s*([+-\/*]?=|\*|<|>|\&)/) when *ENINDENT_CLAUSE __ ..............................石塚 圭樹@日本ラショナルソフトウェア... ----------------------------------->> e-mail: keiju@rational.com <<---