http://qs1969.pair.com?node_id=11110618


in reply to Re: Debugger line numbering anomaly
in thread Debugger line numbering anomaly

> reported as RT#131930

Thanks, the bug report shows that __LINE__ gets confused while parsing and compiling the code, which is not the fault of the debugger.

Of course a warn in the test script would have demonstrated the wrong __LINE__ too.

update

> Bisecting this was a bit tricky,

well, with help of the warn statements hinting to __LINE__, it would have been much easier.

update

turns out that the git on my win-box runs under v5.26, and it's easily demonstrated there:

$ perl -v This is perl 5, version 26, subversion 2 (v5.26.2) built for x86_64-ms +ys-thread-multi $ perl warn "before"; s(x) (y); warn "after"; __END__ before at - line 1. after at - line 3. $ perl warn "before"; s/x/y/; warn "after"; __END__ before at - line 1. after at - line 3. $ perl -MO=Concise warn "before"; s(x) (y); warn "after"; __END__ d <@> leave[1 ref] vKP/REFC ->(end) 1 <0> enter ->2 2 <;> nextstate(main 1 -:1) v:{ ->3 5 <@> warn[t1] vK/1 ->6 3 <0> pushmark s ->4 4 <$> const[PV "before"] s ->5 6 <;> nextstate(main 1 -:2) v:{ ->7 8 </> subst(/"x"/) vK ->9 7 <$> const[PV "y"] s ->8 9 <;> nextstate(main 1 -:3) v:{ ->a # should be :4 not :3 c <@> warn[t2] vK/1 ->d a <0> pushmark s ->b b <$> const[PV "after"] s ->c - syntax OK

Cheers Rolf
(addicted to the Perl Programming Language :)
Wikisyntax for the Monastery FootballPerl is like chess, only without the dice