Subject: bug#56503: Poor error message on missing file using substitute*

From: Ludovic Courtès <[email-masked]>
Date: Mon, 18 Jul 2022 14:57:08 +0200

Hi,

Daniel Meißner <[email-masked]> skribis:

> It prints:
>
> #<&compound-exception components: (#<&external-error> #<&origin origin: "mkstemp"> #<&message message: "~A"> #<&irritants irritants: ("Datei oder Verzeichnis nicht gefunden")> #<&exception-with-kind-and-args kind: system-error args: ("mkstemp" "~A" ("Datei oder Verzeichnis nicht gefunden") (2))>)>
>
> So maybe this is a bug in Guile? Shouldn’t ‘mkstemp!’ list the path in
> the irritants?

Yes, it should, but it’s a change that’s probably not safe to do within
a Guile stable series.

For the record, (guix ui) works around this for selected procedures—look
for ‘error-reporting-wrapper’.  These are not used (and cannot be used)
in (guix build utils) though.

Ludo’.