We currently set the LOAD_PATH to be exactly what it is at the time
_no_wait is called. If you look here (http://docs.rubygems.org/read/
chapter/3) it seems that rubygems libs are not available till you
require rubygems or you have the environment variable RUBYOPT=-
rubygems. (Also note that it says that in Ruby 1.9, rubygems is
required by default...)

I suspect what's happening is that when you have rubygems loaded, it
modifies the 'require' statement to add the lib you're requiring to
the load path. When we run _no_wait, the load_path has all of the
libraries loaded at that point in time, but not any libs that have not
been required. In the second process, rubygems isn't active so the
require statement doesn't behave the same way it did with rubygems
loaded and so it can't find any new declarations. I'm not sure what
else rubygems could affect but there could be some other subtleties
I've missed.

I think the right thing to do for now is check to see if rubygems is
loaded at the time the _no_wait is declared and if so, require
rubygems in the new process. I think if we do that and make sure the
_no_wait doesn't siliently fail, then we should be ok.

Hugh

-- 
Before posting, please read http://watir.com/support. In short: search before 
you ask, be nice.

[email protected]
http://groups.google.com/group/watir-general
[email protected]

Reply via email to