| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
The multideref assertions should allow the OPf_SPECIAL flag, because
an OP_GV that started out as OP_CONST and got converted in ck_rvconst
may have have OPf_SPECIAL set already. This flag is harmless on
OP_GV, so don’t bother turning it off.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
$ echo 'my $é' | iconv -f utf-8 -t iso-8859-1 | ./perl -Ilib -CS
Can't use global $^ÿ¿¿¿¿¿¿¿¿¾© in "my" at - line 1, at end of line
In trying to turn the é into a ^X sequence, alloc_my does toCTRL()
(^64) on it, where the character is treated as a signed inte-
ger, i.e., -23 ^ 64, or -87. In sv_vcatpvfn_flags, it gets
cast to a UV, so it becomes 18446744073709551529 on 64-bit
platforms. Encoded in ‘extended’ UTF8, that becomes
<FF><80><8F><BF><BF><BF><BF><BF><BF><BF><BF><BE><A9> (assuming I cop-
ied and pasted it from less correctly), which only perl recognizes as
chr 18446744073709551529.
We should not be trying to do $^X on non-ASCII characters.
|
|
|
|
|
|
| |
It was added by perl-5.6.0-8936-g7821065. The corresponding comment
in pp_sort.c that it refers to, also added by the same commit, was
removed in perl-5.8.0-5345-g5fe61d9.
|
| |
|
| |
|
|
|
|
|
| |
require(v5.16) does not work. I broke this by adding the parens in
917a8f4f52.
|
|
|
|
|
|
|
| |
and remove its sigil arg.
During development of OP_MULTIDEREF this function evolved; the new
name reflects its usage more accurately, and sigil is always '$'.
|
| |
|
|
|
|
| |
$#1 is a syntax error.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
@- and @+ do not interpolate in regular expressions.
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is no good:
$ ./perl -Ilib -MO=Deparse -e '/@a/'
@a;
-e syntax OK
This was probably broken in 5.18 when arrays interpolated into regular
expressions stopped getting a ‘join’ op and started being handled by
the regexp parser directly.
|
| |
|
| |
|
| |
|
|
|
|
| |
use note() rather than diag() for a non-error message.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This test creates some file handles and dups them using XS that
exercises the T_OUT etc typemaps. When the dup filehandle is implicitly
closed on scope exit, it warns, since the close fails:
Warning: unable to close filehandle properly: Bad file descriptor
The close fails because the two file handles are sharing the same
underlying IoIFP/IoOFP and so the second of the two closes doesn't work.
Fix this by explicitly closing the handles.
(Note that until the previous commit that fixed a leak with these
typemaps, the warning wasn't coming until global destruction, since the
new GV was being leaked.)
|
|
|
|
|
| |
These typemaps (which are ancient; mostly going back to 1994 or so)
each leaked a GV and an RV.
|
|
|
|
|
|
|
|
|
|
|
| |
Shut up the
Please specify prototyping behavior for Hostname.xs (see perlxs manual)
warning by specifying the default prototyping behaviour. It defaults
to ENABLE, but I've changed it to be explicitly disabled - but it only
contains 1 function which is only used internally, and has no args, so it
doesn't really matter.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is wrong:
$ perl -MO=Deparse -e 'foo(); sub foo { foo() } foo()'
foo();
sub foo {
foo ;
}
foo ;
-e syntax OK
You need foo() inside sub foo{}. The parentheses are not optional.
The sub was being introduced (Deparse was recording is as declared)
just before the definition was emitted.
|
|
|
|
|
|
|
|
|
|
| |
[DELTA]
0.053 2014-12-11 23:42:17-05:00 America/New_York
[FIXED]
- Defended tests against HTTP_PROXY set in the environment
|
| |
|
|
|
|
|
|
| |
COP_SEQ_RANGE_LOW and PARENT_PAD_INDEX are identical. So are
COP_SEQ_RANGE_HIGH and PARENT_FAKELEX_FLAGS. Don’t bother creating
four separate CVs, just two.
|
|
|
|
| |
I put an entry in the wrong place in 2a9203e94.
|
|
|
|
|
|
| |
If we don’t ignore trailing whitespace after ); then we end up search-
ing for the next ); in the file and skip the next message if the );
belongs to it.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This commit:
commit 01b5ef509f2ebf466fd7de2c1e7406717bb14332
Author: Father Chrysostomos <sprout@cpan.org>
Date: Fri Jun 7 20:16:23 2013 -0700
[perl #24482] Fix sort and require to treat CORE:: as keyword
caused sort CORE::lc "FOO" to be equivalent to sort +CORE::lc "FOO",
the way it does if a keyword is not preceded by CORE::. But it made
the mistake of chopping off the last six characters if it is not a
keyword after CORE::.
So
sort CORE::f @_
became equivalent to
sort C @_
!
This commit just reverts to the previous behaviour in such cases.
|
| |
|
|
|
|
|
|
|
|
| |
I have HTTP_PROXY and http_proxy set. HTTP::Tiny just gained
HTTP_PROXY capabilities, and all the tests fail, because they were
only masking http_proxy, not HTTP_PROXY.
Reported at https://github.com/chansen/p5-http-tiny/issues/60.
|
|
|
|
|
| |
VC 2003 optimizer didn't catch it because SvREFCNT_dec is rarely inlined
on -O1
|
|
|
|
|
| |
-1 less asm op for every very rarely executed branch on threaded perl
-add a build product to ignore on the rarely tested Win32 static perl build
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Prior to commit c310a5abf, ‘use’ statements in packages other than
main were emitted as BEGIN blocks, because the code that decides
whether BEGIN is actually ‘use’ was looking for "BEGIN", not
"Foo::BEGIN":
$ perl -MO=Deparse -e 'package foo; use overload'
package foo;
sub BEGIN {
require overload;
do {
'overload'->import
};
}
-e syntax OK
That changed inadvertently in v5.21.6-397-gc310a5a (Don’t deparse
BEGIN blocks as __ANON__), because B::Deparse now remembers the name
"BEGIN" for all BEGIN blocks, regardless of package.
That caused an existing bug to occur more often:
$ perl5.20.1 -MO=Deparse -e 'package foo; die; package main; use overload qr=>sub{die}'
package foo;
die;
use overload ('qr', sub {
die;
}
);
-e syntax OK
Notice that there is no ‘package main’ anywhere. (Just before c310a5a
the ‘package main’ would have appeared inside the anonymous sub.)
In c310a5a this started applying to packages other than main, with a
‘use’ statement just after the package declaration.
This commit fixes that by returning the ‘use’ statement only *after*
doing the check to see whether there was a package declaration, and by
including the package declaration in what is returned.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
[DELTA]
1.07 2014-12-09 NEILB
- All changes from Ken Williamson as part of EBCDIC work for 5.22
- Fix typo in comment
- Reorder structure definitions
- Fill %Name2character better for EBCDIC
- Generalize for EBCDIC
- doc clarification
|
|
|
|
|
|
|
|
|
|
|
| |
[DELTA]
0.052 2014-12-11 15:23:54-05:00 America/New_York
[CHANGED]
- Proxy allowed from environment variable HTTP_PROXY (uppercase) unless
REQUEST_METHOD is also set.
|
|
|
|
|
|
| |
For non-ASCII systems, there are character set translation tables. This
makes sure the two accessible ones are inverses of each other. If not,
nothing can be expected to work right.
|
|
|
|
|
| |
This takes advantage of the previous commit to exclude locales that we
can determine don't work fully with Perl.
|
|
|
|
|
| |
This allows the caller to specify that they do not want to get back any
locales that aren't fully compatible with Perl.
|
|
|
|
|
| |
My moving the 'use Test::More' outside of the BEGIN block, I don't get
the 'duplicate leader seen' error.
|
|
|
|
| |
It's clearer and sets a better example for the reader
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
The test here used a lot of memory, causing problems on an os390 smoker.
The warning used is immaterial, so change to use a different warning,
one that doesn't use up memory.
|