summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* add new release to perlhistv5.23.8Sawyer X2016-02-201-0/+1
|
* Typos, POD errors, etc.Sawyer X2016-02-201-14/+8
|
* Update perldelta module versions (Porting/corelist-perldelta.pl)Sawyer X2016-02-201-20/+40
|
* update Module::CoreList (Porting/corelist.pl)Sawyer X2016-02-201-7/+86
|
* cleanup perldeltaSawyer X2016-02-201-238/+23
|
* Document 38e3b24Sawyer X2016-02-201-0/+4
|
* Document e57270be442bfaa9dc23eebd67485e5a806b44e3:Sawyer X2016-02-201-4/+11
| | | | | | | | | | I wasn't sure where or how much of it to document, but it seems like it's important, and this relating to permissions not being removed, I consider it security-related. This is similiar to what the original Debian ticket that relates to it mentioned. I've cut Niko's text a bit shorter, taken from the commit message itself.
* Document eba98284740b799def26803ebac340aaa8930437Sawyer X2016-02-201-1/+7
|
* Update perldelta.pod:Sawyer X2016-02-201-5/+53
| | | | | | | This includes most changes I've noticed. I ran through all commits since the last commit Stevan did. There are some commits there which I haven't reflect and not sure whether they were, but I will take that up with their respected authors.
* Upgrade to IPC-SysV 2.05.Jarkko Hietaniemi2016-02-196-20/+28
|
* Cast PL_dump_re_max_len to avoid type mismatch warning.Craig A. Berry2016-02-191-1/+1
| | | | | | | | | | | | Specifically this one on VMS: || ! grok_atoUV(dump_len_string, &PL_dump_re_max_len, NULL)) .....................................^ %CC-W-PTRMISMATCH, In this statement, the referenced type of the pointer value "&(my_perl->Idump_re_max_len)" is "unsigned int", which is not compatible with "unsigned long". This was new code in 2bfbbbaf9ef1783ba.
* regcomp.c: White-space onlyKarl Williamson2016-02-191-40/+43
| | | | Re-indent and reflow to fit in 80 cols after previous commit
* regcomp.c: Can't do optimization if invertingKarl Williamson2016-02-191-0/+3
| | | | | | | Something like /[^\W_0-9]/ was getting optimized into something it shouldn't have been. Although, the way the execution code is structured, I couldn't find a case where it actually made a difference. So skip the optimization if inverting.
* regcomp.c: Use colors for -Dr metanotationKarl Williamson2016-02-191-4/+3
| | | | | | Use a different color for the metanotation than the code points being output under Debugcolor. The default is to have stand out mode for the code points, and not for the meta.
* regcomp.c: Backlslash {} in -Dr outputKarl Williamson2016-02-191-1/+4
| | | | | This is because it could otherwise be confused with the meta notation used there.
* Revamp -Dr handling of /[...]/Karl Williamson2016-02-194-212/+579
| | | | | | | | | | | | This revamps the handling of -Dr for bracketed character classes. There were bugs introduced earlier in 5.23, and this consolidates the handling of /d classes so that the interactions can be better considered. It tries inverting the portion that is in the bitmap range to see if the output is shorter, and clearer that way. And it always makes the above-bitmap code points show as not-inverted, as that is clearer. I ran out of time before the freeze, so I had to not invert in some cases.
* Add environment variable for -Dr: PERL_DUMP_RE_MAX_LENKarl Williamson2016-02-194-10/+31
| | | | | | | | | | | | | | | | | | | The regex engine when displaying debugging info, say under -Dr, will elide data in order to keep the output from getting too long. For example, the number of code points in all of Unicode matched by \w is quite large, and so when displaying a pattern that matches this, only the first some number of them are printed, and the rest are truncated, represented by "...". Sometimes, one wants to see more than what the compiled-into-the-engine-max shows. This commit creates code to read this environment variable to override the default max lengths. This changes the lengths for everything to the input number, even if they have different compiled maximums in the absence of this variable. I'm not currently documenting this variable, as I don't think it works properly under threads, and we may want to alter the behavior in various ways as a result of gaining experience with using it.
* regcomp.c: Save a branch testKarl Williamson2016-02-191-2/+2
| | | | | | This branch will only be true if the answer to the previous branch was also true, so can just move it to within that to avoid an unnecessary test.
* regcomp.c: Clarify -Dr output under /lKarl Williamson2016-02-191-3/+1
| | | | | | | It is now redundant to indicate that an ANYOF node is for locale, as the regnode type ANYOFL now clearly indicates that. But also sometimes the node is only vaid if the runtime locale is a UTF-8 one. That was not clearly indicated.
* regcomp.c: Comments, white-space, add grouping () for clarityKarl Williamson2016-02-191-26/+38
|
* Add a parameter to a static functionKarl Williamson2016-02-194-13/+34
| | | | | | | This parameter will be used in a future commit, it changes the output format of this function that displays the contents of an inversion list so that it won't have to be parsed later, simplifying the code at that time.
* Change private function to staticKarl Williamson2016-02-194-22/+20
| | | | | | | This function was used outside the file it contains, but was only defined (by #ifdef's) for those few internal core files for which it was needed. Now all those uses have gone, save for the one file. Better to make it static so no one can circumvent those #ifdef's.
* regcomp.c: Change structure element size and locKarl Williamson2016-02-191-1/+1
| | | | | | | The 'strict' field is only a bool, but was declared I32, which led to warnings on some compilers when it was passed to a function expecting a bool. It is moved to the end of the structure, since it doesn't pack well with the rest.
* regcomp.c: Move static declaration to file levelKarl Williamson2016-02-181-43/+47
| | | | | This array will be used in a future commit outside the function it previously was declared in
* regcomp.c: optimization for qr/[...]/ilKarl Williamson2016-02-181-0/+13
| | | | | | | | | Certain matches are calculated as being legal only when the current execution time local is a UTF-8 one. However, a character class can have multiple components (and usually does), and some of those components may be duplicates of some of these matches, and be valid regardless of the locale. This commit removes them from the tentative list, and if it goes to zero, clears it. This will improve execution time slightly.
* regcomp.c: Avoid a segfaultKarl Williamson2016-02-181-2/+4
| | | | | | | I stumbled across this in adding more code elsewhere, so I don't know how to trigger it. This is in the intersection routine for two inversion lists. The corresponding union code correctly handles the case when the input is NULL, so just copy that to here.
* PATCH: [perl 127537] /\W/ regression with UTF-8Karl Williamson2016-02-183-2/+14
| | | | | | | | | | This bug is apparently uncommon in the field, as I was the one who discovered it. It requires a UTF-8 pattern containing a complemented posix class, like \W or \S, in an inverted character class, like [^\Wfoo] in a pattern that also has a synthetic start class generated by the regex optimizer for it . The fix is trivial.
* regcomp.c, toke.c: swap functions being inline staticKarl Williamson2016-02-185-161/+161
| | | | | | | | | | grok_bslash_x() is so large that no compiler will inline it. Move it to dquote.c from dq_inline.c. Conversely, move form_octal_warning() to dq_inline.c. It is so tiny that the function call overhead is scarcely smaller than the function body. This also moves things in embed.fnc so all these functions. are not visible outside the few files they are supposed to be used in.
* Cast correctly to U8, not charKarl Williamson2016-02-181-1/+1
| | | | U8 is what the function being called is expecting
* perlapi: Hide the swash functionsKarl Williamson2016-02-181-3/+3
| | | | | | These should be internal only, and we may want to get rid of them someday. Hide their existence so that people who don't already know about them won't be tempted to try to use them.
* regcomp.h: Not all ANYOF flags are in use.Karl Williamson2016-02-181-1/+1
| | | | So, it's better to not have a mask to include the unused ones.
* regcomp.c: Simplify a few lines of codeKarl Williamson2016-02-181-7/+4
| | | | | This code had been written before the isMNEMONIC_CNTRL() macro was created. Using the macro simplifies things a little.
* regcomp.c: Clean up logic in functionKarl Williamson2016-02-181-18/+11
| | | | | This function uses some crude heuristics to decide whether to make a synthetic start class or not. This commit removes some redundancies.
* regcomp.c: -Dr \xZZ instead of \x{ZZ}Karl Williamson2016-02-181-3/+3
| | | | The brackets are unnecessary and clutter the output.
* regcomp.c: Fix -Dr bugKarl Williamson2016-02-181-5/+13
| | | | | | | It was using a wrong length calculation, which under some circumstances caused the output to include extra bytes. Also I added comments, and changed a variable name, so I don't have to figure this out again from scratch.
* regcomp.c: Use macro to hide complexityKarl Williamson2016-02-181-3/+1
| | | | | There is an existing macro that does these three lines in one source line.
* Don't allow /\N{}/ under 're strict'Karl Williamson2016-02-187-11/+25
| | | | | This is the one remaining empty {} that was accepted under the experimental 'use re "strict"'.
* perlrecharclass: Add some missing infoKarl Williamson2016-02-181-0/+3
|
* Remove an unused variableTom Hukins2016-02-181-2/+0
| | | | | | | Other Time::HiRes test scripts define and use $limit to cope with timing on heavily loaded systems. This test script defined the variable but never used it.
* [perl #127556] update installperl to new location of W32 libperl link libDaniel Dragan2016-02-181-0/+9
| | | | | | | | | | | | | | | | | | | | commit bf543eaf90 made the Win32 GCC or VC linkers produce [lib]perl[5xx].[a/lib] in the /lib/CORE dir to reduce the prereq recipie lines needing to run until XS modules can be built ("Extensions" which builds all DLL XS modules is the longest running target and every effort should be made for it to be started sooner by the make tool in parallel build). The file is now made in /lib/CORE, previously it was made in root and xcopy-ed to /lib/CORE in the same target that built the file. xcopy is a seperate process run so was remove in that commit. installperl doesn't use uninstalled /lib/CORE to determine the contents of installed /lib/CORE (maybe that is a bug or bad design?), so the linking lib was not being installed after a "[g/d]make install" making it impossible to compile XS code on Win32 Perl. Change installperl to look for the linking lib in /lib/CORE on Win32 and not in root. Even though the nmake makefile still does the XCOPY since it is older/less maintained, the installperl code still works since the root and /lib/CORE files are identical on the nmake build and built in the same target.
* perldelta for f94c6c536844091ca6a005e3e0398db8e1cc212eJames E Keenan2016-02-171-0/+11
|
* Time::HiRes version bump.Jarkko Hietaniemi2016-02-172-1/+5
|
* Allow TIME_HIRES_DONT_RUN_PROBES=1 to aid cross-compilingJarkko Hietaniemi2016-02-171-1/+1
| | | | | | | | If that is true, the probes are compiled but not run. https://rt.cpan.org/Ticket/Display.html?id=111391 Patch kindly supplied by Niko Tyni.
* t/re/reg_mesg.t: Add a couple of testsKarl Williamson2016-02-161-0/+2
|
* minor comment improvements in hv.h and scope.hDaniel Dragan2016-02-162-2/+3
| | | | | -perl doesn't use malloc, it uses Newx (per interp memory) -say what the return type is of SSNEW
* Revert "tweak NOT_REACHED in DEBUGGING builds"Lukas Mai2016-02-151-2/+1
| | | | | | | | | | | | | | | | | | | | | | This reverts commit 5b48e25f83f62f48ea280c49b00302e063384348. The above commit breaks win32 builds: IO.xs(73) : error C2065: 'my_perl' : undeclared identifier IO.xs(73) : error C2223: left of '->IProc' must point to struct/union where dist/IO/IO.xs contains: 69: static int 70: not_here(const char *s) 71: { 72: croak("%s not implemented on this architecture", s); 73: NORETURN_FUNCTION_END; 74: } and perl.h contains: # define NORETURN_FUNCTION_END NOT_REACHED;
* doop.c: fix typo in header commentDavid Mitchell2016-02-151-1/+1
|
* perldelta: move the two Win32 gmake improvements to where they belongTony Cook2016-02-151-9/+5
|
* fix win32 gmake with win64 VC with 32 bit GCC in PATH build failureDaniel Dragan2016-02-151-9/+11
| | | | | | | | | | | | | | | The assignment of PROCESSOR_ARCHITEW6432 to PROCESSOR_ARCHITECTURE near the "When we are running from a 32bit cmd.exe on AMD64 then" comment doesn't happen if WIN64 var was already assigned to. Do the 32/64 auto detection only for GCC builds, not for VC builds. I not implementing 32/64 and cl version (CCTYPE setting) detection by parsing stdout of "cl<enter>" with batch and gmake syntax at this time. failure message: generate_uudmap.obj : fatal error LNK1112: module machine type 'x64' conflicts with target machine type 'X86' GNUmakefile:1416: recipe for target '..\generate_uudmap.exe' failed gmake: *** [..\generate_uudmap.exe] Error 2
* Skip the length sanity check if d_name is pointer or less.Jarkko Hietaniemi2016-02-141-1/+1
| | | | | | | | | | | | [perl #127511] v5.23.7-308-g1d41bb7 broke t/op/threads-dirh.t on solaris threaded builds In other words, skip it if the dirent->d_name is a pointer (char *) or less (struct-final char d_name[1], as it seems to be in Solaris). The length sanity check is meant for places where the d_name is a true array. Follow-up to 1d41bb72.