lp:perl5

Created by Registry Administrators on 2010-05-01 and last modified on 2015-03-31
Get this branch:
bzr branch lp:perl5

Related bugs

Related blueprints

Branch information

Owner:
Registry Administrators
Project:
perl5
Status:
Development

Import details

Import Status: Reviewed

This branch is an import of the HEAD branch of the Git repository at git://perl5.git.perl.org/perl.git.

The next import is scheduled to run in 4 hours.

Last successful import was 1 hour ago.

Import started 1 hour ago on pear and finished 1 hour ago taking 50 seconds — see the log
Import started 7 hours ago on pear and finished 7 hours ago taking 50 seconds — see the log
Import started 13 hours ago on pear and finished 13 hours ago taking 1 minute — see the log
Import started 19 hours ago on russkaya and finished 19 hours ago taking 1 minute — see the log
Import started on 2015-04-01 on pear and finished on 2015-04-01 taking 1 minute — see the log
Import started on 2015-03-31 on pear and finished on 2015-03-31 taking 1 minute — see the log
Import started on 2015-03-31 on pear and finished on 2015-03-31 taking 1 minute — see the log
Import started on 2015-03-31 on pear and finished on 2015-03-31 taking 1 minute — see the log
Import started on 2015-03-31 on pear and finished on 2015-03-31 taking 50 seconds — see the log
Import started on 2015-03-30 on pear and finished on 2015-03-30 taking 1 minute — see the log

Recent revisions

49548. By Alex Vandiver <email address hidden> on 2015-03-31

toke.c: UTF-8 aware warning cleanups

49547. By Karl Williamson <email address hidden> on 2015-03-31

pod/perluniintro: Update for EBCDIC and newer Unicode handling

This commit revises this document to account for the new 5.22 EBCDIC
handling. It updates the advice for how to make sure your strings and
regular expression patterns are interpreted as Unicode to prefer \N{}
and charnames(). These automatically are portable to EBCDIC as well as
guaranteeing that the Unicode bug will not bite you.

49546. By Karl Williamson <email address hidden> on 2015-03-31

pod/perluniintro: Nits

49545. By David Mitchell <email address hidden> on 2015-03-30

op.c: avoid direct op_sibling access

Since the introduction of OpSIBLING(), op_sibling_splice() etc, a few
places in op.c have started directly accessing/manipulating op_sibling
again. Use the higher-level macros/functions instead.

49544. By David Mitchell <email address hidden> on 2015-03-30

Perl_save_re_context(): re-indent after last commit

whitespace-only change.

49543. By David Mitchell <email address hidden> on 2015-03-30

save_re_context(): do "local $n" with no PL_curpm

RT #124109.

2c1f00b9036 localised PL_curpm to NULL when calling swash init code
(i.e. perl-level code that is loaded and executed when something
like "lc $large_codepoint" is executed).

b4fa55d3f1 followed this up by gutting Perl_save_re_context(), since
that function did, basically,

    if (PL_curpm) {
        for (i = 1; i <= RX_NPARENS(PM_GETRE(PL_curpm))) {
            do the C equivalent of the perl code "local ${i}";
        }
    }

and now that PL_curpm was null, the code wasn't called any more. However,
it turns out that the localisation *was* still needed, it's just that
nothing in the test suite actually tested for it.

In something like the following:

    $x = "\x{41c}";
    $x =~ /(.*)/;
    $s = lc $1;

pp_lc() calls get magic on $1, which sets $1's PV value to a copy of the
substring captured by the current pattern match.
Then pp_lc() calls a function to convert the string to upper case, which
triggers a swash load, which calls perl code that does a pattern match
and, most importantly, uses the value of $1. This triggers get magic on
$1, which overwrites $1's PV value with a new value. When control returns
to pp_lc(), $1 now holds the wrong string value.

Hence $1, $2 etc need localising as well as PL_curpm.

The old way that Perl_save_re_context() used to work (localising
$1..${RX_NPARENS}) won't work directly when PL_curpm is NULL (as in the
swash case), since we don't know how many vars to localise.

In this case, hard-code it as localising $1,$2,$3 and add a porting
test file that checks that the utf8.pm code and dependences don't
use anything outside those 3 vars.

49542. By David Mitchell <email address hidden> on 2015-03-30

Revert "Gut Perl_save_re_context"

This reverts commit b4fa55d3f12c6d98b13a8b3db4f8d921c8e56edc.

Turns out we need Perl_save_re_context() after all

49541. By David Mitchell <email address hidden> on 2015-03-30

Revert "Don’t call save_re_context"

This reverts commit d28a9254e445aee7212523d9a7ff62ae0a743fec.

Turns out we need save_re_context() after all

49540. By David Mitchell <email address hidden> on 2015-03-30

Revert "Mathomise save_re_context"

This reverts commit 0ddd4a5b1910c8bfa9b7e55eb0db60a115fe368c.

Turns out we need the save_re_context() function after all.

49539. By James E Keenan <email address hidden> on 2015-03-30

Remove 'use lib' left over from refactoring -- five years ago!

Per report by kentnl++ in RT #124151.

Increment $VERSION across dist/ExtUtils-ParseXS/lib. Add perldelta entry.

Branch metadata

Branch format:
Branch format 7
Repository format:
Bazaar repository format 2a (needs bzr 1.16 or later)
This branch contains Public information 
Everyone can see this information.

Subscribers

No subscribers.