| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
A spurious printf was inadvertently added by me with e05a85b2.
|
|
|
|
|
| |
One branch returned an SV* when it should return CV*.
This upset g++.
|
|
|
|
|
|
|
| |
Tests pass on perl-5.16.3 but should fail (until source code is corrected) on
subsequent versions.
For: RT #120174
|
|
|
|
|
|
|
| |
For: https://rt.perl.org/Ticket/Display.html?id=130445
Thanks to Håkon Hægland for report and suggestion. Simplify revisions, per
feedback from Aaron Crane.
|
| |
|
|
|
|
|
|
| |
Patch submitted by Shlomi Fish.
For: RT #126735
|
|
|
|
|
| |
Credits to Heiko Eissfeldt for the reported bug, the test program and a
proposed fix.
|
|
|
|
|
|
|
| |
aaa63daea7f8ece changed like to is, which turned out not to be
quite the same thing for these tests on VMS, where the last line
of a file always gets a newline before EOF willy nilly. So keep
is but make the newline explicit.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
As I noted in v5.21.1-12-g826af13 we have subtle bugs in the test suite
because you can do e.g. like($@, '') now which'll be a passing test even
when we have an error, because $@ =~ // will be true.
I'm just changing t/test.pl to not accept non-Regexp arguments, and
fixing up a bunch of test failures that resulted from that. There might
still be more of these in tests that I'm just not running, I've also
changed some of these from $str =~ /foo/ to $str eq 'foo'
(i.e. s/like/is/) in cases where that appeared to work, but it might
break some systems.
Let's just find that out via the smokers.
|
|
|
|
|
|
|
|
|
| |
See: https://rt.perl.org/Ticket/Display.html?id=121509
[perl #121509] perl debugger doesn't save starting dir to restart from
Thanks to Linda Walsh for reporting the problem and RJBS for commenting
for initial approval. Fix and a regression test by Shlomi Fish.
|
|
|
|
|
| |
VMS is a special snowflake, deal with the slightly different debugger
output it produces.
|
|
|
|
|
|
| |
We're getting newlines in between items, and the easiest way to
deal with it is make them explicit so we expect what we're getting
and it's done the same everywhere.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously the tests were run with the following config:
NonStop=0 TTY=db.out LineInfo=db.out
This meant that the debugger would write the prologue, command prompts
and their results and the epilogue to one handle, and any line trace
information to the second handle. Since those handles didn't share a
file position, the line trace info would overwrite the prologue, and
the epilogue would overwrite part of the line trace info.
When TTY=vt100 on Redhat systems this made the epilogue just long
enough to overwrite the line trace data that a test matched against,
causing the test to fail.
To fix this, I avoided setting LineInfo:
NonStop=0 TTY=db.out
and since LineInfo defaults to using the TTY handle, both types of
content are written to db.out *without* overwriting each other.
Unfortunately this broke some other tests, since the command prompts
which were overwritten by line trace information are now mixed in with
the line traces - I've modified the tests that failed to account for
the included command lines.
|
|
|
|
|
| |
This fixes a test failure in minimal build environments without
a 'man' command.
|
| |
|
|
|
|
| |
Discussed in RT #41461
|
|
|
|
|
|
|
| |
A problem with the perl debugger of writing to an undef $LINEINFO.
Bump $VERSION to 1.42.
For: RT #41461
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The ‘n’ debugger command, which is supposed to step over subs, was not
stepping over lvalue subs.
This is a regression from 5.8, but 5.8 was worse.
This bug did not occur in 5.8 because there was no mechanism back then
for handling lvalue subs specially (via DB::lsub), so assignment to an
lvalue sub was completely broken under the debugger.
Perl 5.10 introduced DB::lsub. The implementation in perl5db.pl
contains these lines at the end of the sub:
# Pop the single-step value back off the stack.
$single |= $stack[ $stack_depth-- ];
# call the original lvalue sub.
&$sub;
The regular DB::sub does this:
{
no strict 'refs';
@ret = &$sub;
}
# Pop the single-step value back off the stack.
$single |= $stack[ $stack_depth-- ];
Notice how $single (i.e., $DB::single) is modified before and after
the sub call, respectively. The order is different.
There are two types of lvalue list context for lvalue subs. (foo)=3
will allow sub foo:lvalue{@a} to return the array itself. \(foo) and
bar(foo) will flatten the array.
So there is no way in pure Perl to capture the return value and have
it returned to the caller unchanged. That is why DB::lsub has to call
the sub last of all (and have the context propagated).
The solution here is to use localisation to accomplish the assigment
to $single after the lvalue sub exits.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
perl5db.t will die in Term::ReadLine if Term::ReadLine::Gnu is installed
in the system. Let's favour core implementation.
Best solution would be to prune @INC to prevent from loading already
installed modules like this:
BEGIN {
use Config;
@INC = grep { ! /^\Q$Config{installprefix}\E(\/|\z)/ } @INC;
}
However that is not possible (now) due to various execs (even without
proper -I) in the harness chain. perl should implement -nostdinc
option.
Signed-off-by: Petr Písař <ppisar@redhat.com>
|
|
|
|
|
|
| |
With a test.
See Father C.'s comment on RT #118169.
|
|
|
|
|
|
|
|
|
|
| |
https://rt.perl.org/rt3/Public/Bug/Display.html?id=118169
subroutine arguments are no longer shown in perl debugger ( x @_ in perl
-d) .
Regression from perl-5.16.x due to the perl -d refactoring. Fixed with a
test.
|
|
|
|
|
| |
Without this, the test fails when LC_ALL is set to a non-English locale for
which man has been localised.
|
|
|
|
|
|
|
| |
especially when the locale is non-English.
Hopefully all Linux dists are producing the same message, and force the
language to "C" so we get English messages.
|
|
|
|
| |
This was accidentally broken by commit c7b0c61d36b24841.
|
| |
|
| |
|
|
|
|
| |
Merge-SNAFU.
|
|
|
|
|
| |
This was done by reverting parts of the offending commit from the
git bisecting and adding a test. Thanks to Kevin Dawson for the report.
|
|
|
|
|
| |
Thanks to Father Chrysostomos for fixing the bug in blead, I was now
able to fix the test in the debugger.
|
|
|
|
|
|
|
|
| |
It is caused by $obj spontaneously becoming undef for no good reason -
seems like a bug in the perl interpreter (or elsewhere). This was
noticed by Father C here:
https://rt.perl.org/rt3/Ticket/Display.html?id=114926
|
| |
|
| |
|
|
|
|
|
|
| |
Without a line number. See:
https://rt.perl.org/rt3/Ticket/Display.html?id=115110 .
|
|
|
|
| |
The problem was that the arguments in print_help were not extracted correctly.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
There it was.
|
| |
|
|
|
|
| |
It appears to work fine now. Strange.
|
|
|
|
|
| |
Apparently, the 'o AutoTrace' command is broken since perl-5.16.x and I
want to get a good output for 't' first before fixing it.
|
| |
|
| |
|
| |
|
| |
|