LOG command behavior

Feb 27, 2018
I cannot understand the LOG command behavior. First, I issue the "option" command and see:


Ok, then I issue the command:

log /H /W %TMP%\tcc.hst

followed by the "option" command again and see:


Now any command I type in TCC window is executed but is accompanied by the message:

TCC (Sys) System cannot find the path specified.
"C:\ProgramData\JP Software\Take Command 22\TCCommandLog"

This is 100% reproducable. Is this a bug?
I tried it with TCC newly started after emptying all the boxes ... the same command "log /H /W %TMP%\tcc.hst". The option dialog then said:

That seems OK ... TCC correctly expanded %tmp% and enabled the history log. It seems to also enter a (default) command log name but not enable it (that's OK).

Afterwards, I had no problem entering commands. But it was not loggiing to h:\temp\tcc.hst. It was logging to "C:\ProgramData\JP Software\Take Command 22\TCCommandLog".

Even after restarting TCC, with these settings in place, it logged the history, but to the file specified for command logging.

v:\> type h:\4ntlogs\history.log

v:\> tail /n 6 "C:\ProgramData\JP Software\Take Command 22\TCCommandLog"
echo foo
echo bar
type h:\temp\tcc.hst
type "C:\ProgramData\JP Software\Take Command 22\TCCommandLog"
type h:\temp\tcc.hst
tail /n 6 "C:\ProgramData\JP Software\Take Command 22\TCCommandLog"
This is the next thing I wanted to report - nothing is written to the file that is the argument to the "log /H" command.
Nobody thinks TCC does not expand environment variables. It does. I just expected the (really clever, useful, etc.) behavior declared in the documentation. If TCC does not follow the described behavior then it is a bug, isn't it?

In parallel, I am using the 4NT born approx. 15 years ago. Comparing TCC and that old 4NT, the modern TCC is a buggy, almost unusable thing. Usually I find a bug in each command I try to use... Looks like the product never passed the testing procedures.
This is from a newly started TCC, having done nothing else.
v:\> grep -i log %_ininame

v:\> tail /n 5 h:\4NTLogs\history.log
log /h /w h:\4ntlogs\history.log
echo foo
type h:\4NTLogs\history.log

v:\> tail /n 5 "C:\ProgramData\JP Software\Take Command 22\TCCommandLog"
grep -i log %_ininame
grep -i log %_ininame
type h:\4NTLogs\history.log
tail /n 5 h:\4NTLogs\history.log
tail /n 5 "C:\ProgramData\JP Software\Take Command 22\TCCommandLog"

If, after that, I look at the option dialog, I see

Similar threads