По выделенному, например, такое исправление:
## Код:
```
PROCEDURE (d: Directory) FileList* (loc: Files.Locator): Files.FileInfo;
      VAR ...
-->         firstRes: INTEGER;
   BEGIN
      ASSERT(loc # NIL, 20);
      first := NIL; last :=NIL;
      WITH loc: Locator DO
         Append(loc.path, wildcard, wildcard, loc.maxLen, s);
         find := WinApi.FindFirstFileW(s, fd);
         IF find # invalid THEN
...
         ELSE res := WinApi.GetLastError()
         END;
         IF res = noMoreFilesErr THEN res := ok END;
-->         firstRes := res;
         (* check startup directory *)
         IF (loc.rootLen > 0) & ((res = ok) OR (res = fileNotFoundErr) OR (res = pathNotFoundErr)) THEN
            GetShadowDir(loc, s);
...
         END;
-->         IF (res = fileNotFoundErr) OR (res = pathNotFoundErr) THEN res := firstRes END;
         loc.res := Error(res)
      ELSE loc.res := invalidName
      END;
      RETURN first
   END FileList;
```
