This is a live mirror of the Perl 5 development currently hosted at
7 years agolib/locale.t: Improve test names; add some names
Karl Williamson [Sat, 31 May 2014 20:10:00 +0000 (14:10 -0600)]
lib/locale.t: Improve test names; add some names

7 years agosv.c: Add comment
Karl Williamson [Sat, 31 May 2014 18:45:41 +0000 (12:45 -0600)]
sv.c: Add comment

7 years agoFix definition of toCTRL() for EBCDIC
Karl Williamson [Tue, 13 May 2014 00:29:41 +0000 (18:29 -0600)]
Fix definition of toCTRL() for EBCDIC

The definition was incorrect.  When going from control to printable
name, we need to go from Latin1 -> Native, so that e.g., a 65 gets
turned into the native 'A'

7 years agoAdd some (UN)?LIKELY() to UTF8 handling
Karl Williamson [Tue, 6 May 2014 19:18:28 +0000 (13:18 -0600)]
Add some (UN)?LIKELY() to UTF8 handling

It's very rare actually for code to be presented with malformed UTF-8,
so give the compiler a hint about the likely branches.

7 years agoMove some deprecated utf8-handling functions to mathoms
Karl Williamson [Tue, 6 May 2014 04:46:48 +0000 (22:46 -0600)]
Move some deprecated utf8-handling functions to mathoms

This entailed creating new internal functions for some of them to call
so that the functionality can be retained during the deprecation period.

7 years agoMake is_utf8_char_buf() a macro
Karl Williamson [Tue, 6 May 2014 04:41:14 +0000 (22:41 -0600)]
Make is_utf8_char_buf() a macro

This function is now more efficiently implemented as a synonym for
isUTF8_CHAR().  We retain the Perl_is_utf8_char_buf() function for code
that calls it that way.

7 years agoutf8.h: Use new macro type from previous commit
Karl Williamson [Tue, 6 May 2014 04:17:33 +0000 (22:17 -0600)]
utf8.h: Use new macro type from previous commit

This allows for an efficient isUTF8_CHAR macro, which does its own
length checking, and uses the UTF8_INVARIANT macro for the first byte.
On EBCDIC systems this macro which does a table lookup is quite a bit
more efficient than all the branches that would normally have to be

7 years agoregen/ Add new macro type with intermed checking
Karl Williamson [Tue, 6 May 2014 03:09:36 +0000 (21:09 -0600)]
regen/ Add new macro type with intermed checking

This adds a new macro generation option for inputs that are checked
elsewhere for buffer overflow, but otherwise needs validity checks.

7 years agoCreate isUTF8_CHAR() macro and use it
Karl Williamson [Tue, 6 May 2014 02:43:47 +0000 (20:43 -0600)]
Create isUTF8_CHAR() macro and use it

This macro will inline the code to determine if a character is
well-formed UTF-8 for code points below a certain value, falling back to
a slower function for larger ones.  On ASCII platforms, it will inline
for well-beyond all legal Unicode code points.  On EBCDIC, it currently
does it for code points up to 0x3FFF.  This could be increased, but our
porting tests do the regen every time to make sure everything is ok, and
making it larger slows that down.  This is worked around on ASCII by
normally commenting out the code that generates this info, but including
in utf8.h a version that did get generated.  This is static information
and won't change.  (This could be done for EBCDIC too, but I chose not
to at this time as each code page has a different macro generated, and
it gets ugly getting all of them in utf8.h)

Using this macro allowed for simplification of several functions in

7 years agoutf8.h: Move macro within file
Karl Williamson [Tue, 6 May 2014 02:13:31 +0000 (20:13 -0600)]
utf8.h: Move macro within file

This places it in a better situated spot for later commits

7 years agoutf8.c: Move a static function to inline.h
Karl Williamson [Tue, 6 May 2014 01:37:58 +0000 (19:37 -0600)]
utf8.c: Move a static function to inline.h

This is in preparation for it being called from outside utf8.c.  It is
renamed to have a leading underscore to emphasize its private nature

7 years agoregen/ Comment, white-space only
Karl Williamson [Tue, 6 May 2014 00:59:35 +0000 (18:59 -0600)]
regen/ Comment, white-space only

