This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Karl Williamson [Sat, 27 Jun 2015 21:19:52 +0000 (15:19 -0600)]
regen/mk_invlists.pl: Handle early Unicodes CF
In very early Unicode releases, the case folding table can be in a
different format.
Karl Williamson [Sat, 27 Jun 2015 20:32:15 +0000 (14:32 -0600)]
regen/mk_invlists.pl: White-space only
Reindent after the previous commit introduced an outer block
Karl Williamson [Sat, 27 Jun 2015 20:30:30 +0000 (14:30 -0600)]
regen/mk_invlists.pl: Properly handle empty properties
This failed to adequately handle empty properties; something that wasn't
seen until compiling older Unicode releases.
Karl Williamson [Sat, 27 Jun 2015 20:14:31 +0000 (14:14 -0600)]
regen/mk_PL_charclass.pl: Use names known in all Unicodes
This just changes, for properties that aren't defined in all Unicode
versions, to use synonyms that are defined in all
Karl Williamson [Sat, 27 Jun 2015 20:11:04 +0000 (14:11 -0600)]
regen/regcharclass.pl: Work on early Unicodes
This just changes, for properties that aren't defined in all Unicode
versions, to use synonyms that are defined in all
Karl Williamson [Sat, 27 Jun 2015 19:46:14 +0000 (13:46 -0600)]
mktables: Add new alias status for internal-only
This makes it easier to control whether a synonym for a property value
is shown to and is accessible by users.
Karl Williamson [Fri, 26 Jun 2015 20:17:06 +0000 (14:17 -0600)]
mktables: Get fold generation to work on early Unicodes
CaseFolding.txt isn't present in early Unicodes. For these lowercasing
is used instead. But the format of the lowercasing table isn't quite
the same, so add code to handle the differences.
Karl Williamson [Fri, 26 Jun 2015 19:20:18 +0000 (13:20 -0600)]
mktables: Skip Hangul autogeneration on early Unicodes
Unicode Version 1 used completely different Hangul Syllables, so the
algorithm for the later versions doesn't apply
Karl Williamson [Fri, 26 Jun 2015 18:27:41 +0000 (12:27 -0600)]
mktables: White-space, comment, debugging changes only
This adds comments, fixes up some white space and adds some things to
trace (when enabled)
Karl Williamson [Fri, 26 Jun 2015 18:23:13 +0000 (12:23 -0600)]
mktables: Make surrogates work in all Unicodes
Surrogates aren't in all Unicode releases. This creates a table that is
accessible in all releases, but is empty in those that don't have
surrogates.
Karl Williamson [Fri, 26 Jun 2015 18:14:12 +0000 (12:14 -0600)]
mktables: Fixup Unicode 5.0 propvalue aliases for Blocks
These used an anomalous form in this release only.
Karl Williamson [Fri, 26 Jun 2015 18:12:16 +0000 (12:12 -0600)]
mktables: Add true/false aliases in early Unicodes
Before Unicode 5.0, the aliases for True and False were just assumed,
and not specifically mentioned. This commit adds them for those early
releases.
Karl Williamson [Fri, 26 Jun 2015 17:59:30 +0000 (11:59 -0600)]
utf8_heavy.pl: White-space only
Reindent after previous commit added an outer block
Karl Williamson [Fri, 26 Jun 2015 17:50:18 +0000 (11:50 -0600)]
mktables: Allow strictly named map tables
There are several types of tables generated by mktables. Most are
binary (match) tables, but another class is mapping tables. The names
for these may be loosely matched, but until this commit only the match
tables could have strict matching applied.
Strict matching is used for certain table names where loose could be
ambiguous, and for all names that aren't to be used by anything except
the perl core.
Karl Williamson [Fri, 26 Jun 2015 17:27:49 +0000 (11:27 -0600)]
mktables: Move debugging line out of loop
It should only be printed once, when it does get printed (as it is
usually commented out).
Karl Williamson [Fri, 26 Jun 2015 04:10:22 +0000 (22:10 -0600)]
mktables: Define non-char in all Unicode releases
Perl needs the NChar property to compile, but Unicode did not furnish it
in early releases. This commit will use the Unicode definition if
available, but otherwise computes it itself.
Karl Williamson [Fri, 26 Jun 2015 04:05:54 +0000 (22:05 -0600)]
mktables: Define quotemeta better in early Unicode releases
This property is needed by Perl to compile properly in all Unicode
releases, but Unicode did not furnish data for it in early releases.
Prior to this commit, the definition in such releases was set lazily to
an inaccurate value. But it's not hard to do it correctly.
Karl Williamson [Fri, 26 Jun 2015 03:56:17 +0000 (21:56 -0600)]
mktables: Define PatWS for Unicode versions missing it
This property is used by Perl in all Unicode releases, so needs to be
present in all releases, but Unicode did not define it in early
releases, though it should have the same short definition in all of
them. If there is no Unicode data defining it, hard-code the definition
into mktables.
Karl Williamson [Fri, 26 Jun 2015 03:38:57 +0000 (21:38 -0600)]
mktables: Escape literal "{" in regex
It's now deprecated if we fail to do so.
Karl Williamson [Wed, 24 Jun 2015 18:37:55 +0000 (12:37 -0600)]
regen/mk_PL_charclass.pl: Don't confuse simple with multi folds
On early Unicode releases, this was saying that a character had a simple
fold from above Latin1, whereas it didn't. This was caused by not
keeping the simple folds separate from the multi-character ones.
The solution is to keep a separate data structure for the simple ones.
Karl Williamson [Wed, 29 Jul 2015 03:42:14 +0000 (21:42 -0600)]
f
Karl Williamson [Wed, 24 Jun 2015 17:22:02 +0000 (11:22 -0600)]
Handle Unicode 3.0.1 /i Turkish "i" rules
Actually, there are no special rules for this Unicode release. All the
4 "i" characters are considered equivalent under /i only in this
release. (Upper and lowercase dotted and dotless "i"). This
adds special cases that are only compiled in for that release.
Karl Williamson [Wed, 24 Jun 2015 16:22:07 +0000 (10:22 -0600)]
regen/unicode_constants.pl: Add U+130, +131
These will be used in the next commit
Karl Williamson [Mon, 22 Jun 2015 17:18:48 +0000 (11:18 -0600)]
regen/mk_PL_charclass.pl: Add extra info to debug line
This is currently commented out, but this is helpful during
the times when it is used.
Karl Williamson [Mon, 22 Jun 2015 16:46:39 +0000 (10:46 -0600)]
regen/regcharclass.pl: Handle empty lists
Short circuit the remaining code and return a 0 if the input doesn't
match anything
Karl Williamson [Mon, 22 Jun 2015 16:22:34 +0000 (10:22 -0600)]
lib/locale.t: Fail more gracefully
If a character's name is unknown, say that instead of an unitialized
warning.
Karl Williamson [Mon, 22 Jun 2015 16:06:45 +0000 (10:06 -0600)]
mktables: Handle early Unicodes' script names
These were all caps in early releases
Karl Williamson [Mon, 22 Jun 2015 03:52:58 +0000 (21:52 -0600)]
uc(sharp s) is itself in very early Unicode versions
Karl Williamson [Mon, 22 Jun 2015 03:38:32 +0000 (21:38 -0600)]
There are no folds to multiple chars in early Unicode versions
Several places require special handling because of this, notably for the
lowercase Sharp S, but not in Unicodes before 3.0.1
Karl Williamson [Sun, 21 Jun 2015 00:01:14 +0000 (18:01 -0600)]
Unicode::UCD: Remove dead code
Nothing should get executed after a croak.
Karl Williamson [Sat, 20 Jun 2015 23:20:46 +0000 (17:20 -0600)]
regen/unicode_constants.pl: Generate #defines giving which Unicode version
Future commits will want to take different actions depending on which
Unicode version is being used.
Karl Williamson [Sat, 20 Jun 2015 22:55:49 +0000 (16:55 -0600)]
mktables: Calculate \p{Assigned} earlier in build
Future commits will want this table earlier than it is currently
calculated. This commit also changes one place to use this table.
Karl Williamson [Sat, 20 Jun 2015 22:26:59 +0000 (16:26 -0600)]
t/uni/variables.t: Fix nits in comments
Karl Williamson [Sat, 20 Jun 2015 20:59:14 +0000 (14:59 -0600)]
mktables: Remove redundant test
This test is a duplicate of the one that got us to take this branch to
begin with, so is redundant.
Karl Williamson [Sat, 20 Jun 2015 15:38:45 +0000 (09:38 -0600)]
mktables: White-space only
reindent after removing a surrounding block in the previous commit
Karl Williamson [Sat, 20 Jun 2015 15:33:58 +0000 (09:33 -0600)]
mktables: Move code wrongly inside a block
This would fail to be executed only for very early Unicode versions, so
wasn't a visible bug.
Karl Williamson [Sat, 20 Jun 2015 15:23:32 +0000 (09:23 -0600)]
mktables: Add missing /x
Because of this the pattern didn't match what it was expected to match.
But it only showed up if the Unicode version was an early one.
Karl Williamson [Sat, 20 Jun 2015 15:11:01 +0000 (09:11 -0600)]
mktables: Fix off-by-one error
This only affects when compiling an earlier Unicode version. This
property came along one release earlier than the code thought.
Karl Williamson [Thu, 2 Jul 2015 04:24:26 +0000 (22:24 -0600)]
mktables: Define ok(), needed by a required script.
loc_tools.pl wants this function to be defined.
Karl Williamson [Thu, 2 Jul 2015 04:21:49 +0000 (22:21 -0600)]
mktables: Don't hard-code number of code points
Unicode 1 only had 2**16 code points. It is simple to fix to have a
varying number.
Karl Williamson [Sat, 6 Jun 2015 03:38:58 +0000 (21:38 -0600)]
regcomp.c: Rmv useless 'continue'
This is the final statement of the short loop. It does nothing.
Karl Williamson [Sat, 6 Jun 2015 03:35:22 +0000 (21:35 -0600)]
mktables: Remove unused assignment
Karl Williamson [Fri, 5 Jun 2015 17:13:30 +0000 (11:13 -0600)]
mktables: White-space only
Outdent subroutine that doesn't need to be indented
Karl Williamson [Fri, 5 Jun 2015 05:04:55 +0000 (23:04 -0600)]
mktables: Don't assume a decimal number is hex
This caused invalid data to be generated for early releases of Unicode
for the Lowercase property.
Karl Williamson [Tue, 19 May 2015 19:25:21 +0000 (13:25 -0600)]
Allow Perl to compile and work on Unicode releases without U+1E9E
U+1E9E LATIN CAPITAL LETTER SHARP S is handled specially by Perl,
because of its relationship to the infamous LATIN SMALL LETTER SHARP S,
which folds to 'ss', being the only character whose code point is < 256
to have a multi char fold, and this creates lots of special cases.
But U+1E9E wasn't in all Unicode releases. Because Perl is supposed to
work with any release, we need to be able to compile when this character
isn't defined. In some of those cases we use U+017F (LATIN SMALL LETTER
LONG S instead, which is in all releases.
Karl Williamson [Tue, 19 May 2015 19:31:09 +0000 (13:31 -0600)]
regen/unicode_constants.pl: Skip U+1E9E if not in Unicode version
LATIN CAPITAL LETTER SHARP S is not available in all Unicode releases;
simply skip generating things when it isn't there.
Karl Williamson [Mon, 18 May 2015 19:13:07 +0000 (13:13 -0600)]
mktables: Remove wrong warning message
This warning should not be raised. The extra parameter it warns about
is an indent that is in fact passed on.
Karl Williamson [Wed, 25 Mar 2015 17:23:36 +0000 (11:23 -0600)]
regen/unicode_constants.pl: Fix to work under skip_if_undef
This input flag was not being properly handled.
Karl Williamson [Wed, 25 Mar 2015 17:15:41 +0000 (11:15 -0600)]
regen/unicode_constants.pl: Move comments around
This moves the description of what <DATA> lines should look like to
the __DATA__ line.
Jarkko Hietaniemi [Tue, 28 Jul 2015 12:43:51 +0000 (08:43 -0400)]
I64/U64 should be defined regardless of PERL_CORE.
Only HAS_QUAD matters.
This is old code, originally by yours truly (
6b8eaf93). I think the
PERL_CORE was to protect the inclusion on <inttypes.h>, but that was
not a very good reason or a method even back then.
Ricardo Signes [Tue, 28 Jul 2015 02:30:59 +0000 (22:30 -0400)]
Carp requires parent 0.217 for -norequire
[rt.cpan.org #106036]
Karl Williamson [Thu, 16 Apr 2015 16:13:37 +0000 (10:13 -0600)]
regcomp.c: Add comment
Aristotle Pagaltzis [Mon, 27 Jul 2015 12:24:21 +0000 (14:24 +0200)]
perlvar: discourage $OLD_PERL_VERSION
Chris 'BinGOs' Williams [Mon, 27 Jul 2015 06:39:37 +0000 (07:39 +0100)]
Attribute-Handlers is of the 0.99 on CPAN
Jarkko Hietaniemi [Sun, 26 Jul 2015 01:51:08 +0000 (21:51 -0400)]
Follow-up to
d229247c: use U64TYPE consistently.
Why exactly we are using U64TYPE here and not U64, I dunno. What I do
know is that if U64TYPE is changed to U64 everywhere in hv_func.h,
win32 build dies. Maybe hv_func.h gets included before the typedef
for U64 in handy.h takes place, and only the U64TYPE define is available.
Jarkko Hietaniemi [Sat, 25 Jul 2015 17:32:25 +0000 (13:32 -0400)]
Comment detypos.
Jarkko Hietaniemi [Wed, 22 Oct 2014 01:41:16 +0000 (21:41 -0400)]
Use UINT64_C.
Jarkko Hietaniemi [Fri, 24 Oct 2014 00:54:33 +0000 (20:54 -0400)]
There's no READ_UINT32.
(relic of some earlier code?)
Steve Hay [Sat, 25 Jul 2015 12:41:42 +0000 (13:41 +0100)]
Correct VS2015's impending CCTYPE
VS2013 was version 12.0, so VS2015 would be expected to be 13.0, not 15.0,
so the CCTYPE would be MSVC130, not MSVC150. However, VS2015 (just released
on 20 July) actually installs to somewhere like "C:\Program Files (x86)\
Microsoft Visual Studio 14.0" and sets "VisualStudioVersion=14.0" in the
environment, so they seem to have skipped version 13.0 (superstition?!) and
gone to version 14.0 instead. So our next CCTYPE will be MSVC140.
Unfortunately, it currently doesn't work. Changes to the CRT give linker
problems that are fixed by dropping -nodefaultlib, but changes to the FILE
structure are more of a problem. Tweaks in Makefile and config_sh.PL to
undef d_stdiobase/USE_STDIO_BASE and d_sdtsdtio/USE_STDIO_PTR etc go some
way to help, but there is still trouble compiling perlio.c (which accesses
f->_file in PerlIOStdio_invalidate_fileno) and win32/win32.c (which
accesses (pf)->_flag in win32_fdupopen).
(This commit also changes referencs to version N.x to simply N.0 since they
all are .0 only, except for the .NET 2002/2003 releases, which were 7.0/7.1
respectively.)
Ricardo Signes [Fri, 24 Jul 2015 22:47:03 +0000 (18:47 -0400)]
bump version on Attribute::Handlers
...because of CPAN release to get blead code on CPAN
Father Chrysostomos [Mon, 20 Jul 2015 18:23:49 +0000 (11:23 -0700)]
[perl #125541] Fix crash with %::=(); J->${\"::"}
gv_stashpvn does not expect gv_fetchpv to return something that is
not a GV. If someone has blown away the stash with %::=(), then the
$::{"main::"} entry no longer exists, but gv_fetchpv expects it to be
there. This patch just makes this case fail somewhat gracefully
instead of crashing:
$ ./miniperl -e '%::=(); J->${\"::"}'
Can't locate object method "" via package "" (perhaps you forgot to load ""?) at -e line 1.
If someone does %::=(), nothing more reasonable should be expected.
At least it does not crash now.
Craig A. Berry [Sat, 18 Jul 2015 18:01:00 +0000 (13:01 -0500)]
Don't skip symbols for defunct -Uuseperlio case.
Those symbols can and must exist for the -Duseperlio case, which
is the only configuration possible since 5.16.x.
Craig A. Berry [Sat, 18 Jul 2015 13:57:19 +0000 (08:57 -0500)]
Remove PERLIO_IS_STDIO from win32.c and wince.c.
It will never be defined so there's no reason to check that it's
not defined.
Craig A. Berry [Fri, 17 Jul 2015 22:53:54 +0000 (17:53 -0500)]
Evict PERLIO_IS_STDIO from top-level core files.
Configuring with perlio has been the only option since
dd35fa16610
in 2011, first released in 5.16.0. Yet we have still have had all
this dead code for stdio support cluttering up the sources and
dulling the machetes of anyone who wants to do further work on
perlio or someone (like me) who just stumbles on some code that
looks like it needs fixing but isn't worth the time since the
compiler will never see it.
Leave a vestigial perlsdio.h since its presence is hard-coded in
a number of places.
Craig A. Berry [Thu, 23 Jul 2015 16:45:20 +0000 (11:45 -0500)]
Find *inline.h differently in args_assert.t.
That glob wasn't working right on VMS so the test was failing.
We're already reading through MANIFEST so we might as well just
match what we want from there.
Craig A. Berry [Thu, 23 Jul 2015 13:00:55 +0000 (08:00 -0500)]
Fix new warning in t/op/mkdir.t.
Removing a directory that doesn't exist causes a warning, and if
the warning appears before the test preamble, that causes the test
to fail. So check whether the directory exists before trying to
remove it.
Craig A. Berry [Thu, 23 Jul 2015 02:38:25 +0000 (21:38 -0500)]
Fix nit missed in
a55c5245146801.
$(O) not (O) needed for macro reference.
Tony Cook [Thu, 23 Jul 2015 05:34:43 +0000 (15:34 +1000)]
[perl #123961] handle a missing closing ` for -DT output
Karl Williamson [Wed, 22 Jul 2015 16:28:08 +0000 (10:28 -0600)]
Update podcheck db to reflect a fix in perlgit
Jarkko Hietaniemi [Mon, 20 Jul 2015 08:53:09 +0000 (11:53 +0300)]
Drop useful-looking but unused lookup table.
Jarkko Hietaniemi [Mon, 20 Jul 2015 09:31:42 +0000 (12:31 +0300)]
Declaring static in header is odd (and warnable offense).
Jarkko Hietaniemi [Mon, 20 Jul 2015 09:31:05 +0000 (12:31 +0300)]
Convert pp_sys to use the time64 public interface.
Jarkko Hietaniemi [Mon, 20 Jul 2015 08:51:47 +0000 (11:51 +0300)]
Add time64 as its own build target.
Jarkko Hietaniemi [Sun, 19 Jul 2015 13:54:22 +0000 (16:54 +0300)]
dquote_static.c -> dquote.c
Instead of #include-ing the C file, compile it normally.
Jarkko Hietaniemi [Sun, 19 Jul 2015 07:34:24 +0000 (10:34 +0300)]
static inlines from dquote_static.c -> new dquote_inline.h
Jarkko Hietaniemi [Sat, 18 Jul 2015 18:24:47 +0000 (21:24 +0300)]
inline_invlist.c -> invlist_inline.h
Jarkko Hietaniemi [Tue, 21 Jul 2015 06:49:05 +0000 (09:49 +0300)]
Make *inline.h behave like *.c
Jarkko Hietaniemi [Sat, 18 Jul 2015 14:22:13 +0000 (17:22 +0300)]
overload.c -> overload.inc
Jarkko Hietaniemi [Sat, 18 Jul 2015 13:53:00 +0000 (16:53 +0300)]
overload.[hc] descriptions were swapped
Jarkko Hietaniemi [Sat, 18 Jul 2015 13:28:46 +0000 (16:28 +0300)]
packsizetables.c -> packsizetables.inc
Jarkko Hietaniemi [Fri, 17 Jul 2015 08:46:14 +0000 (11:46 +0300)]
mg_names.c -> mg_names.inc
Jarkko Hietaniemi [Fri, 17 Jul 2015 08:55:00 +0000 (11:55 +0300)]
Make *.inc behave like *.[hc]
Dagfinn Ilmari Mannsåker [Thu, 16 Jul 2015 07:08:19 +0000 (08:08 +0100)]
Merge declaration and initialisation of local variable
Commit
2b32fed8 removed the PUTBACK/SPAGAIN around hv_iterval and
Perl_sv_setpvf, but didn't take the opportunity to merge the
initialisation with the declaration now that there's no code between
them.
Daniel Dragan [Thu, 16 Jul 2015 01:59:58 +0000 (21:59 -0400)]
combine PERLDB_LINE and PERLDB_SAVESRC flag tests
On VC2003 32b -O1, the .text section of miniperl.exe decreased from
0xAEFCD bytes of machine code to 0xAEF9D after this patch.
see also
http://www.nntp.perl.org/group/perl.perl5.porters/2015/07/msg229308.html
Matthew Horsfall [Tue, 21 Jul 2015 12:10:01 +0000 (08:10 -0400)]
Updates to Module::CoreList per RMG.
Matthew Horsfall [Tue, 21 Jul 2015 11:53:58 +0000 (07:53 -0400)]
RMG - Manually adding perldelta for Module::CoreList isn't needed
Aristotle Pagaltzis [Tue, 21 Jul 2015 10:24:36 +0000 (12:24 +0200)]
perlgit: minor copyedits
Aristotle Pagaltzis [Tue, 21 Jul 2015 10:23:55 +0000 (12:23 +0200)]
perlgit: standardize verbatims to 2-space indent
Aristotle Pagaltzis [Tue, 21 Jul 2015 10:22:40 +0000 (12:22 +0200)]
perlgit: demote old-git remote branch procedure
Matthew Horsfall [Mon, 20 Jul 2015 20:31:53 +0000 (16:31 -0400)]
Update Porting/release_announcement_template.txt for new year/version
Matthew Horsfall [Mon, 20 Jul 2015 20:18:32 +0000 (16:18 -0400)]
Add Module::CoreList stubs for v5.23.2
Matthew Horsfall [Mon, 20 Jul 2015 20:03:51 +0000 (16:03 -0400)]
Bump version to 5.23.2
Matthew Horsfall [Mon, 20 Jul 2015 19:56:02 +0000 (15:56 -0400)]
Run Porting/new-perldelta.pl for v5.23.2
Matthew Horsfall [Mon, 20 Jul 2015 19:55:48 +0000 (15:55 -0400)]
Update release_schedule.pod to note completed releases.
Matthew Horsfall [Mon, 20 Jul 2015 19:47:55 +0000 (15:47 -0400)]
Update epigraphs for 5.23.0/5.23.1
Matthew Horsfall [Mon, 20 Jul 2015 18:56:52 +0000 (14:56 -0400)]
Add new release to perlhist
Matthew Horsfall [Mon, 20 Jul 2015 18:50:22 +0000 (14:50 -0400)]
Finalize perldelta for 5.23.1
Matthew Horsfall [Mon, 20 Jul 2015 18:21:09 +0000 (14:21 -0400)]
Update Module::CoreList for 5.23.1
Matthew Horsfall [Mon, 20 Jul 2015 18:20:47 +0000 (14:20 -0400)]
RMG: Note that Porting/cmpVERSION.pl requires -Ilib to run
Matthew Horsfall [Mon, 20 Jul 2015 17:53:57 +0000 (13:53 -0400)]
Update INSTALL versions for 5.23.1