discovery: 'scheme-files' returns '() for a non-accessible directory.
authorLudovic Courtès <ludo@gnu.org>
Sat, 17 Jun 2017 22:02:56 +0000 (00:02 +0200)
committerLudovic Courtès <ludo@gnu.org>
Sat, 17 Jun 2017 22:14:07 +0000 (00:14 +0200)
commitd46c4423f46278bd2f96770ceb0667431414349e
tree60c92c81fa91db7b602ec7a6bdec8f6184b11e66
parent3bacc655c5fd988f0199ef259adcb4fb3754042e
discovery: 'scheme-files' returns '() for a non-accessible directory.

Fixes a regression introduced in
d27cc3bfaafe6b5b0831e88afb1c46311d382a0b.

Reported by Ricardo Wurmus <rekado@elephly.net>.

* guix/discovery.scm (scheme-files): Catch 'scandir*' system errors.
Return '() and optionally raise a warning upon 'system-error'.
* tests/discovery.scm ("scheme-modules, non-existent directory"): New
test.
guix/discovery.scm
tests/discovery.scm