From 88d6009d91c197049da9d6efeb406aec5eb5d551 Mon Sep 17 00:00:00 2001 From: Kazuhiro NISHIYAMA Date: Thu, 21 Nov 2019 23:10:30 +0900 Subject: [PATCH] Use more strict regexp to avoid to match naninanirb.rb --- lib/irb.rb | 2 +- lib/irb/workspace.rb | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/irb.rb b/lib/irb.rb index ed91d29b91..cbf717d560 100644 --- a/lib/irb.rb +++ b/lib/irb.rb @@ -553,7 +553,7 @@ module IRB end def handle_exception(exc) - if exc.backtrace && exc.backtrace[0] =~ /irb(2)?(\/.*|-.*|\.rb)?:/ && exc.class.to_s !~ /^IRB/ && + if exc.backtrace && exc.backtrace[0] =~ /\/irb(2)?(\/.*|-.*|\.rb)?:/ && exc.class.to_s !~ /^IRB/ && !(SyntaxError === exc) irb_bug = true else diff --git a/lib/irb/workspace.rb b/lib/irb/workspace.rb index b7bd4c9031..878bba9e95 100644 --- a/lib/irb/workspace.rb +++ b/lib/irb/workspace.rb @@ -124,8 +124,8 @@ EOF # error message manipulator def filter_backtrace(bt) - return nil if bt =~ /irb\/.*\.rb/ - return nil if bt =~ /irb\.rb/ + return nil if bt =~ /\/irb\/.*\.rb/ + return nil if bt =~ /\/irb\.rb/ case IRB.conf[:CONTEXT_MODE] when 1 return nil if bt =~ %r!/tmp/irb-binding!