diff options
author | Nick Fagerlund <nick@hashicorp.com> | 2019-10-18 09:43:25 -0700 |
---|---|---|
committer | Marc Cornellà <marc.cornella@live.com> | 2019-10-18 18:43:25 +0200 |
commit | a41d308f70181db085938c5a8f2fe3d0d8e312c5 (patch) | |
tree | 1402345e3d6ad26c185ab5d0e95d77bd94f5e150 | |
parent | 3e4d10c4f17b2fe57090a524d5d78781beda204a (diff) | |
download | zsh-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.zsh | 2 |
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 |