Variable setting regression in tcc17 ?

Dec 10, 2014
I'm currently using TCC/LE, but as it's getting outdated I tried to test-drive the newest and fanciest version 17 (probably the very reason why there's no new LE anymore :-)).

Problem is: My batch files don't work no more :-( ... here's what happens:

TCC/LE 13:
[C:\Program Files\JPSoft\TCCLE13x64]set x=y
[C:\Program Files\JPSoft\TCCLE13x64]set %x%=z
[C:\Program Files\JPSoft\TCCLE13x64]echo %y%

TCC 17:
[C:\Program Files\JPSoft\TCMD17x64]set x=y
[C:\Program Files\JPSoft\TCMD17x64]set %x%=z
TCC: Not in environment "yz*"
[C:\Program Files\JPSoft\TCMD17x64]echo %y%

Am I doing something wrong, or is nested var setting unsupported as of the last version?

Charles Dye

Super Moderator
Staff member
May 20, 2008
Albuquerque, NM
I can reproduce it.

I think the issue almost certainly has to do with recent kludges to support pseudovariables. It'll work as expected if you either (A) disable pseudovariables, or (B) omit the (unnecessary) trailing percent sign after the variable name.
Dec 10, 2014
It'll work as expected if you either (A) disable pseudovariables, or (B) omit the (unnecessary) trailing percent sign after the variable name.

Thanks! The reason I use the trailing percent is that my editor (Notepad++) does nice color highlighting of the vars this way, and only this way. I didn't expect this to cause any trouble, or the Spanish Inquisition to arrive :-> ... but I'll be on my guard if similar errors show up.
Similar threads
Thread starter Title Forum Replies Date
vefatica Setting array variable ignores leading spaces (and @execarray doesn't) Support 4
D Parsing an array variable to an array does not work Support 5
sully9 How to? Unexpected %DATE% CMD variable format (vs DATE /T format) in CMDebug Support 1
P Inserting string into a variable. Support 3
Joe Caverly Set a batch variable (%1 - %n) when TCC is executing a batch file Support 5
R Difference between TCC and CMD: variable names with hyphens Support 4
Joe Caverly Get a variable type Support 2
M How to set Path variable for non-executable file extensions in 4DOS Support 8
rps For loop internal %_for_files variable? Support 2
A How to safely print variable's value without quotes? Support 9
vefatica Array name in a variable? Support 3
nikbackm TCC 20 variable expansion bug Support 6
X How to set %_INIREAD result to variable Support 5
Charles Dye _USBS variable Support 2
BeechComer Debugger: how to set %1 variable? Support 3
Mordachai Variable followed by function constantly failing... Support 5
T Variable indirection for arrays Support 1
Mike Hall Unexpected "Variable loop" in IF condition Support 10
vefatica If there's no PATH variable ... Support 5
C Maximum length for a variable Support 8
D WAD Internal variable _cpu is undefined Support 2
fpefpe How to? Global variable set /v Support 4
I Change value of a variable while debugging Support 3
I "IF" command in a variable does not expand redirection variable name Support 0
Jay Sage WAD Variable _LOGFILE Not Working Support 2
D Fixed Change in behavior of variable expansion between 16 and 17 Support 3
rps Fixed Using last argument variable ! Support 5
Jay Sage Brackets Around Variable Names Support 11
D Internal variable _tctabs within TCExit Support 9
vefatica WAD Nested variable expansion in PDIR's @function[*]? Support 13
J Set environment variable from stdout of command Support 3
nickles Passing a variable to a command w/o adding it to the local environment Support 7
nickles WAD Variable name gets changed within FOR loop Support 2
nikbackm FUNCTION with variable number of arguments Support 17
rfaquino WAD Apparently a bug when expanding environment variable %ProgramFiles(x86) Support 2
S WAD %_do_errors does not report errors when loop control variable type is not directory entry Support 1
B WAD environment variable in TCC.exe Support 2
Frank watch an array variable in ide/bdebugger Support 2
vefatica Conditional expressions in a variable? Support 2
CWBillow UNSET a Variable Support 7
M Updating environment variable from C++ fails erratically in version 14... Support 57
Frank problem with environment variable x86 vs. x64 Support 2
Charles Dye Unbalanced parentheses in variable expansion Support 12
D WAD Multiple TEE causese weird variable scoping? Support 7
H Variable not expanding with detach Support 3
fpefpe volatile variable Support 5
T Bug in variable expansion Support 4
S New "home" variable parsing issue Support 1
H variable programfiles(x86) loses space Support 1
nikbackm Command line evaluation question - variable inside parenthesis Support 7

Similar threads