diff options
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 1274a15e9f..d700d004a0 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 c27f7052d1..7c95106c39 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 |