From 342ed1d163c2ab321a9ce3522111bce59ef1fd2b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jaime=20Marqui=CC=81nez=20Ferra=CC=81ndiz?= Date: Fri, 7 Mar 2014 16:56:17 +0100 Subject: [PATCH] uses: fix `--installed` with outdated versions With that option iterate only over `Formula.installed`, otherwise iterate over `Formula`. This is faster than iterating over all the formulae and checking if it's installed. Fixes Homebrew/homebrew#27259. Closes Homebrew/homebrew#27295. Signed-off-by: Jack Nagel --- Library/Homebrew/cmd/uses.rb | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/Library/Homebrew/cmd/uses.rb b/Library/Homebrew/cmd/uses.rb index 44261be899..bab5e45bf5 100644 --- a/Library/Homebrew/cmd/uses.rb +++ b/Library/Homebrew/cmd/uses.rb @@ -8,13 +8,12 @@ module Homebrew extend self def uses raise FormulaUnspecifiedError if ARGV.named.empty? - formulae = ARGV.formulae + used_formulae = ARGV.formulae + formulae = (ARGV.include? "--installed") ? Formula.installed : Formula uses = [] - Formula.each do |f| - next if ARGV.include? "--installed" and not f.installed? - - formulae.all? do |ff| + formulae.each do |f| + used_formulae.all? do |ff| if ARGV.flag? '--recursive' if f.recursive_dependencies.any? { |dep| dep.name == ff.name } uses << f.to_s