Browse Source

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.
Nick Fagerlund 4 years ago
parent
commit
a41d308f70
1 changed files with 1 additions and 1 deletions
  1. 1 1
      plugins/bundler/bundler.plugin.zsh

+ 1 - 1
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