TESTUPF contains functions for testing the new implementation of UNPACKFILENAME.STRING (now in ADIR) and the original definition. The original definition is also provided here, under the name OLD-UNPACKFILENAME.STRING TESTUPF also includes some test functions, and some of the strings that I have been testing with. (TRY FILE ONEDIRFLG DIRFLG) returns a comparison of the behavior of the original version and the new version in a list of the form (FILE ONEDIRFLG DIRFLG) MATCH ORIG NEW) where MATCH is = if ORIG and NEW are EQUAL, otherwise NIL. (For convenience, a list of this form can also be passed in as an argument.) (TRYALL FILES ALLFLG ONDIRFLG DIRFLG) applies TRY to each file-string in FILES, prints and reports what it discovers. If ALLFLG, it prints the result on every file, otherwise just the mismatches. Value is a list of TRY values that it printed. (DT FILES) sets up a call to TRYALL for DIRFLG testing (setting DIRFLG NIL, FIELD, RETURN for each file in FILES). The variable TESTS has the strings that I have tested against, the variable DOTTEDNAMES has the strings that I intend to be different (.cshrc as NAME, not EXTENSION). The new behavior avoids the bug that (PACKFILENAME.STRING 'EXTENSION "txt "BODY ".bashrc") produces ".txt" instead of ".bashrc.txt". The variable RETURNFAILS is a list of strings with DIRFLG=RETURN that also donıt match, in that the DIRECTORY and SUBDIRECTORY classifications are inverted between old and new for strings beginning with Ş>". But the old code is inconsistent for these inputs: it returns different classifications of those substrings with or without the RETURN. (I think RETURN is for the case "/Users/kaplan" where the caller knows that the whole thing is a directory, doesnıt want Şkaplanş to be parsed as a name. Just wants it to be normalized, with host and device stripped off.)