If N - 1 is the number of macro instructions already expanded, then N, suitably padded with zero characters on the left, is the value of &SYSNDX within the current, Nth, macro expansion.
Expansions may of course be nested within each other, and each expansion of any macro increments the value of &SYSNDX. You may save a current value and then use it elsewhere, as a part of any set symbol, as in |&switchid setc 'switch'.'&SYSNDX' | gblb &(&switchid) --created global binary/boolean set symbol As an earlier poster has already noted, only your ingenuity limits the uses you can make of it. What I suspect prompted your question is that you got into some kind of trouble using &SYSNDX, conjectured what that trouble might be and then asked about your [this time irrelevant] conjecture rather than your problem. Try to state your problems in more concrete detail in the future. John Gilmore, Ashland, MA 01721 - USA
