From: keiju@... (=?ISO-2022-JP?B?GyRCQFBETTc9PHkbKEI=?=) Date: 2006-02-28T22:51:18+09:00 Subject: [ruby-dev:28410] Re: irb cannot parse /\^/ けいじゅ@いしつかです. In [ruby-dev:28408] the message: "[ruby-dev:28408] Re: irb cannot parse /\^/", on Feb/27 23:15(JST) H.Yamamoto writes: >山本です。 > >すみません、勘違いでした(汗) >irb(main):020:0> /\t/ =~ "\t" >=> 0 これでは, 確認にはなっていないような気がしますが... それはともかく, 報告ありがとうございました. >>それは, ともかくとして, \^C のようなエスケープはrubyで許されなくなって >>いるので, irbも同様にすれば, このバグはなくなります. > >お任せします。 とりあえず, CVS/HEAD の方を直しました. 1.8系はもうちょっとたってから直 します. Index: lib/irb/ruby-lex.rb =================================================================== RCS file: /src/ruby/lib/irb/ruby-lex.rb,v retrieving revision 1.28 diff -u -r1.28 ruby-lex.rb --- lib/irb/ruby-lex.rb 30 Jun 2005 10:07:29 -0000 1.28 +++ lib/irb/ruby-lex.rb 28 Feb 2006 13:39:47 -0000 @@ -309,7 +309,7 @@ "q" => "\'", "Q" => "\"", "x" => "\`", - "r" => "\/", + "r" => "/", "w" => "]", "W" => "]", "s" => ":" @@ -326,14 +326,14 @@ "\'" => TkSTRING, "\"" => TkSTRING, "\`" => TkXSTRING, - "\/" => TkREGEXP, + "/" => TkREGEXP, "]" => TkDSTRING, ":" => TkSYMBOL } DLtype2Token = { "\"" => TkDSTRING, "\`" => TkDXSTRING, - "\/" => TkDREGEXP, + "/" => TkDREGEXP, } def lex_init() @@ -1087,7 +1087,7 @@ def read_escape case ch = getc when "\n", "\r", "\f" - when "\\", "n", "t", "r", "f", "v", "a", "e", "b" #" + when "\\", "n", "t", "r", "f", "v", "a", "e", "b", "s" #" when /[0-7]/ ungetc ch 3.times do @@ -1122,7 +1122,7 @@ end end - when "C", "c", "^" + when "C", "c" #, "^" if ch == "C" and (ch = getc) != "-" ungetc elsif (ch = getc) == "\\" #" __ ---------------------------------------------------->> 石塚 圭樹 <<--- ---------------------------------->> e-mail: keiju@ishitsuka.com <<---