if the name of the directory to be read hadn't changed then the result
was returned immediately but with the complete flag being set
this caused the ROM select window to forever centre on the currently
selected file. the bug was not noticeable unless the select window was
used for a second time in a session
the archivefs set channel now expects an instance of an Options type.
added a force option to instruct archivefs to always re-read directory
added Complete field to AsyncResults in archivefs package. set to true
once all entries have been read into the Entries list
previously it was possible for the centreOnFile flag to be set to
false prematurely, leaving the select window incorrectly centered on th
most recent file
checks that linters exist before proceeding. project URL for each linter
in the Makefile comments
only go-errorlint and unconvert used at the moment
fixed all lint errors for the added linters
this could happen when changing directories when a previous list was
ongoing. this was supposed to have been fixed in fcb8439 and 02bb6a33
but both were incorrect in some sitations
the new solution correctly waits for a cancel to complete using a mutex
there was a very small % chance that the List() would end before all
entries had been received
'go test -shuffle on -count 100000 ./archivefs' reports no failures
Windows volume names confused the Set() function
archivefs.Async no longer exits async goroutine on errors from Path
functions. exiting meant that the channels were no longer being
serviced, causing GUI deadlocks