Hi, I want to get source location of a macro form and played a little with syntax-source. This should then print out something. (define-syntax <+> (lambda (x) (syntax-case x () ((o a b) (pk (syntax-source x)) #'(+ a b))))) (<+> 1 2) In trying to use the location of x resulted in the toplevel form location and not the <+> form in a more complex example. and using #'o or #'a or #'b in stead of x on syntax-source form will lead to pk prints out #f. So the question is if it is possible to get a more exact location information of the (<+> 1 2) and in that case how? Anyway a brief discussion how source and meta information is transported in the guile macro framework would be interesting. Regards Stefan