[Rake-devel] Question about system call and multiple arguments.
James M. Lawrence
quixoticsycophant at gmail.com
Sun Nov 2 12:56:10 EST 2008
On Sat, Nov 1, 2008 at 11:42 AM, Luis Lavena <luislavena at gmail.com> wrote:
>
> I consider this another bug, since the extension is not present or
> required in other platforms, but looks like ruby on windows lookup for
> executables is failing now.
>
> Please disregard previous message, a patch for Ruby is underway.
In our previous conversation, I had explained that a fully-qualified
path as the first parameter to multi-argument system() is not
interpolated,
http://rubyforge.org/tracker/index.php?func=detail&aid=22303&group_id=167&atid=715
Shell interpolation and executable-spawning are two separate, distinct
ideas which are unfortunately smooshed together in the one system()
command via the single-argument and multi-argument forms respectively.
As I argue in that link, I think the only permanent solution is
LAUNCH_RUBY_ARGS for multi-argument system(). It would cover all
possible ruby implementations, including jruby.
In any case, a permanent solution is far off. In the meantime I don't
think Rake should be broken. Which means a workaround: jruby should
use single-argument system() (shell interpolation will find
jruby.bat), while all other implementations
append EXEEXT, keeping multi-argument system().
More information about the Rake-devel
mailing list