Nicholas Clark [Sun, 26 May 2013 06:50:17 +0000 (08:50 +0200)]
Improved struct pmop alignment fix - avoid the slow path on 64 bit systems.
Commit
c2a50ddb1bed6576 works round an alignment bug in the slab allocator
for 32 bit systems built with 64 bit IVs. However, the C pre-processor logic
meant that the test path was enabled on true 64 bit systems. It's not needed
there, so improve the logic so that it isn't compiled for platforms where
pointers are 64 bit.
Father Chrysostomos [Thu, 20 Jun 2013 21:07:19 +0000 (14:07 -0700)]
[perl #118305] make dtrace sub-entry probe support lexsubs
No tests, because I don’t know how to write them.
See also <https://rt.perl.org/rt3/Ticket/Display.html?id=118305#txn-1221543>.
I have tested this manually, so I know it works and no longer crashes.
Hopefully someone else can follow this up with tests.
Father Chrysostomos [Thu, 20 Jun 2013 11:55:20 +0000 (04:55 -0700)]
optree_constants.t: Correct line number in comment
Why we need a reference like this is beyond me, but it is extremely
fragile, because even cosmetic changes to gv.t will throw it off.
That said, at least the next person looking at it won’t be as puzzled
as I was (until the next gv.t change).
Father Chrysostomos [Thu, 20 Jun 2013 05:50:35 +0000 (22:50 -0700)]
perldiag: Document ‘Can't call mro_method_changed_in()’
David Golden [Fri, 21 Jun 2013 09:37:19 +0000 (05:37 -0400)]
Revert "portport: remove DG/UX"
This reverts commit
28371e3dbee6234e13f1dfa4afb650ba7691ebfc.
David Golden [Fri, 21 Jun 2013 03:13:53 +0000 (23:13 -0400)]
Porting/epigraphs.pod: add link to release announcement
Brian Gottreu [Fri, 21 Jun 2013 00:28:23 +0000 (17:28 -0700)]
Benchmark.t: fix skip() argument order
David Golden [Fri, 21 Jun 2013 02:29:24 +0000 (22:29 -0400)]
stub Module::CoreList for v5.19.2
David Golden [Fri, 21 Jun 2013 02:14:02 +0000 (22:14 -0400)]
bump version to v5.19.2
David Golden [Fri, 21 Jun 2013 02:01:51 +0000 (22:01 -0400)]
new perldelta
David Golden [Fri, 21 Jun 2013 01:39:00 +0000 (21:39 -0400)]
Porting/epigraphs.pod: add v5.19.1 and v5.19.0 epigraphs
David Golden [Thu, 20 Jun 2013 22:54:32 +0000 (18:54 -0400)]
add cpan/autodie/t/truncate_me to makerel @writables list
David Golden [Thu, 20 Jun 2013 21:39:11 +0000 (17:39 -0400)]
finalize perldelta.pod for v5.19.1
David Golden [Thu, 20 Jun 2013 20:54:09 +0000 (16:54 -0400)]
update perlhist for v5.19.1
David Golden [Thu, 20 Jun 2013 20:40:42 +0000 (16:40 -0400)]
update Module::CoreList for v5.19.1 release
David Golden [Thu, 20 Jun 2013 20:24:05 +0000 (16:24 -0400)]
portport: remove DG/UX
David Golden [Thu, 20 Jun 2013 20:20:29 +0000 (16:20 -0400)]
Fix Perl version references in INSTALL
Also update the RMG to remind people to do this for the "late" bumps in
BLEAD-POINT and BLEAD-FINAL releases
Yves Orton [Thu, 20 Jun 2013 19:51:48 +0000 (21:51 +0200)]
add some tests for Perl #71922
Apparently this is fixed now. But add tests
David Golden [Thu, 20 Jun 2013 02:28:22 +0000 (22:28 -0400)]
Rough draft of perldelta for v5.19.1
Added some things that were missing; deleted lots of boilerplate and
unused sections.
Module updates are not done, as Module::CoreList needs updating first.
Acknowlegements are not done, either.
David Golden [Thu, 20 Jun 2013 01:17:42 +0000 (21:17 -0400)]
bump Time::Piece VERSION to 1.2002
David Golden [Thu, 20 Jun 2013 00:57:53 +0000 (20:57 -0400)]
t/porting/customized.t: consistent data file sorting
David Golden [Thu, 20 Jun 2013 00:41:00 +0000 (20:41 -0400)]
Update Maintainers.PL for divergence from cpan
I've noted some files customized in blead and marked
Devel::PPPort as 'undef' upstream as it appears unmaintained
and rjbs has asked the maintainer to switch it to blead.
With this change, core-cpan-diff on the 'cpan' upstream is clean.
David Golden [Wed, 19 Jun 2013 22:34:52 +0000 (18:34 -0400)]
fix core-cpan-diff treatment of 'undef'
Father Chrysostomos [Wed, 19 Jun 2013 12:57:34 +0000 (05:57 -0700)]
perldelta for #118047
Father Chrysostomos [Wed, 19 Jun 2013 12:55:28 +0000 (05:55 -0700)]
[perl #118047] Don’t warn for tr//a/c
Since /c means to invert the search list (the empty string), making
it match all characters, it doesn’t make sense to warning about the
replacement list (a) being longer than the search list.
Chris 'BinGOs' Williams [Wed, 19 Jun 2013 07:14:10 +0000 (08:14 +0100)]
Update Archive-Tar to CPAN version 1.92
[DELTA]
* important changes in version 1.92 18/09/2013 (David Steinbrunner)
- typo fixes
Nicholas Clark [Tue, 18 Jun 2013 14:24:20 +0000 (16:24 +0200)]
If miniperl fails the simple Exporter test, print a message and bail out.
Previously the Makefile rule for miniperl would attempt to automatically run
minitest if the simple Exporter test failed. It did this by recursively
calling make in the same directory, which is not a totally safe thing to do
even at the best of times.
However commit
cb251201d6951395, necessary to simplify other parts of the
toolchain bootstrapping, has made it easy to trigger an infinite loop of
Makefile recursion if miniperl is unable to run the simple Exporter test.
So, for now, defuse the trap by avoiding the recursive make call. A better
long term solution will be to set up and run minitest by something other than
a Makefile target, such as a shell script. As it's not immediately obvious how
to best integrate this with ./runtests, commit this simpler fix for now.
Nicholas Clark [Mon, 17 Jun 2013 12:02:13 +0000 (14:02 +0200)]
For *nix, only delete the ppport.h files that we created.
Given that we have the list of places to create ppport.h files easily
accessible, it's easy to delete only the files that we created, and avoid a
find recursing into all of ext/, dist/ and cpan/. This also means that if
anyone drops a module from CPAN into ext/ to build it as part of the core,
any ppport.h it has won't be wiped out by the core. This is one of the few
things that goes wrong, as the rest of the distclean target is very careful
to only delete files that it knows that the build process built.
Ricardo Signes [Tue, 18 Jun 2013 23:13:59 +0000 (19:13 -0400)]
perldelta: note the change to "goto" in perlfunc
Ricardo Signes [Tue, 18 Jun 2013 23:12:03 +0000 (19:12 -0400)]
replace weird C<goto-TYPE> with C<goto TYPE>
the hyphenated form dates to a0d0e21, the Perl 5.000 commit
nothing else looks this way, and the difference seems to win
us nothing
Ricardo Signes [Mon, 17 Jun 2013 22:21:51 +0000 (18:21 -0400)]
document that goto-EXPR will treat a subref differently
This has been the case since Perl 5.8 at least, and possibly longer.
This resolves [perl #118523].
Karl Williamson [Tue, 18 Jun 2013 22:00:43 +0000 (16:00 -0600)]
lib/locale.t: Remove workaround for now fixed #108378
Father Chrysostomos [Tue, 18 Jun 2013 20:40:18 +0000 (13:40 -0700)]
UTF8f
This new format string allows char*s to be interpolated with the
utf8ness and length specified as well:
Perl_croak(aTHX_ "Couldn't twiggle the twoggle in \"%"UTF8f"\"",
is_utf8, len, s);
This commit changes one function call in gv.c to use UTF8f (it should
go faster now) as an example of its use.
This was brought up in ticket #113824. This commit does not fix
#113824, but provides groundwork that makes it easier to fix.
Karl Williamson [Tue, 18 Jun 2013 20:23:57 +0000 (14:23 -0600)]
perlfunc: Add caveat about string eval containing NV scalar
Karl Williamson [Tue, 18 Jun 2013 20:08:32 +0000 (14:08 -0600)]
perlapi: Add note to isASCII
Karl Williamson [Tue, 18 Jun 2013 19:40:35 +0000 (13:40 -0600)]
perlrecharclass: Nits
Karl Williamson [Tue, 18 Jun 2013 19:24:14 +0000 (13:24 -0600)]
pp.c: Use correct size for two arrays.
The number of bytes the result of changing the case of a single UTF-8
character is given by UTF8_MAXBYTES_CASE. In one of these arrays, space
is saved by using the proper #define; in the other there is no change
except on EBCDIC platforms.
Karl Williamson [Tue, 18 Jun 2013 19:08:32 +0000 (13:08 -0600)]
Nicholas Clark [Tue, 18 Jun 2013 09:26:50 +0000 (11:26 +0200)]
In FindExt, use File::Find instead of shelling out to a dir command.
The FindExt code is tested on *nix, and at least some systems have a dir
executable, which generates warnings to stderr when invoked with parameters
intended for the Win32 dir command.
File::Find is portable, and avoids starting a new process.
Chris 'BinGOs' Williams [Tue, 18 Jun 2013 17:39:44 +0000 (18:39 +0100)]
Add Module::CoreList::Utils to perldelta as a new module.
Chris 'BinGOs' Williams [Tue, 18 Jun 2013 17:34:09 +0000 (18:34 +0100)]
Add documentation for Module::CoreList::Utils
Chris 'BinGOs' Williams [Tue, 18 Jun 2013 17:09:30 +0000 (18:09 +0100)]
Correct module links in perldelta
Father Chrysostomos [Tue, 18 Jun 2013 15:26:12 +0000 (08:26 -0700)]
perldelta for #118297
copied from
f4612955aa389 on the maint-5.18 branch
Chris 'BinGOs' Williams [Tue, 18 Jun 2013 12:44:59 +0000 (13:44 +0100)]
Update release managers guide to note to bump Module::CoreList::Utils version too
Chris 'BinGOs' Williams [Tue, 18 Jun 2013 12:40:52 +0000 (13:40 +0100)]
Manually add Utils delta for v5.19.1
I haven't fixed the adjustments to Porting/corelist.pl yet
for generating a utils delta.
Peter Martini [Tue, 18 Jun 2013 04:07:05 +0000 (00:07 -0400)]
Upgrade cv_flags_t from 16 to 32 bits.
Its main use is in a struct otherwise filled with pointers, which
means on 32-bit architectures its almost certainly taking up 32
bits anyway.
Lukas Mai [Tue, 18 Jun 2013 07:51:32 +0000 (09:51 +0200)]
don't crash on deep recursion warnings in lexical subs (#118521)
Father Chrysostomos [Sun, 16 Jun 2013 13:52:35 +0000 (06:52 -0700)]
subst.t: Rename test
This was copied and pasted from the previous test.
Father Chrysostomos [Sat, 15 Jun 2013 14:34:14 +0000 (07:34 -0700)]
concat2.t: Unskip an encoding.pm test
We should still test that it doesn’t crash, even if it
is deprecated.
Steve Hay [Tue, 18 Jun 2013 08:33:08 +0000 (09:33 +0100)]
Fix ext\B\t\concise.t when building with ALL_STATIC=define on Windows
Skip testing that Data::Dumper is loaded as needed when it is statically
linked.
Steve Hay [Tue, 18 Jun 2013 08:02:14 +0000 (09:02 +0100)]
Fix t\op\magic.t when building with ALL_STATIC=define on Windows
Two tests must be skipped in this case since Tie::Hash::NamedCapture is
already loaded, but the existing skip doesn't cover this case. The Windows
static build statically links extensions into perl519.dll, not perl.exe
(although there is a separate perl-static.exe as well for anyone wanting
that), so $Config{usedl} is still set to 'define'.
So instead, check $Config{static_ext} to see if the package is really
statically linked, which is a more accurate check anyway and renders the
$Config{usedl} check redundant.
Steffen Mueller [Tue, 18 Jun 2013 05:37:14 +0000 (07:37 +0200)]
Mark the common case with LIKELY branch predictor hint
Freeing an SV usually indicates its refcount is 1.
Karl Williamson [Tue, 18 Jun 2013 04:47:02 +0000 (22:47 -0600)]
perllocale: Update, clarify
This rearranges and rewords portions of perllocale to be clearer,
and to add some missing caveats.
Karl Williamson [Tue, 18 Jun 2013 04:04:47 +0000 (22:04 -0600)]
Don't use locale definitions unless within scope
Prior to this patch, stringification of an NV used the current locale's
decimal point character, even outside the scope of a 'use locale'. This
is contrary to the documentation (though one example in perllocale
omitted the 'use locale') and can lead to unexpected results.
There was one test in the core that relied on the old behavior, and
maybe more in CPAN. This patch is being made early in 5.19 to see what
breaks. I do believe though that any breakage is trumped by the
principal that locale rules should only be used if locales are
explicitly requested.
Karl Williamson [Mon, 13 May 2013 13:35:35 +0000 (07:35 -0600)]
PATCH: [perl #108378] [perl #115800]
This patch solves two tickets. Both are a result of the stringification
of a floating number being sticky, so that the character representing
the decimal point may be from an old locale. The patch solves this by
not retaining the stringification of NVs.
Karl Williamson [Mon, 17 Jun 2013 03:17:58 +0000 (21:17 -0600)]
perllocale: Nits
Karl Williamson [Mon, 6 May 2013 00:40:08 +0000 (18:40 -0600)]
regcomp.c: Reorder tests to avoid throwing away work.
Prior to this patch, we did work based on a test that could be thrown
away as a result of the next test. This reorders so that doesn't happen
Steve Hay [Mon, 17 Jun 2013 16:54:27 +0000 (17:54 +0100)]
Set Config's *extensions and *_ext vars correctly for Win32 static builds
When building with ALL_STATIC=define on Win32, we arranged for Encode's
sub-extensions to get built (in win32/config_sh.PL), but neglected to list
them in the relevant Config variables, causing test failures in
t/porting/FindExt.t and lib/Config/Extensions.t. Moving the special logic
for Encode into win32/FindExt.pm fixes that.
Fix a related test failure regarding Sys-Syslog (not built on Win32) while
we're at it.
Chris 'BinGOs' Williams [Mon, 17 Jun 2013 08:57:23 +0000 (09:57 +0100)]
Update HTTP-Tiny to CPAN version 0.031
[DELTA]
0.031 2013-06-16 23:18:18 America/New_York
[FIXED]
- Fixed bug receiving 0-length content bodies
Chris 'BinGOs' Williams [Sun, 16 Jun 2013 22:04:05 +0000 (23:04 +0100)]
Update HTTP-Tiny to CPAN version 0.030
[DELTA]
0.030 2013-06-13 11:46:15 America/New_York
[FIXED]
- Requests with the empty string as body content no longer generate
'content-type' and 'content-length' headers.
Chris 'BinGOs' Williams [Sun, 16 Jun 2013 22:00:36 +0000 (23:00 +0100)]
Update Getopt-Long to CPAN version 2.40
[DELTA]
Changes in version 2.40
-----------------------
* Fix bug #86095 Possible problem with aliases
* Fix bug #85362 typo fix
SHIRAKATA Kentaro [Sun, 16 Jun 2013 06:39:41 +0000 (15:39 +0900)]
Small corrections in perlsyn, less one identified by tomc++.
For: RT #118495
Chris 'BinGOs' Williams [Sat, 15 Jun 2013 13:13:45 +0000 (14:13 +0100)]
Update Unicode-Collate to CPAN version 0.98
[DELTA]
0.98 Sat Jun 15 19:44:06 2013
- typo (see [rt.cpan.org #85655] typo fixes)
Father Chrysostomos [Fri, 14 Jun 2013 15:18:31 +0000 (08:18 -0700)]
pad.c: Correct comment added by
dd2155a49b
Father Chrysostomos [Fri, 14 Jun 2013 08:31:01 +0000 (01:31 -0700)]
pp.c: pp_ref: remove null checks
There is no way a null can get on to the stack here. The only piece
of code that puts nulls on the stack is pp_coreargs, which doesn’t do
that for functions with a _ prototype.
Father Chrysostomos [Fri, 14 Jun 2013 08:08:32 +0000 (01:08 -0700)]
perlfunc: mention that cho(m)p resets the iterator
Father Chrysostomos [Fri, 14 Jun 2013 07:59:03 +0000 (00:59 -0700)]
doop.c: Correct introductory text
do_chomp has not been in that file since
81745e4ea46c8.
Father Chrysostomos [Fri, 14 Jun 2013 07:40:23 +0000 (00:40 -0700)]
pp.c: Eliminate unnecessary dORIGMARK from pp_anonlist
This extra protection was added in commit
44a8e56aa0 or
d976ac8220
(I’m a little confused as to the history here).
At the time, av_make really could reallocate the stack. That changed
in commit
efaf36747029.
Now there is no need for dORIGMARK and ORIGMARK. (ORIGMARK is more
expensive than MARK since it looks up PL_stack_base and recalculates
where we are on the stack, based on a recorded offset. MARK simply
stores a pointer to where we want to be.)
Father Chrysostomos [Fri, 14 Jun 2013 07:19:30 +0000 (00:19 -0700)]
op.c: Don’t reallocate a temp for lvalue funcs
There is no reason why keys, substr, pos and vec that can occur in
lvalue context need to reliquish ownership of the scalar in the
scratchpad used to return the value in rvalue context (the TARG) and
then have a new one allocated.
Also, the new TARG was marked PADMY, so, if the lvalue op got freed
(e.g., if it was inside if(0){...}), then its pad slot would remain
unusable by code subsequently compiled in the same sub, since pad_free
only turns off the PADTMP flag, not the PADMY flag, and it would hence
appear to pad_alloc to be still in use. So it would waste a small
amount of memory in rare cases. (Based on reading code, not on a
gdb session.)
Father Chrysostomos [Tue, 11 Jun 2013 06:40:21 +0000 (23:40 -0700)]
op.c: add assertion
Chris 'BinGOs' Williams [Fri, 14 Jun 2013 23:07:26 +0000 (00:07 +0100)]
Update ExtUtils-MakeMaker to CPAN version 6.68
[DELTA]
6.68 Fri Jun 14 23:26:11 BST 2013
No changes from 6.67_05
6.67_05 Thu Jun 13 21:52:46 BST 2013
Doc fixes:
* RT#86007 - Restore meaning for divorced sentence
6.67_04 Mon Jun 10 20:18:25 BST 2013
Bug fixes
* Address RT#85406, where specifying 'meta-spec' in
META_[ADD|MERGE] would remove all prereqs (bingos)
6.67_03 Wed Jun 5 22:03:28 BST 2013
Doc Fixes
* Document how to specify meta-spec in META_MERGE (bingos)
6.67_02 Sun Jun 2 18:27:45 BST 2013
Bug Fixes
* Allow v-prefixed version strings once more (bingos)
* Typos fixed (David Steinbrunner)
* Resolve test failure with latest CPAN::Meta
6.67_01 Thu Apr 25 21:03:58 BST 2013
Doc Fixes
* Change references to makemaker.org in the docs
(Reported as RT#83246 by dolmen)
VOS Fixes
* 'core' files are keep files (*.kp) on vos, adjust the
'clean' target to account for this (Paul Green)
Win32 Fixes
* Increase dmake MAXLINELENGTH to 800000 (RT#77215) as
per kmx's recommendations (kmx)
Cygwin Fixes
* Allow linking of Cygwin libraries (Reini Urban)
Ricardo Signes [Fri, 14 Jun 2013 22:23:41 +0000 (18:23 -0400)]
note that \s matching \cK is marked experimental
Ricardo Signes [Fri, 14 Jun 2013 22:05:05 +0000 (18:05 -0400)]
perlexperiment: version of acceptance for \N{name}
Ricardo Signes [Fri, 14 Jun 2013 22:04:19 +0000 (18:04 -0400)]
perlexperiment: ithreads seemed accepted in 5.8.0
Ricardo Signes [Fri, 14 Jun 2013 22:01:29 +0000 (18:01 -0400)]
perlexperiment: long doubles are not experimental
Ricardo Signes [Fri, 14 Jun 2013 21:57:28 +0000 (17:57 -0400)]
reorder experiments by version (mostly)
Tony Cook [Fri, 14 Jun 2013 12:27:41 +0000 (22:27 +1000)]
the code that used hstat, istat, qstat was removed in
6fd8c33a
Tony Cook [Fri, 14 Jun 2013 12:26:47 +0000 (22:26 +1000)]
tboffset hasn't been used since
7196fc2f
Tony Cook [Fri, 14 Jun 2013 11:15:08 +0000 (21:15 +1000)]
prevent a couple of porting test issues under PERL_UNICODE
cmpVERSION.pl: get_file_from_git() was returning a character string
which was then passed to MM->parse_version(), implicitly using
PerlIO::scalar to parse the content.
test_bootstrap.t complains since some of the test files aren't valid
UTF-8.
Ricardo Signes [Fri, 14 Jun 2013 02:24:25 +0000 (22:24 -0400)]
remove reference to experimental code never in core
...at least not anywhere I can find it
Steve Hay [Fri, 14 Jun 2013 01:34:35 +0000 (02:34 +0100)]
Fix inclusion of Compress/Raw/Bzip2 and Encode in MinGW ALL_STATIC build
The build was previously failing with various undefined references because
there were some clashes in the names of the object files extracted into
STATICDIR (e.g. Compress/Raw/Bzip2 and Compress/Raw/Zlib both have object
files called compress.o).
The fix is to individually extract each static extension library and
archive its object files into the static perl library, rather than doing
them all together, and also to use ar's "quick append" mode rather than
"replace" mode otherwise we still won't get multiple object files with the
same names included in the static perl library as required.
Ricardo Signes [Fri, 14 Jun 2013 01:51:14 +0000 (21:51 -0400)]
note warning categories in perlexperiment
Ricardo Signes [Fri, 14 Jun 2013 01:44:23 +0000 (21:44 -0400)]
perldelta for the exec warning category change
Ricardo Signes [Wed, 12 Jun 2013 19:13:52 +0000 (15:13 -0400)]
fix category on "Statement unlikely to be reached"
The warning is documented as an "exec" category warning, but the
implementation mixes checking for exec and syntax. This makes
only the exec category apply.
Craig A. Berry [Thu, 13 Jun 2013 19:48:57 +0000 (14:48 -0500)]
Eliminate macro for OpenVMS debugger [perl #118447].
We need to do whatever the configuration says we are doing via
$Config{dbgprefix} and/or $Config{usevmsdebug} for extension
building to work, so it makes sense for the top-level build to
also base what it is doing on the configuration choice rather
than on the special invocation of MMK with /MACRO=__DEBUG__=1.
So this patch makes the top-level build do what we've configured
to do and eliminates the instruction to use the macro.
Yves Orton [Thu, 13 Jun 2013 19:02:36 +0000 (21:02 +0200)]
Possessive and non greedy quantifier modifiers are mutually exclusive
When I added support for possessive modifiers it was possible to
build perl so that they could be combined even if it made no sense
to do so.
Later on in relation to Perl #118375 I got confused and thought
they were undocumented but legal.
So to prevent further confusion, and since nobody has every mentioned
it since they were added, I am removing the unusued conditional
build logic, and clearly documenting why they aren't allowed.
Leon Timmermans [Sun, 9 Jun 2013 22:12:11 +0000 (00:12 +0200)]
Don't ignore signals on pclose
This is a bug, per POSIX
Nicholas Clark [Thu, 13 Jun 2013 13:27:04 +0000 (15:27 +0200)]
Merge the re-ordering of when in the build write_buildcustomize.pl is run.
write_buildcustomize.pl is now run as part of the rule that builds miniperl.
Hence if you've built miniperl, you've now always got lib/buildcustomize.pl
too, which simplifies Makefile dependency rules.
write_buildcustomize.pl is now more robust against errors, and miniperl will
abort if a corrupt lib/buildcustomize.pl is found.
None of these changes should have any visible effect outside of the build.
Nicholas Clark [Wed, 12 Jun 2013 13:25:28 +0000 (15:25 +0200)]
In miniperl, if lib/buildcustomize.pl fails to load, exit with an error.
Unlike sitecustomize.pl, if lib/buildcustomize.pl exists, it should not fail.
If it does, it should be reported immediately as a build failure.
This makes the build process more robust.
Nicholas Clark [Wed, 12 Jun 2013 13:17:24 +0000 (15:17 +0200)]
write_buildcustomize.pl now test loads the generated lib/buildcustomize.pl
And deletes it if it encounters an error whilst loading it. A non-functional
lib/buildcustomize.pl will cause the build to fail with seemingly unrelated
errors. Deleting it and exiting with an error should make the cause of build
failures obvious.
Nicholas Clark [Wed, 12 Jun 2013 12:42:15 +0000 (14:42 +0200)]
write_buildcustomize.pl no longer writes to STDOUT
write_buildcustomize.pl now opens lib/buildcustomize.pl itself, instead of
writing to STDOUT and relying on the Makefile to set up redirection. This
means that an empty lib/buildcustomize.pl is not created if
write_buildcustomize.pl fails to compile (for whatever reason), and permits
write_buildcustomize.pl to delete (or attempt to delete) the output file if
it detects an error.
Hard code the output file name (lib/buildcustomize.pl), as it's the same on
all platforms, and @ARGV is already used to optionally pass a directory for
write_buildcustomize.pl to change to before running.
Experimentation suggests that various make utilities don't delete a file
created by redirection even if an error occurs. Hence this should be more
robust.
Add -f to the miniperl commandline when running write_buildcustomize.pl to
avoid reading in any existing lib/buildcustomize.pl. write_buildcustomize.pl
doesn't need the setup provided by lib/buildcustomize.pl, and running it
might cause errors which prevents writing out a correct version, making an
incomplete build harder to recover from.
Nicholas Clark [Wed, 12 Jun 2013 07:44:37 +0000 (09:44 +0200)]
Remove the Icwd Makefile macros as lib/buildcustomize.pl now sets this up.
Now that lib/buildcustomize.pl is built at the same time as building
miniperl, it will always have added paths to Cwd into @INC. Hence there's no
longer a need for Makefile macros to do this.
On Win32 we can't eliminate $(ICWD) completely as it's also being used for some
invocations of the (real) perl binary. Only miniperl loads buildcustomize.pl
to set up @INC to include paths for the initial locations of modules such
as Cwd.
Nicholas Clark [Tue, 11 Jun 2013 19:23:46 +0000 (21:23 +0200)]
Generate lib/buildcustomize.pl at the same time as the miniperl executable.
Doing them together ensures that we always have lib/buildcustomize.pl
available. This simplifies things. The seemingly cranky ordering of having
miniperl notionally depend on lib/buildcustomize.pl, and the rule for
lib/buildcustomize.pl actually also building miniperl permits the rest of
the Makefile to depend on (the obvious) miniperl, not the obscure
lib/buildcustomize.pl
David Mitchell [Thu, 13 Jun 2013 08:00:56 +0000 (09:00 +0100)]
Benchmark.t: fix skip() call
David Mitchell [Thu, 13 Jun 2013 07:54:35 +0000 (08:54 +0100)]
Benchmark.t: make calibration a test
As a temporary measure, make a calibration failure not only a skip but a
failed test too, so I can see whether the real test fails more often in
smokes than the calibration.
Yves Orton [Wed, 12 Jun 2013 19:03:50 +0000 (21:03 +0200)]
do not warn when optimizing away /x{0,0}?+/ and /x{0,0}+/
In
c37d14f947f7998211b0455e453160fb7e15b22e Karl fixed an issue
reported in [perl #118375] "5.18 regex regression Quantifier follows nothing in regex"
but he fixed only the non-greedy modifier mentioned in the ticket,
and did not include support for the other quantifier modifiers like the
non-greedy possessive (stupid but not illegal), and the possessive
(useful) modifiers.
Hopefully this covers them all.
Note that because Karl already included support for m/x {0,0} ?/x
I have done so as well for the new cases. I do not necessarily endorse
the idea that it is legal or should be tested for. I am inclined to
think that '{0,0}?+' should be indivisible even under /x.
David Golden [Wed, 12 Jun 2013 17:05:29 +0000 (13:05 -0400)]
perldelta: add entries gleaned from commit messages
Steve Hay [Wed, 12 Jun 2013 17:11:29 +0000 (18:11 +0100)]
Corrections to
0511665b4b
- require './test.pl' in a BEGIN block, rather than use './test.pl'.
- Ensure the tests are done in the same program that emits the plan()
otherwise one copy of test.pl thinks tests were planned but not done
and the other thinks tests were done without being planned.
- Fix indentation.
Marcel Gruenauer [Tue, 22 Jan 2013 19:15:08 +0000 (20:15 +0100)]
converted t/win32.t/system* to test.pl style
David Mitchell [Wed, 12 Jun 2013 10:21:51 +0000 (11:21 +0100)]
Benchmark.t: consistent delta comparing
when we compare the number of iterations done in 3 seconds with
3 * (the number of iterations done in 1 second), the comparison's
effective delta of toleration depended on which value was larger:
if a > b, it tested for a/b <= 1.666; if b > a, it tested for b/a < 1.4.
Make it consistently 1.4 (or 1+$DELTA to be precise).