wingo pushed a commit to branch master in repository guile. commit 8847aaec41223cff191ee6d27d6d8e343e99d8ae Author: Ludovic Courtès <l...@gnu.org> AuthorDate: Thu Apr 29 11:41:46 2021 +0200
bug#48096: [3.0.6] ‘syntax-error’ exceptions include vectors instead of source location properties Hi! In 3.0.6, a slight incompatibility crept in: ‘syntax-error’ exceptions include vectors like #("example.scm" 1 2) instead of good’ol source property alists. Here is a test case that reproduces the problem: --- test-suite/tests/syntax.test | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/test-suite/tests/syntax.test b/test-suite/tests/syntax.test index 10bc7b0..c60a453 100644 --- a/test-suite/tests/syntax.test +++ b/test-suite/tests/syntax.test @@ -1,7 +1,7 @@ ;;;; syntax.test --- test suite for Guile's syntactic forms -*- scheme -*- ;;;; ;;;; Copyright (C) 2001, 2003, 2004, 2005, 2006, 2009, 2010, -;;;; 2011, 2012, 2013, 2014 Free Software Foundation, Inc. +;;;; 2011, 2012, 2013, 2014, 2021 Free Software Foundation, Inc. ;;;; ;;;; This library is free software; you can redistribute it and/or ;;;; modify it under the terms of the GNU Lesser General Public @@ -112,6 +112,18 @@ (with-test-prefix "Bad argument list" + (pass-if-equal "syntax-error location" + '((line . 1) (column . 2) (filename . "example.scm")) + (catch 'syntax-error + (lambda () + (eval (call-with-input-string "\n (let foo bar)" + (lambda (port) + (set-port-filename! port "example.scm") + (read port))) + (interaction-environment))) + (lambda (key proc message properties form subform . rest) + properties))) + (pass-if-syntax-error "improper argument list of length 1" exception:generic-syncase-error (eval '(let ((foo (lambda (x y) #t)))