22 months agofix perlhist entry for 5.16.0 v5.17.0
Zefram [Sat, 26 May 2012 14:06:57 +0000]
fix perlhist entry for 5.16.0

22 months agoadd new release to perlhist
Zefram [Sat, 26 May 2012 14:05:01 +0000]
add new release to perlhist

22 months agoupdate Module::CoreList for 5.17.0
Zefram [Sat, 26 May 2012 14:03:04 +0000]
update Module::CoreList for 5.17.0

22 months agonote Module::CoreList issue with .0 versions
Zefram [Sat, 26 May 2012 14:01:51 +0000]
note Module::CoreList issue with .0 versions

22 months agohandle hash form of bugtracker resource data
Zefram [Sat, 26 May 2012 13:55:38 +0000]
handle hash form of bugtracker resource data

The format changed with version 2 of the META spec.

22 months agohandle JSON meta files on CPAN
Zefram [Sat, 26 May 2012 13:52:08 +0000]
handle JSON meta files on CPAN

22 months agofinalise perldelta
Zefram [Sat, 26 May 2012 12:40:28 +0000]
finalise perldelta

22 months agocorrect pluralisation for "1 week"
Zefram [Sat, 26 May 2012 12:34:20 +0000]
correct pluralisation for "1 week"

22 months agoTest case for [perl #9391]
Brian Fraser [Sat, 26 May 2012 00:46:19 +0000]
Test case for [perl #9391]

22 months ago__DECCXX usually should do what __DECC does.
Craig A. Berry [Fri, 25 May 2012 22:56:55 +0000]
__DECCXX usually should do what __DECC does.

Unless __DECC was meant as the opposite of VAX C, which is not
C89-compliant and cannot build Perl.

22 months agoFix varying string struct for VMS's home-grown glob.
Craig A. Berry [Fri, 25 May 2012 22:16:20 +0000]
Fix varying string struct for VMS's home-grown glob.

We were only using 4K, not 64K, and we were requesting longword
alignment but not providing a struct size that was a multiple of 4.

22 months agoremove deprecated qw-as-parens behaviour
Zefram [Fri, 25 May 2012 21:25:21 +0000]
remove deprecated qw-as-parens behaviour

22 months agoBlock signals during fork (fixes RT#82580)
Leon Timmermans [Tue, 22 May 2012 14:58:26 +0000]
Block signals during fork (fixes RT#82580)

22 months agofix comparative Perl version numbers
Zefram [Fri, 25 May 2012 20:19:20 +0000]
fix comparative Perl version numbers

22 months agoperldelta updates
Zefram [Fri, 25 May 2012 19:07:35 +0000]
perldelta updates

22 months agoperldelta updates
Zefram [Fri, 25 May 2012 17:56:45 +0000]
perldelta updates

22 months agoAccumulate access warnings in stat.t.
Craig A. Berry [Fri, 25 May 2012 16:29:05 +0000]
Accumulate access warnings in stat.t.

On VMS, there is an additional warning that causes the warning of
interest to be lost and the test to fail.  So append each warning
as we see it and then we'll find the access warning we're testing
for as long as it's in there somewhere.

22 months agoperldelta updates
Zefram [Fri, 25 May 2012 16:24:12 +0000]
perldelta updates

22 months agocorrect schedule for 5.17.0 release
Zefram [Fri, 25 May 2012 16:23:48 +0000]
correct schedule for 5.17.0 release

22 months agoperldelta updates
Father Chrysostomos [Fri, 25 May 2012 16:12:30 +0000]
perldelta updates

22 months agoFix for [perl #8931], call magic only once for join's first arg.
Brian Fraser [Fri, 25 May 2012 05:44:20 +0000]
Fix for [perl #8931], call magic only once for join's first arg.

22 months agoDeprecate literal unescaped "{" in regexes.
Karl Williamson [Fri, 25 May 2012 03:23:49 +0000]
Deprecate literal unescaped "{" in regexes.

We are deprecating literal left braces in regular expressions.  The 5.16
delta announced that this is coming.

This commit causes a warning to be raised when a literal "{" is
encountered.  However, it does not do this if the left brace is at the
beginning of a construct.  Such a brace does not cause problems for us
for our future use of it for other purposes, as, for example in things
like \b{w}, and there were a large number of core tests that failed
without this condition.

I didn't mention this exception in the diagnostic.  We may choose to
forbid it everywhere, and we certainly want to discourage its use
everywhere.  But this commit gets the essential components in early in
5.17, and we can tighten it up later if we decide to.

22 months agoutf8.pm: pod: grammar, clarify
Karl Williamson [Thu, 24 May 2012 17:49:31 +0000]
utf8.pm: pod: grammar, clarify

22 months agoFix a cast in vms/vms.c.
Craig A. Berry [Fri, 25 May 2012 02:47:45 +0000]
Fix a cast in vms/vms.c.

This is a follow-up to c11536f52.  Oddly. C++ was ok without the
"struct" but C wasn't.

22 months agoadd Version::Requirements as a known linkable-to lib
Ricardo Signes [Fri, 25 May 2012 02:42:53 +0000]
add Version::Requirements as a known linkable-to lib

Otherwise, podcheck.t dies when we mention V::R in our perldelta!

22 months agoperldelta: Version::Requirements has been removed
Ricardo Signes [Fri, 25 May 2012 02:34:25 +0000]
perldelta: Version::Requirements has been removed

22 months agoRevert "t/porting/checkcase.t should skip directories"
Ricardo Signes [Fri, 25 May 2012 02:17:32 +0000]
Revert "t/porting/checkcase.t should skip directories"

This reverts commit f86fc3ff06fb5e5bae2719b5601eb7a094fe014b.

David and I had discussed this commit, along with some others on IRC,
and we felt the test was wrong and the commit was good.  Unfortunately,
problems were reported only later, after Version-Requirements had
entered the core, so undoing the test would have required an
exception be made for lib/Version and lib/version conflicting.

Now that Version-Requirements has left the core, this test can be
restored.

22 months agoremove Version-Requirements from core!
Ricardo Signes [Fri, 25 May 2012 02:06:45 +0000]
remove Version-Requirements from core!

It has been replaced by CPAN::Meta::Requirements, which is just the
same code, renamed.

It was renamed (and now removed) to avoid conflicts on case-sensitive
filesystems between version::Internals and Version::Requirements.

22 months agoMake configure.com ready for C++.
Craig A. Berry [Fri, 25 May 2012 00:01:16 +0000]
Make configure.com ready for C++.

Building on Peter Prymmer's work from some years ago, this gets
the configuration process on VMS up to speed on the native C++
compiler.  Quite a bit of it involves tweaking the configuration
probes to work under C++, plus a variety of other nits.

TODO:  This should probably be made to work as -Dcc=cxx rather
than -Dusecxx as it does now, but it's still pretty experimental.

22 months agoVMS C++ strerror prototype differences in perl.h.
Craig A. Berry [Thu, 24 May 2012 22:47:39 +0000]
VMS C++ strerror prototype differences in perl.h.

The funny extra arguments to strerror are only there on VMS
when compiling with C, not C++.

On VMS, DONT_DECLARE_STD is synonymous with defined(__cplusplus).

22 months agoFile scope for VMS-specific #includes.
Craig A. Berry [Thu, 24 May 2012 22:13:13 +0000]
File scope for VMS-specific #includes.

C++ requires #include directives to be at file scope, but we've
been lazy and haven't been doing that.

22 months agoC++ification for vms/vmsish.h.
Craig A. Berry [Thu, 24 May 2012 21:58:22 +0000]
C++ification for vms/vmsish.h.

Its prototypes need extern "C" and the compiler messages that
cause trouble with DEC/Compaq/HP C++ are different from the ones
that cause trouble with C.

22 months agoFix up vms/vms.c for C++.
Craig A. Berry [Thu, 24 May 2012 21:54:28 +0000]
Fix up vms/vms.c for C++.

Almost all of this consists of casting the return values from
PerlMem_malloc, which inexpicably we weren't doing.

There are also some prototypes that have to be at file scope and
declare with extern "C".

And there was some embarrassing dead code in Perl_my_localtime
that the C++ compiler spotted.

22 months agoUse the (START|END)_EXTERN_C macros.
Craig A. Berry [Thu, 24 May 2012 18:35:34 +0000]
Use the (START|END)_EXTERN_C macros.

We seem to use them everywhere else in core.

22 months agohandy.h: Fix definition of isOCTAL_A()
Karl Williamson [Thu, 24 May 2012 17:18:03 +0000]
handy.h: Fix definition of isOCTAL_A()

Commit  c2da0b36ccf7393a329af732fac4153ddf6ab42e changed this macro, and
created a syntax error.  But it turns out that there were no current
calls to it in the Perl core.  When I tried adding one, it showed the
failure.

22 months agoThe reentrant API should always have prototypes.
Craig A. Berry [Sun, 6 May 2012 20:09:07 +0000]
The reentrant API should always have prototypes.

reentr.c always defines and exports its functions even when
USE_REENTRANT_API is not defined (though they'll be empty functions
in that case).  In general we shouldn't be exporting functions
without providing prototypes for them, but specifically, when
compiling with C++, the prototype-less functions get their names
mangled.  So the purpose of defining the functions when we aren't
using them (to have a consistent API) is defeated because no one
looking for those functions under their proper names would be able
to find them.

So this makes us stop hiding the prototypes when USE_REENTRANT_API
is not defined.

22 months agoUnmangle mathoms under C++.
Craig A. Berry [Sun, 6 May 2012 13:50:43 +0000]
Unmangle mathoms under C++.

In order to actually provide binary compatibility, we have to
serve up these functions under the names they were known by
before making their way into mathoms.c.  We've always done that
under C, but not C++.

22 months ago[perl #112786] Fix build under clang++
Craig A. Berry [Thu, 24 May 2012 07:54:57 +0000]
[perl #112786] Fix build under clang++

A line of code in sv.c last modified at
<http://perl5.git.perl.org/perl.git/commit/c6fb3f6e3e5160581b7?f=sv.c>
causes clang++ to fall down hard when building blead:

sv.c:13969:32: error: unexpected ':' in nested name specifier
        CV * const cv = gv ? (CV *)gv : find_runcv(NULL);
                                      ^
                                      ::
sv.c:13969:34: error: no member named 'Perl_find_runcv' in 'gv'
        CV * const cv = gv ? (CV *)gv : find_runcv(NULL);
                                   ~~~~ ^
./embed.h:137:24: note: expanded from macro 'find_runcv'
#define find_runcv(a)           Perl_find_runcv(aTHX_ a)
                                ^
sv.c:13969:50: error: expected ':'
        CV * const cv = gv ? (CV *)gv : find_runcv(NULL);
                                                        ^
                                                        :
sv.c:13969:21: note: to match this '?'
        CV * const cv = gv ? (CV *)gv : find_runcv(NULL);
                           ^
sv.c:13969:50: error: expected expression
        CV * const cv = gv ? (CV *)gv : find_runcv(NULL);
                                                        ^
14 warnings and 4 errors generated.
make: *** [sv.o] Error 1

clang++ seems to need only an extra set of parentheses to calm down
and let go of its anxieties.

[Committer’s note: Leon Timmermans points out that it's struct gv
that's confusing clang++.  So a struct name used as a variable cannot
be followed by a colon.]

22 months agoAdd perldelta for Unicode CCC132 fix
Karl Williamson [Thu, 24 May 2012 02:30:17 +0000]
Add perldelta for Unicode CCC132 fix

22 months agoAdd another address for Ronald Kimball to checkAUTHORS.pl
Father Chrysostomos [Thu, 24 May 2012 01:19:56 +0000]
Add another address for Ronald Kimball to checkAUTHORS.pl

22 months ago[perl #112604] perlre man page contains suspect example of recursion
Ronald J Kimball [Thu, 24 May 2012 01:17:16 +0000]
[perl #112604] perlre man page contains suspect example of recursion

Jim Avera wrote:
> This seems incorrect because the \s++ eats all white space without
> backtracking, preventing the following \s+ from matching.
> Thus the pattern always fails for any input.

It should be \s+ \+ \s+

22 months ago[perl #112522] Mildly incorrect wording in "perldoc perlre"
Aristotle Pagaltzis [Thu, 24 May 2012 01:12:43 +0000]
[perl #112522] Mildly incorrect wording in "perldoc perlre"

22 months ago[perl #60204] Unhelpful error message from unpack
Marcus Holland-Moritz [Wed, 23 May 2012 21:50:31 +0000]
[perl #60204] Unhelpful error message from unpack

Nigel Sandever said:
> The error message produced by the following snippets is very unhelpful:
>
> c:\>perl -wle"print unpack 'v/a*', qq[a]"
> '/' must follow a numeric type in unpack at -e line 1.
>
> c:\>perl -wle"print unpack 'v/a*', ''"
> '/' must follow a numeric type in unpack at -e line 1.
>
> c:\>perl -wle"print unpack 'v/a*', ' '"
> '/' must follow a numeric type in unpack at -e line 1.

The "problem" is that the data string is too short. But
unpack doesn't generate a warning (or croak) in this case
for simple patterns:

mhx@r2d2 $ perl -MData::Dumper -we'print Dumper([unpack "n", "a"])'
$VAR1 = [];

So, I'd say your code should just behave in exactly the
same way. No warning, no return values.

22 months agoCorrect perldelta entry for fallback entry
Father Chrysostomos [Wed, 23 May 2012 20:42:09 +0000]
Correct perldelta entry for fallback entry

22 months agoperldelta for PL_amagic_generation removal
Father Chrysostomos [Wed, 23 May 2012 20:17:17 +0000]
perldelta for PL_amagic_generation removal

22 months agomktables: Handle typo in Unicode 6.1 data file
Karl Williamson [Wed, 23 May 2012 23:14:36 +0000]
mktables: Handle typo in Unicode 6.1 data file

Unicode has published a correction to their data files for version 6.1.
This patch applies that correction.

22 months agoRevert "Fix mktables bug due to the previous overload fix"
Karl Williamson [Wed, 23 May 2012 23:01:11 +0000]
Revert "Fix mktables bug due to the previous overload fix"

mktables had unknowingly been relying on a bug in the overloading code.
That bug was fixed by commit f041cf0f9c6469c41de8b73d5f7b426710c3ff8b.
Commit 5f9f83be9cdcd54449f7f40db078fe367d780475 is a minimal commit to
get mktables to pass its tests as a result of the fixed bug.  However,
it did not address the underlying problem, which doesn't show up in the
typical tests, but does occur when tracing is added or things go wrong
and mktables tries to output any of a number of messages, which fail
because there is no ".=" operator.  A previous commit added the proper
overloaded ".=", and so this one is no longer needed, and would be
confusing to someone who doesn't know the history.

22 months agomktables: Add sanity check
Karl Williamson [Thu, 19 Apr 2012 18:25:08 +0000]
mktables: Add sanity check

Since mktables works only on Unicode code points so far, a range outside
that space is probably erroneous.  Raise a warning

22 months agomktables: Add overloaded .=
Karl Williamson [Mon, 16 Apr 2012 17:32:43 +0000]
mktables: Add overloaded .=

This was automatically getting generated due to a bug in perl which
ignored fallback=>0, but that has been fixed by commit
f041cf0f9c6469c41de8b73d5f7b426710c3ff8b, so we have to have our own
operator.

22 months agomktables: Add error check
Karl Williamson [Mon, 16 Apr 2012 17:31:50 +0000]
mktables: Add error check

+= is not a commutative operator, and so the overloaded version should
not accept the parameters being swapped.

22 months agomktables: Add overloaded '+='
Karl Williamson [Mon, 16 Apr 2012 17:28:20 +0000]
mktables: Add overloaded '+='

This was automatically generated before, in spite of fallback => 0, but
that has now been fixed by commit
f041cf0f9c6469c41de8b73d5f7b426710c3ff8b.  However, that change caused
another overloaded += to be used with the parameters swapped, resulting
in the table generated for Gc=Cs (the surrogates) to be wrong.  This
creates the proper overload.

22 months agopodcheck.t: Try harder to avoid transitory failure
Karl Williamson [Tue, 27 Mar 2012 04:20:59 +0000]
podcheck.t: Try harder to avoid transitory failure

It may be that a file that looks like a pod is transitory.  podcheck.t
catches and handles some of these, but there are cases where it doesn't
catch these.  This commit adds code to try harder to detect such
instances and recover properly.

I know of two instances in the months since this code has been in
service where this has happened, so it's not a common occurrence, and
re-running it makes the failure go away.  Still, if it can be easily
avoided, do so.

22 months agopodcheck.t: Add label to 'next' stmts for clarity
Karl Williamson [Tue, 27 Mar 2012 04:18:01 +0000]
podcheck.t: Add label to 'next' stmts for clarity

22 months agoMerge branch 'rgs/overload' into blead
Rafael Garcia-Suarez [Wed, 23 May 2012 13:53:31 +0000]
Merge branch 'rgs/overload' into blead

22 months ago[perl #113050] Put fallback back under "()"
Father Chrysostomos [Wed, 23 May 2012 08:05:20 +0000]
[perl #113050] Put fallback back under "()"

Unfortunately, there is code all over CPAN that assumes fallback is
stored under the "()" stash entry.  And that code also assumes that
the overloadedness flag (the existence of the CV) is in the same spot.
So much for encapsulation.

This commit changes overloading itself to use a different key, "((",
while having it search for "()" first, and then "((" only if "()" is
not found, to preserve compatibility with encapsulation-breaking code.

So the "((" key will only be used by gv.c if there is no fallback
value specified at all.

22 months agoIncrease $ExtUtils::ParseXS::Utilities::VERSION to 3.17
Father Chrysostomos [Wed, 23 May 2012 06:54:39 +0000]
Increase $ExtUtils::ParseXS::Utilities::VERSION to 3.17

22 months agoIncrease $ExtUtils::ParseXS::VERSION to 3.17
Father Chrysostomos [Wed, 23 May 2012 05:46:27 +0000]
Increase $ExtUtils::ParseXS::VERSION to 3.17

22 months agoParseXS.pm: Only inc PL_amagic_generation before 5.9
Father Chrysostomos [Wed, 23 May 2012 05:46:05 +0000]
ParseXS.pm: Only inc PL_amagic_generation before 5.9

Originally, overload would not oven be checked for if
amagic_generation was 0, so it was necessary to do
PL_amagic_generation++, in case this was the first class to have over-
loading.  Ever since perl-5.8.0-87-g439cb1c, PL_amagic_generation++
has been unnecessary, since the boot code for version objects incre-
ments it.  Furthermore, newXS was already doing PL_sub_generation++
before that, and now does mro_method_changed_in.  The code for check-
ing the staleness of the overload tables has always checked
sub_generation (and, later, the stash-specific generation numbers).

22 months agoExcise PL_amagic_generation
Father Chrysostomos [Wed, 23 May 2012 05:22:32 +0000]
Excise PL_amagic_generation

The core is not using it any more.  Every CPAN module that increments
it also does newXS, which triggers mro_method_changed_in, which is
sufficient; so nothing will break.

So, to keep those modules compiling, PL_amagic_generation is now an
alias to PL_na outside the core.

22 months agoop.c: One less func call for newXS
Father Chrysostomos [Wed, 23 May 2012 03:46:52 +0000]
op.c: One less func call for newXS

newXS calls newXS_flags, which calls newXS_len_flags.  This commit
makes newXS call the underlying function directly.

22 months agoperlfunc: long lines
Father Chrysostomos [Wed, 23 May 2012 03:41:12 +0000]
perlfunc: long lines

22 months agoAdd Igor Zaytsev to AUTHORS
Father Chrysostomos [Wed, 23 May 2012 03:10:47 +0000]
Add Igor Zaytsev to AUTHORS

22 months ago[perl #111918] Fix thawing seen objects in STORABLE_attach hook
Igor Zaytsev [Wed, 23 May 2012 01:02:02 +0000]
[perl #111918] Fix thawing seen objects in STORABLE_attach hook

Before any thaw hook is called Storable creates a new blessed object that
is stored in a seen cache and then is provided to the hook. That is fine
for STORABLE_thaw which fills in this object and returns it. STORABLE_attach
on the other hand can create entirely new object by itself, so one
memoized before should be thrown out to be replaced by that new object.

22 months agoMake CV * typemap entry support overloading
Steffen Mueller [Tue, 22 May 2012 21:04:06 +0000]
Make CV * typemap entry support overloading

See RT #96872.

22 months agoPurported equivalency isn't.
Eric Brine [Tue, 22 May 2012 19:29:48 +0000]
Purported equivalency isn't.

22 months agoreplace B::COP::stashflags by B::COP::stashlen
Reini Urban [Tue, 22 May 2012 15:57:03 +0000]
replace B::COP::stashflags by B::COP::stashlen

6379d4a9a (between 5.15.9 and 5.16.0) broke B::COP::stashflags which was added
in 5.15.4.

22 months agoFix mktables bug due to the previous overload fix
Rafael Garcia-Suarez [Tue, 22 May 2012 15:23:20 +0000]
Fix mktables bug due to the previous overload fix

Due to the previous patch, perl can't generate the operator for .= in
package Property anymore (because fallback is '0' in that package), so
we need to work around that; this patch implements the least intrusive
workaround possible.

22 months agorefactor macro to avoid compiler warning in regcomp.c
Robin Barker (via RT) [Thu, 1 Mar 2012 15:20:33 +0000]
refactor macro to avoid compiler warning in regcomp.c

The compiler warning in regcomp.c (as noted in recent comment)
can be avoided by refactoring DO_POSIX_LATIN1_ONLY_KNOWN
to separate the case where sourcelist==l1_sourcelist

The committer changed the name of the new macro so he could understand
it better, and added a couple comments

22 months agoperlebcdic: make verbatim line fit in 79 cols
Karl Williamson [Mon, 21 May 2012 03:45:15 +0000]
perlebcdic: make verbatim line fit in 79 cols

22 months agoregen/mk_invlists.pl: Fail if inversion list not found
Karl Williamson [Sun, 20 May 2012 22:22:44 +0000]
regen/mk_invlists.pl: Fail if inversion list not found

This is instead of silently returning nothing.

22 months agoperlebcdic: Narrow table to fit in 79 columns
Karl Williamson [Sun, 20 May 2012 21:52:13 +0000]
perlebcdic: Narrow table to fit in 79 columns

This uses the abbreviations for control characters available officially
in Unicode 6.1, instead of the much longer names, thus enabling this
table to be narrowed.  With some space changes, it will fit in 79
columns.  The differences look large, but most go away under 'diff -b'.

The recipes are changed to correspond.

22 months agoperlebcdic: Add a few commas for clarity
Karl Williamson [Sun, 20 May 2012 21:50:25 +0000]
perlebcdic: Add a few commas for clarity

22 months agoperlebcdic: remove trailing white space
Karl Williamson [Sun, 20 May 2012 21:47:32 +0000]
perlebcdic: remove trailing white space

22 months agoregcomp.c: #define shorter synonym
Karl Williamson [Sun, 20 May 2012 14:55:08 +0000]
regcomp.c: #define shorter synonym

The longer name is used to discourage XS writers from using this public
defined value, but is unwieldy.  It is clearer to create a shorter
synonym for it.

22 months agohandy.h: New defn of isOCTAL_A() to free up bit
Karl Williamson [Sun, 20 May 2012 13:55:51 +0000]
handy.h: New defn of isOCTAL_A() to free up bit

The new definition is likely slightly faster, as it replaces an array
lookup with a mask.

Comments are also added, listing the other possible candidates for this
treatment, though the speed differential is unclear as they would also
add an extra test.

A U32 is used to store the information about the various properties for
a character.  This frees up one bit of that for future other use.

22 months agoutf8.c: Add nomix-ASCII option to to_fold functions
Karl Williamson [Sun, 6 May 2012 15:28:01 +0000]
utf8.c: Add nomix-ASCII option to to_fold functions

Under /iaa regex matching, folds that cross the ASCII/non-ASCII
boundary are prohibited.  This changes _to_uni_fold_flags() and
_to_utf8_fold_flags() functions to take a new flag which, when set,
tells them to not accept such folds.

This allows us to later move the intelligence for handling this
situation to these centralized functions.

22 months agoutf8.c: Add assertion
Karl Williamson [Sun, 6 May 2012 15:12:19 +0000]
utf8.c: Add assertion

22 months agoregexec.c: Use foldcase instead of lower/upper
Karl Williamson [Sun, 29 Apr 2012 15:33:19 +0000]
regexec.c: Use foldcase instead of lower/upper

The way Perl deals with folds of ASCII-range characters, is to have an
array that maps to the opposite case character.  For example, fold[a] is
A, and fold[A] is a.  To see if a character matches a pattern character
case-insensitively, you compare it against the pattern character itself,
and if that fails, against the fold[pattern character].

Unfortunately that breaks down outside of ASCII, where the folds are not
necessarily one-to-one.  This code is a vestige of that original
paradim, and I'm converting it to use the more modern.  The apparent
reason it doesn't fail in fold_grind.t is that it is for CURLY nodes,
and CURLY is not currently set on EXACTish nodes unless the node
contains a single UTF-8 invariant character.   Effectively, that means
a character in the ASCII range.

I think parts of this could be simplified further, but I don't
understand the whole context of this code to undertake that.

22 months agoutf8.c: Re-order if branches for speed
Karl Williamson [Sun, 29 Apr 2012 15:26:36 +0000]
utf8.c: Re-order if branches for speed

Probably the C optimizer does this anyway, but do the uncomplicated test
before the (mutually exclusive) complicated test (though the
complications are hidden in a macro).  The new first test is a
pre-requisite for the new 2nd test anyway.

22 months agoregcomp.c: Wrap long comment to 80 columns
Karl Williamson [Sun, 29 Apr 2012 15:26:06 +0000]
regcomp.c: Wrap long comment to 80 columns

22 months agopp_pack.c: Use macro instead of its expansion
Karl Williamson [Sun, 29 Apr 2012 01:49:06 +0000]
pp_pack.c: Use macro instead of its expansion

There is a macro that means this code; use it.

22 months agoregexec.c: Don't allow malformations under EBCDIC
Karl Williamson [Sun, 29 Apr 2012 01:36:53 +0000]
regexec.c: Don't allow malformations under EBCDIC

Previously, only under EBCDIC, malformed input was allowed here if
warnings are off.  This code probably needs to be rewritten, to do
proper folding, but I am not up to that right now.

22 months agoutf8.c: Add comment
Karl Williamson [Sun, 29 Apr 2012 01:29:04 +0000]
utf8.c: Add comment

22 months agoutf8n_to_uvuni(): Add a few compiler hints
Karl Williamson [Sun, 29 Apr 2012 01:25:40 +0000]
utf8n_to_uvuni(): Add a few compiler hints

Tell the compiler that malformed input is not likely, so it can optimize
accordingly.

22 months agopodcheck.t: Allow checking old perldelta
Karl Williamson [Sun, 29 Apr 2012 01:20:24 +0000]
podcheck.t: Allow checking old perldelta

The test was wrong, causing it to croak when an old perldelta file was
passed explicitly to podcheck.

22 months agoutf8.c: Skip extraneous function call
Karl Williamson [Sun, 29 Apr 2012 00:49:52 +0000]
utf8.c: Skip extraneous function call

This eliminates an intermediate function call by calling the base level
one directly.

22 months agoutf8.c: Remove unnecessary validation
Karl Williamson [Sun, 29 Apr 2012 00:48:52 +0000]
utf8.c: Remove unnecessary validation

These two functions are to be called only on strings known to be valid,
so we can skip the validation.

22 months agoutf8.c: Extra branch to avoid others in the typical case
Karl Williamson [Sun, 29 Apr 2012 00:40:40 +0000]
utf8.c: Extra branch to avoid others in the typical case

This test eliminates all code points less than U+D800 from having to be
checked more than once, at the expense of an extra test for code points
that are larger

22 months agoutf8.h, pp.c: Add UTF8_IS_REPLACEMENT macro, and use it
Karl Williamson [Sun, 29 Apr 2012 00:38:24 +0000]
utf8.h, pp.c: Add UTF8_IS_REPLACEMENT macro, and use it

This should speed things up slightly, as it looks directly at the UTF-8
source, instead of having to decode it first.

22 months agoutf8.h: Simplify expressions
Karl Williamson [Sun, 29 Apr 2012 00:30:27 +0000]
utf8.h: Simplify expressions

These expressions, while valid, are overly complicated in order to make
it easy to separate out problematic code points in the future, such as
surrogates.  But we made a decision in 5.12 to not go in that direction,
but to accept such problematic code points in general.  I  haven't
heard any cause to regret that decision; if we ever want to go back, the
blame log will easily allow us to.

22 months agoutf8.h: Comment improvementes, white-space
Karl Williamson [Sun, 29 Apr 2012 00:26:22 +0000]
utf8.h: Comment improvementes, white-space

22 months agoembed.fnc: Change formal param name to match docs
Karl Williamson [Fri, 23 Mar 2012 02:00:26 +0000]
embed.fnc: Change formal param name to match docs

This is purely so that perlapi will be accurate in this regard.

22 months agodoio.c: Add some comments
Karl Williamson [Wed, 21 Mar 2012 14:41:44 +0000]
doio.c: Add some comments

22 months agoperlfunc: Add reference to simple folding docs
Karl Williamson [Wed, 28 Mar 2012 16:53:42 +0000]
perlfunc: Add reference to simple folding docs

22 months agoExperimentally add VT to \s definition
Karl Williamson [Thu, 29 Mar 2012 01:28:04 +0000]
Experimentally add VT to \s definition

This commit is the minimal necessary to get \s to match the vertical
tab.  It is being done early in the 5.17 series in order to see what
repercussions there might be from doing this.

It may well be that we decide that this change will require a 'use
feature' to activate.  In any event there is significant documentation
of the behavior without the VT that this patch does not address at all.

Tom Christiansen asked Larry Wall why \s did not include VT, and
reported that Larry replied that he did not remember, but had no
objections to adding it.

22 months agomk_PL_charclass.pl: Don't use \w, \s
Karl Williamson [Thu, 29 Mar 2012 01:23:19 +0000]
mk_PL_charclass.pl: Don't use \w, \s

Now that these are partially compiled into the Perl core, we have a
chicken and egg problem if one changes.  Instead, use the \p{}
equivalent which doesn't have this problem.

22 months agoSynchronise Module-CoreList in Maintainers.pl with teh CPAN
Chris 'BinGOs' Williams [Tue, 22 May 2012 12:23:38 +0000]
Synchronise Module-CoreList in Maintainers.pl with teh CPAN

22 months agoLookup overloaded assignment operators when trying to swap the arguments
Rafael Garcia-Suarez [Tue, 20 Mar 2012 08:17:02 +0000]
Lookup overloaded assignment operators when trying to swap the arguments

This is in the case where we search for an overloaded operator when
passing the AMGf_assign flag (we're executing an assignment operator
like +=).

At the very beginning of Perl_amagic_call, if the flag AMGf_noleft is
not passed, we first try to look up the overload method corresponding
to the assignment operator, then the normal one if fallback is
authorized. However, if this fails, when trying later to find
overload magic with the arguments swapped (if AMGf_noright is not
passed), this procedure was not used and we looked up directly the base
operation from which the assignment operator might be derived.
As a consequence of what an operator like += might have looked
autogenerated even when fallback=>0 was passed.

This change only necessitates a minor adjustment in lib/overload.t,
where an overloaded += method wasn't corresponding semantically to the
overloaded + method of the same class, which can be seen as a
pathological case.

22 months agoClose the filehandle actually being tested in uni/readline.t
Steve Hay [Tue, 22 May 2012 07:37:01 +0000]
Close the filehandle actually being tested in uni/readline.t
(Also allows the tempfile() to be unlink()ed :-)

22 months agoperldelta for undef *_, &CORE::time crash
Father Chrysostomos [Tue, 22 May 2012 05:53:26 +0000]
perldelta for undef *_, &CORE::time crash