aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew/utils.rb
diff options
context:
space:
mode:
authorAdam Vandenberg2011-04-12 10:09:33 -0700
committerAdam Vandenberg2011-04-12 10:09:41 -0700
commit2529958e8cedd78f2d229acf46252248094730fd (patch)
tree507cc7ec289073440fe47185e11c00723665fd6c /Library/Homebrew/utils.rb
parent391aff62d512fcde71ddf813e41bf7152ba71a71 (diff)
downloadhomebrew-2529958e8cedd78f2d229acf46252248094730fd.tar.bz2
Handle complex $EDITOR values.
Diffstat (limited to 'Library/Homebrew/utils.rb')
-rw-r--r--Library/Homebrew/utils.rb9
1 files changed, 5 insertions, 4 deletions
diff --git a/Library/Homebrew/utils.rb b/Library/Homebrew/utils.rb
index 080a099ea..75609a4e7 100644
--- a/Library/Homebrew/utils.rb
+++ b/Library/Homebrew/utils.rb
@@ -131,10 +131,11 @@ def exec_editor *args
'/usr/bin/vim' # Default to vim
end
end
- # we split the editor because especially on mac "mate -w" is common
- # but we still want to use the comma-delimited version of exec because then
- # we don't have to escape args, and escaping 100% is tricky
- exec *(editor.split + args) unless args.empty?
+
+ # 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", "-c", editor + ' "$@"', "--", *args
end
# GZips the given paths, and returns the gzipped paths