From 4df4b48455636eb196ee4d4df2067df5c97bb021 Mon Sep 17 00:00:00 2001 From: nobu Date: Thu, 20 Dec 2018 03:51:15 +0000 Subject: rbinstall.rb: syntax error in gemspec * tool/rbinstall.rb (load_gemspec): do not hide syntax errors in a gemspec file. check if the result instead. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66460 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- tool/rbinstall.rb | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) (limited to 'tool/rbinstall.rb') diff --git a/tool/rbinstall.rb b/tool/rbinstall.rb index 67a91a988c..0e2d61d52e 100755 --- a/tool/rbinstall.rb +++ b/tool/rbinstall.rb @@ -743,13 +743,10 @@ def load_gemspec(file) file = File.realpath(file) code = File.read(file, encoding: "utf-8:-") code.gsub!(/`git.*?`/m, '""') - begin - spec = eval(code, binding, file) - rescue SignalException, SystemExit - raise - rescue SyntaxError, Exception + spec = eval(code, binding, file) + unless Gem::Specification === spec + raise TypeError, "[#{file}] isn't a Gem::Specification (#{spec.class} instead)." end - raise("invalid spec in #{file}") unless spec spec.loaded_from = file spec end -- cgit v1.2.3