This commit indents code to properly align with the new block introduced
by the previous commit, and adds a comma to a comment

7 years agoregen/ Update to use EBCDIC utilities
Karl Williamson [Tue, 6 May 2014 00:50:01 +0000 (18:50 -0600)]
regen/ Update to use EBCDIC utilities

This causes the generated regcharclass.h to be valid on all
supported platforms

7 years agoregen/ make a 'do' into a 'require'
Karl Williamson [Tue, 6 May 2014 00:14:55 +0000 (18:14 -0600)]
regen/ make a 'do' into a 'require'

This is because a future commit will execute this code multiple times,
and the library file should only be read once.

7 years agoRevert bootstrapping to non-ASCII platforms
Karl Williamson [Mon, 5 May 2014 23:16:03 +0000 (17:16 -0600)]
Revert bootstrapping to non-ASCII platforms

This effectively reverts commit 3ded5eb052cdc3f861ec0c0ff85348086d653be0.

That commit created a scheme to bootstrap Perl onto a non-ASCII
platform, by adding the allowing a Configure option that caused the
compiled code to bypass a number of normal macro definitions and use
slower, generic ones, sufficient to get miniperl to compile on the
target architecture.  One would then use miniperl to run a few scripts
that would re-order certain header files,  Using this one could then
recompile all of perl, and once that was done, use it to recompile to
use the normal fast macros.

This worked, but was a cumbersome process.  We now have the
infrastructure, since commit 6ff677df5d6fe0f52ca0b6736f8b5a46ac402943,
to cross compile on an ASCII platform to EBCDIC, the likely only
non-ASCII character set to ever be used.  So the new infrastructure will
be used in future commits.

7 years agoRevert "regen/ Make more EBCDIC-friendly"
Karl Williamson [Mon, 5 May 2014 22:30:10 +0000 (16:30 -0600)]
Revert "regen/ Make more EBCDIC-friendly"

This reverts commit c4c8e61502fd5289a080f20332c6e3f9f23ce6e2.

It turns out that this scheme to bootstrap regcharclass.h onto a machine
not running ASCII created too much manual labor getting things to work.
A better solution is to cross compile on an ASCII machine for the
target.  Commit 6ff677df5d6fe0f52ca0b6736f8b5a46ac402943 created the
infrastructure to do that, and this commit starts the process of
changing regen/ to use that.

7 years agoregen/ Don't do unnecessary work
Karl Williamson [Tue, 29 Apr 2014 00:03:02 +0000 (18:03 -0600)]
regen/ Don't do unnecessary work

This bit code is not about just ASCII folds, so skip it when doing just

7 years agoregen/ Remove unnecessary #if's
Karl Williamson [Mon, 28 Apr 2014 23:52:42 +0000 (17:52 -0600)]
regen/ Remove unnecessary #if's

Even though this file is not intended to be human consumable, it is
annoying to see #if ... #endif #if ...
where the #endif and #if could be consolidated.

It turns out not to be hard to do that.

7 years agoregen/ White-space only
Karl Williamson [Mon, 28 Apr 2014 23:50:14 +0000 (17:50 -0600)]
regen/ White-space only

The previous commit created a block around the code that is indented by
this commit.

7 years agoregen/ Update to use EBCDIC utilities
Karl Williamson [Mon, 28 Apr 2014 23:37:49 +0000 (17:37 -0600)]
regen/ Update to use EBCDIC utilities

This causes the generated charclass_invlists.h to be valid on all
supported platforms

7 years agoregen/ White-space only
Karl Williamson [Mon, 28 Apr 2014 23:31:46 +0000 (17:31 -0600)]
regen/ White-space only

The previous commit created a block around this code, which is now
appropriately indented

7 years agoregen/ Update to use EBCDIC utilities
Karl Williamson [Mon, 28 Apr 2014 23:26:56 +0000 (17:26 -0600)]
regen/ Update to use EBCDIC utilities

This causes the generated unicode_constants.h to be valid on all
supported platforms

