I guess, under these circumstances, I should try and make my own continuation marks in the parser/compiler.
I managed to to that. I can not say that it is a beautiful implementation, but it works. For "a+b", instead of a syntax object of '(plus a b), the parser now generates a syntax object of '(with-cont-mark (plus a b)), and my compiler replaces it with (with-continuation-mark my-generated-mark-key scrloc (plus a b)) where srcloc is calculated from the syntax object. So the same source location is specified twice: first in the custom continuation mark, for my custom diagnostics, and second in the syntax object itself, for Racket standard diagnostics. I wonder how errortrace manages to thread the continuation marks through all the syntax transformers without them noticing. In general, I have a vague feeling that I am making inferior ad-hoc Racket tools for tasks that are solved in Racket itself with better tools. An issue that I find similar was reported by Konrad Hinsen earlier this year: http://www.mail-archive.com/racket-users@googlegroups.com/msg32937.html Best regards, Dmitry -- You received this message because you are subscribed to the Google Groups "Racket Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to racket-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.