diff --git a/Library/Homebrew/diagnostic.rb b/Library/Homebrew/diagnostic.rb index aea24c3b95..78477f8803 100644 --- a/Library/Homebrew/diagnostic.rb +++ b/Library/Homebrew/diagnostic.rb @@ -835,25 +835,20 @@ module Homebrew deleted_formulae = kegs.filter_map do |keg| tap = Tab.for_keg(keg).tap + keg_name = tap ? "#{tap}/#{keg.name}" : keg.name loadable = [ Formulary::FromAPILoader, + Formulary::FromTapLoader, Formulary::FromNameLoader, ].any? do |loader_class| loader = begin - loader_class.try_new(keg.name, warn: false) + loader_class.try_new(keg_name, warn: false) rescue TapFormulaAmbiguityError => e e.loaders.first end - if loader - # If we know the tap, ignore all other taps. - next false if tap && loader.tap != tap - - next true - end - - false + loader.instance_of?(Formulary::FromTapLoader) ? loader.path.exist? : loader.present? end keg.name unless loadable