summaryrefslogtreecommitdiff
path: root/pod
Commit message (Collapse)AuthorAgeFilesLines
* moving old perldelta and creating new one Stevan Little2011-09-203-620/+1015
|
* No need to go into this much detail in the pod (also podcheck doesn't like it)v5.15.3Stevan Little2011-09-201-13/+6
|
* Tweak wording of the Notice based on Jesse's feedbackStevan Little2011-09-201-1/+2
|
* Adding some Known Problems to perldeltaStevan Little2011-09-201-2/+30
|
* removing the comment from the perldelta (and the previous perldelta as well)Stevan Little2011-09-202-6/+0
|
* finalize perldeltaStevan Little2011-09-201-1/+1
|
* adding new release to perlhistStevan Little2011-09-201-1/+3
|
* Adding the acknowledgements section to perldeltaStevan Little2011-09-201-3/+30
|
* Update Module::CoreList for 5.15.3 Stevan Little2011-09-201-2/+3
|
* perldelta pod tweaks,.. this is not a linkStevan Little2011-09-201-1/+1
|
* More pod formatting tweaksStevan Little2011-09-201-3/+3
|
* Fix some pod errors reported by podcheckerStevan Little2011-09-201-4/+4
|
* Updating perldelta in preparation for the 5.13.3 release.Stevan Little2011-09-201-213/+69
|
* Fixing the version in the comment in perl5152delta.podStevan Little2011-09-201-1/+1
|
* Update CPAN-Meta to CPAN version 2.112621Stevan Little2011-09-191-1/+1
| | | | | | | | | | | | | | | | | | [DELTA] 2.112621 2011-09-19 12:15:16 America/New_York [BUGFIX] - Spell BACKEND environment variables correctly this time [noticed by Stevan Little] 2.112620 2011-09-18 20:56:06 America/New_York [BUGFIX] - Protect tests against PERL_(YAML|JSON)_BACKEND settings that could cause tests to fail. (RT #69979)
* regen generated filesDave Rolsky2011-09-191-0/+7
|
* Explicitly ignore the stub pod files I just added when doing the sanity checkDave Rolsky2011-09-191-1/+7
|
* add stub files for deleted OO-related pod filesDave Rolsky2011-09-194-0/+48
|
* Correct perldelta entry for -l \*foo changeFather Chrysostomos2011-09-181-2/+4
|
* Update CPAN-Meta to CPAN version 2.112600Chris 'BinGOs' Williams2011-09-181-1/+1
| | | | | | | | | | [DELTA] 2.112600 2011-09-17 12:21:09 America/New_York [DOCUMENTATION] - Fixed spelling error in CPAN::Meta::Spec (RT #71036) [Gregor Hermann]
* [perl #95034] Make perldoc <url> use a reasonabe nameFather Chrysostomos2011-09-181-0/+7
| | | | | | | | | This patch makes perldoc with a URL use a somewhat reasonable name based on the basename of the URL, instead of displaying PALLEGCSYO or BJ1KKH1675 in the pod header (based on the tmp file name). It treats all URLs the same (changing perldoc.pod to PERLDOC), instead of treating .pm’s specially. Maybe this could be improved later.
* Deparse "${#}a"Father Chrysostomos2011-09-171-1/+1
|
* Deparse $#{/} correctlyFather Chrysostomos2011-09-171-0/+6
|
* Make -l always treat non-bareword arguments as file namesFather Chrysostomos2011-09-171-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Here is some suspicious code in Perl_my_lstat_flags: if (SvROK(sv) && isGV_with_GP(SvRV(sv)) && ckWARN(WARN_IO)) { Perl_warner(aTHX_ packWARN(WARN_IO), "Use of -l on filehandle %s", GvENAME((const GV *)SvRV(sv))); return (PL_laststatval = -1); } The behaviour differs depending on whether warnings are enabled. That -1 turns into undef in pp_ftlink. So we get an undef return value with warnings on, but a file test on a file name otherwise. In 5.6.2, -l $foo always treated $foo as a file name. In 5.8+, if it is a reference (ignoring magic) and the reference points to a typeglob (ignoring magic) and io warnings are on, it warns and returns undef. So the only time that undef return is reached is when a warning has been emitted, so it’s code that will likely be corrected before it goes into production. Hence I think it unlikely that anyone could be relying on the behaviour of -l \*foo (under warnings). So this commit restores the 5.6 behaviour for that case.
* Make stacked -l workFather Chrysostomos2011-09-171-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Perl 5.10.0 introduced stacked filetest operators, -x -r $foo being equivalent to -r $foo && -x _ That does not work with -l. It was these suspicious lines in Perl_my_lstat_flags that drew my attention to it: > else if (PL_laststype != OP_LSTAT > && (PL_op->op_private & OPpFT_STACKED) && ckWARN(WARN_IO)) > Perl_croak(aTHX_ no_prev_lstat); That croak only happens when warnings are on. Warnings are just supposed to be warnings, unless the ‘user’ explicitly requests fatal warnings. $ perl -le 'print "foo", -l -e "miniperl"' foo $ perl -lwe 'print "foo", -l -e "miniperl"' The stat preceding -l _ wasn't an lstat at -e line 1. That it doesn’t die in the first example is a bug. In fact, it’s using the return value of -e as a file name: $ ln -s miniperl 1 $ ./miniperl -le 'print -l -e "miniperl"' 1 And, with warnings on, if the preceding stat *was* an lstat, it falls back to the pre-stacked behaviour, just as it does when warn- ings are off. It’s meant to be equivalent to -e "miniperl" && -l _ (which is why the error message above says ‘The stat preceding -l _’).
* perlglossary: fix broken linkFather Chrysostomos2011-09-171-1/+1
|
* perlglossary: Make empty-list-as-scalar even clearerFather Chrysostomos2011-09-171-1/+1
|
* Document empty-list-as-scalar in perlglossaryChas. Owens2011-09-171-2/+9
|
* perldata: Mention undefined as a false valFather Chrysostomos2011-09-171-2/+3
|
* perlop: Clarify \octal slightlyFather Chrysostomos2011-09-171-3/+4
| | | | This is to address ticket #94252.
* Make IO::Handle::getline(s) respect the open pragmaFather Chrysostomos2011-09-171-0/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | See <https://rt.cpan.org/Ticket/Display.html?id=66474>. Also, this came up in <https://rt.perl.org/rt3/Ticket/Display.html?id=92728>. The <> operator, when reading from the magic ARGV handle, automatic- ally opens the next file. Layers set by the lexical open pragma are applied, if they are in scope at the point where <> is used. This works almost all the time, because the common convention is: use open ":utf8"; while(<>) { ... } IO::Handle’s getline and getlines methods are Perl subroutines that call <> themselves. But that happens within the scope of IO/Handle.pm, so the caller’s I/O layer settings are ignored. That means that these two expressions are not equivalent within in a ‘use open’ scope: <> *ARGV->getline The latter will open the next file with no layers applied. This commit solves that by putting PL_check hooks in place in IO::Handle before compiling the getline and getlines subroutines. Those hooks cause every state op (nextstate, or dbstate under the debugger) to have a custom pp function that saves the previous value of PL_curcop, calls the default pp function, and then restores PL_curcop. That means that getline and getlines run with the caller’s compile- time hints. Another way to see it is that getline and getlines’s own lexical hints are never activated. (A state op carries all the lexical pragmata. Every statement has one. When any op executes, it’s ‘pp’ function is called. pp_nextstate and pp_dbstate both set PL_curcop to the op itself. Any code that checks hints looks at PL_curcop, which contains the current run-time hints.)
* perldelta for h2ph conditional sub fixFather Chrysostomos2011-09-171-2/+10
|
* perlobj: Fix pod problemsKarl Williamson2011-09-171-2/+4
| | | | introduced by 7168b2511bddd4967be30033b32ce8b1b6500f6d
* perldata: Only one "_" is allowed between each digit pairKarl Williamson2011-09-171-1/+3
|
* Lots of revisions from Damian for perlobjDamian Conway2011-09-171-124/+183
| | | | | | A lot of this is fixing the incorrect meme of "an object is a blessed reference", but this change also corrects a number of typos, adds clarifying bits of text, etc.
* Tweaks to perlootut by DamianDamian Conway2011-09-171-18/+18
| | | | | Mostly this consists of removing the incorrect meme that an object is a blessed reference.
* Make goto &CORE::sub use the right lexical scopeFather Chrysostomos2011-09-161-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | Since goto &foo is supposed to replace the current sub call, as though foo had been called instead, logically foo should see the same lexical hints that would have been seen if it had been called to begin with. Regular Perl subs begin with nextstate ops, so they have their own lexical scopes, but CORE:: subs see the caller’s PL_curcop. They lack a nextstate precisely so that they run in the caller’s scope, just as though a built-in function had been called. For Perl subs (as opposed to XSUBs), goto-&sub was not reset- ting PL_curcop to the caller’s value, but leaving as it was, so goto &CORE::sub would cause the CORE sub to run with the lexical hints of the subroutine in replaced, instead of that sub’s caller. This was never a problem until CORE subs came along, as they look like Perl subs to the internals (they have an op tree and are flagged as such), but comprise a sequence of ops that can never result from com- piling Perl source code. The simple one-line fix is to set PL_curcop in pp_goto for Perl subs as well as XSUBs. (For XSUBs it is implied by POPBLOCK.)
* Make ++ and -- work on glob copiesFather Chrysostomos2011-09-161-0/+4
| | | | These ops considered typeglobs read-only, even if they weren’t.
* [perl #93638] $ENV{LS_COLORS} causes miniperl glob failureFather Chrysostomos2011-09-161-0/+7
| | | | | | | | | On some systems, csh croaks if the LS_COLORS envvar contains something it considers invalid. The easiest and least intrusive fix for now is to localize %ENV before running csh, though eventually it might be nice to use File::Glob in miniperl, either by linking it statically or by inlining it.
* Update CPAN-Meta to CPAN version 2.112580Chris 'BinGOs' Williams2011-09-161-0/+4
| | | | | | | | | | | [DELTA] 2.112580 2011-09-15 10:53:59 America/New_York [BUGFIX] - Use UTF-8 mode for internal structure cloning to avoid bugs in Perl <= 5.8.6 (RT #70936) [Dagfinn Ilmari Mannsåker]
* Update CPANPLUS to CPAN version 0.9111Chris 'BinGOs' Williams2011-09-161-1/+1
| | | | | | | | | [DELTA] Changes for 0.9111 Fri Sep 16 10:15:06 2011 ================================================ * Enhance CPANPLUS::Dist::MM Makefile/Makefile.PL age checking code to resolve some issues.
* Disallow weakening of read-only referencesFather Chrysostomos2011-09-161-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | $ perl -MScalar::Util=weaken -le 'DESTROY{return if$_++;weaken$_[0]}$x=bless[]' DESTROY created new reference to dead object 'main' during global destruction. It says that because the reference count has gone down to -1 (or the max unsigned value, whichever it is), and the error occurs when SvREFCNT is true. So there is no new reference to the dead object; it’s just the refcount that’s off. This case is worse: $ perl -MScalar::Util=weaken -le 'DESTROY{weaken$_[0];$x=$_[0]}bless[];' Segmentation fault $_[0]’s reference count is normally lowered manually by sv_clear, to avoid a recursive call to sv_clear (as lowering the reference count normally triggers that). If the variable has been weakened, then $_[0] no longer holds a reference count. sv_clear proceeds to destroy at, as its reference count is 1 (held by $x), causing $x to point to a freed scalar. Not good. Since $_[0] is read-only anyway, it should not be weakenable.
* perldelta updateFather Chrysostomos2011-09-161-7/+97
|
* Revert "Put Jesse's "How a Bill Becomes a Law" into perlhack (with editing)"Dave Rolsky2011-09-161-50/+2
| | | | This reverts commit 6a945912f2861921b440402072b7053a1dc414a5.
* Partial perldelta updateFather Chrysostomos2011-09-161-2/+43
|
* Dear perlvar: ${PEN} was introduced in 5.8.0.Father Chrysostomos2011-09-151-1/+1
|
* Add a mention of #p5p to perlhackDave Rolsky2011-09-151-0/+6
|
* Put Jesse's "How a Bill Becomes a Law" into perlhack (with editing)Dave Rolsky2011-09-151-2/+50
|
* Wording tweak to clarify that perlbug submits the patch for you via emailDave Rolsky2011-09-151-2/+2
|
* Run podtidy on perlhack.podDave Rolsky2011-09-151-20/+22
|