zimoun schreef op vr 27-05-2022 om 10:25 [+0200]: >      (catch 'system-error >        (lambda () > -        (call-with-input-file expiry-file read)) > +        (match (call-with-input-file expiry-file read) > +          ((? integer? date) date) > +          (_ 0))) It might be possible to end up wit hsomething more bogus on some file system, it's possible to end up with something even more boguse (e.g., "unterminated-string), which 'read' doesn't understand. I suggest using 'get-string-all' + 'number->string'. For completeness, a comment like ;; Handle the 'write' below being interrupted before the write ;; could complete (e.g. with C-c) and handle file system crashes ;; causing empty files or corrupted contents. and a regression test in tets/cache.scm would be nice. Also, I'd switch the catch and the (match ...) because 'read' and integer? shouldn't raise any 'system-error'. Greetings, Maxime.