This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Fix line numbers with #! -d:foo and PERL5DB=$'\n'
authorFather Chrysostomos <sprout@cpan.org>
Sun, 8 Sep 2013 20:49:22 +0000 (13:49 -0700)
committerFather Chrysostomos <sprout@cpan.org>
Sun, 8 Sep 2013 21:39:02 +0000 (14:39 -0700)
commit7f1c3e8c83a47ee3cac4422211087cf7c29abc31
tree274b22f07c2a2e97bc7bc56ebed20a0bdb694b46
parentfdc18556701202efb38dee6dab4d8aff8b7d00eb
Fix line numbers with #! -d:foo and PERL5DB=$'\n'

Commit 2179133 inadvertently stopped the PERL5DB env var from being
truncated just before the first line break.  (I’m considering that
a bug fix.)

The result is that #!perl -d:foo will throw the line numbers off by
one, as will line breaks in PERL5DB:

$ PERL5DB='sub DB::DB{}'$'\n\n\n''' ./perl -dle 'warn "ok"'
ok at -e line 4.

#!perl -d:foo has thrown off line numbers since f0e67a1d291 in 5.12.

This commit fixes both, by storing the line number of #! -d or the
number 0 for -d on the command line in the new PL_parser->preambling
member, which now overrides any number in PL_curcop.
op.c
parser.h
t/run/switchd.t
toke.c