# New Ticket Created by Mark Glines
# Please include the string: [perl #43815]
# in the subject line of all future correspondence about this issue.
# <URL: http://rt.perl.org/rt3/Ticket/Display.html?id=43815 >
perl6str.pmc has an extra-long "pmclass" statement, which
breaks the #line numbering when pmc2c generates the .c file.
The line numbers are wrong in the generated perl6str.c file.
get_string() starts on line 160, but the generated .c file lists it as
starting on line 154. get_number() starts on line 63, but is #listed
as starting on line 57.
The pmclass statement looks like:
pmclass Perl6Str
extends String
does string
dynpmc
group perl6_group
hll Perl6
maps String {
Interestingly, if I take all of the crud in this pmclass statement and
stick them all on one line, like this:
pmclass Perl6Str extends String does string dynpmc group perl6_group hll Perl6
maps String {
...The #line numbers do not change at all (get_string in the .c file is
still #lined to 154), but now the get_string implementation in the .pmc
file is also on line 154, so everything lines up.
So my guess is, the pmclass statement parser consumes the extra newlines
and doesn't update the line counter, or something.
Mark