From 8ec2d8e04396caee709e475fbbcad46dc6f9146f Mon Sep 17 00:00:00 2001 From: Charlie Sharpsteen Date: Mon, 14 Nov 2011 08:22:59 -0800 Subject: Hotfix for filtered_args breaking brew upgrade The `filtered_args` method added to the `FormulaInstaller` makes a call `ARGV.formulae`. Unfortunately, `ARGV.formulae` will throw a `FormulaUnspecifiedError` instead of returning an empty list. This patch avoids the issue by checking `ARGV.named.empty?` before calling `ARGV.formulae`. Fixes Homebrew/homebrew#8576. --- Library/Homebrew/formula_installer.rb | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'Library') diff --git a/Library/Homebrew/formula_installer.rb b/Library/Homebrew/formula_installer.rb index 537cbd317..689c4ff68 100644 --- a/Library/Homebrew/formula_installer.rb +++ b/Library/Homebrew/formula_installer.rb @@ -247,7 +247,16 @@ class FormulaInstaller def filtered_args # Did the user actually pass the formula this installer is considering on # the command line? - def explicitly_requested?; ARGV.formulae.include? f end + def explicitly_requested? + # `ARGV.formulae` will throw an exception if it comes up with an empty + # list. + # + # FIXME: + # `ARGV.formulae` probably should be throwing exceptions, it should be + # the caller's responsibility to check `ARGV.formulae.empty?`. + return false if ARGV.named.empty? + ARGV.formulae.include? f + end previous_install = Tab.for_formula f args = ARGV.clone -- cgit v1.2.3