summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Fagerlund <nick@hashicorp.com>2019-10-18 09:43:25 -0700
committerMarc Cornellà <marc.cornella@live.com>2019-10-18 18:43:25 +0200
commita41d308f70181db085938c5a8f2fe3d0d8e312c5 (patch)
tree1402345e3d6ad26c185ab5d0e95d77bd94f5e150
parent3e4d10c4f17b2fe57090a524d5d78781beda204a (diff)
downloadzsh-a41d308f70181db085938c5a8f2fe3d0d8e312c5.tar.gz
zsh-a41d308f70181db085938c5a8f2fe3d0d8e312c5.tar.bz2
zsh-a41d308f70181db085938c5a8f2fe3d0d8e312c5.zip
bundler: make it play nice with functions that call wrapped commands (#8271)
When another function calls one of the bundler plugin's wrapper functions, the command to run gets passed as an array instead of a space-separated string. That works fine when the arguments are expanded alone, like `bundle exec $@`, but something like `./bin/$@` will expand to something like `./bin/rake ./bin/--silent ./bin/--tasks`, which of course will explode. This was causing a nasty interaction with the rake-fast plugin, and I'd be shocked if it wasn't causing other problems. The fix is to explicitly turn off the `RC_EXPAND_PARAM` option for that expansion. See http://zsh.sourceforge.net/Doc/Release/Expansion.html#Parameter-Expansion for more details.
-rw-r--r--plugins/bundler/bundler.plugin.zsh2
1 files changed, 1 insertions, 1 deletions
diff --git a/plugins/bundler/bundler.plugin.zsh b/plugins/bundler/bundler.plugin.zsh
index c4a4fd40a..d93fac01e 100644
--- a/plugins/bundler/bundler.plugin.zsh
+++ b/plugins/bundler/bundler.plugin.zsh
@@ -95,7 +95,7 @@ _binstubbed() {
_run-with-bundler() {
if _bundler-installed && _within-bundled-project; then
if _binstubbed $1; then
- ./bin/$@
+ ./bin/${^^@}
else
bundle exec $@
fi