7 years agoregen/ White-space only
Karl Williamson [Mon, 28 Apr 2014 23:19:07 +0000 (17:19 -0600)]
regen/ White-space only

The previous commit created a block around this code.

7 years agoregen/ Update to use EBCDIC utilities
Karl Williamson [Mon, 28 Apr 2014 23:08:57 +0000 (17:08 -0600)]
regen/ Update to use EBCDIC utilities

This causes the generated l1_char_class_tab.h to be valid on all
supported platforms

7 years agoMake many EBCDIC tables generated instead of hand-coded
Karl Williamson [Mon, 28 Apr 2014 22:57:16 +0000 (16:57 -0600)]
Make many EBCDIC tables generated instead of hand-coded

This causes the generated file ebcdic_tables.h to be #included by
utfebcdic.h instead of the hand-coded tables that were formerly there.
This makes it much easier to add or remove support for EBCDIC code

The UTF-EBCDIC-related tables for 037 and POSIX-BC are somewhat modified
from what they were before.  They were changed by hand minimally a long
time ago to prevent segfaults, but in so doing, they lost an important
sorting characteristic of UTF-EBCDIC.  The machine-generated versions
retain the sorting, while also not doing the segfaults. utfebcdic.h has
more detail about this, regarding tr16.

7 years agoAdd utilities for dealing with EBCDIC
Karl Williamson [Mon, 28 Apr 2014 22:43:49 +0000 (16:43 -0600)]
Add utilities for dealing with EBCDIC

This script is to be used by others in regen/ to aid in handling

7 years agoregcomp.c: Change ref to obsolete global var
Karl Williamson [Fri, 25 Apr 2014 16:56:22 +0000 (10:56 -0600)]
regcomp.c: Change ref to obsolete global var

This was changed in v5.19, but not found because we don't have an EBCDIC
smoker.  Spotted by Yaroslav Kuzmin.

7 years agoregen/ White-space only
Karl Williamson [Thu, 17 Apr 2014 01:32:38 +0000 (19:32 -0600)]
regen/ White-space only

Indent code in block formed by the previous commit

7 years agoregen/ Rearrange code order
Karl Williamson [Thu, 17 Apr 2014 01:27:39 +0000 (19:27 -0600)]
regen/ Rearrange code order

This just changes the ordering so we don't do UTF-8 calculations unless

7 years agohandy.h: Make macro more efficient on EBCDIC
Karl Williamson [Wed, 26 Jun 2013 21:49:13 +0000 (15:49 -0600)]
handy.h: Make macro more efficient on EBCDIC

The comments say it all

7 years agoCreate new testing helper file
Karl Williamson [Tue, 27 May 2014 03:05:21 +0000 (21:05 -0600)]
Create new testing helper file

This adds t/, and populates it with 2 functions removed
from t/  The functions are changed very slightly to use the
variables $::IS_ASCII and $::IS_EBCDIC instead of recalculating this

A new function byte_utf8a_to_utf8n() is also placed in charset_tools.
This takes the bytes that form a (ASCII-platform) UTF-8 string and
convert them to the bytes that form that string on the native platform,
hence just returns the input if run on an ASCII platform.

7 years agoUse already existing functions in some .t files
Karl Williamson [Tue, 27 May 2014 02:34:06 +0000 (20:34 -0600)]
Use already existing functions in some .t files

I invented 2 functions for use in .t files a while back that turn out to
be duplicates of (undocumented) functions that already existed suitable
for general use.  This commit changes to use those general functions and
removes the copies from t/  (I plan to document these functions
later in 5.21.).  This is in preparation for moving some similar
functions from t/ to a newly created test tools file, as it turns
out that these functions are useful in .t files that don't use
t/, but instead, e.g., Test::More.

7 years agoUpdate podcheck db to reflect fixed problem
Karl Williamson [Sat, 31 May 2014 15:58:16 +0000 (09:58 -0600)]
Update podcheck db to reflect fixed problem

7 years agoregen/ Rmv hard-coded char names
Karl Williamson [Sun, 17 Mar 2013 04:48:22 +0000 (22:48 -0600)]
regen/ Rmv hard-coded char names

