summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Allow OPf_SPECIAL on OP_GVFather Chrysostomos2014-12-132-1/+7
| | | | | | | 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.
* Don’t call FETCH multiple times on int $infFather Chrysostomos2014-12-132-3/+5
|
* Fix garbage output from ‘my $é’Father Chrysostomos2014-12-132-0/+9
| | | | | | | | | | | | | | | | $ 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.
* Remove obsolete comment from lib/sort.tFather Chrysostomos2014-12-131-2/+0
| | | | | | 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.
* dump.c: Make static functions staticFather Chrysostomos2014-12-131-2/+2
|
* Use STATIC_ASSERT in B::PADNAME::FLAGSFather Chrysostomos2014-12-131-1/+1
|
* Deparse require vstring without parensFather Chrysostomos2014-12-132-15/+25
| | | | | require(v5.16) does not work. I broke this by adding the parens in 917a8f4f52.
* rename S_print_gv_name() to S_append_gv_name()David Mitchell2014-12-131-5/+5
| | | | | | | 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 '$'.
* deparse-skips.t: array.t now passesFather Chrysostomos2014-12-121-1/+0
|
* Deparse $#{1} with bracesFather Chrysostomos2014-12-122-2/+2
| | | | $#1 is a syntax error.
* deparse-skips.t: opbasic tests are passingFather Chrysostomos2014-12-121-2/+0
|
* deparse-skips.t: Note reason for re/rxcode.tFather Chrysostomos2014-12-121-1/+1
|
* deparse-skips.t: More passing re testsFather Chrysostomos2014-12-121-3/+0
|
* deparse-skips.t: Note ticket num for re/reg_fold.tFather Chrysostomos2014-12-121-2/+2
|
* deparse-skips.t: re/reg_eval_scope.t passesFather Chrysostomos2014-12-121-1/+0
|
* deparse-skips.t: Note ticket num for re/pat_advanced.tFather Chrysostomos2014-12-121-1/+1
|
* deparse-skips.t: Note reasons for re/pat_rt_report.tFather Chrysostomos2014-12-121-1/+1
|
* Deparse /@{-}/ with bracesFather Chrysostomos2014-12-122-1/+3
| | | | @- and @+ do not interpolate in regular expressions.
* Deparse /@a/ as regexpFather Chrysostomos2014-12-122-2/+12
| | | | | | | | | | | | 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.
* deparse-skips.t: re/pat_re_eval.t passesFather Chrysostomos2014-12-121-1/+0
|
* Test-Simple Version Bump, 1.301001_087 (RC7)Chad Granum2014-12-1214-50/+73
|
* Tru64: tgamma in libm but broken.Jarkko Hietaniemi2014-12-121-0/+1
|
* Storable/t/canonical.t: don't pollute STDERRDavid Mitchell2014-12-121-1/+1
| | | | use note() rather than diag() for a non-error message.
* XS-Typemap/t/Typemap.t: avoid close warningsDavid Mitchell2014-12-121-1/+7
| | | | | | | | | | | | | | | | | 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.)
* stop T_IN/OUT/INOUT/STDIO typemaps leakingDavid Mitchell2014-12-121-8/+24
| | | | | These typemaps (which are ancient; mostly going back to 1994 or so) each leaked a GV and an RV.
* Sys/Hostname.xs: add prototyping behaviourDavid Mitchell2014-12-122-1/+2
| | | | | | | | | | | 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.
* Deparse: Introduce subs after they are definedFather Chrysostomos2014-12-122-3/+9
| | | | | | | | | | | | | | | | 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.
* Update HTTP-Tiny to CPAN version 0.053Chris 'BinGOs' Williams2014-12-124-14/+17
| | | | | | | | | | [DELTA] 0.053 2014-12-11 23:42:17-05:00 America/New_York [FIXED] - Defended tests against HTTP_PROXY set in the environment
* B::PADNAMELIST::REFCNT can be an ALIASFather Chrysostomos2014-12-111-4/+3
|
* Squash some B::PADNAME methods togetherFather Chrysostomos2014-12-111-6/+7
| | | | | | 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.
* Sort perldiagFather Chrysostomos2014-12-111-9/+9
| | | | I put an entry in the wrong place in 2a9203e94.
* diag.t: Ignore trailing whitespaceFather Chrysostomos2014-12-112-2/+2
| | | | | | 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.
* [perl #123410] sort CORE::fake bizarre behaviourFather Chrysostomos2014-12-112-3/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* deparse-skips.t: Note reason for re/pat.tFather Chrysostomos2014-12-111-1/+1
|
* Ignore proxies in HTTP::Tiny testsFather Chrysostomos2014-12-112-9/+11
| | | | | | | | 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.
* SvREFCNT_dec_NN in SDBMDaniel Dragan2014-12-113-3/+3
| | | | | VC 2003 optimizer didn't catch it because SvREFCNT_dec is rarely inlined on -O1
* Perl_croak->Perl_croak_nocontext in core typemap + win32 static gitignoreDaniel Dragan2014-12-112-15/+16
| | | | | -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
* Deparse: Emit package before useFather Chrysostomos2014-12-112-3/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Test-Simple Version Bump, 1.301001_084 (RC4)Chad Granum2014-12-1123-123/+1362
|
* Update Pod-Escapes to CPAN version 1.07Chris 'BinGOs' Williams2014-12-112-159/+159
| | | | | | | | | | | | | [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
* Update HTTP-Tiny to CPAN version 0.052Chris 'BinGOs' Williams2014-12-113-5/+33
| | | | | | | | | | | [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.
* Add test that to/from native character set worksKarl Williamson2014-12-112-0/+28
| | | | | | 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.
* t/run/locale.t: Don't operate on iffy localesKarl Williamson2014-12-111-1/+4
| | | | | This takes advantage of the previous commit to exclude locales that we can determine don't work fully with Perl.
* t/loc_tools.pl: Add optional parameter to find_locales()Karl Williamson2014-12-111-45/+57
| | | | | This allows the caller to specify that they do not want to get back any locales that aren't fully compatible with Perl.
* PerlIO::encoding:fallback.t: properly skip testsKarl Williamson2014-12-111-1/+2
| | | | | My moving the 'use Test::More' outside of the BEGIN block, I don't get the 'duplicate leader seen' error.
* perluniintro: Vertically stack ternarysKarl Williamson2014-12-111-7/+7
| | | | It's clearer and sets a better example for the reader
* t/op/utfhash.t: Clarify commentKarl Williamson2014-12-111-1/+1
|
* perldiag: Add missing entryKarl Williamson2014-12-111-0/+2
|
* t/run/locale.t: Nit in commentKarl Williamson2014-12-111-1/+1
|
* t/re/reg_eval_scope.t: Don't stress memory limitKarl Williamson2014-12-111-4/+3
| | | | | | 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.