[texworks] New version 302/303
Jonathan Kew
jfkthame at googlemail.com
Sat Jun 6 19:25:24 CEST 2009
On 6 Jun 2009, at 16:44, T T wrote:
>
>>>> Note that the original PATH is repeated twice in the one passed
>>>> to the
>>>> spawned process, which should not happen, because of the condition
>>>> (see above):
>>>>
>>>> if (!binPaths.contains(s)) binPaths.append(s);
>>>>
>>>> So something is not right here.
>>>
>>> Rev 303 did not include that condition, it unconditionally added the
>>> PATH in typeset(). This was revised in r.306. So this part, at
>>> least,
>>> is not a mystery.
>
> Right, my mistake. But it seems that those changes made things
> worse. But why?
Aaaarrgghh!!!
On Windows, the env variable isn't called "PATH", it's called "Path".
At least on my XP installation. That wouldn't matter for getenv(),
which is case insensitive on Windows. But when scanning the
environment from within the Qt code, the string comparison was case
sensitive, so it missed the Path variable entirely!
I think this also explains some other problem reports; texworks wants
to modify the path it passes to subprocesses, so that they can also
find additional tools they may need (such as xetex piping output to
xdvipdfmx), but this would have been failing too.
r.308 deals with this, I think, and seems to work better here at least.
JK
More information about the texworks
mailing list