summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* [perl #27010] Make tie work through defelemsFather Chrysostomos2013-07-166-7/+61
| | | | | | | | | When elements of @_ refer to nonexistent hash or array elements, then the magic scalar in $_[0] delegates all set/get actions to the element in represents, vivifying it if needed. tie/tied/untie, however, were not delegating to the element, but were tying the the magical ‘deferred element’ scalar itself.
* embed.fnc: E does not imply XFather Chrysostomos2013-07-151-2/+2
| | | | I thought it did.
* Convert lib/FileHandle.t to use of Test::More; provide descriptions.James E Keenan2013-07-161-56/+59
| | | | | | | | | | | | | | | | | Previously, file used hand-coded 'print "ok"' statements and no tests had descriptions (a.k.a. labels or names). Convert to use of Test::More functions and provide descriptions for all individual tests. Previously, file used global variables extensively and did not 'use strict' (except 'use strict subs'). The globals have been converted to lexicals where appropriate and the file now runs fully under strictures. Other than that, no attempt was made to improve the design of the file or the quality of the tests. (That can be done in a later RT, if desired.) Thanks to Peter Martini for guidance, Dagfinn Ilmari Mannsåker for guidance and code review on list and Tony Cook for additional review. For: RT #118883
* perldelta for #77814Father Chrysostomos2013-07-151-0/+5
|
* [perl #77814] Make defelems propagate posFather Chrysostomos2013-07-1510-65/+95
| | | | | | | | | When elements of @_ refer to nonexistent hash or array elements, then the magic scalar in $_[0] delegates all set/get actions to the element in represents, vivifying it if needed. pos($_[0]), however, was not delegating the value to the element, but storing it on the magical ‘deferred element’ scalar.
* perldelta for vstrings and set-magicFather Chrysostomos2013-07-151-0/+6
|
* Make set-magic handle vstrings properlyFather Chrysostomos2013-07-156-9/+23
| | | | | | | | | | | | | | | | | | | | | Assigning a vstring to a tied variable would result in a plain string in $_[1] in STORE. Assigning a vstring to a magic deferred element would result in a plain string in the aggregate’s actual element. When magic is invoked, the magic flags are temporarily turned off on the sv so that recursive calls to magic don’t happen. This makes it easier to implement functions like Perl_magic_set to read the value of the sv without triggering get-magic. Since vstrings are only considered vstrings when they are SvRMAGICAL, this meant that set-magic would turn vstrings temporarily into plain strings. Subsequent copying (e.g., in STORE) would then fail to copy the vstring magic. This commit changes mg_set to leave the rmagical flag on, since it does not affect the functionaiity of set-magic.
* t/op/array.t: remove ‘no warnings "deprecated"’Father Chrysostomos2013-07-151-5/+0
| | | | The tests using the deprecated feature were removed in e1dccc0d34.
* [perl #117223] Remove IO::File example from perlfuncEd Avis2013-07-162-38/+28
| | | | | updated to apply to blead, minor spelling and word wrap fixes by Tony Cook.
* ParseXS: generate deterministically ordered outputKarl Williamson2013-07-151-2/+4
| | | | | | The generated XS file output was varying between builds because of hash randomisation. This sorts the output to make it the same for the same inputs. This facilitates eyeballing diffs of two workspaces.
* ExtUtils::Embed::canon needs to *globally* substitute / for $asNicholas Clark2013-07-152-1/+7
| | | | | | Otherwise the results are buggy for package names with two or more separators. This bug broke a -Uusedl build, once ExtUtils::Embed was refactored to use the existing but always-buggy functionality.
* Threading 5.005 style is no longer supportedH.Merijn Brand2013-07-151-17/+7
| | | | Modernize the explain message
* perlexperiment: Sun Studio on Linux: not experimentalRicardo Signes2013-07-141-4/+0
| | | | see <20130708133005.GA8284@cancer.codesimply.com>
* perlexperiment: the M flag is not a useful thing to point outRicardo Signes2013-07-141-4/+0
| | | | see <20130708142509.GA8504@cancer.codesimply.com>
* Fix file_name_is_absolute on VMS for device without a directory.Craig A. Berry2013-07-142-2/+6
| | | | | | | | | | | | To be considered absolute, we had been requiring a file spec to have a bracketed directory spec after the colon. This meant that very common and idiomatic expressions such as sys$login:login.com or sys$manager:operator.log were not considered absolute. Which is wrong. So we now consider a file spec starting with a valid device name (which would also be a valid logical name) followed by an unescaped colon to be absolute.
* Sync the Storable version in Maintainers.pl with CPAN versionChris 'BinGOs' Williams2013-07-141-1/+1
|
* mention that caller() does not show XSUBsDaniel Dragan2013-07-131-3/+5
| | | | | | | | Part of Perl #113438. Someone may write a pure perl sub, or callback from an XSUB to PP to use caller, to check the package of the sub that called the current sub and have different behaviour based on the caller sub's package. Also using a perl debugger will not show XSUB frames in the call stack. Therefore document this limitation of caller.
* perldelta: appease podcheck; tweak formattingFather Chrysostomos2013-07-131-4/+5
|
* perldelta for #118839/bf2614180a65Father Chrysostomos2013-07-131-0/+5
|
* perldelta for #118567/50278ed0fFather Chrysostomos2013-07-131-1/+5
|
* perldelta for #89648/b23eb1831Father Chrysostomos2013-07-131-0/+10
|
* perldelta for #118627/4e917a04b78Father Chrysostomos2013-07-131-0/+6
|
* perldelta for f791a21a2018Father Chrysostomos2013-07-131-1/+2
|
* perldiag: rewrap an entry for better splain outputFather Chrysostomos2013-07-131-4/+4
|
* perldelta for b54d603d2 (consistent proto warnings)Father Chrysostomos2013-07-131-0/+7
|
* perldelta for a77c16f7c (*foo->bar)Father Chrysostomos2013-07-131-0/+10
|
* perldelta for #113932 (UNIVERSAL::can)Father Chrysostomos2013-07-131-0/+7
|
* perldelta for #117917/f5df269c5cFather Chrysostomos2013-07-131-0/+7
|
* perldelta for fdf416b69a0 (utf8 cloned protos)Father Chrysostomos2013-07-131-0/+6
|
* perldelta for 9700e2d38 (ambiguity warnings)Father Chrysostomos2013-07-131-0/+7
|
* perldelta for e9d9e6f34 (list cx for sort args)Father Chrysostomos2013-07-131-0/+6
|
* perldelta for f65493df1c (lv sort args)Father Chrysostomos2013-07-131-0/+7
|
* perldelta for 20d5dc239 (fatal in-place sort)Father Chrysostomos2013-07-131-0/+7
|
* perldelta for bdbfc51a7b (undef constant my sub)Father Chrysostomos2013-07-131-0/+5
|
* perldelta for 5e5128ba (@INC and scalarref docs)Father Chrysostomos2013-07-131-0/+12
|
* perldelta for ee3818ca2c5e (Can’t coerce readonly REF)Father Chrysostomos2013-07-131-1/+3
|
* perldelta for c72a4eedf (sv_force_normal at compile time)Father Chrysostomos2013-07-131-0/+7
|
* perldelta for 9657ccb4f (@INC sub returning scalar ref)Father Chrysostomos2013-07-131-0/+7
|
* perldelta: typos; consistency tweaksFather Chrysostomos2013-07-131-2/+2
|
* perldelta for 310f4fdb24 (more index constant mangling)Father Chrysostomos2013-07-131-1/+7
|
* perldelta for 948d23704 (index constant mangling)Father Chrysostomos2013-07-131-0/+5
|
* perldelta for 60041a0991 (split constant mangling)Father Chrysostomos2013-07-131-0/+5
|
* perldelta for proto parsing changesFather Chrysostomos2013-07-131-1/+14
|
* perldelta for 8922e438 (BmRARE/PREVIOUS removal)Father Chrysostomos2013-07-131-0/+5
|
* perldelta for #118305/88dbe4aFather Chrysostomos2013-07-131-0/+5
|
* Wrap a long verbatim line in perlvar.podFather Chrysostomos2013-07-131-1/+2
|
* [perl #118839] Make ‘n’ debugger cmd respect lv subsFather Chrysostomos2013-07-134-5/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.pl: Remove obsolete commentFather Chrysostomos2013-07-131-3/+0
| | | | The regexp engine is now fully reëntrant.
* todo.pod: Don’t mention ‘make test.taintwarn’Father Chrysostomos2013-07-131-2/+3
|
* todo.pod: Class set regexp operations are doneFather Chrysostomos2013-07-131-7/+0
| | | | but they are still experimental.