This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
[perl #71806] perldb does not setup %dbline with the shebang option -d
authorFather Chrysostomos <sprout@cpan.org>
Thu, 23 Sep 2010 08:38:10 +0000 (01:38 -0700)
committerFather Chrysostomos <sprout@cpan.org>
Thu, 23 Sep 2010 08:38:10 +0000 (01:38 -0700)
commit5a9a79a4cd93fcfb7398dd4e99030923446e8b08
treedc2e12537b1b63f77e60b3f19dfbdb3a39e0b2c4
parenta5763045776ca8ceaf2c78fa074b0f8a1dbe6e9e
[perl #71806] perldb does not setup %dbline with the shebang option -d

The first time gv_fetchfile is called for a particular file, it
creates the glob and, if debugging is on, creates an AV. If the glob
already exists (i.e., in subsequent calls), the AV is not created. The
attached patch moves the check for debugging mode and the creation of
the AV outside the if-block that checks whether the glob exists.

This bug seems to have existed for a very long time and has been
intermittent. It seems that many different things can change the order
in which #!perl -d and gv_fetchfile occur. Whether compilation options
affect it I do not know. I can reproduce it in 5.6.2, 5.8.[123456]
(non-threaded) and 5.11.3 (both threaded and non-threaded), but not
5.8.[789] or 5.10.[01] (threaded).
gv.c
pod/perldelta.pod
t/run/switchd.t