From: Kazuhiro NISHIYAMA Date: 2011-06-07T09:24:16+09:00 Subject: [ruby-dev:43642] [Ruby 1.9 - Bug #4793] 特定のSyntaxErrorでirbが落ちる Issue #4793 has been updated by Kazuhiro NISHIYAMA. Category set to lib Assignee set to Keiju Ishitsuka Target version set to 1.9.3 ---------------------------------------- Bug #4793: 特定のSyntaxErrorでirbが落ちる http://redmine.ruby-lang.org/issues/4793 Author: Kazuki Tsujimoto Status: Open Priority: Normal Assignee: Keiju Ishitsuka Category: lib Target version: 1.9.3 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 `
' パッチです。 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