From 69aae1fb8b689645dccc5abc3567418b7d91062d Mon Sep 17 00:00:00 2001 From: Jack Nagel Date: Mon, 9 Dec 2013 21:10:32 -0600 Subject: versions: restore original constant Before: f1 = Formula.factory('tree') f1.versions f2 = Formula.factory('tree') f1.class == f2.class # => false After: f1 = Formula.factory('tree') f1.versions f2 = Formula.factory('tree') f1.class == f2.class # => true --- Library/Homebrew/cmd/versions.rb | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'Library/Homebrew/cmd') diff --git a/Library/Homebrew/cmd/versions.rb b/Library/Homebrew/cmd/versions.rb index 7e556ec55..feb908340 100644 --- a/Library/Homebrew/cmd/versions.rb +++ b/Library/Homebrew/cmd/versions.rb @@ -108,7 +108,7 @@ class Formula # Unload the class so Formula#version returns the correct value begin - Formulary.unload_formula name + old_const = Formulary.unload_formula name nostdout { yield Formula.factory(path.to_s) } rescue *IGNORED_EXCEPTIONS => e # We rescue these so that we can skip bad versions and @@ -116,6 +116,8 @@ class Formula ohai "#{e} in #{name} at revision #{sha}", e.backtrace if ARGV.debug? rescue FormulaUnavailableError # Suppress this error + ensure + Formulary.restore_formula name, old_const end end end -- cgit v1.2.3