Jay, Here are my thoughts on the subject of spaces left by non-existent tokens in alias script expansions. Please excuse the fact that the names which I use for elements of the command line and alias script are not the same as those which you very nicely set forth in the ARUNZ09N.DOC file, however I wish to set forth a concept which depends on a slightly different nomenclature. I think my meanings will be obvious. First, let me make a couple of definitions. By a "string" I mean a set of characters defined by naming each element of the set. Thus the statement $1 = cat means that the string named $1 is a set of the characters c-a-t. A null string, in this case, is the same as a non-existent string. By a "field", I mean a >delimited< field which exists in a relationship to other fields. A field consists of a string and a >field delimiter< which separates it from other fields. A null field is NOT the same as a non-existent field. The former consists of a field containing a null string, while the latter has no existence by virtue of the fact that it has no delimiter. A command line and an alias script both consist of a set of delimited fields, the delimiter being a space or a tab. It seems to me that what we have at present with ARUNZ (and other similar command line expanders) is a situation where one syntax is used to define two different kinds of parameters, and perhaps we need a syntax for each kind. We may call one a "string substitution parameter" and the other a "field substitution parameter". Currently, $n functions in ARUNZ strictly as a string substitution paramter. If the command line field n contains the string xxxx then $n in the alias script will be so expanded. If the field n does not exist in the command line, then a null string will be substituted in place of $n. This is fine for such expansions as "FOO$1.COM" where FOO.COM is, for instance, the current version and previous versions have numbers which may be substituted as indicated. This is srictly a string substitution operation. On the other hand, when we use $n to indicate the contents of a >field< in an alias script, as in FOO $1 $2, we are using it as a field substitution parameter. Since we are substituting one field for another, this works fine unless a command line field is non-existent. If this is the case, the corresponding field in the expanded alias script must also not exist. Using a string substitution parameter for the job will simply produce a null field - not the same. I would suggest that you develope ARUNZ to differentiate these two kinds of parameters - perhaps %n or $%n for string substitution and $n for field substitution, or some such. Let me know what you think. Best, Lindsay Haisley