Bennett Helm wrote:
> My output (confirming my suspicions -- at least I'm not crazy!):
> 
> Env var "PATH", "/usr/bin:/bin:/usr/sbin:/sbin:/Users/bennett", is
> prepended with "/Applications/LyX-136.app/Contents/MacOS/"
> result:

How interesting! I've erased the PATH environment variable!

> lyxrc.path_prefix is
> /usr/bin:/usr/local/bin:/usr/local/teTeX/bin/powerpc-apple-darwin-
> current:/usr/X11R6/bin:/sw/bin:/opt/local/teTeX/bin
> Env var "PATH", "", is prepended with
> "/usr/bin:/usr/local/bin:/usr/local/teTeX/bin/powerpc-apple-darwin-
> current:/usr/X11R6/bin:/sw/bin:/opt/local/teTeX/bin"
> result:

So the fault lies in "prependEnvPath". Yet Andreas says that this 
(identical) code works perfectly for him when using the 1.4.x version. I'm 
a bit baffled.

Could you post the output of:

$ grep -e 'HAVE_SETENV' -e 'HAVE_PUTENV' config.h

Also, could you alter this function in src/support/filetools.C:

 void setEnvPath(string const & name, vector<string> const & env)
 {
        char const separator(os::path_separator());
        std::ostringstream ss;
        vector<string>::const_iterator it = env.begin();
        vector<string>::const_iterator const end = env.end();
        for (; it != end; ++it) {
            if (ss.tellp() > 0)
                    ss << separator;
            ss << os::external_path(*it);
        }
-       PutEnv(name + "=" + ss.str());
+       bool const result = PutEnv(name + "=" + ss.str());
+       lyxerr << "setEnvPath(" << name << ") == " << result << std::endl;
}


-- 
Angus

Reply via email to