I have found the bug, It was because of the bug fixed in
master got a bug in my code visible!

/Stefan

---------- Forwarded message ----------
From: Stefan Israelsson Tampe <stefan.ita...@gmail.com>
Date: Wed, May 16, 2012 at 8:57 PM
Subject: bug in syntax-case in master
To: guile-devel <guile-devel@gnu.org>


I'm trying to port syntax-parse to master. And get into the following
trubble


(syntax-case x (integrate) ((integrate a b) ...))
fails, but

(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

(define bound-id-member?
      (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.

/Regards
Stefan

Reply via email to