If you do "System.Directory *.mod!" and after that without "!" than you get details on both outputs. "!" toggles the details for output without "!".
The issue is that System.Directory modifies a global variable ‘pat’, which may contain some “leftover” characters from a previous call to System.Directory. The following code makes sure it is always “clean”. In System.Directory change this code: WHILE ch > "!" DO pat[i] := ch; INC(i); Texts.Read(R, ch) END; pat[i] := 0X; IF ch = "!" THEN pat[i+1] := "!" END ; (*directory option*) to the following: WHILE ch > "!" DO pat[i] := ch; INC(i); Texts.Read(R, ch) END; pat[i] := 0X; INC(i); IF ch = "!" THEN pat[i] := "!"; INC(i) END ; (*directory option*) WHILE i < LEN(pat) DO pat[i] := 0X; INC(i) END ; -AP