Subject: bug#28295: better error messages: missing closing parenthesis

From: [email-masked] (Ludovic Courtès)
Date: Tue, 10 Oct 2017 23:18:34 +0200

Ricardo Wurmus <[email-masked]> skribis:

> A person who does not use paredit can easily create a source file that
> does not have matching parentheses.  Loading a broken file currently
> produces an error like this:
>
> $ guile -e '(hello'
> ERROR: In procedure read:
> ERROR: In procedure scm_i_lreadparen: #<unknown port>:1:7: end of file
>
> For new users it is not obvious that this error message means that a
> closing parenthesis is missing.
>
> Can the message be improved?

In Guix I worked around this with:

  https://git.savannah.gnu.org/cgit/guix.git/commit/?id=a6e22d84450450cacc6fc36445f6ae378a5b7ad0

A bit of a hack, but it looks better:

  configuration.scm:135:1: missing closing parenthesis

In Guile proper, we could replace “end of file” with “missing closing
parenthesis”, which would already be an improvement, though we’d still
see that “scm_i_lreadparen” and maybe “ice-9” here and there.

Ludo’.