---------- Forwarded message ----------
From: Stefan Israelsson Tampe <address@hidden>
Date: Wed, May 16, 2012 at 8:57 PM
Subject: bug in syntax-case in master
To: guile-devel <address@hidden
I'm trying to port syntax-parse to master. And get into the following trubble
(syntax-case x (integrate) ((integrate a b) ...))
(syntax-case x (integrate) ((_ a b) ...))
does not fail
looking at the code for syntax-case I would expect that the datum integrate is
match against and not using syntax any syntactic information.
In psyntax.scm around 2419 we have,
((bound-id-member? p keys)
(values (vector 'free-id p) ids))
keys are the fixed datums, and
(lambda (x list)
(and (not (null? list))
(or (bound-id=? x (car list))
(bound-id-member? x (cdr list))))))
e.g. no comparisons of the datum.
Is this correct! I do understand that this can be a feature but is this expected?
In syntax parse both options are possible.