Done :) On Thu 29 Apr 2021 11:33, Ludovic Courtès <l...@gnu.org> writes:
> Ludovic Courtès <l...@gnu.org> skribis: > >> Guile 3.0.6 returns zero-indexed (instead of one-indexed) source code >> locations for ‘read-error’. Here’s a 3.0.6/3.0.5 comparison: >> >> $ /gnu/store/r2nr74rwhpqg16y1lyi6l0jn3lwx4yyz-guile-3.0.6/bin/guile <(echo >> '(') >> ice-9/read.scm:126:4: In procedure lp: >> /dev/fd/63:1:0: unexpected end of input while searching for: ) >> $ guile <(echo '(') >> ERROR: In procedure primitive-load: >> In procedure scm_i_lreadparen: /dev/fd/63:2:1: end of file > > Here’s a test case waiting to succeed! :-) > > diff --git a/test-suite/tests/reader.test b/test-suite/tests/reader.test > index fad531b39..231e69553 100644 > --- a/test-suite/tests/reader.test > +++ b/test-suite/tests/reader.test > @@ -212,6 +212,18 @@ > > > (with-test-prefix "mismatching parentheses" > + (pass-if-equal "read-error location" > + '("foo.scm:3:1: unexpected end of input while searching for: ~A" #\)) > + (catch 'read-error > + (lambda () > + ;; The missing closing paren error should be located on line 3, > + ;; column 1 (one-indexed). > + (call-with-input-string "\n (hi there!\n" > + (lambda (port) > + (set-port-filename! port "foo.scm") > + (read port)))) > + (lambda (key proc message args . _) > + (cons message args)))) > (pass-if-exception "opening parenthesis" > exception:eof > (read-string "(")) > > > Ludo’.