Finally got the time to take a proper look at ->location (literal line/column location in serialized version) support today.
The existing code looks like it was written on crack. Cleaned it all up, and wrote a proper unit test script this time. Coverage isn't perfect, but good enough that I'm pretty sure there arn't any bugs in it any more.
While doing this I encountered another problem... tab widths. CRAP! So I've added ->tab_width support to Document objects. For now it only supports "naive" tabs, which I take to mean tabs with a width of one column. But the API is set up so that in future we can support both artibtrarily set tab widths, default widths, and auto-sensing tab widths based on vi/emacs/whatever codes.
This also should mean that now we can knock up a GUI frontend for something like a Perl::Gotchas module, and have the front end highlight problems in code. (i.e. know WHERE to do the highlighting).
All sorts of other error messages should now work properly.
hmm... it also looks like use.perl.org isn't escaping the topic?