summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Introduce macros to simplify @INC settingNicolas R2017-11-133-124/+205
| | | | | | | | | | | | Distro trends to customize @INC, and to maintain patches to change the order of @INC or add custom entries. The goal of this patch is to abstract calls to 'S_incpush_use_sep' and simplify reordering @INC. This commit makes the code from perl.c more comfortable to read by introducing several 'INCPUSH_*' macros for every 'S_incpush_use_sep' call so we can easily reorder them.
* Storable: remove Config dependencyNicolas R2017-11-136-11/+61
| | | | | | | | | | | | | | | | | | RT #132406 Avoid loading Config/Config_heavy from Storable. Make Storable.pm a template file and check if the system can use flock at compile time. __Storable__.pm is the template file to edit, whereas Storable.pm.PL is the script generating Storable.pm from __Storable__.pm. Using a separate file for the template make it easier to edit. Also note that Storable.pm is now ignored by git.
* Time::HiRes disable a flapping test for CINicolas R2017-11-132-3/+16
| | | | | | | | | When running this test under heavy load we cannot assume the delta between two system calls... even when using a (nano)sleep Most Continuous Integration system will fail on this test at one point or the other.
* Make perlbug.t forgiving about newlines.Craig A. Berry2017-11-131-1/+1
| | | | | | On VMS, pipes often introduce extra newlines, so the test infrastructure deduplicates them, which then makes it impossible to check for more than one. So just check for one or more.
* travis.yaml: fixes for osxNicolas R2017-11-131-2/+2
| | | | | run brew update before installing ccache use TRAVIS_OS_NAME macro to check os
* Adjust porting/authors.t for travisciNicolas R2017-11-131-1/+11
| | | | | | | | | | | Add plan to porting/authors.t skip_plan was used but no plan or tap output was defined. When the test is run by TravisCI, use a shorten revision range. We do not want to have a pull request impacted by the previous state of blead, and we do not want to check the merge commit from travis which is using the github author primary email address.
* Remove win32 logic from t/porting/authors.tNicolas R2017-11-131-6/+9
| | | | | Remove special logic for windows by using 'qx'. Allow test to be run from main root directory.
* Switch some core modules to XSLoaderNicolas R2017-11-136-22/+20
| | | | | | | | RT 132080: Remove perl 5.006 compatibilities with DynaLoader and use XSLoader directly. The traditional boiler plate to use XSLoader for Perl > 5.006 or DynaLoader, does not make sense for core modules in perl 5.28+.
* Track Unicode-Normalize Changes file so it can be updated as it is changed ↵Todd Rinaldo2017-11-132-0/+256
| | | | in Perl
* Tweak travis.yml: ccache & notificationsNicolas R2017-11-131-1/+32
| | | | | | - builds are now using ccache - use multiline syntax for main script - irc notifications are now enabled and sent to #p5p-qa channel
* Makefile.SH: factorize install.html targetNicolas R2017-11-131-27/+16
| | | | | | Avoid duplicate definition of install.man and install.html targets. We could then use in a later commit a Configure option to disable doc installation on demand.
* Update Unicode-Collate to CPAN version 1.23Chris 'BinGOs' Williams2017-11-13109-153/+305
| | | | | | | | | | | | | | | [DELTA] 1.23 Mon Nov 13 19:10:28 2017 - Now UCA_Version 36 (for Unicode 10.0.0) is supported. * But the default UCA_Version is still 34. - added nushu.t in t. 1.22 Sat Nov 11 10:53:35 2017 - internal: someone suggests using 'exists' for checking the truth of $collator->{mapping}{$variable} and $collator->{maxlength}{$variable}, where $variable may stand for codepoints whose mapping is not defined; though such a problem was not reproduced on my environment.
* Fix sentence in perlobj.pod (missing a word)Matthew Horsfall2017-11-131-1/+1
| | | | Reported by geospeck
* localise $@ around source filtersZefram2017-11-134-1/+40
| | | | | | $@ could be clobbered by source filters, screwing up the reporting of errors in the filtered source. Prevent this by localising $@ around each call to a source filter. Fixes [perl #38920].
* change OP_MULTICONCAT nargs from UV to SSize_tDavid Mitchell2017-11-134-19/+18
| | | | | | | Change it from unsigned to unsigned since it makes the SP-adjusting code in pp_multiconcat easier without hitting undefined behaviour (RT #132390); and change its size from UV to SSize_t since it represents the number of args on the stack.
* rename op_aux field from 'size' to 'ssize'David Mitchell2017-11-135-32/+32
| | | | | | | This part of the op_aux union was added for OP_MULTICONCAT; its actually of type SSize_t, so rename it to ssize to better reflect that it's signed. This should make no functional difference.
* configpm: fix duplicate 'our' declarationDavid Mitchell2017-11-131-1/+1
| | | | | | | | | | | | | This file of old incorrectly had both use vars '$Config_SH_expanded'; and our $Config_SH_expanded; lines. After a recent commit which did s/use vars/our/g, the duplicate 'our' declaration started warning.
* Do not (attempt to) install man pages when explicitly disabledH.Merijn Brand2017-11-132-20/+32
| | | | | | | | | Configure … -Dman1dir=none -Dman3dir=none … → installman1dir='' installman3dir=''
* avoid redundant initialisation around Newxz()Zefram2017-11-134-25/+22
| | | | | | Reduce Newxz() to Newx() where all relevant parts of the memory are being explicitly initialised, and don't explicitly zero memory that was already zeroed. [perl #36078]
* remove unused struct member "is_top_frame"Zefram2017-11-131-1/+0
|
* duplicate full index for SAVEt_AELEMZefram2017-11-131-2/+2
| | | | | | | | The index in a SAVEt_AELEM save entry is now IV-sized, but only an I32 portion of it was being duplicated. This would lead to restoring the wrong element if a pseudfork were done with a localised array element on the stack, if the array index were above the 32-bit range or on a big-endian architecture.
* fix sysconf panicZefram2017-11-131-7/+2
| | | | | | | | | If sysconf() failed to provide the page size, there was an attempt to panic with an error message. But rather than generate an error message from errno, the code would attempt to read it from ERRSV. Not only had nothing put the error message into ERRSV, but the glob behind ERRSV didn't even exist yet, so attempting to evaluate ERRSV would segv. Change this to use Strerror() and never touch ERRSV. [perl #115880]
* Merge branch 'smoke-me/jkeenan/afresh/132401-file-copy' into bleadJames E Keenan2017-11-123-2/+14
|\
| * perldelta for 310d015584c7347660e80d991a5d32c55cc06c94James E Keenan2017-11-061-0/+5
| |
| * Increment $File::Copy::VERSIONJames E Keenan2017-11-061-1/+1
| |
| * Support Time::HiRes::utime in File::CopyAndrew Fresh2017-11-062-1/+8
| | | | | | | | | | | | | | If Time::HiRes exists and has utime support for setting hires utime, use that so cross-device moves can keep time accurately. Used by autoconf.
* | Fix sprintf multiconcat on 32bit big-endian systems with use64bitintDagfinn Ilmari Mannsåker2017-11-121-2/+2
| | | | | | | | | | | | The sprintf offset calculation was assigning to the 'uv' field of the aux union, while the code was reading from the 'size' field, which leads to all zeroes when sizeof(uv) > sizeof(size_t) on a big-endian system.
* | better document macros taking literal stringsZefram2017-11-125-48/+48
| | | | | | | | | | | | | | | | | | | | When giving a function-style prototype for a macro taking a literal string parameter, put a string literal in place of a type for that parameter. This goofy appearance makes it obvious that this isn't really a function, and clues the reader in that the parameter can't actually be an arbitrary expression of the right type. Also change the nonsensical "NUL-terminated literal string" to "literal string" to describe these parameters. Fixes [perl #116286].
* | document IO::Select error detectionZefram2017-11-121-8/+16
| |
* | prevent invalid memory access in S_check_uni (RT #132433)Lukas Mai2017-11-122-2/+8
| |
* | fix do dir returning no $!Daniel Dragan2017-11-123-9/+35
| | | | | | | | | | | | | | | | | | | | | | do()ing a directory was returning false/empty string in $!, which isn't an error, yet documentation says $! should have the error code in it. Fix this by returning EISDIR for dirs, and EINVAL for block devices. [perl #125774] Remove "errno = 0" and comment added in b2da7ead68, since now there is no scenario where errno is uninitialized, since the dir and block device failure branches now set errno, where previously they didn't.
* | avoid reading errno twice in a rowZefram2017-11-112-3/+5
| | | | | | | | | | Reading errno can involve calling a function and indirecting through its result, so cache the value of errno where possible. [perl #122096]
* | suppress clang warning in inode number handlingZefram2017-11-111-0/+2
| | | | | | | | | | The gcc warning was already suppressed, but clang needs a different formulation.
* | teach makedef.pl about PL_keyword_plugin_mutexLukas Mai2017-11-111-0/+1
| | | | | | | | This fixes t/porting/globvar.t.
* | perldelta for reënabling of CV optimizationFather Chrysostomos2017-11-111-0/+24
| |
* | Revert "Temporarily revert CV-in-stash optimisation"Father Chrysostomos2017-11-112-2/+1
| | | | | | | | This reverts commit 6eed25e2537643b77650cb3e4514ec9dc2e97d74.
* | Revert "Simplify _MEM_WRAP_NEEDS_RUNTIME_CHECK()"Lukas Mai2017-11-111-1/+2
| | | | | | | | This reverts commit 004073bac990d90244eb463f435c52d4040b36df.
* | fix MEM_SIZE_MAX definitionLukas Mai2017-11-111-1/+1
| |
* | perldelta entry for perlguts revisionZefram2017-11-111-0/+6
| |
* | better documentation of reference countsZefram2017-11-111-61/+98
| |
* | Merge wrap_keyword_plugin() into bleadLukas Mai2017-11-1115-12/+157
|\ \
| * | perldelta entry for wrap_keyword_pluginLukas Mai2017-11-111-0/+9
| | |
| * | test wrap_keyword_plugin (RT #132413)Lukas Mai2017-11-113-2/+35
| | |
| * | add wrap_keyword_plugin function (RT #132413)Lukas Mai2017-11-1111-10/+113
|/ /
* | avoid runtime module loading in File::SpecZefram2017-11-117-46/+31
| | | | | | | | | | Incidentally remove the ->_cwd method from the subclassing interface of File::Spec::Unix, in favour of direct calls to Cwd::getcwd().
* | return inode numbers as strings where necessaryZefram2017-11-113-7/+76
| | | | | | | | | | | | | | | | | | We previously used a lossy conversion of inode numbers to floating point, where they're too big to fit the IV/UV format. That sucks; a rounded inode number is nearly useless. Instead, fall back to returning a string of decimal digits. That preserves the entire value, for code that looks at it in the right way, and collapses to the former fallback in other situations.
* | [MERGE] Remove unnecessary use of 'use vars'Todd Rinaldo2017-11-11129-350/+321
|\ \
| * | Document the removal of use vars from sourcesTodd Rinaldo2017-11-111-0/+10
| | |
| * | Replace multiple 'use vars' by 'our' in regen.Nicolas R2017-11-116-13/+16
| | | | | | | | | | | | then run ./regen_perly.pl to update perly files
| * | Replace multiple 'use vars' by 'our' in tTodd Rinaldo2017-11-1119-33/+27
| | |