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