diff options
| author | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-03-04 12:37:05 +0000 |
|---|---|---|
| committer | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-03-04 12:37:05 +0000 |
| commit | edaad18400d1cc32027906b672b32c22b424ac54 (patch) | |
| tree | c5147bc257dddc28dca6f9fb37d39cdfaf00d8cc /lib | |
| parent | 70ffde268cacaaed028c0ca7454181529e0ea802 (diff) | |
| download | ruby-edaad18400d1cc32027906b672b32c22b424ac54.tar.gz ruby-edaad18400d1cc32027906b672b32c22b424ac54.tar.xz ruby-edaad18400d1cc32027906b672b32c22b424ac54.zip | |
* lib/irb.rb (IRB::Irb::eval_input): SyntaxError should not be
considered as IRB bug. [ruby-dev:33991]
* lib/irb/workspace.rb (IRB::WorkSpace::filter_backtrace): should
filter 'irb.rb' as well for context mode 2 and 3.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@15689 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/irb.rb | 5 | ||||
| -rw-r--r-- | lib/irb/workspace.rb | 2 |
2 files changed, 5 insertions, 2 deletions
diff --git a/lib/irb.rb b/lib/irb.rb index 1274a15e9..d700d004a 100644 --- a/lib/irb.rb +++ b/lib/irb.rb @@ -156,12 +156,13 @@ module IRB end if exc print exc.class, ": ", exc, "\n" - if exc.backtrace[0] =~ /irb(2)?(\/.*|-.*|\.rb)?:/ && exc.class.to_s !~ /^IRB/ + if exc.backtrace[0] =~ /irb(2)?(\/.*|-.*|\.rb)?:/ && exc.class.to_s !~ /^IRB/ && + !(SyntaxError === exc) irb_bug = true else irb_bug = false end - + messages = [] lasts = [] levels = 0 diff --git a/lib/irb/workspace.rb b/lib/irb/workspace.rb index c27f7052d..7c95106c3 100644 --- a/lib/irb/workspace.rb +++ b/lib/irb/workspace.rb @@ -93,8 +93,10 @@ EOF end when 2 return nil if bt =~ /irb\/.*\.rb/ + return nil if bt =~ /irb\.rb/ when 3 return nil if bt =~ /irb\/.*\.rb/ + return nil if bt =~ /irb\.rb/ bt.sub!(/:\s*in `irb_binding'/, '') end bt |
