diff --git a/Library/Homebrew/ARGV+yeast.rb b/Library/Homebrew/ARGV+yeast.rb index e602d7901a..007de9f4c8 100644 --- a/Library/Homebrew/ARGV+yeast.rb +++ b/Library/Homebrew/ARGV+yeast.rb @@ -66,6 +66,9 @@ module HomebrewArgvExtension def quieter? flag? '--quieter' end + def interactive? + flag? '--interactive' + end def flag? flag options.each do |arg| diff --git a/Library/Homebrew/brew.h.rb b/Library/Homebrew/brew.h.rb index de5048cc3f..875f61be04 100644 --- a/Library/Homebrew/brew.h.rb +++ b/Library/Homebrew/brew.h.rb @@ -174,7 +174,7 @@ end def install f f.brew do - if ARGV.flag? '--interactive' + if ARGV.interactive? ohai "Entering interactive mode" puts "Type `exit' to return and finalize the installation" puts "Install to this prefix: #{f.prefix}" diff --git a/bin/brew b/bin/brew index b09c957b8a..bf3a449c2e 100755 --- a/bin/brew +++ b/bin/brew @@ -90,6 +90,15 @@ begin puts "#{f}: #{ENV[f]}" unless ENV[f].to_s.empty? end end + + if ARGV.interactive? and ARGV.formulae.count > 1 + # the reason for this is interactive mode is a little tricky to do + # with more than one formula, AND I can't think of a time where you'd + # want to do it anyway. If someone comes up with a legitimate use for + # this we will adapt the code. "But I might want it!" is not a + # legitimate use! + raise "Interactive mode can only be used with one formula argument" + end unless ARGV.force? unless system "which #{ENV['CC'] or 'cc'} &> /dev/null" and $?.success?