This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
[perl #119799] Set breakpoints without *DB::dbline
authorFather Chrysostomos <sprout@cpan.org>
Mon, 28 Oct 2013 23:14:35 +0000 (16:14 -0700)
committerFather Chrysostomos <sprout@cpan.org>
Mon, 28 Oct 2013 23:15:11 +0000 (16:15 -0700)
commit43e4250a611bbded7aab070226e8d756638cd569
treebc86c70fc3d612cb15413d27ee121e46c64d1309
parent2e3295e33c63f6b4e7c3db43ec277607d5ce716d
[perl #119799] Set breakpoints without *DB::dbline

The elements of the %{"_<..."} hashes (where ‘...’ is the filename),
whose keys are line numbers, are used to set breakpoints on the given
lines.  The corresponding @{"_<..."} array contains the actual lines
of source code.

%{"_<..."} actually acts on the array of lines that @DB::dbline is
aliased to.  The assumption is that *DB::dbline = *{"_<..."} will have
taken place first.  Hence, all %{"_<..."} hashes are the same, when it
comes to writing to keys.

It is more useful for each %{"_<..."} hash to set breakpoints on its
corresponding file’s lines regardless of whether @DB::dbline has been
aliased, so that is what this commit does.

Each hash’s mg_obj pointer in its dbfile magic now points to the
array, and magic_setdbline uses it instead of PL_DBline.
gv.c
mg.c
t/run/switchd.t