diff options
| author | Jack Nagel | 2012-12-27 23:34:29 -0600 |
|---|---|---|
| committer | Jack Nagel | 2012-12-27 23:41:44 -0600 |
| commit | 9362a7c89732a1cea6a1ada1062fedcf24505b8a (patch) | |
| tree | 2388e2f164d4eabe429e16d00d16d863dd38f737 | |
| parent | 1bce10ad6caa96614a770e1e1de86ffb25215e42 (diff) | |
| download | brew-9362a7c89732a1cea6a1ada1062fedcf24505b8a.tar.bz2 | |
Respect BROWSER environment variable
| -rw-r--r-- | Library/Homebrew/cmd/create.rb | 4 | ||||
| -rw-r--r-- | Library/Homebrew/cmd/home.rb | 4 | ||||
| -rw-r--r-- | Library/Homebrew/cmd/search.rb | 4 | ||||
| -rw-r--r-- | Library/Homebrew/utils.rb | 15 |
4 files changed, 17 insertions, 10 deletions
diff --git a/Library/Homebrew/cmd/create.rb b/Library/Homebrew/cmd/create.rb index f5810c1b3..0f0e14d22 100644 --- a/Library/Homebrew/cmd/create.rb +++ b/Library/Homebrew/cmd/create.rb @@ -8,9 +8,9 @@ module Homebrew extend self # Allow searching MacPorts or Fink. if ARGV.include? '--macports' - exec "open", "http://www.macports.org/ports.php?by=name&substr=#{ARGV.next}" + exec_browser "http://www.macports.org/ports.php?by=name&substr=#{ARGV.next}" elsif ARGV.include? '--fink' - exec "open", "http://pdb.finkproject.org/pdb/browse.php?summary=#{ARGV.next}" + exec_browser "http://pdb.finkproject.org/pdb/browse.php?summary=#{ARGV.next}" end raise UsageError if ARGV.named.empty? diff --git a/Library/Homebrew/cmd/home.rb b/Library/Homebrew/cmd/home.rb index a91607988..75263f172 100644 --- a/Library/Homebrew/cmd/home.rb +++ b/Library/Homebrew/cmd/home.rb @@ -1,9 +1,9 @@ module Homebrew extend self def home if ARGV.named.empty? - exec "open", HOMEBREW_WWW + exec_browser HOMEBREW_WWW else - exec "open", *ARGV.formulae.map{ |f| f.homepage } + exec_browser *ARGV.formulae.map{ |f| f.homepage } end end end diff --git a/Library/Homebrew/cmd/search.rb b/Library/Homebrew/cmd/search.rb index 4cb17f229..b1109547c 100644 --- a/Library/Homebrew/cmd/search.rb +++ b/Library/Homebrew/cmd/search.rb @@ -4,9 +4,9 @@ require "blacklist" module Homebrew extend self def search if ARGV.include? '--macports' - exec "open", "http://www.macports.org/ports.php?by=name&substr=#{ARGV.next}" + exec_browser "http://www.macports.org/ports.php?by=name&substr=#{ARGV.next}" elsif ARGV.include? '--fink' - exec "open", "http://pdb.finkproject.org/pdb/browse.php?summary=#{ARGV.next}" + exec_browser "http://pdb.finkproject.org/pdb/browse.php?summary=#{ARGV.next}" else query = ARGV.first rx = case query diff --git a/Library/Homebrew/utils.rb b/Library/Homebrew/utils.rb index 348dbbdea..d91df676b 100644 --- a/Library/Homebrew/utils.rb +++ b/Library/Homebrew/utils.rb @@ -171,11 +171,18 @@ end def exec_editor *args return if args.to_s.empty? + safe_exec(which_editor, *args) +end + +def exec_browser *args + browser = ENV['HOMEBREW_BROWSER'] || ENV['BROWSER'] || "open" + safe_exec(browser, *args) +end - # Invoke bash to evaluate env vars in $EDITOR - # This also gets us proper argument quoting. - # See: https://github.com/mxcl/homebrew/issues/5123 - system "bash", "-i", "-c", which_editor + ' "$@"', "--", *args +def safe_exec cmd, *args + # This buys us proper argument quoting and evaluation + # of environment variables in the cmd parameter. + exec "/bin/sh", "-i", "-c", cmd + ' "$@"', "--", *args end # GZips the given paths, and returns the gzipped paths |
