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.