[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug in syntax-case in master

From: Stefan Israelsson Tampe
Subject: bug in syntax-case in master
Date: Wed, 16 May 2012 23:33:54 +0200

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


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


reply via email to

[Prev in Thread] Current Thread [Next in Thread]