Andrew Tropin schreef op do 07-04-2022 om 11:22 [+0300]: > +         (define (no-follow-file-exists? file) > +           "Return #t if file exists, even if it's a dangling > symlink." > +           (or (file-exists? file) > +               (and=> (false-if-exception (lstat file)) > +                      (lambda (x) > +                        (equal? (stat:type x) 'symlink))))) Can't this be simplified to (define (no-follow-file-exists? file) (false-if-exception (lstat file))) ? Also, do you want to ignore _all_ exceptions, or only the ENOENT and maybe ENOTDIR system-error? (catch 'system-error (lambda () (lstat file) #t) (lambda e (if its-a-ENOFILE #f (apply throw e)))) More concretely, why is ENOMEM, ENAMETOOLONG and EACCESS ignored here? Greetings, Maxime.