unofficial mirror of bug-guile@gnu.org 
 help / color / mirror / Atom feed
* bug#48096: [3.0.6] ‘syntax-error’ exceptions include vectors instead of source location properties
@ 2021-04-29  9:41 Ludovic Courtès
  2021-04-29 20:00 ` Andy Wingo
  0 siblings, 1 reply; 2+ messages in thread
From: Ludovic Courtès @ 2021-04-29  9:41 UTC (permalink / raw)
  To: 48096

[-- Attachment #1: Type: text/plain, Size: 226 bytes --]

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:


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: Type: text/x-patch, Size: 1308 bytes --]

diff --git a/test-suite/tests/syntax.test b/test-suite/tests/syntax.test
index 10bc7b080..c60a453aa 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)))

[-- Attachment #3: Type: text/plain, Size: 12 bytes --]


Ludo’.

^ permalink raw reply related	[flat|nested] 2+ messages in thread

* bug#48096: [3.0.6] ‘syntax-error’ exceptions include vectors instead of source location properties
  2021-04-29  9:41 bug#48096: [3.0.6] ‘syntax-error’ exceptions include vectors instead of source location properties Ludovic Courtès
@ 2021-04-29 20:00 ` Andy Wingo
  0 siblings, 0 replies; 2+ messages in thread
From: Andy Wingo @ 2021-04-29 20:00 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: 48096-done

Done!

On Thu 29 Apr 2021 11:41, Ludovic Courtès <ludo@gnu.org> writes:

> 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:
>
> diff --git a/test-suite/tests/syntax.test b/test-suite/tests/syntax.test
> index 10bc7b080..c60a453aa 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)))
>
>
> Ludo’.





^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2021-04-29 20:00 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-04-29  9:41 bug#48096: [3.0.6] ‘syntax-error’ exceptions include vectors instead of source location properties Ludovic Courtès
2021-04-29 20:00 ` Andy Wingo

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).