Since this program was written, the abbreviated names of the control
characters have become available from charnames::viacode().  We change
to use these instead of hard-coding them in.

At the same time, this shortens the names for some of the other
characters in cases where it is easy to read the short ones.

It also changes to use mnemonics instead of hard-coded ordinals, like
using ASCII instead of x < 128.  This allows it to be run on an EBCDIC

7 years agoPATCH: [perl #121777] User-defined prop and packages
Karl Williamson [Wed, 7 May 2014 23:36:40 +0000 (17:36 -0600)]
PATCH: [perl #121777] User-defined prop and packages

The solution to this is to add the package name to the property name for
run-time lookup.

Thanks for Darin McBride for finding an inefficiency in an earlier
version of this patch.

7 years agoregcomp.c: Rmv temporary variable
Karl Williamson [Wed, 7 May 2014 22:41:51 +0000 (16:41 -0600)]
regcomp.c: Rmv temporary variable

This variable is unused after its first use, so can just be elminated.

7 years agolib/ Stack '?' and ':' ternaries
Karl Williamson [Wed, 7 May 2014 22:40:48 +0000 (16:40 -0600)]
lib/ Stack '?' and ':' ternaries

This is to make the code easier to read.

7 years agoUpgrade Encode from version 2.60_01 to 2.62
Steve Hay [Sat, 31 May 2014 12:50:42 +0000 (13:50 +0100)]
Upgrade Encode from version 2.60_01 to 2.62

The new version incorporates previous blead CUSTOMIZATIONS.

7 years agoRemove old Class-ISA remnants
Steve Hay [Sat, 31 May 2014 13:28:00 +0000 (14:28 +0100)]
Remove old Class-ISA remnants

7 years agoRemove Package-Constants remnant
Steve Hay [Sat, 31 May 2014 13:20:10 +0000 (14:20 +0100)]
Remove Package-Constants remnant

7 years agoRemove Module-Build remnants
Steve Hay [Sat, 31 May 2014 13:19:38 +0000 (14:19 +0100)]
Remove Module-Build remnants

7 years agoRemove remnants
Steve Hay [Sat, 31 May 2014 13:17:28 +0000 (14:17 +0100)]
Remove remnants

7 years agoUpgrade libnet from version 1.25 to 1.27
Steve Hay [Sat, 31 May 2014 11:43:56 +0000 (12:43 +0100)]
Upgrade libnet from version 1.25 to 1.27

This eliminates the need to have a CUSTOMIZED Makefile.PL. The other changes
(to modules and test scripts) are whitespace only.

7 years agoBelt and braces, add Module-CoreList version checks in porting too
Chris 'BinGOs' Williams [Sat, 31 May 2014 13:50:40 +0000 (14:50 +0100)]
Belt and braces, add Module-CoreList version checks in porting too

7 years agoAdded core-only version check to Module-CoreList
Chris 'BinGOs' Williams [Sat, 31 May 2014 11:12:47 +0000 (12:12 +0100)]
Added core-only version check to Module-CoreList

This should ensure that the versions of Module-CoreList modules
always match the version of perl.

Have to special-case skip for v5.21.1, because rjbs

7 years agoClarify "require <>"-message.
Norman Koch [Sat, 31 May 2014 01:31:29 +0000 (03:31 +0200)]
Clarify "require <>"-message.

Changed "<> should be quotes" to "<> at require-statement should be
quotes".  This way, when someone writes "require <Module>", it is way
easier to find the specific command that caused this.

7 years agoCorrect illegal use of >> in Exporter POD.
Todd Rinaldo [Mon, 14 Apr 2014 02:37:42 +0000 (21:37 -0500)]
Correct illegal use of >> in Exporter POD.

Discovered during POD unit tests on release of 5.70 to CPAN.
Also correct AUTHORS and checkAUTHORS.PL email to
Bump Exporter $VERSION to 5.71.

7 years agoregexec.c: Eliminate a malloc/free
Karl Williamson [Mon, 21 Apr 2014 02:06:04 +0000 (20:06 -0600)]
regexec.c: Eliminate a malloc/free

This uses an C automatic variable instead of a malloc and free.

7 years agoutf8.c: Move documentation next to its function
Karl Williamson [Mon, 5 May 2014 15:56:43 +0000 (09:56 -0600)]
utf8.c: Move documentation next to its function

Somehow this pod stuff was orphaned from the function it describes.

7 years agosv.c: Clarify comment
Karl Williamson [Mon, 5 May 2014 01:00:40 +0000 (19:00 -0600)]
sv.c: Clarify comment

I find reordering the text makes it easier to understand

7 years agoperlapi: Clarify some instances where NUL is or isn't permitted
Karl Williamson [Mon, 5 May 2014 00:58:51 +0000 (18:58 -0600)]
perlapi: Clarify some instances where NUL is or isn't permitted

Some functions that take a string/length pair can have embedded NULs and
don't have to be NUL terminated; others are the opposite.  This adds
text to clarify the issue.

7 years agoWrap various pod uses of NUL with C<>
Karl Williamson [Sun, 4 May 2014 23:09:22 +0000 (17:09 -0600)]
Wrap various pod uses of NUL with C<>

This makes the uses of this consistent in our pods.  Also changed one
use of the word 'buffer' into 'string', the latter being more

7 years agoregen/ Improve the generated code
Karl Williamson [Sat, 3 May 2014 21:38:27 +0000 (15:38 -0600)]
regen/ Improve the generated code

This is a small improvement when a consecutive group of U8 code points
begins at 0 or ends at 255.  These end points are physically impossible
of being exceeded, so there is no need to test for that end of the
range.  In several places this causes a mask operation to not be

7 years agoregcomp.c: Fix comment
Karl Williamson [Tue, 29 Apr 2014 03:50:52 +0000 (21:50 -0600)]
regcomp.c: Fix comment

7 years agoregcomp.c: Tighten up synthetic start class for Unicode characters
Karl Williamson [Tue, 29 Apr 2014 03:43:39 +0000 (21:43 -0600)]
regcomp.c: Tighten up synthetic start class for Unicode characters

When creating a synthetic start class (SSC) for EXACTFish nodes, in many
instances prior to this patch we punted and assumed any code point could
be matched.  This patch actually goes to the trouble of figuring out
what Unicode code points could possibly match, and uses those.  The only
time it punts now is when the node starts with a string of multiple
characters that together could be the fold of a single one.  It's too
complicated getting all the possibilities for these, as there could be
overlapping sequences that work.

7 years agoregcomp.c: Fix typo in comment
Karl Williamson [Tue, 29 Apr 2014 03:40:47 +0000 (21:40 -0600)]
regcomp.c: Fix typo in comment

7 years agoregcomp.c: Add assertion
Karl Williamson [Tue, 29 Apr 2014 03:10:48 +0000 (21:10 -0600)]
regcomp.c: Add assertion

This is because coverity thinks this could happen, and jhi and khw don't

7 years agoregcomp.c: Change a panic into an assert
Karl Williamson [Tue, 29 Apr 2014 03:08:19 +0000 (21:08 -0600)]
regcomp.c: Change a panic into an assert

This really should never happen, so might as well be an assert.

7 years agoregcomp.c: Move code into a function
Karl Williamson [Tue, 29 Apr 2014 02:55:50 +0000 (20:55 -0600)]
regcomp.c: Move code into a function

This is in preparation for it to be called from another place

7 years agoregcomp.c: Remove obsolete code
Karl Williamson [Tue, 29 Apr 2014 01:53:39 +0000 (19:53 -0600)]
regcomp.c: Remove obsolete code

Commit cd209d9d0a3b8eec779c744b3a98c9101e3f1a21 changed things so that
this code (as its comments suggest) is now obsolete.

7 years agoregcomp.c, regexec.c: Move common code to a function
Karl Williamson [Tue, 29 Apr 2014 01:48:40 +0000 (19:48 -0600)]
regcomp.c, regexec.c: Move common code to a function

There are other cases where this functionality will be needed as well.

7 years agoregen/ Add some comments
Karl Williamson [Tue, 29 Apr 2014 01:44:28 +0000 (19:44 -0600)]
regen/ Add some comments

7 years agoregen/ Don't generate macro twice
Karl Williamson [Tue, 29 Apr 2014 01:42:32 +0000 (19:42 -0600)]
regen/ Don't generate macro twice

Until this patch, this could happen if both 'safe' and 'fast' are
specified with a cp macro.

7 years agoOptimize /[a-z]/ and /[A-Z]/
Karl Williamson [Sun, 27 Apr 2014 16:53:00 +0000 (10:53 -0600)]
Optimize /[a-z]/ and /[A-Z]/

These bracketed character classes can easily be optimized into smaller
probably faster regops that match identically.

7 years ago/x in patterns now includes all \p{PatWS}
Karl Williamson [Sun, 27 Apr 2014 16:26:58 +0000 (10:26 -0600)]
/x in patterns now includes all \p{PatWS}

This brings Perl regular expressions more into conformance with Unicode.
/x now accepts 5 additional characters as white space.  Use of these
characters as literals under /x has been deprecated since 5.18, so now
we are free to change what they mean.

This commit eliminates the static function that processes the old
whitespace definition (and a generated macro that was used only for
this), using the already existing one for the new definition.  It
refactors slightly the static function that skips comments to mesh
better with the needs of its callers, and calls it in one place where
before the code was essentially duplicated.

p5p discussion starting in convinced me that
the (?[ ]) comments should be terminated the same way as regular /x
comments, and this was also done in this commit.  No prior notice is
necessary as this is an experimental feature.

7 years agoDeprecate NBSP in \N{...} names
Karl Williamson [Sat, 26 Apr 2014 17:27:52 +0000 (11:27 -0600)]
Deprecate NBSP in \N{...} names

This is currently allowed, but is non-graphic, and is indistinguishable
from a regular space.  I was the one who initially allowed it, and did
so out of ignorance of the negative consequences of doing so.  There is
no other precedent for including it.

7 years agoFix bug where charnames xlator doesn't return utf8
Karl Williamson [Sat, 26 Apr 2014 17:07:11 +0000 (11:07 -0600)]
Fix bug where charnames xlator doesn't return utf8

A user-supplied charnames translator for \N{} processing doesn't have to
return in UTF-8.  Prior to this patch, the code in toke.c assumed it

7 years agoFatalize deprecated \N{} definitions
Karl Williamson [Thu, 24 Apr 2014 14:35:08 +0000 (08:35 -0600)]
Fatalize deprecated \N{} definitions

Having a sequence of multiple spaces in a charnames alias name
definition or having trailing spaces in it have been deprecated since
5.18, and it is now time to make them fatal.

7 years agocharnames: Eliminate need to sync code in two places
Karl Williamson [Thu, 24 Apr 2014 02:33:12 +0000 (20:33 -0600)]
charnames: Eliminate need to sync code in two places

This refactors the code so that it doesn't have to be kept in sync
with other code.

7 years agoFatalize splitting '(?' and '(*' in regexes
Karl Williamson [Wed, 23 Apr 2014 18:40:30 +0000 (12:40 -0600)]
Fatalize splitting '(?' and '(*' in regexes

Inserting spaces or comments between the '(' and '?' or '*' has been
deprecated since v5.18.0.

7 years agoutfebcdic.h: Comment changes only
Karl Williamson [Tue, 22 Apr 2014 03:02:44 +0000 (21:02 -0600)]
utfebcdic.h: Comment changes only

Clarifications and typo fix.

7 years agohandy.h: Comments, white-space only
Karl Williamson [Tue, 22 Apr 2014 02:05:57 +0000 (20:05 -0600)]
handy.h: Comments, white-space only

7 years agohandy.h: Use some common macros for ASCII/EBCDIC
Karl Williamson [Tue, 22 Apr 2014 02:00:16 +0000 (20:00 -0600)]
handy.h: Use some common macros for ASCII/EBCDIC

It turns out that the EBCDIC definitions can be made the same as the
ASCII ones, so this moves the ASCII definitions to the spot where other
ones common to the 2 platforms reside, and removes the EBCDIC ones.  In
other words it combines separate definitions into common ones.

7 years agoregexec.c: Fix some EBCDIC problems
Karl Williamson [Tue, 25 Jun 2013 03:14:37 +0000 (21:14 -0600)]
regexec.c: Fix some EBCDIC problems

We were testing for UTF-8 invariant, when we should have been testing
for ASCII.  This is a problem only on EBCDIC platforms, where they mean
two different sets of code points.

7 years Pod clarifications and nits
Karl Williamson [Sun, 31 Mar 2013 03:13:38 +0000 (21:13 -0600)] Pod clarifications and nits

7 years agodquote_static.c: Clarify code
Karl Williamson [Mon, 21 Apr 2014 18:11:40 +0000 (12:11 -0600)]
dquote_static.c: Clarify code

We output the message when there is a printable ASCII character, so use
that as the test instead of complementing the test for a control.  This
makes the code somewhat clearer.

7 years ago"\cX" where X is non-printable is now fatal
Karl Williamson [Wed, 9 Apr 2014 01:27:59 +0000 (19:27 -0600)]
"\cX" where X is non-printable is now fatal

It had been deprecated, scheduled to be removed in 5.22.

7 years agoRevert "DEBUG_X_TEST are only for DEBUGGING."
Jarkko Hietaniemi [Fri, 30 May 2014 02:37:11 +0000 (22:37 -0400)]
Revert "DEBUG_X_TEST are only for DEBUGGING."

This reverts commit efbe0e532ca914af071ffbd40bfc8932fab1ecf9.

7 years agoUndo 63b558ddd980cd36bcbd8a7465a3412e886ba75e.
Jarkko Hietaniemi [Fri, 30 May 2014 02:01:06 +0000 (22:01 -0400)]
Undo 63b558ddd980cd36bcbd8a7465a3412e886ba75e.

(For some odd reason assert() cannot be found and Jenkins becomes apoplectic.)

7 years agoDEBUG_X_TEST are only for DEBUGGING.
Jarkko Hietaniemi [Fri, 30 May 2014 01:53:44 +0000 (21:53 -0400)]

7 years agoMove #include <assert.h> before ASSUME/NOT_REACHED.
Jarkko Hietaniemi [Fri, 30 May 2014 01:47:57 +0000 (21:47 -0400)]
Move #include <assert.h> before ASSUME/NOT_REACHED.

7 years agoUse NOT_REACHED for the impossible case.
Jarkko Hietaniemi [Fri, 30 May 2014 01:24:47 +0000 (21:24 -0400)]
Use NOT_REACHED for the impossible case.

The default case really is impossible because all the valid
enums values are already covered in the switch.

The NOT_REACHED; is for the compiler (from perl.h),
the /* NOTREACHED */ is for static analyzers.

7 years agoperlre: Clarify /x eol can't be escaped
Karl Williamson [Mon, 19 May 2014 22:36:33 +0000 (16:36 -0600)]
perlre: Clarify /x eol can't be escaped

7 years agot/run/locale.t: Skip some tests for some shells
Karl Williamson [Tue, 13 May 2014 23:31:39 +0000 (17:31 -0600)]
t/run/locale.t: Skip some tests for some shells

Some sh programs don't accept changes of environment variables like
LC_ALL to invalid values.  For these the tests aren't testing what they
think they are, so change them to just return the expected value, so
they will pass.  This effectively skips the tests when run on these
shells.  See

7 years agot/run/locale.t: Rmv obsolete complicated idiom
Karl Williamson [Tue, 13 May 2014 23:08:24 +0000 (17:08 -0600)]
t/run/locale.t: Rmv obsolete complicated idiom


7 years agot/ Use existing variable instead of recalculating
Karl Williamson [Tue, 6 May 2014 22:26:05 +0000 (16:26 -0600)]
t/ Use existing variable instead of recalculating

If the current platform is ascii is available already in a variable.
Use that instead of inventing a different paradigm.

7 years agoXS-APItest/t/handy.t: Change output message
Karl Williamson [Fri, 15 Mar 2013 17:50:35 +0000 (11:50 -0600)]
XS-APItest/t/handy.t: Change output message

On EBCDIC platforms, the output is not in terms of \N{U+}; change text
to \x{ }

7 years agomktables: Add comment
Karl Williamson [Sat, 22 Feb 2014 23:36:28 +0000 (16:36 -0700)]
mktables: Add comment

7 years agoPATCH: [perl #121630]: perlpod clarification
Karl Williamson [Mon, 28 Apr 2014 20:10:37 +0000 (14:10 -0600)]
PATCH: [perl #121630]: perlpod clarification

7 years agot/lib/charnames/alias: Add comment
Karl Williamson [Thu, 24 Apr 2014 15:30:07 +0000 (09:30 -0600)]
t/lib/charnames/alias: Add comment

7 years agot/re/charset.t: Fix comment, test names
Karl Williamson [Tue, 22 Apr 2014 03:27:37 +0000 (21:27 -0600)]
t/re/charset.t: Fix comment, test names

Some of the test names have hard-coded values that are wrong.  This uses
a calculated value.

7 years agoRevert "mktables: Remove obsolete sort constraint"
Karl Williamson [Wed, 30 Apr 2014 02:18:42 +0000 (20:18 -0600)]
Revert "mktables: Remove obsolete sort constraint"

This reverts commit cf13ddc5efb78ce6d588441978947303e5baf1d8,
and adds a comment as to why.

7 years agomktables: Add regenerated header to file
Karl Williamson [Wed, 28 May 2014 03:23:34 +0000 (21:23 -0600)]
mktables: Add regenerated header to file

This file is generated by mktables, so any changes made to it are lost.
Add the standard header for such files to it.

7 years agoRemove deprecated 'PL_sv_objcount'
Karl Williamson [Wed, 9 Apr 2014 00:46:25 +0000 (18:46 -0600)]
Remove deprecated 'PL_sv_objcount'

This was scheduled to be removed in 5.20, but was forgotten.

7 years agoutf8.c: Silence compiler warning
Karl Williamson [Fri, 30 May 2014 00:43:21 +0000 (18:43 -0600)]
utf8.c: Silence compiler warning

This was brought to my attention by Jarkko Hietaniemi.  The compiler was
complaining that a variable could be used uninitialized.  In practice
this doesn't happen, as it would only happen on bad data, and Perl
itself generates the data used.  (I suppose if the data got corrupted,
it could happen.)  This commit initializes the value unconditionally,
which allows a conditional setting of it to be removed.

7 years agoutf8.c: Move static function to embed.fnc
Karl Williamson [Fri, 30 May 2014 00:41:58 +0000 (18:41 -0600)]
utf8.c: Move static function to embed.fnc

This automatically generates assertions for pointer arguments, etc.

7 years agoUnify the "fall-through" lint annotation.
Jarkko Hietaniemi [Fri, 30 May 2014 00:41:22 +0000 (20:41 -0400)]
Unify the "fall-through" lint annotation.

Used by linters (static checkers), and also good for human readers.

Even though "FALL THROUGH" seems to be the most common, e.g BSD lint
manual only knows "FALLTHROUGH" (or "FALLTHRU").

7 years agoOnly prototype should_warn_nl under PERL_CORE.
Craig A. Berry [Thu, 29 May 2014 22:08:37 +0000 (17:08 -0500)]
Only prototype should_warn_nl under PERL_CORE.

Otherwise the prototype is seen in places where the function
itself is not defined, which is illegal for inline functions.

Follow-up to 7cb3f9598b37fc.

7 years agoGive caretx.c an explicit rule in vms/descrip_mms.template.
Craig A. Berry [Thu, 29 May 2014 21:46:19 +0000 (16:46 -0500)]
Give caretx.c an explicit rule in vms/descrip_mms.template.

Without an explicit rule it gets build with CFLAGS rather than
CORECFLAGS, which could make it miss important things, such as
PERL_CORE being defined.

7 years agoActually define SS_NOPRIV.
Craig A. Berry [Thu, 29 May 2014 21:44:11 +0000 (16:44 -0500)]
Actually define SS_NOPRIV.

Because in cd52bc19d9de6bc we made it just like all the others
except for the fact that the others already existed and this
one didn't.