| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
This test file didn't have any comments explaining what it was for:
especially confusing as there's no 'catch' op.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
GH #19680
Normally in code like
eval {.... };
then even if the eval is the last statement in the file or sub, the
OP_LEAVETRY isn't the last op in the execution path: it's followed
by an OP_LEAVE or OP_LEAVESUB or whatever, which will be the op to
resume execution from after an exception is caught.
However, if the eval is the *last* thing within a regex code block:
/(?{ ...; eval {....}; })/
then the op_next pointer of the OP_LEAVETRY op is actually NULL.
This confused S_docatch(), which wrongly assumed that a NULL
PL_restartop indicated that the caught exception should be rethrown,
popping execution back to the outer perl_run() call and hence leading to
the confused panic warning:
"panic: restartop in perl_run"
The fix is to to separate out the "do we need to re-throw" test,
(PL_restartjmpenv != PL_top_env), from the "no more ops so no need to
re-enter the runops loop" test, (!PL_restartop).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The old separator is being tested in various other places:
lib/overload.t
t/comp/package.t
t/comp/parser.t
t/lib/croak/toke
t/lib/warnings/toke
t/op/method.t
t/op/ref.t
t/op/sort.t
t/op/stash.t
t/op/stash_parse_gv.t
t/re/pat_re_eval.t
t/uni/package.t
t/uni/parser.t
t/uni/stash.t
t/uni/variables.t
In this test it seems to be an actual leftover from old times.
|
| |
|
|
|
|
|
| |
The sorting order of perlapi is supposed to be dictionary order. These
synonyms were grouped with other names in a non-ordered way.
|
|
|
|
|
| |
Both Perl_peep and Perl_pp_uc are private. Check for Perl_croak instead;
it's a part of the public API.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
25fdce4a16 introduced a chunk in sv_magic() to "force pos to be stored
as characters, not bytes" whenever any magic was applied to a string
marked UTF8.
It is not clear why a random call to sv_magic(), eg to mark a string as
tainted, needs to do this - it would seem more logical for the check to
happen either earlier (when the string first qualifies as SvMAGICAL(sv)
&& DO_UTF8(sv)) or later (eg on mg_find).
Experimentally remove this block - it appears to cause no test failures,
and allows the new test cases to pass.
|
|
|
|
|
|
|
|
|
|
|
|
| |
As suggested in https://github.com/Perl/perl5/issues/19811, this now
outputs the message:
$ ./perl -Mexperimental=try
try { A() }
catch { B() }
catch block requires a (VAR) at - line 2, near "catch {"
Execution of - aborted due to compilation errors.
|
|
|
|
|
|
| |
Ultrix has been removed. Ultrix was the native Unix-like operating
system for various Digital Equipment Corporation machines. Its final
release was in 1995.
|
|
|
|
|
|
| |
These have been occasionally useful, but take quite a bit longer than
just the sameples normally used. Enabled by environment variable
$PERL_DEBUG_FULL_TEST
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
forbidden under taint""
This reverts commit 9eb153ffbbde62558146e8f9b837034f42878e13.
The patch this unreverts was accidentally pushed to blead without going
through PR or smoke process which it really needs. This patch exists so
it can go through that process.
|
|
|
|
|
| |
A template with many open brackets or open parentheses could
overflow the stack, modify the parsing loop to avoid that.
|
|
|
|
|
|
| |
This file is part of a corpus, and is not to be visible to any person
reading documentation. We don't care about any potential issues in it,
therefore.
|
|
|
|
|
| |
This emulates socketpair on some systems that lack it; and should all be
under the level that XS code would deal with.
|
|
|
|
|
|
| |
This addresses some kernel inconsistencies on how the
process name can be represented in the /proc file. This
specifically addresses a failure on AlmaLinux 8.
|
| |
|
|
|
|
| |
Issue #19690
|
|
|
|
|
|
| |
This changes the indent to the minimum necessary to trigger pod verbatim
line handling. Doing so stops the wrapping in this file for all but one
line, which has a good reason to not be split in two in the source.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
the F<> marker shouldn't need to be told whether or not to use "" to
demarcate its argument. It should know what to do.
Also fix some overlong verbatim lines
|
|
|
|
| |
This makes it clearer
|
|
|
|
|
|
| |
When rebasing, you can get conflicts. The simplest solution for a
generated file is to regenerate it. But prior to this commit, all such
lines would have to be manually removed.
|
|
|
|
|
| |
This converts this file to follow the paradigm everywhere else, to chdir
to 't' only if 't' is a directory
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Before this commit, specifying --show-all caused a fire hose of messages
to appear from pods that have many known problems, and whose output is
completely suppressed normally. An example is perlepigraphs, where many
lines are verbatim quotes from literature, and hence exceed our length
limit, but we aren't going to change wrap them (some of them are
poetry), so the output from that file of that type of problem is just
completely suppressed.
This commit keeps such output suppressed while showing all other issues.
You can still get the suppressed output unsuppressed by explicitly
specifying the file on the command line.
|
|
|
|
|
| |
This changes the indent to the minimum necessary to trigger pod verbatim
line handling. Doing so stops the wrapping in this file.
|
|
|
|
| |
Fix how links are displayed, add some links
|
| |
|
|
|
|
|
| |
This makes it slightly easier for readers to understand, and a lot
easier for podcheck.t to understand
|
|
|
|
|
| |
metaconfig units and plain text files aren't pod. And lines
like Perl/perl.git aren't going to be file names.
|
|
|
|
|
| |
This does some white space changes for readability, clarifies comments
and pod.
|
|
|
|
|
| |
In addition to being able to call this with --add_link, you can now
specify --add-link, depending on your preference.
|
|
|
|
|
|
|
| |
This causes the output to be flushed immediately. Without this, some
options that tried to tell you that the operation would take a while to
complete would not have that message come out until it had in fact
completed. The message should be displayed immediately.
|
|
|
|
|
| |
This line has a syntax error in it. Fix it, and split into two lines so
doesn't wrap on output in an 80 column terminal window
|
|
|
|
| |
These internal references are linkable
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
under taint"
This reverts commit 5ede4453c4877110eb5214ff400c173210b101b1.
I messed up and pushed it to blead not to the PR branch I meant to push
it. Thanks to xenu for noticing. This needs a smoke before it should be
applied.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Having a relative path, including ".", is forbidden under taint. On *nix
an empty PATH or an empty PATH component is equivalent to a PATH of ".",
so they should be forbidden as well.
Note that on Windows the current working directory is ALWAYS checked
first if you try to execute something that does not specify its path,
regardless of the PATH.
I do not know what happens on VMS and I do not have access to a
VMS environment to test. There are totally different codepaths for
VMS as well. This patch does not (or rather should not) change
behavior for VMS.
Note this includes a version bump for all modules in dist/PathTools
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Signal ignores can be set up by a parent process and the child process
will inherit them. So in some situations when we test $SIG{ALRM} might
be "IGNORE" and not undef. So instead of just expecting undef, check
what it was before the localization, and then check it is still that
value afterwards.
I found this while running make test via rebase --exec, something like
this reduction (from Matthew Horsfall):
$ git rebase --exec='perl -le"print \$SIG{ALRM}"' HEAD~1
IGNORE
A similar case for a different signal would be this example (from Leon
Timmermans):
$ nohup perl -E 'say $SIG{HUP}' 2>/dev/null | cat
IGNORE
|
|
|
|
|
| |
This needs a better fix eventually, but this workaround will unblock the
CI.
|