syntax error in package definition leads to misleading error message

OpenSubmitted by Ricardo Wurmus.
Details
One participant
  • Ricardo Wurmus
Owner
unassigned
Severity
normal
R
R
Ricardo Wurmus wrote on 4 Feb 2021 14:41
(address . bug-guix@gnu.org)
875z38uezf.fsf@elephly.net
In (gnu packages cran) I added a snippet but forgot to quote it
properly. The snippet looked like this:

(snippet
(delete-file "inst/htmlwidgets/lib/jquery.min.js"))

Since this is evaluated right away I got an error as I tried to compile
my Guix source checkout:

error: failed to load 'gnu/packages/cran.scm': No such file or directory

This error is highly misleading as it implies that
“gnu/packages/cran.scm” could not be found, while the actual error is
that “inst/htmlwidgets/lib/jquery.min.js” does not exist. This could be
improved by catching 'system-error and reporting the file location
instead of just printing the correct error message without context.

--
Ricardo
?