Unnecessary environment dependencies of TCC.EXE

Apr 13, 2010
The Hague
If the System* variables are somehow removed from the environment and the script runs a (transient) subshell, the licence system reports that the license has expired. This behavior is not documented. Specifically, these variables and their importance are not mentioned in the "System Variables" table in the helpfile. It is very time-consuming to trace the errors back to the missing envars.

The same condition also causes other (internal?) commands to misbehave in incomprehensible ways. E.g, the RD /S and DEL /S commands are also effected.

I find this surprising because the information needed is available in the internal _sysdir variable.

If such an important dependency must exist I would expect to be warned, both in the documentation as when launching a subshell.
May 20, 2008
Syracuse, NY, USA
What is _SYSDIR?

This script which creates two transient instances works fine.

unset *
d:\tc25\tcc.exe /c delay 5
echo foo | ffind /t"foo"