1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-06-09 13:30:26 +02:00

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:
This commit is contained in:
Ludovic Courtès 2021-04-29 11:41:46 +02:00 committed by Andy Wingo
parent 7da831af18
commit 8847aaec41

View file

@ -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)))