Welcome!

By registering with us, you'll be able to discuss, share and private message with other members of our community.

SignUp Now!

4NT 9.02 _shell internal variable

Aug
26
0
Hello, I am new to this Forum, but have been a long time 4NT user. I recently upgraded to 4nt/Tcc version 9.02. I have historically always modified my command prompt to include my nested shell number (option -z, I believe). When I installed version 9.02, this behavior appeared to no longer work.

I ran a quick test by opening up a 4NT window and checked the value of _shell. It was 0, as expected. I then executed "4nt.exe" from the command line to create a nested shell. Again, I checked the value and it was still 0, not 1 as I expected. I then had to perform two "exits" in order to fully close the window - as expected.

Is this a known bug with _shell in 9.02, or am I missing something? (Incidentally, I also checked the value of the new internal variable (_shells) and got the same results.

I am running on Vista.

Thanks for any help.
Greg
 
On Wed, 27 Aug 2008 18:22:23 -0500, Greg Wells <> wrote:


>Hello, I am new to this Forum, but have been a long time 4NT user. I recently upgraded to 4nt/Tcc version 9.02. I have historically always modified my command prompt to include my nested shell number (option -z, I believe). When I installed version 9.02, this behavior appeared to no longer work.
>
>I ran a quick test by opening up a 4NT window and checked the value of _shell. It was 0, as expected. I then executed "4nt.exe" from the command line to create a nested shell. Again, I checked the value and it was still 0, not 1 as I expected. I then had to perform two "exits" in order to fully close the window - as expected.

Are you sure you started the right version of 4NT? Or perhaps you started 4NT
v9 from TCC v9 (or vice versa, that won't work). I doubt Vista matters; here,
on XP,

TCC 9.02.151 Windows XP [Version 5.1.2600]
Copyright 2008 Rex Conn & JP Software Inc. All Rights Reserved
Registered to Vincent Fatica - 5 System License

v:\> echo %_shell
0

v:\> d:\tcmd9\tcc.exe

TCC 9.02.151 Windows XP [Version 5.1.2600]
Copyright 2008 Rex Conn & JP Software Inc. All Rights Reserved
Registered to Vincent Fatica - 5 System License

v:\> echo %_shell
1

v:\> d:\tcmd9\4nt.exe

TCC 9.02.151 Windows XP [Version 5.1.2600]
Copyright 2008 Rex Conn & JP Software Inc. All Rights Reserved
Registered to Vincent Fatica - 5 System License

v:\> echo %_shell
0

v:\> d:\tcmd9\4nt.exe

TCC 9.02.151 Windows XP [Version 5.1.2600]
Copyright 2008 Rex Conn & JP Software Inc. All Rights Reserved
Registered to Vincent Fatica - 5 System License

v:\> echo %_shell
1
 
Greg Wells wrote:

> Hello, I am new to this Forum, but have been a long time 4NT user. I
> recently upgraded to 4nt/Tcc version 9.02. I have historically always
> modified my command prompt to include my nested shell number (option -z,
> I believe). When I installed version 9.02, this behavior appeared to no
> longer work.
>
> I ran a quick test by opening up a 4NT window and checked the value of
> _shell. It was 0, as expected. I then executed "4nt.exe" from the
> command line to create a nested shell. Again, I checked the value and it
> was still 0, not 1 as I expected. I then had to perform two "exits" in
> order to fully close the window - as expected.
>
> Is this a known bug with _shell in 9.02, or am I missing something?
> (Incidentally, I also checked the value of the new internal variable
> (_shells) and got the same results.
>
> I am running on Vista.

It works as expected here. Make sure you're not running different
versions of 4NT, or mixing a TCC.EXE and a 4NT.EXE (they will not
inherit from each other).

Rex Conn
JP Software
 
Hello, I am new to this Forum, but have been a long time 4NT user. I recently upgraded to 4nt/Tcc version 9.02. I have historically always modified my command prompt to include my nested shell number (option -z, I believe). When I installed version 9.02, this behavior appeared to no longer work.

I ran a quick test by opening up a 4NT window and checked the value of _shell. It was 0, as expected. I then executed "4nt.exe" from the command line to create a nested shell. Again, I checked the value and it was still 0, not 1 as I expected. I then had to perform two "exits" in order to fully close the window - as expected.

Is this a known bug with _shell in 9.02, or am I missing something? (Incidentally, I also checked the value of the new internal variable (_shells) and got the same results.

I am running on Vista.

Thanks for any help.
Greg


Thanks, guys. I think I found the problem. I am a long-time 4nt user. To answer your questions, I am only running 9.02 on this new Vista machine - no other version.

As a long-time user, I prefer to use 4nt.exe, not tcc.exe. (It's a habit for me to type "4nt".) I noticed that in 9.02, both .exe's are installed into the Program Files\JPSoft\TCMD9 folder. (Probably to preserve the 4nt.exe interface for users like me.)

I setup my desktop shortcut to point to 4nt.exe. This launches the command window. When I type 4nt from the command prompt, it creates a second shell, but _shell is not getting updated (it is still set to 0). My guess is that the problem lies in the fact that 4nt.exe was implemented as simply a wrapper application to the tcc.exe app and that environment settings are not fully inheriting upon the execution of tcc.exe.

If I change my interface so that I launch tcc.exe from my shortcut, and then issue a tcc command from within my command window, then _shell appears to update.

I would like to suggest that this could be seen as a bug since the very existence of the 4nt.exe application implies that it is an identical replacement to tcc.exe.

By the way, if I launch 4nt.exe, then obviously _shell == 0. If I then run tcc.exe from the command line of that same window, I get a new shell, but _shell == 0. If I then run another tcc.exe from that command line, _shell == 1. This is consistent with what you were saying, Rex. However, I still believe that if I ONLY use 4nt.exe, it should also work the same way as tcc.exe.

Your thoughts? (And thanks for your help!)

Greg
 
On Wed, 27 Aug 2008 21:59:16 -0500, Greg Wells <> wrote:


>However, I still believe that if I ONLY use 4nt.exe, it should also work the same way as tcc.exe.

It does here: the first one (d:\tcmd9\4nt.exe) started from a desktop shortcut:

TCC 9.02.151 Windows XP [Version 5.1.2600]
Copyright 2008 Rex Conn & JP Software Inc. All Rights Reserved
Registered to Vincent Fatica - 5 System License

d:\tcmd9> echo %_shell
0

d:\tcmd9> d:\tcmd9\4nt.exe

TCC 9.02.151 Windows XP [Version 5.1.2600]
Copyright 2008 Rex Conn & JP Software Inc. All Rights Reserved
Registered to Vincent Fatica - 5 System License

d:\tcmd9> echo %_shell
1
 
On Wed, 27 Aug 2008 21:59:16 -0500, Greg Wells <> wrote:




It does here: the first one (d:\tcmd9\4nt.exe) started from a desktop shortcut:

TCC 9.02.151 Windows XP [Version 5.1.2600]
Copyright 2008 Rex Conn & JP Software Inc. All Rights Reserved
Registered to Vincent Fatica - 5 System License

d:\tcmd9> echo %_shell
0

d:\tcmd9> d:\tcmd9\4nt.exe

TCC 9.02.151 Windows XP [Version 5.1.2600]
Copyright 2008 Rex Conn & JP Software Inc. All Rights Reserved
Registered to Vincent Fatica - 5 System License

d:\tcmd9> echo %_shell
1


Thanks vefatica. Wow, things are getting a bit more interesting here. I commented out a line in my TCSTART.btm that was simply moving me to my home directory. And now...things work with 4nt.exe. In other words, the _shell issue breaks if I change directories first.

I just verified this. Can you try this?....Open up a 4nt window. Then, do a "cd .." to change directories, then issue another 4nt command to create another shell. On my machine, the _shell is not updated in this case.
 
On Wed, 27 Aug 2008 22:52:34 -0500, Greg Wells <> wrote:


>I just verified this. Can you try this?....Open up a 4nt window. Then, do a "cd .." to change directories, then issue another 4nt command to create another shell. On my machine, the _shell is not updated in this case.

I can't help there. Below, the first one started from a desktop shortcut
(d:\tcmd9\4nt.exe).

TCC 9.02.151 Windows XP [Version 5.1.2600]
Copyright 2008 Rex Conn & JP Software Inc. All Rights Reserved
Registered to Vincent Fatica - 5 System License

d:\tcmd9> cd ..

d:\> d:\tcmd9\4nt.exe

TCC 9.02.151 Windows XP [Version 5.1.2600]
Copyright 2008 Rex Conn & JP Software Inc. All Rights Reserved
Registered to Vincent Fatica - 5 System License

d:\> echo %_shell
1
 
On Wed, 27 Aug 2008 22:52:34 -0500, Greg Wells <> wrote:


>I just verified this. Can you try this?....Open up a 4nt window. Then, do a "cd .." to change directories, then issue another 4nt command to create another shell. On my machine, the _shell is not updated in this case.

I can't help there. Below, the first one started from a desktop shortcut
(d:\tcmd9\4nt.exe).

TCC 9.02.151 Windows XP [Version 5.1.2600]
Copyright 2008 Rex Conn & JP Software Inc. All Rights Reserved
Registered to Vincent Fatica - 5 System License

d:\tcmd9> cd ..

d:\> d:\tcmd9\4nt.exe

TCC 9.02.151 Windows XP [Version 5.1.2600]
Copyright 2008 Rex Conn & JP Software Inc. All Rights Reserved
Registered to Vincent Fatica - 5 System License

d:\> echo %_shell
1
 
On Wed, 27 Aug 2008 22:52:34 -0500, Greg Wells <> wrote:




I can't help there. Below, the first one started from a desktop shortcut
(d:\tcmd9\4nt.exe).

TCC 9.02.151 Windows XP [Version 5.1.2600]
Copyright 2008 Rex Conn & JP Software Inc. All Rights Reserved
Registered to Vincent Fatica - 5 System License

d:\tcmd9> cd ..

d:\> d:\tcmd9\4nt.exe

TCC 9.02.151 Windows XP [Version 5.1.2600]
Copyright 2008 Rex Conn & JP Software Inc. All Rights Reserved
Registered to Vincent Fatica - 5 System License

d:\> echo %_shell
1



Thanks, vefatica. Here is the exact command history when I do the same thing on my Vista machine: (The initial window was created by executing 4nt.exe.)


TCC 9.02.151 Windows Vista [Version 6.0.6001]
Copyright 2008 Rex Conn & JP Software Inc. All Rights Reserved
Registered to Chief Architect Inc - 1 System License
0-C:\Program Files\JPSoft\TCMD9
===>echo %_shell
0
0-C:\Program Files\JPSoft\TCMD9
===>cd ..
0-C:\Program Files\JPSoft
===>4nt
TCC 9.02.151 Windows Vista [Version 6.0.6001]
Copyright 2008 Rex Conn & JP Software Inc. All Rights Reserved
Registered to Chief Architect Inc - 1 System License
0-C:\Program Files\JPSoft
===>echo %_shell
0
0-C:\Program Files\JPSoft
===>
 
On Wed, 27 Aug 2008 22:52:34 -0500, Greg Wells <> wrote:




I can't help there. Below, the first one started from a desktop shortcut
(d:\tcmd9\4nt.exe).

TCC 9.02.151 Windows XP [Version 5.1.2600]
Copyright 2008 Rex Conn & JP Software Inc. All Rights Reserved
Registered to Vincent Fatica - 5 System License

d:\tcmd9> cd ..

d:\> d:\tcmd9\4nt.exe

TCC 9.02.151 Windows XP [Version 5.1.2600]
Copyright 2008 Rex Conn & JP Software Inc. All Rights Reserved
Registered to Vincent Fatica - 5 System License

d:\> echo %_shell
1


Here is the exact same sequence when I DON'T perform a "cd .." command between the first shell and the second shell: (Notice that this works as expected.)


TCC 9.02.151 Windows Vista [Version 6.0.6001]
Copyright 2008 Rex Conn & JP Software Inc. All Rights Reserved
Registered to Chief Architect Inc - 1 System License
0-C:\Program Files\JPSoft\TCMD9
===>echo %_shell
0
0-C:\Program Files\JPSoft\TCMD9
===>4nt
TCC 9.02.151 Windows Vista [Version 6.0.6001]
Copyright 2008 Rex Conn & JP Software Inc. All Rights Reserved
Registered to Chief Architect Inc - 1 System License
1-C:\Program Files\JPSoft\TCMD9
===>echo %_shell
1
1-C:\Program Files\JPSoft\TCMD9
===>
 
If there's some Vista madness, I can't help. But I suggest you try it with
fully-qualified paths everywhere ...

Shortcut/StartRun: "C:\Program Files\JPSoft\TCMD9\4nt.exe"

Then: "C:\Program Files\JPSoft\TCMD9\4nt.exe"
 
If there's some Vista madness, I can't help. But I suggest you try it with
fully-qualified paths everywhere ...

Shortcut/StartRun: "C:\Program Files\JPSoft\TCMD9\4nt.exe"

Then: "C:\Program Files\JPSoft\TCMD9\4nt.exe"


Nice call, Vince. If I change it so that I run my second shell with a fully-qualified path, it works correctly. This appears to be a bug to me. Here is my command history that works:


TCC 9.02.151 Windows Vista [Version 6.0.6001]
Copyright 2008 Rex Conn & JP Software Inc. All Rights Reserved
Registered to Chief Architect Inc - 1 System License
0-C:\Program Files\JPSoft\TCMD9
===>echo %_shell
0
0-C:\Program Files\JPSoft\TCMD9
===>cd ..
0-C:\Program Files\JPSoft
===>"c:\Program Files\JPSoft\TCMD9\4nt.exe"
TCC 9.02.151 Windows Vista [Version 6.0.6001]
Copyright 2008 Rex Conn & JP Software Inc. All Rights Reserved
Registered to Chief Architect Inc - 1 System License
1-C:\Program Files\JPSoft
===>echo %_shell
1
1-C:\Program Files\JPSoft
===>


Note that if I change the fully-qualified path invocation of 4nt.exe to just "4nt.exe", this will fail - meaning that the _shell variable will not be incremented even though a second shell has been created.

Can someone else verify this for me? What I'm wondering is if this is a bug or if there is still something that I am not doing correctly.

Thanks!
Greg
 
On Wed, 27 Aug 2008 23:43:27 -0500, Greg Wells <> wrote:


>Can someone else verify this for me? What I'm wondering is if this is a bug or if there is still something that I am not doing correctly.

My guess is that you are running some other copy of 4NT when you don't specify a
full path. Perhaps it's coming from the PATH variable. Does another copy of
the same EXE exist anywhere else on the machine?

Or maybe you're running the same 4NT but by a name the OS thinks is
different(?). Do you use any links, junctions, or SUBSTs that would make the
very same on-disk EXE appear to be in a different location?
 
On Wed, 27 Aug 2008 23:43:27 -0500, Greg Wells <> wrote:




My guess is that you are running some other copy of 4NT when you don't specify a
full path. Perhaps it's coming from the PATH variable. Does another copy of
the same EXE exist anywhere else on the machine?

Or maybe you're running the same 4NT but by a name the OS thinks is
different(?). Do you use any links, junctions, or SUBSTs that would make the
very same on-disk EXE appear to be in a different location?


Vince, Good guess, but "No", I am not. This is a clean Vista machine with only one version (9.02) ever installed on it. Here is a quick check:


0-C:\
===>which 4nt
C:/PROGRA~1/JPSoft/TCMD9/4nt.exe
0-C:\
===>
 
On Thu, 28 Aug 2008 00:02:36 -0500, Greg Wells <> wrote:


>C:/PROGRA~1/JPSoft/TCMD9/4nt.exe

Try turning off 8.3 path-names ... OPTION\Startup\SearchForSFNs ... uncheck it.
Maybe the OS or 4NT doesn't realize that C:/PROGRA~1/JPSoft/TCMD9/4nt.exe and
C:/Program Files/JPSoft/TCMD9/4nt.exe are the same module.
 
On Thu, 28 Aug 2008 00:02:36 -0500, Greg Wells <> wrote:




Try turning off 8.3 path-names ... OPTION\Startup\SearchForSFNs ... uncheck it.
Maybe the OS or 4NT doesn't realize that C:/PROGRA~1/JPSoft/TCMD9/4nt.exe and
C:/Program Files/JPSoft/TCMD9/4nt.exe are the same module.


Already checked that earlier in the day. It was off. I even tried turning it on and then off again. The results were still the same. I have the problem in both settings.
 
===>which 4nt
C:/PROGRA~1/JPSoft/TCMD9/4nt.exe

If SFNsearch is off, why is which giving you a SFN?
 
===>which 4nt
C:/PROGRA~1/JPSoft/TCMD9/4nt.exe

If SFNsearch is off, why is which giving you a SFN?

Good question, Vince.
My "which" is actually a 4nt alias for my MKS toolkit "which"

alias which `which.exe -a`Note the "-a" which means that it is listing ALL instances.Note that I only have one 4nt.exe (see my prior post.)
 
Thanks, vefatica. Here is the exact command history when I do the same thing on my Vista machine: (The initial window was created by executing 4nt.exe.)


TCC 9.02.151 Windows Vista [Version 6.0.6001]
Copyright 2008 Rex Conn & JP Software Inc. All Rights Reserved
Registered to Chief Architect Inc - 1 System License
0-C:\Program Files\JPSoft\TCMD9
===>echo %_shell
0
0-C:\Program Files\JPSoft\TCMD9
===>cd ..
0-C:\Program Files\JPSoft
===>4nt
TCC 9.02.151 Windows Vista [Version 6.0.6001]
Copyright 2008 Rex Conn & JP Software Inc. All Rights Reserved
Registered to Chief Architect Inc - 1 System License
0-C:\Program Files\JPSoft
===>echo %_shell
0
0-C:\Program Files\JPSoft
===>

I CDed into C:\Program Files\JPSoft\TCMD9\ and did

start 4nt.exe

Then, in the new window:

TCC 9.02.151 Windows Vista [Version 6.0.6001]
Copyright 2008 Rex Conn & JP Software Inc. All Rights Reserved
Registered to David Marcus - 1 System License

C:\Program Files\JPSoft\TCMD9>echo %_shell
0

C:\Program Files\JPSoft\TCMD9>cd ..

C:\Program Files\JPSoft>TCMD9\4nt.exe

TCC 9.02.151 Windows Vista [Version 6.0.6001]
Copyright 2008 Rex Conn & JP Software Inc. All Rights Reserved
Registered to David Marcus - 1 System License

C:\Program Files\JPSoft>echo %_shell
1

C:\Program Files\JPSoft>
 
I CDed into C:\Program Files\JPSoft\TCMD9\ and did

start 4nt.exe

Then, in the new window:

TCC 9.02.151 Windows Vista [Version 6.0.6001]
Copyright 2008 Rex Conn & JP Software Inc. All Rights Reserved
Registered to David Marcus - 1 System License

C:\Program Files\JPSoft\TCMD9>echo %_shell
0

C:\Program Files\JPSoft\TCMD9>cd ..

C:\Program Files\JPSoft>TCMD9\4nt.exe

TCC 9.02.151 Windows Vista [Version 6.0.6001]
Copyright 2008 Rex Conn & JP Software Inc. All Rights Reserved
Registered to David Marcus - 1 System License

C:\Program Files\JPSoft>echo %_shell
1

C:\Program Files\JPSoft>

Thanks, but that works for me too because you are typing TCMD9\4nt.exe at the prompt. My situation is different. 4nt.exe is in my path, so all I do is type "4nt". When I do this, I do not get the update of _shell. Can you try this?
 
What do you get if you use the internal WHICH command?
I get this:
Code:
which 4nt
4nt is an alias : %ComSpec

-Scott


Greg Wells <> wrote on 08/28/2008 02:31:14 PM:


> Quote:
>
> Originally Posted by David Marcus [image removed]
> I CDed into C:\Program Files\JPSoft\TCMD9\ and did
>
> start 4nt.exe
>
> Then, in the new window:
>
> TCC 9.02.151 Windows Vista [Version 6.0.6001]
> Copyright 2008 Rex Conn & JP Software Inc. All Rights Reserved
> Registered to David Marcus - 1 System License
>
> C:\Program Files\JPSoft\TCMD9>echo %_shell
> 0
>
> C:\Program Files\JPSoft\TCMD9>cd ..
>
> C:\Program Files\JPSoft>TCMD9\4nt.exe
>
> TCC 9.02.151 Windows Vista [Version 6.0.6001]
> Copyright 2008 Rex Conn & JP Software Inc. All Rights Reserved
> Registered to David Marcus - 1 System License
>
> C:\Program Files\JPSoft>echo %_shell
> 1
>
> C:\Program Files\JPSoft>
>
> Thanks, but that works for me too because you are typing TCMD9\4nt.
> exe at the prompt. My situation is different. 4nt.exe is in my path,
> so all I do is type "4nt". When I do this, I do not get the update
> of _shell. Can you try this?
>
>
 
Thanks, but that works for me too because you are typing TCMD9\4nt.exe at the prompt. My situation is different. 4nt.exe is in my path, so all I do is type "4nt". When I do this, I do not get the update of _shell. Can you try this?


TCC 9.02.151 Windows Vista [Version 6.0.6001]
Copyright 2008 Rex Conn & JP Software Inc. All Rights Reserved
Registered to David Marcus - 1 System License

C:\Program Files\JPSoft\TCMD9>path
PATH=C:\Windows\system32;C:\Windows;C:\Windows\SYSTEM32\WBEM;c:\Sys\Bat;c:\Sys\Bin;c:\Cygwin\bin

C:\Program Files\JPSoft\TCMD9>path "c:\Program Files\JPSoft\TCMD9"

C:\Program Files\JPSoft\TCMD9>path
PATH="c:\Program Files\JPSoft\TCMD9"

C:\Program Files\JPSoft\TCMD9>echo %_shell
0

C:\Program Files\JPSoft\TCMD9>cd ..

C:\Program Files\JPSoft>4nt

TCC 9.02.151 Windows Vista [Version 6.0.6001]
Copyright 2008 Rex Conn & JP Software Inc. All Rights Reserved
Registered to David Marcus - 1 System License

C:\Program Files\JPSoft>echo %_shell
1

C:\Program Files\JPSoft>
 
What do you get if you use the internal WHICH command?
I get this:
Code:
which 4nt
4nt is an alias : %ComSpec

-Scott


Greg Wells <> wrote on 08/28/2008 02:31:14 PM:

That's a really good question, Scott. Interesting....I get the following:


TCC 9.02.151 Windows Vista [Version 6.0.6001]
Copyright 2008 Rex Conn & JP Software Inc. All Rights Reserved
Registered to Chief Architect Inc - 1 System License
0-C:\Program Files\JPSoft\TCMD9
===>which 4nt
4nt is an external : C:\Program Files\JPSoft\TCMD9\4nt.exe
4nt is an external : C:\PROGRA~1\JPSoft\TCMD9\4nt.exe
0-C:\Program Files\JPSoft\TCMD9
===>

By the way, this is a clean, default installation of version 9.02. What does this tell us here?
 
What do you get if you use the internal WHICH command?
I get this:
Code:
which 4nt
4nt is an alias : %ComSpec

-Scott


Greg Wells <> wrote on 08/28/2008 02:31:14 PM:


This is even more interesting......notice that my "which" gives different results after I "cd" out of the 4nt.exe directory.


TCC 9.02.151 Windows Vista [Version 6.0.6001]
Copyright 2008 Rex Conn & JP Software Inc. All Rights Reserved
Registered to Chief Architect Inc - 1 System License
0-C:\Program Files\JPSoft\TCMD9
===>which 4nt
4nt is an external : C:\Program Files\JPSoft\TCMD9\4nt.exe
4nt is an external : C:\PROGRA~1\JPSoft\TCMD9\4nt.exe
0-C:\Program Files\JPSoft\TCMD9
===>cd ..
0-C:\Program Files\JPSoft
===>which 4nt
4nt is an external : C:\PROGRA~1\JPSoft\TCMD9\4nt.exe
0-C:\Program Files\JPSoft
===>
 
That's a really good question, Scott. Interesting....I get the following:


TCC 9.02.151 Windows Vista [Version 6.0.6001]
Copyright 2008 Rex Conn & JP Software Inc. All Rights Reserved
Registered to Chief Architect Inc - 1 System License
0-C:\Program Files\JPSoft\TCMD9
===>which 4nt
4nt is an external : C:\Program Files\JPSoft\TCMD9\4nt.exe
4nt is an external : C:\PROGRA~1\JPSoft\TCMD9\4nt.exe
0-C:\Program Files\JPSoft\TCMD9
===>

By the way, this is a clean, default installation of version 9.02. What does this tell us here?

TCC 9.02.151 Windows Vista [Version 6.0.6001]
Copyright 2008 Rex Conn & JP Software Inc. All Rights Reserved
Registered to David Marcus - 1 System License

C:\>path "c:\Program Files\JPSoft\TCMD9"

C:\>"\Program Files\JPSoft\TCMD9"\

C:\Program Files\JPSoft\TCMD9>which which
which is an internal command

C:\Program Files\JPSoft\TCMD9>which 4nt
4nt is an external : C:\Program Files\JPSoft\TCMD9\4nt.exe

C:\Program Files\JPSoft\TCMD9>cd ..\

C:\Program Files\JPSoft>which 4nt
4nt is an external : C:\Program Files\JPSoft\TCMD9\4nt.exe

C:\Program Files\JPSoft>
 
I don't know if this will shed any light, but you might try 'echo
%@search[4nt.exe <mailto:%25@search%5b4nt.exe> ]' from the 4nt directory
and also from its parent directory. You might also play with the %@sfn
function, such as %@sfn[%@search[4nt.exe
<mailto:%25@sfn%5b%25@search%5b4nt.exe> ]], to see if it tells you
anything.
 
It sure looks to me like you have the SFN in your PATH.

-Scott

Greg Wells <> wrote on 08/28/2008 03:08:15 PM:


> Quote:
>
> Originally Posted by samintz [image removed]
> What do you get if you use the internal WHICH command?
> I get this:
> Code:
> which 4nt
> 4nt is an alias : %ComSpec
> -Scott
>
>
> Greg Wells <> wrote on 08/28/2008 02:31:14 PM:
>
>
> This is even more interesting......notice that my "which" gives
> different results after I "cd" out of the 4nt.exe directory.
>
>
> TCC 9.02.151 Windows Vista [Version 6.0.6001]
> Copyright 2008 Rex Conn & JP Software Inc. All Rights Reserved
> Registered to Chief Architect Inc - 1 System License
> 0-C:\Program Files\JPSoft\TCMD9
> ===>which 4nt
> 4nt is an external : C:\Program Files\JPSoft\TCMD9\4nt.exe
> 4nt is an external : C:\PROGRA~1\JPSoft\TCMD9\4nt.exe
> 0-C:\Program Files\JPSoft\TCMD9
> ===>cd ..
> 0-C:\Program Files\JPSoft
> ===>which 4nt
> 4nt is an external : C:\PROGRA~1\JPSoft\TCMD9\4nt.exe
> 0-C:\Program Files\JPSoft
> ===>
>
>
 
samintz wrote:


> It sure looks to me like you have the SFN in your PATH.

Yes! A SFN %path to tcc adds to the shell level for new instances of tcc
only as long as your in the tcc home directory. Internal WHICH then
shows the full LFN path. As soon as you leave that dir, %_shell isn't
augmented any more for new instances of tcc, internal which shows the
SFN path.

* Klaus Meinhard *
4DOS Info - Info for DOS
www.4dos.info
 
samintz wrote:




Yes! A SFN %path to tcc adds to the shell level for new instances of tcc
only as long as your in the tcc home directory. Internal WHICH then
shows the full LFN path. As soon as you leave that dir, %_shell isn't
augmented any more for new instances of tcc, internal which shows the
SFN path.

* Klaus Meinhard *
4DOS Info - Info for DOS
www.4dos.info


Thanks. So what is my solution here? I checked my PATH environment variable, and yes, my path to 4nt is a SFN path. It is C:\PROGRA~1\JPSoft\TCMD9

1. How did this get there as a SFN on my machine? (I did a default installation into the default directory (C:\Program Files\JPSoft\TCMD9) on my clean Vista machine.)
2. What "should" my path to 4nt be set to? What do other here on this Forum see?
3. I have double and triple-checked. I DO NOT have the "Search for SFNs" setting set in my Configure TCC Startup options.
4. Someone here said that when they do a "which 4nt", they get
4nt is an alias : %ComSpec
I don't see this. I see an external reference to the path to my 4nt.exe file. How did this other person get set to this value and what do I do to make this happen on my machine?

For some strange reason, I am apparently seeing different behavior than some (most/all) of the rest of you.

By the way, I ask these questions in order to help myself and others to better understand the problem and to determine whether or not this is a bug. I think I know how to get around this, but I can see that many of you will agree with me when I say that it is best that we understand it first.

Thanks for all your help.
Greg

P.S. I have the MKS Toolkit installed, but I think I have totally taken that out of the picture. I bring this up because it's path in my PATH environment variable is also a SFN.
 
In my case I created the alias so I wouldn't clutter up my path. You can
easily add the loading of aliases in your 4start file.

If you prefer to keep JPSoft in your PATH, then modify your environment so
the path is a LFN instead of a SFN. There are still tools that have
issues with whitespace in the path. I've noticed this especially with
MAKE files. So, I always install in directory directly off the root using
an 8.3 name. For example, C:\JPSOFT or C:\4NT9.

The other good reason to do that, especially in Vista, is because the
Program Files (PF) directory is protected. So your INI files cannot
reside in the same directory. You cannot easily add plugins. Anything
that requires write access to the PF directory is not easily doable in
Vista. However, in order to get the Vista magic seal of approval, Rex has
to install there by default. But Rex was nice enough to build in support
so we could work the way we want vs the way MS imposes upon us.

-Scott

Greg Wells <> wrote on 08/28/2008 05:29:04 PM:


> Quote:
>
> Thanks. So what is my solution here? I checked my PATH environment
> variable, and yes, my path to 4nt is a SFN path. It is C:
> \PROGRA~1\JPSoft\TCMD9
>
> 1. How did this get there as a SFN on my machine? (I did a default
> installation into the default directory (C:\Program
> Files\JPSoft\TCMD9) on my clean Vista machine.)
> 2. What "should" my path to 4nt be set to? What do other here on
> this Forum see?
> 3. I have double and triple-checked. I DO NOT have the "Search for
> SFNs" setting set in my Configure TCC Startup options.
> 4. Someone here said that when they do a "which 4nt", they get
> 4nt is an alias : %ComSpec
> I don't see this. I see an external reference to the path to my 4nt.
> exe file. How did this other person get set to this value and what
> do I do to make this happen on my machine?
>
> For some strange reason, I am apparently seeing different behavior
> than some (most/all) of the rest of you.
>
> By the way, I ask these questions in order to help myself and others
> to better understand the problem and to determine whether or not
> this is a bug. I think I know how to get around this, but I can see
> that many of you will agree with me when I say that it is best that
> we understand it first.
>
> Thanks for all your help.
> Greg
>
> P.S. I have the MKS Toolkit installed, but I think I have totally
> taken that out of the picture. I bring this up because it's path in
> my PATH environment variable is also a SFN.
>
>
 

Similar threads

Back
Top