Alias works differenltly v16 vs. v17

#1
I used this command to create an alias.
Code:
alias get `grep ^^^^%1^^$ u:\lib\words`
It looks the same in v16 and v17 but it works differently (expected result in v16, nothing in v17).
Code:
v:\> ver & which get & get b.ld

TCC  16.03.55  Windows 7 [Version 6.1.7601]
get is an alias : grep ^^%1^$ u:\lib\words
bald
beld
bold

v:\>
Code:
v:\> ver & which get & get b.ld

TCC  17.00.42  Windows 7 [Version 6.1.7601]
get is an alias : grep ^^%1^$ u:\lib\words

v:\>
 
#2
Here's the difference:
Code:
v:\> ver & which get & get b.ld

TCC  16.03.55  Windows 7 [Version 6.1.7601]
get is an alias : u:\echoargs.exe ^^%1^$ u:\lib\words
u:\echoargs.exe
^b.ld$
u:\lib\words
Code:
v:\> ver & which get & get b.ld

TCC  17.00.42  Windows 7 [Version 6.1.7601]
get is an alias : u:\echoargs.exe ^^%1^$ u:\lib\words
u:\echoargs.exe
^^b.ld^$
u:\lib\words
 
#6
Not unless you want me to reintroduce the old parser (that you never understood, and where you had to keep adding escapes randomly until something worked).
Doesn't that incompatibility bother you?

OK, is there **ANY** alias that will work in v17 and that will sent "^%1$" to an app as an argument? These don't work:

Here, %1 is not expanded.
Code:
v:\> which get & get b.rb
get is an alias : u:\echoargs.exe ^%1$ u:\lib\words
u:\echoargs.exe
^%1$
u:\lib\words
b.rb
Here, the double "^^" is passed and the '$' is missing!
Code:
v:\> which get & get b.rb
get is an alias : u:\echoargs.exe ^^%1$ u:\lib\words
u:\echoargs.exe
^^b.rb
u:\lib\words
 

rconn

Administrator
Staff member
May 14, 2008
10,532
94
#8
Doesn't that incompatibility bother you?
Please clarify this -- you want me to dumbify the v17 parser in the name of compatibility, in order to emulate the v16 parser's escape character handling (which you complained about loudly and often), for the sake of an extremely tiny minority of users that have been inserting "^^^^^^^" in their aliases?

And you also want me to break a much larger set of aliases & batch files that are using COPY, because you don't care about compatibility with v16?
 
#12
Please clarify this -- you want me to dumbify the v17 parser in the name of compatibility, in order to emulate the v16 parser's escape character handling (which you complained about loudly and often), for the sake of an extremely tiny minority of users that have been inserting "^^^^^^^" in their aliases?
I'm using this strange syntax (about 5 aliases). And for me compatibility is important: I'm using TCC/LE at work, TCC at home.
 
#13
I have different OSes and different versions of TCMD at work and at home.
My alias definitions are in in TCSTART.btm, and there are a few IFs in order to adapt to differences while still using the same alias names (both command and directory aliases): different disk drives, different screen sizes, different software installed, software installed in different places, different support from TCC (new features such as CD/D, PATH/N, PROMPT ~).