Andy Wingo <wi...@pobox.com> writes: >> How much of this is compiler-specific? Does some of it also apply to >> old-style reading and interpreting? > > No, it's just compiler-specific. The reader captures source information > at when it reads lists, as you know, and this is just propagating more > of it.
OK, thanks. > There is an interesting development in the vm branch regarding source > information, though, and that is syncase. syntax-case has the capability > to transfer source information through macro transformation, unlike > defmacros (unless they are written very carefully, so as to preserve the > original source). But the syncase situation is a longer mail... I thought that was just a matter of using `cons-source' (e.g. lang/elisp/transform.scm); or else something like (define (transform x) ... (let ((transformed-x ...)) (set-car! x (car transformed-x)) (set-cdr! x (cdr transformed-x)) x)) (Assuming that x is a pair and doesn't need preservation.) But I'll wait for the full syncase email... Neil