On 23-02-2023 12:38, Ludovic Courtès wrote:
Do you have a simple reproducer and a before/after comparison showing what Guile prints?
Simpler reproducer: (define-syntax syntax-stuff-twice (lambda (s) (define (f x) (syntax-case x () (#:this #''this) (#:that #''that))) (define (g y) (syntax-case y () (#:cat #''cat) (#:dog #''dog))) (syntax-case s () ((_) ;; Let's compute some syntax, for some reason. ;; (Hence, the syntax doesn't have line information ;; that might be an acceptable alternative to ;; a backtrace.) (let ((x (datum->syntax #f "foo")) (y (datum->syntax #f "bar"))) #`(list #,(f x) #,(g y))))))) (syntax-stuff-twice 'this #:cat) ; <- L21 ;; Before:;; .../reproducer.scm:21:0: source expression failed to match any pattern in form (quote this)
;; ;; After: ??? the same thing! Looks like another patch is needed.Looks like the patch I sent doesn't actually accomplish what it was supposed to solve ...
Greetings, Maxime.
OpenPGP_0x49E3EE22191725EE.asc
Description: OpenPGP public key
OpenPGP_signature
Description: OpenPGP digital signature