~ chicken-core (chicken-5) /tests/test-line-numbers.scm


 1(define-syntax bar
 2  (er-macro-transformer
 3   (lambda (e inj cmp) (get-line-number (cadr e)))))
 4
 5(define-syntax foo
 6  (ir-macro-transformer
 7   (lambda (e inj cmp) (get-line-number (cadr e)))))
 8
 9(assert (equal? "test-line-numbers.scm:9" (the * (foo (hello-ir)))))
10(assert (equal? "test-line-numbers.scm:10" (the * (bar (hello-er)))))
11
12(define-syntax baz
13  (ir-macro-transformer
14   (lambda (e inj cmp)
15     (cadr e))))
16
17(define (f)
18  (baz
19   (+ 'a)))
Trap