From 507db5256f54373ae823266199b3f8d84c3c712f Mon Sep 17 00:00:00 2001 From: Markus Reiter Date: Thu, 25 Mar 2021 19:11:52 +0100 Subject: [PATCH] Revert "Merge pull request #10934 from dawidd6/revert-uninstall" This reverts commit 5b1ad8418413f84a2cc11a33da39f467f3756a64, reversing changes made to e1385b075408cca153a59a960b52c44508df1e1b. --- Library/Homebrew/cli/named_args.rb | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/Library/Homebrew/cli/named_args.rb b/Library/Homebrew/cli/named_args.rb index 89205c0297..5ae39df42f 100644 --- a/Library/Homebrew/cli/named_args.rb +++ b/Library/Homebrew/cli/named_args.rb @@ -91,8 +91,8 @@ module Homebrew when :keg resolve_keg(name) when :kegs - rack = Formulary.to_rack(name) - rack.directory? ? rack.subdirs.map { |d| Keg.new(d) } : [] + _, kegs = resolve_kegs(name) + kegs else raise end @@ -259,15 +259,21 @@ module Homebrew end private :spec - def resolve_keg(name) + def resolve_kegs(name) raise UsageError if name.blank? require "keg" rack = Formulary.to_rack(name.downcase) - dirs = rack.directory? ? rack.subdirs : [] - raise NoSuchKegError, rack.basename if dirs.empty? + kegs = rack.directory? ? rack.subdirs.map { |d| Keg.new(d) } : [] + raise NoSuchKegError, rack.basename if kegs.none? + + [rack, kegs] + end + + def resolve_keg(name) + rack, kegs = resolve_kegs(name) linked_keg_ref = HOMEBREW_LINKED_KEGS/rack.basename opt_prefix = HOMEBREW_PREFIX/"opt/#{rack.basename}" @@ -275,7 +281,7 @@ module Homebrew begin return Keg.new(opt_prefix.resolved_path) if opt_prefix.symlink? && opt_prefix.directory? return Keg.new(linked_keg_ref.resolved_path) if linked_keg_ref.symlink? && linked_keg_ref.directory? - return Keg.new(dirs.first) if dirs.length == 1 + return kegs.first if kegs.length == 1 f = if name.include?("/") || File.exist?(name) Formulary.factory(name)