Why isn't TCSTART.BTM run?

#1
This may have something to do with my thread about the console caption; I don't know. There is at least one difference between the two computers.
On my work computer, TCSTART.BTM is NOT run by any instance of TCC v16. And I can't figure out why. Everything seems to be set up right. Here's a clip from a normal instance of TCCv16 on that computer, started from Start\Run with /ip.
Code:
d:\tc16> echo %_ininame
D:\TC16\TCMD.INI

d:\tc16> grep -i startpath %_ininame
TCStartPath=d:\tc16
4StartPath=d:\tc16

d:\tc16> head /n3 d:\tc16\tcstart.btm
echo PPID = %_PPID
IF %_PIPE == 1 ( CURSOR OFF & QUIT )
IF %_TRANSIENT == 1 QUIT
Regardless of how I start TCC v16 on that machine, I do not see the message that TCSTART.BTM should produce. And other things done in TCSTART.BTM also don't get done.

Any ideas?
 

rconn

Administrator
Staff member
May 14, 2008
10,576
97
#2
TCC doesn't do anything complicated when looking for and executing TCSTART. There's only three possible reasons why TCSTART wouldn't be executed:

1) It's finding another TCSTART first
2) You have a privilege issue
3) TCSTART isn't there

Try running "echo %_tcstart".

(BTW, "4StartPath" (the obsolete name) and "TCStartPath" map to the same TCMD.INI directive, so there isn't any point in having both of them.)
 
#3
If I watch with ProcessMonitor, I see

QueryDirectory d:\tc16\tcstart.* SUCCESS
QueryDirectory d:\tc16\tcstart.com NO_SUCH_FILE
more like that, for EXE, BAT, CMD, VBS, VBE, JS, JSE, WSF, WSH, MSC

But there's no QueryDirectory for TCSTART.BTM!

.BTM is not listed in PATHEXT. That doesn't bother TCCv15. Adding it made TCCv16 work correctly. Why the change?

It also changed the behavior described my other thread about the elevated console caption. I'll comment there in a minute.