You are, of course, right as always, David. (My inability to see is, as oft mentioned before, a real handicap.) However, they not only do they not behave the way I would expect from the documentation, the "results" can actually be far worse (more on that at the bottom of this). So, to "illustrate" these things, here is a TCC "log".
Code:
Sat Dec 17, 2011 11:45:40p
ISO8601 plugin v1.1.1 loaded.
SafeChars plugin v1.5.7 loaded.
TCC 12.11.76 Windows 7 [Version 6.1.7601]
Copyright 2011 Rex Conn & JP Software Inc. All Rights Reserved
Registered to Daniel Mathews
[Z:\]Function XPer=`%$`
[Z:\]Echo %@XPer[First 2ndParm Third 4th Fifth 6th Seventh]
First 2ndParm Third 4th Fifth 6th Seventh
[Z:\]Function XPer=`%*`
[Z:\]Echo %@XPer[First 2ndParm Third 4th Fifth 6th Seventh]
ECHO is OFF
[Z:\]Function XPer=`%3$`
[Z:\]Echo %@XPer[First 2ndParm Third 4th Fifth 6th Seventh]
Third 4th Fifth 6th Seventh
[Z:\]Function XPer=`%-3$`
[Z:\]Echo %@XPer[First 2ndParm Third 4th Fifth 6th Seventh]
2ndParm
So, from the documentation:
The parameter %-n$ means "the arguments from parameter 1 to n - 1".
However, the first parameter ("First"), is
not being printed.
Code:
[Z:\]Function XPer=`%-2$`
[Z:\]Echo %@XPer[First 2ndParm Third 4th Fifth 6th Seventh]
ECHO is OFF
Again, the first parameter is not being printed (kind of obviously, I would say).
Code:
[Z:\]Function XPer=`%-1$`
[Z:\]Echo %@XPer[First 2ndParm Third 4th Fifth 6th Seventh]
And here is the end of the whole thing, because at this point TCC just crashed. (Since I knew it was going to crash from a previous run-through, I saved this to a file before I issued the above command.)
What's kind of remarkable to me is that nobody (apparently even you) has "noticed" this behavior before.
- Dan