From: Kazuki Tsujimoto <kazuki@...>
Date: 2011-05-28T15:26:53+09:00
Subject: [ruby-dev:43594] [Ruby 1.9 - Bug #4793][Open] 特定のSyntaxErrorでirbが落ちる


Issue #4793 has been reported by Kazuki Tsujimoto.

----------------------------------------
Bug #4793: 特定のSyntaxErrorでirbが落ちる
http://redmine.ruby-lang.org/issues/4793

Author: Kazuki Tsujimoto
Status: Open
Priority: Normal
Assignee: 
Category: 
Target version: 
ruby -v: ruby 1.9.3dev (2011-04-16 trunk 31298) [x86_64-linux]


=begin
以下のコードでirbが落ちます。

 $ ./ruby -Ilib bin/irb
 irb(main):001:0> next
 SyntaxError: (irb):1: Can't escape from eval with next
 /home/k_tsj/work/ruby-trunk/lib/irb/workspace.rb:100:in `sub!': can't modify frozen String (RuntimeError)
         (snip)
         from bin/irb:12:in `<main>'

パッチです。

 diff --git a/lib/irb/workspace.rb b/lib/irb/workspace.rb
 index 991df2e..dd781f6 100644
 --- a/lib/irb/workspace.rb
 +++ b/lib/irb/workspace.rb
 @@ -97,7 +97,7 @@ EOF
        when 3
  	return nil if bt =~ /irb\/.*\.rb/
  	return nil if bt =~ /irb\.rb/
 -	bt.sub!(/:\s*in `irb_binding'/, '')
 +	bt = bt.sub(/:\s*in `irb_binding'/, '')
        end
        bt
      end
=end



-- 
http://redmine.ruby-lang.org