This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Karl Williamson [Sat, 9 Aug 2014 23:47:02 +0000 (17:47 -0600)]
regcomp.c: Swap 'else' clauses.
It's easier to comprehend a tiny else clause followed by a large one and
vice-versa. This is in preparation for further changes in future
commits.
Karl Williamson [Fri, 1 Aug 2014 16:04:16 +0000 (10:04 -0600)]
Avoid redundant text -in -Dr output
There is an optimization in regcomp.c which saves memory when used, but
which caused -Dr output to display the same code points twice.
I didn't add a test to ext/re/t/regop.t because this only happens for a
Unicode property, under certain circumstances, and that triggers a lot
of other regex patterns to be compiled which are subject to change, so
the test would frequently have to be updated. This only affects
debugging output anyway.
Karl Williamson [Fri, 1 Aug 2014 15:58:02 +0000 (09:58 -0600)]
regcomp.c: Reorder cases: in switch
This makes it slightly more reader-friendly
Karl Williamson [Fri, 1 Aug 2014 15:09:41 +0000 (09:09 -0600)]
Move _get_regclass_nonbitmap_data() to regcomp.c
This function, though mostly used by regexec.c and previously contained
therein, relies on the particular data structure in regcomp.c, so it
makes sense to move it adjacent to the code that generates the
structure. Future commits will add function calls to this function that
are (currently) only in regcomp.c, and so will tie it tighter to that
file.
This just moves the code with surrounding #ifdef, adds a couple of blank
lines, removes some trailing white space, and adjusts the comments. No
other changes were made.
Karl Williamson [Mon, 30 Jun 2014 21:03:14 +0000 (15:03 -0600)]
regex: Use #define for number of bits in ANYOF
ANYOF nodes (for bracketed character classes) currently are for code
points 0-255. This is the first step in the eventual making that size
configurable. This also renames a static function, as the domain may
not necessarily be 'latin1'
Karl Williamson [Fri, 1 Aug 2014 15:46:12 +0000 (09:46 -0600)]
Use constant now defined for ESC
This avoids a runtime translation
Jarkko Hietaniemi [Thu, 21 Aug 2014 19:04:47 +0000 (15:04 -0400)]
Partial revert of
c6d2504a: do not use isfinite().
Instead return to a well-defined hack that has served us for years.
Immediate reason: VMS. It has isfinite(), but due to messy
reasons it doesn't currently get the prototype.
Jarkko Hietaniemi [Thu, 21 Aug 2014 14:14:56 +0000 (10:14 -0400)]
The quest for the hexfp exponent continues.
Jarkko Hietaniemi [Thu, 21 Aug 2014 13:54:27 +0000 (09:54 -0400)]
Do not anchor the matches, because of sprintf padding.
Karl Williamson [Thu, 21 Aug 2014 18:10:39 +0000 (12:10 -0600)]
pp_sys.c: Generalize -B, -T for EBCDIC, clean up
There was discussion about extending these to work for Latin1,
(http://nntp.perl.org/group/perl.perl5.porters/214950 and following)
but in the end it was decided that this is a heuristic, and perturbing
that might break things. So this patch keeps the same criteria as
before, but refactors things so it isn't ASCII-platform-centric.
However, the version it replaces checked for utf8ness piece-meal,
leading to possibly incorrect results, which this fixes. If a buffer
isn't entirely UTF-8, then it can't be UTF-8. So this uses
is_utf8_string() instead of reimplementing the utf8ness checks, and does
it for the buffer as a whole.
And, there was an inapproptiate test for ALPHA under locale that this
removes. The test for locale non-strange characters is that they be
either printable or space (things like \t are space but not printable).
Karl Williamson [Thu, 21 Aug 2014 17:55:48 +0000 (11:55 -0600)]
unicode_constants.h: Add definitions for ESC and VT
These will be used in future commits
Karl Williamson [Thu, 21 Aug 2014 17:49:15 +0000 (11:49 -0600)]
perlfunc: Update -B, -T descriptions
These descriptions were way out-of_date.
David Mitchell [Thu, 21 Aug 2014 15:50:39 +0000 (16:50 +0100)]
Revert "cpan/Time-HiRes/t/itimer.t: better diagnostics"
This reverts commit
65dd9533e90d8e1ea84c091ff43133132c667a1c.
That commit was just temporary to help debug a smoke issue.
Since Time::Hires is a CPAN-first module, back the patch out from blead,
and leave it to the module's owner whether they want to add it back in.
David Mitchell [Thu, 21 Aug 2014 15:22:35 +0000 (16:22 +0100)]
dump.c: eliminate DUMP_OP_FLAGS/PRIVATE macros
With the MAD code, these macros were each used in two places to
symbolically dump op_flags and op_private. Now that the MAD code
has been removed, they are each only used once, so inline them.
Chris 'BinGOs' Williams [Thu, 21 Aug 2014 10:35:53 +0000 (11:35 +0100)]
Update Pod-Perldoc to CPAN version 3.24
[DELTA]
3.24 - Tue Aug 19 03:38:07 UTC 2014
* Release 3.24
Make sure when we open a filehandle for reading
or writing, we set ':encoding(UTF-8)' on it
everywhere. Closes RT#98019.
3.23_01 - Sat Aug 16 16:47:45 UTC 2014
* Test release to test UTF8 filehandles.
* Happy CPAN Day!
Chris 'BinGOs' Williams [Thu, 21 Aug 2014 10:34:14 +0000 (11:34 +0100)]
Update Socket version in Maintainers.pl
Chris 'BinGOs' Williams [Thu, 21 Aug 2014 10:32:26 +0000 (11:32 +0100)]
Update Test-Harness to CPAN version 3.33
[DELTA]
3.33
- Various documentation fixes (Leon Timmermans, Justin Cook)
Chris 'BinGOs' Williams [Thu, 21 Aug 2014 10:07:03 +0000 (11:07 +0100)]
Update experimental to CPAN version 0.010
[DELTA]
0.010 2014-08-19 17:47:20+02:00 Europe/Amsterdam
Add returning 1's to evals in tests
0.009 2014-08-16 13:43:53+02:00 Europe/Amsterdam
Hardcode features for perl < 5.15.7
Jarkko Hietaniemi [Thu, 21 Aug 2014 02:48:05 +0000 (22:48 -0400)]
IEEE quadruple exponents were off.
Peter Martini [Thu, 21 Aug 2014 11:23:39 +0000 (07:23 -0400)]
Module::CoreList version number bump
Peter Martini [Thu, 21 Aug 2014 06:35:17 +0000 (02:35 -0400)]
Version bump addendum; changed a 5.21.1 to .3
The note on backwards compatibility notes that this
may not be binary compatible with version 5.21.1 or earlier.
That should float to always be one subversion behind the current,
so bumping it to 5.21.3.
Peter Martini [Thu, 21 Aug 2014 06:32:55 +0000 (02:32 -0400)]
Bump version number from 5.21.3 to 5.21.4
Peter Martini [Thu, 21 Aug 2014 06:02:48 +0000 (02:02 -0400)]
New perldelta.
Chris 'BinGOs' Williams [Thu, 21 Aug 2014 09:50:39 +0000 (10:50 +0100)]
Module-CoreList CPAN version synchronisation
Peter Martini [Thu, 21 Aug 2014 05:39:04 +0000 (01:39 -0400)]
Epigraph for 5.21.3
Peter Martini [Thu, 21 Aug 2014 05:17:36 +0000 (01:17 -0400)]
Merge branch 'release-5.21.3' into blead
Peter Martini [Thu, 21 Aug 2014 02:47:01 +0000 (22:47 -0400)]
Scowl. 19 should have been '[VERSION]'
And I should have noticed that before I hit 'send'!
Peter Martini [Wed, 20 Aug 2014 20:20:05 +0000 (16:20 -0400)]
perldelta: cleanup per JHI's comment
Peter Martini [Wed, 20 Aug 2014 08:23:26 +0000 (04:23 -0400)]
Add new release to perlhist
Peter Martini [Wed, 20 Aug 2014 08:21:39 +0000 (04:21 -0400)]
Final perldelta change for 5.21.3
Peter Martini [Wed, 20 Aug 2014 08:21:14 +0000 (04:21 -0400)]
Update Module::CoreList for 5.21.3
Peter Martini [Wed, 20 Aug 2014 07:49:31 +0000 (03:49 -0400)]
perldelta suggested by Module-CoreList
Peter Martini [Wed, 20 Aug 2014 07:40:53 +0000 (03:40 -0400)]
perldelta: document the ExtUtils move to cpan/
Peter Martini [Wed, 20 Aug 2014 07:15:28 +0000 (03:15 -0400)]
perldelta: fix my bad pod
Jarkko Hietaniemi [Wed, 20 Aug 2014 13:45:50 +0000 (09:45 -0400)]
perldelta for hexadecimal floats.
Alexandre (Midnite) Jousset [Wed, 20 Aug 2014 19:24:21 +0000 (21:24 +0200)]
magic.t: android: bypass two $0 tests and add one
"ps" on Android has different syntaxes depending on the tool used.
It can be toolbox or busybox. Bypass the "ps" tests and enable
the /proc/$$/cmdline one.
Brian Fraser [Wed, 20 Aug 2014 18:25:18 +0000 (20:25 +0200)]
Android hints: Always append /system/lib and /vendor/lib in libpth
These are the canonical directories for libraries on Android.
This is only mildly important for native builds, since
whatever toolchain was installed will likely provide
their own /lib, but is quite important for cross builds.
Brian Fraser [Wed, 20 Aug 2014 17:21:30 +0000 (19:21 +0200)]
Android hints: define d_procselfexe and procselfexe if needed
Only affects cross-compile builds; currently the tests
in Configure for this feature will be run on the host,
not the target system, which makes the detection of the
feature unreliable.
Since we know that /proc/self/exe exists, just define it
and set $procselfexe to that.
Brian Fraser [Wed, 20 Aug 2014 17:19:13 +0000 (19:19 +0200)]
Configure: Improve the d_prctl_set_name detection for Android
On some versions of Android (e.g., 4.2.2, API level 17)
the header that defines the constants used for this test
will not work if unistd.h isn't already included.
Jarkko Hietaniemi [Wed, 20 Aug 2014 15:31:15 +0000 (11:31 -0400)]
Mention the possibility of fp rounding modes' effects.
Jarkko Hietaniemi [Wed, 20 Aug 2014 15:19:39 +0000 (11:19 -0400)]
Try addressing perl #122578, low-order fp diffs.
Jarkko Hietaniemi [Wed, 20 Aug 2014 13:48:26 +0000 (09:48 -0400)]
Pass $ENV{HARNESS_TIMER} to Test::Harness from t/harness.
(One would think it worked as-is, but didn't. Maybe T::H resets it somehow.)
Jarkko Hietaniemi [Wed, 20 Aug 2014 13:45:50 +0000 (09:45 -0400)]
perldelta for hexadecimal floats.
Jarkko Hietaniemi [Mon, 18 Aug 2014 16:41:41 +0000 (12:41 -0400)]
Separate grok_infnan() from grok_number().
Remaining issues:
(1) would need tests, but there are two problems: [a] generating inf/nan
reliably and testing for it from Perl level is hard (see items (2) and
(3) below), and [b] the behavior of various systems with especially NaN
differs (some platforms might throw SIGFPEs).
(2) toke.c:scan_number() will not call this code (via grok_number)
because "NaN" or "Inf" do not look at all like floats to it.
(3) Even as we now recognize these forms, the native strtod()
might not (problem of cross-portability of these exceptional
forms: Win32 outputs e.g. "1.#INF", what Linux reading this should do,
or conversely Linux outputs "Inf", what should Win32 do?)
Jarkko Hietaniemi [Mon, 18 Aug 2014 15:31:50 +0000 (11:31 -0400)]
Perl_signbit should return non-zero for -0.
Jarkko Hietaniemi [Mon, 18 Aug 2014 14:55:13 +0000 (10:55 -0400)]
Win32 apparently has _isnan() and _finite(), and _fpclass().
(At least, if one believes the Oracle of Google.)
Jarkko Hietaniemi [Mon, 18 Aug 2014 13:12:09 +0000 (09:12 -0400)]
Use Perl_isfinite().
Also kill obsolete/wrong comment: Perl_frexp is not casting its
argument to NV, and if USE_LONG_DOUBLE Perl_frexp is frexpl.
And if we do have long double and don't have frexpl, it is unclear
what should we do? (in this particular case, casting to double might
be the best possible thing to do anyway.)
Jarkko Hietaniemi [Mon, 18 Aug 2014 12:23:17 +0000 (08:23 -0400)]
Perl_isinf enhancements.
Try isfinitel first, and require Perl_isnan.
Jarkko Hietaniemi [Mon, 18 Aug 2014 12:56:48 +0000 (08:56 -0400)]
OSX does have isfinite(), and 10.9+ prefers it over finite().
isfinite() is a macro+inline while Configure tests it as a library symbol.
Jarkko Hietaniemi [Mon, 18 Aug 2014 12:55:23 +0000 (08:55 -0400)]
Perl_isfinite() enhancements.
Use isfinitel() if available, prefer C99 isfinite() over BSD finite().
Jarkko Hietaniemi [Mon, 18 Aug 2014 13:57:06 +0000 (09:57 -0400)]
Configure for isfinitel / isinfl.
Jarkko Hietaniemi [Tue, 19 Aug 2014 22:44:30 +0000 (18:44 -0400)]
Add todo comment about special hexfp values.
Jarkko Hietaniemi [Wed, 20 Aug 2014 02:16:54 +0000 (22:16 -0400)]
Quadruple float BE test triggering had a typo.
Jarkko Hietaniemi [Mon, 18 Aug 2014 16:56:51 +0000 (12:56 -0400)]
Reduce double-double %a to single-double for now.
How to exactly handle the second double is unknown, so for
now extract the mantissa bits only from the first double.
(Known platforms aix-ppc and linux-ppc.)
Jarkko Hietaniemi [Mon, 18 Aug 2014 21:04:06 +0000 (17:04 -0400)]
double-double needs the first mantissa bits of doubles.
Jarkko Hietaniemi [Mon, 18 Aug 2014 19:27:58 +0000 (15:27 -0400)]
Modify the hexfp exponent explicitly in each long double case.
Jarkko Hietaniemi [Mon, 18 Aug 2014 12:13:18 +0000 (08:13 -0400)]
Comment: scan_num also handles hexadecimal floats now.
H.Merijn Brand [Wed, 20 Aug 2014 09:07:25 +0000 (11:07 +0200)]
Configure backports cause reorder
Peter Martini [Wed, 20 Aug 2014 07:15:28 +0000 (03:15 -0400)]
perldelta: fix my bad pod
syber [Fri, 8 Aug 2014 17:06:10 +0000 (21:06 +0400)]
Make S_method_common use gv_stashpvn instead of copypasted cache usage
The previous commit copied the PL_stashcache handling code from
S_method_common() to gv_stashpvn(), so now we can call that function
directly rather than doing it ourselves.
syber [Fri, 8 Aug 2014 15:03:03 +0000 (19:03 +0400)]
Make gv_stashpvn() use PL_stashcache
perl has a stash name lookup cache, which is currently just used for
looking up up class names in Some::Class->method calls. This means
that a lookup of the class name 'A::B::C' gets reduced from doing
several stash lookups (e.g. $::{'A::'}{'B::'}{'C::'}) to a single
cache lookup (e.g. $PL_stashcache{'A::B::C::'}, so to speak).
Make gv_stashpvn() use this cache too, which means that all package
name lookups benefit, not just class method calls. Among other things,
this also indirectly affects bless operations both from Perl (OP_BLESS)
and XS.
Peter Martini [Wed, 20 Aug 2014 06:55:31 +0000 (02:55 -0400)]
perldelta: finished the stragglers
Cleaned up remaining XXX entries, checked formatting,
all that's left is contributors.
Peter Martini [Wed, 20 Aug 2014 06:42:00 +0000 (02:42 -0400)]
perldelta for 7e0dd61, MurmurHash64[AB]
Peter Martini [Wed, 20 Aug 2014 06:39:44 +0000 (02:39 -0400)]
perldelta for f04d2c3
Peter Martini [Wed, 20 Aug 2014 06:33:15 +0000 (02:33 -0400)]
perldelta: put fatal perldiags in the right spot
Peter Martini [Wed, 20 Aug 2014 06:29:48 +0000 (02:29 -0400)]
perldelta: No deprecations or perf enhancements
Peter Martini [Wed, 20 Aug 2014 06:22:45 +0000 (02:22 -0400)]
perldelta for 842a9d2, [perl #122460]
Peter Martini [Wed, 20 Aug 2014 06:16:34 +0000 (02:16 -0400)]
perldelta: platform specific notes
Peter Martini [Wed, 20 Aug 2014 05:53:59 +0000 (01:53 -0400)]
perldelta: document grok_atou
Peter Martini [Wed, 20 Aug 2014 05:49:31 +0000 (01:49 -0400)]
perldelta for f57000b
Peter Martini [Wed, 20 Aug 2014 05:32:35 +0000 (01:32 -0400)]
perldelta: Added documentation changes
Peter Martini [Wed, 20 Aug 2014 05:05:48 +0000 (01:05 -0400)]
perldelta remove (most) boilerplate
Peter Martini [Wed, 20 Aug 2014 04:53:26 +0000 (00:53 -0400)]
perldelta for Safe changes
Safe was bumped to 2.38 after a mechanism to replace subs was
discovered and fixed.
Peter Martini [Wed, 20 Aug 2014 04:33:49 +0000 (00:33 -0400)]
perldelta for 57d69a4
HTTP::Tiny version bump
Peter Martini [Wed, 20 Aug 2014 04:31:07 +0000 (00:31 -0400)]
perldelta for f4ef132
defined(AASSIGN) is not fatalized
Peter Martini [Wed, 20 Aug 2014 04:16:34 +0000 (00:16 -0400)]
perldelta for 60df683
Config::Perl::V version bump
Peter Martini [Wed, 20 Aug 2014 04:14:32 +0000 (00:14 -0400)]
perldelta for 5f8324b
CPAN::Meta version bump
Peter Martini [Wed, 20 Aug 2014 04:13:22 +0000 (00:13 -0400)]
perldelta for 54b7cb3
Delta for CPAN::Meta::Requirements version bump
Peter Martini [Wed, 20 Aug 2014 03:59:06 +0000 (23:59 -0400)]
perldelta for
438f0014a812, revised
It was actually 1.19 to 1.21, missed the earlier one.
Peter Martini [Wed, 20 Aug 2014 03:55:46 +0000 (23:55 -0400)]
perldelta for
438f0014a812
Peter Martini [Wed, 20 Aug 2014 03:48:48 +0000 (23:48 -0400)]
perldelta for jhi double/float work
Peter Martini [Wed, 20 Aug 2014 02:58:33 +0000 (22:58 -0400)]
perldelta for
4cedf205aa6e
Peter Martini [Wed, 20 Aug 2014 02:40:08 +0000 (22:40 -0400)]
perldelta for
3699825258c
Peter Martini [Wed, 20 Aug 2014 02:16:52 +0000 (22:16 -0400)]
perldelta typo fix: change a ',' to a '.'
Peter Martini [Wed, 20 Aug 2014 01:23:39 +0000 (21:23 -0400)]
Revert Test::Builder changes in prep for 5.21.3
This reverts commit
6bdb88770f849c47b5c09e733ac460ce3e9dbc97
and commit
59c96aebdd56baf5d1979103046b1c6d4e308aa2, which
are causing the test suite to run much slower and which are
failing on some platforms.
http://nntp.perl.org/group/perl.perl5.porters/218678 has
further details, with RT 122538 being the ticket number.
Karen Etheridge [Wed, 20 Aug 2014 00:21:09 +0000 (17:21 -0700)]
spelling: till -> until
Karen Etheridge [Wed, 20 Aug 2014 00:20:01 +0000 (17:20 -0700)]
document what version \K was added in
Brian Fraser [Tue, 29 Jul 2014 18:30:44 +0000 (20:30 +0200)]
When cross-compiling, copy cpan/Module-Metadata/
cpan/Module-Metadata/t/encoding.t needs some files in the
distribution to pass.
Craig A. Berry [Tue, 19 Aug 2014 11:53:42 +0000 (06:53 -0500)]
Fix finite/finitel/isfinite in configure.com.
VMS has had these for a very long time but we haven't been
admitting it. Spotted by Jarkko.
Chad Granum [Mon, 18 Aug 2014 21:04:14 +0000 (14:04 -0700)]
Update blead to Test::Builder alpha 40
Fixes performance issues
Fixes a test failure specific to certain utf8 conditions
Fixes a broken win32+fork test
Committer's notes: 2nd Test-Simple patch applied;
corresponds to $Test::Simple::VERSION 1.301001_040
Father Chrysostomos [Mon, 18 Aug 2014 00:26:47 +0000 (17:26 -0700)]
perldelta for
b5b6210a9/#46947
Jarkko Hietaniemi [Sun, 17 Aug 2014 20:47:01 +0000 (16:47 -0400)]
Include longdblkind in perl -V output.
Jarkko Hietaniemi [Sun, 17 Aug 2014 17:51:01 +0000 (13:51 -0400)]
Comment tweaks.
Jarkko Hietaniemi [Sun, 17 Aug 2014 17:50:08 +0000 (13:50 -0400)]
Little-endian double-double detection was wrong.
Jarkko Hietaniemi [Sun, 17 Aug 2014 14:00:06 +0000 (10:00 -0400)]
Add quadruple precision tests, verified by Craig Berry.
Also tentatively adding double-double tests, but those are probably bogus.
Also comment tweaks.
Jarkko Hietaniemi [Sat, 16 Aug 2014 15:27:52 +0000 (11:27 -0400)]
Separate the extraction of hex values.
This way we can call it twice: first to count the size of output (and
sanity check the extraction indices), and the second time to actually
extract. Otherwise with bad extraction code we will smash the stack.
Furthermore, this makes for cleaner code since the large #ifdef forest
(about differing long double formats, and different uv/nv/quad sizes)
is moved within the helper function.
Furthermore: IEEE 754 128-bit extraction was extracting wrong:
we need only the mantissa bits, and in the right nybble order.
Last but not least, handle the 'implicit bit' of IEEE 754 quadruple
and double-double (but which is explicitly *not* in the 80-bit format).
(If we handled the standard 64-bit format by explicit byte extraction,
instead of frexp+ldexp the hidden bit would be needed there, too.)
Chad Granum [Fri, 15 Aug 2014 15:40:10 +0000 (08:40 -0700)]
Update to include latest Test::Builder alpha
Also updated some tests that the new builder broke
Father Chrysostomos [Sat, 16 Aug 2014 04:52:12 +0000 (21:52 -0700)]
Update exp_name in toke.c, following
b5b6210a976
Ooops.
$ ./miniperl -DT -e 'undef'
### 0:LEX_NORMAL/XSTATE "\n"
### <== UNIOP(ival=op_undef)
### 1:LEX_NORMAL/XNumber too long ";" <------ Look here!
### <== ';'
### 1:LEX_NORMAL/XSTATE ""
### Tokener got EOF
### <== EOF
EXECUTING...
Jarkko Hietaniemi [Sat, 16 Aug 2014 01:54:48 +0000 (21:54 -0400)]
Socket 2.015
Karl Williamson [Fri, 15 Aug 2014 16:34:53 +0000 (10:34 -0600)]
reg_posixcc.t: display chr(\\xXX) should be chr(0xXX)
The test name was misleading. The operand to chr should be an ord.