summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Add new release to perlhistv5.37.6Max Maischein2022-11-201-0/+1
|
* update perldelta for 5.37.6Max Maischein2022-11-201-284/+44
|
* Update Module::CoreList for 5.37.6Max Maischein2022-11-203-3/+40
|
* locale.c: Don't Safefree tempsKarl Williamson2022-11-191-4/+0
| | | | | | | | | | | Commit 22392ba2f8a changed the querylocale_foo macros to return a mortalized copy instead of having to free things explicitly. This was done because the various code paths are complicated, and I was noticing various leaks that would require a bunch of #ifdef's to fix. That commit meant that all the existing free's of the results needed to be removed. This one was overlooked at the time. Reported in <f47046d6-7e35-301d-10f-9160b34ca2b6@uwe-dueffert.de>, not in github
* Devel::PPPort/module3: eliminate the always true warning for the returnTony Cook2022-11-181-1/+1
| | | | | | | | | | | | In this case we're testing that the result is always true, and it happens the compiler realizes that the return value is always true, even in isolation. Returning the variable that we've already set to point to PL_bufptr eliminates the warning. The compiler is still smart enough to eliminate the comparison on optimized builds. Some linter may still complain about it.
* GvNAME() always returns a true valueTony Cook2022-11-181-2/+2
| | | | | | | gcc 12 was complaining that GvNAME() always returns a true value, and that's also true. Omit such uses in conditions.
* change HvENAME_HEK() to HvENAME_HEK_NN() where NULLs would crash anywayTony Cook2022-11-182-10/+11
| | | | | | | | | | | | | | | | | | | | | gcc 12 was producing a confusing message complaining that references to with hek_key[] were beyond the end of the array, even though a properly HEK has bytes beyond the first we declare. From experimentation I theorize the confusing message was produced because HvENAME_HEK() can return a NULL pointer, and the array pointed to by any NULL pointer is zero length, producing the array bounds warning we were seeing. Fixed by changing each hv_(fetch|delete)hek() call to use the HvENAME_HEK_NN() macro variant, which doesn't include an explicit NULL return value. mro_method_changed_in() was a bit special, it evaluated the hv_fetchhek() before the check for an anonymous stash, so I reordered the code to take advantage of C99, checking the assertions before we dereference the stash pointer, checking we have a name before trying to look it up.
* only fully calculate the stash (effective) name where neededTony Cook2022-11-1811-49/+52
| | | | | | | | | gcc 12 was complaining that evaluating (somehekptr)->hek_key was always true in many places where HvNAME() or HvENAME() was being called in boolean context. Add new macros to check whether the names should be available and use those instead.
* clarify that every tag is required to be annotatedAndreas Koenig2022-11-181-1/+11
| | | | - while the instructions were already clear at this point, accidents with lightweight (unannotated) tags have happened
* relax the assertion in SSPTR() and SSPTRt()Tony Cook2022-11-181-2/+2
| | | | | | | | | | | I added assertions in SSPTR() and SSPTRt() to try to ensure the new SSize_t result from SSNEW*() wouldn't be truncated, but this was too strict, requiring that the size matched exactly. Relax this to allow the input offset to be the same or larger than SSize_t. Fixes #20504.
* Skip one test under miniperlJames E Keenan2022-11-181-0/+1
| | | | | | threads module not yet available. For: # https://github.com/Perl/perl5/issues/20524
* dist/Tie-File/t/29a_upcopy.t: double timeout to 10David Mitchell2022-11-181-1/+1
| | | | | | Some of these tests (which involve moving blocks of data around in a file) are occasionally randomly timing out on some slow smokers. Double the timeout from 5s to 10s and see if the problem goes away.
* dist/Tie-File/t/29a_upcopy.t add test descriptionsDavid Mitchell2022-11-181-1/+3
|
* Getopt::Long: synch with CPAN version 2.54Johan Vromans2022-11-182-6/+10
| | | | | | From Changes: * Fix compatibility with Perl 5.8.
* Getopt::Long: sync with CPAN version 2.53Johan Vromans2022-11-173-33/+79
| | | | | | | | | | | | | | | | | From Changes: * Improve parsing of float numbers. https://rt.cpan.org/Ticket/Display.html?id=133216 * Fix Version/HelpMessage -message argument. https://rt.cpan.org/Ticket/Display.html?id=133963 * Added 'starter' method to the callback object. This method returns the starter (e.g. '--' or '-') of the option as used by the user. * Fix problem with Pod::Usage argument in examples/skel2.pl. * Enhanced option:default spec to octal, hex and binary.
* Fix & test useless-anonymous-subroutine warnings.Felipe Gasper2022-11-162-0/+12
| | | | | | Issue #20384: This fixes a breakage from 35458d36d3c9fcf47064e4379e15276057b0bca5 that Devel::WatchVars’s test suite caught. A test is added to Perl’s own test suite to prevent regressions.
* Fail attempts to pass anonsub to \$ prototype.Felipe Gasper2022-11-162-2/+23
| | | | Issue #20384
* ParseXS - version bump to 3.48 and test perlxs.pod has the right versionYves Orton2022-11-1612-12/+30
| | | | The version in the pod has been long wrong. We are on 3.48 now, it was 3.13_01.
* ParseXS - make testing easierYves Orton2022-11-166-10/+59
| | | | | | | | | | | | | | | | | | | Use warn instead of print STDERR, and provide a way to make errors trigger a die instead of an exit(1). Currently the module code is written as though the only way it will be used is via the xsubpp script, so the library does annoying things like calling exit() instead of die() to signal an exception. It also uses print STDERR instead of warn, which means the test code can't just use a $SIG{__WARN__} hook to see its warnings, and instead has to include PrimitiveCapture in the t directory. These two things combine annoyingly in our test code such that when you break the module you can see tests exiting early, but with no useful diagnostics as to why. This patch reworks this to use "warn" instead of print STDERR, and to provide a way to enable the use of "die" instead of exit. Thus making debugging failing tests far easier.
* ParseXS - add support for elifdef and elifndefYves Orton2022-11-161-2/+2
| | | | The upcoming C++23 and C23 standards add #elifdef, #elifndef.
* ParseXS - allow symbolic alias of default functionYves Orton2022-11-163-5/+26
| | | | | | | Also normalize warnings. It used to be if you created an alias of the root function (0) no warning would be produced. Now we will produce a warning, but we also allow symbolic references to defuse the warning.
* ParseXS - better support for duplicate ALIASesYves Orton2022-11-166-11/+198
| | | | | | | | | | | | | Sometimes you *want* to create multiple names for the same functionality, but doing so with the ALIAS functionality requires awkward workarounds. This adds a new "symbolic alias" that does not warn on dupes as creating a dupe is its whole point. For a symbolic alias the value is the name of an existing alias. This also cleans up some of the warnings related to aliases so we distinguish between when a duplicate is truly ignored or where it overrides a previous value. And deal with a few other edge cases properly.
* ParseXS - handle #else and #endif without blank line prefixesYves Orton2022-11-164-1/+75
| | | | | | | | | | This patch makes it possible to omit some of the whitespace around preprocessor directives. It teaches fetch_para() to understand that a #else or #endif directive that does not end a #if that was seen in the current "paragraph" should not be parsed as part of that paragraph. This means that a conditional block that defines the same sub under different define conditions need not have extra whitespace after each sub definition.
* ParseXS - sort things that might produce outputYves Orton2022-11-161-4/+4
| | | | Make sure our output is deterministic.
* configure.gnu forwards extra arguments to ConfigureTony Cook2022-11-151-0/+7
| | | | | | except when it doesn't (the -- arguments) This came up during discussion of #20502, but is not a fix for it.
* Whitespace alignment fix in regen/feature.plPaul "LeoNerd" Evans2022-11-141-20/+20
|
* Update AUTHORS and .mailmap with my (Mattia Barbon) current addressMattia Barbon2022-11-142-3/+4
|
* SvPVutf8_nomg - assign string length to the len parameterMattia Barbon2022-11-141-1/+1
| | | | This is consistent with other SvPV* variants that take a len parameter.
* utf8::upgrade: Don't coerce undef argKarl Williamson2022-11-144-4/+25
| | | | This fixes GH #20419
* Figure out I32df, U32uf, etc. in Configure rather than in perl.hTAKAI Kousuke2022-11-1419-53/+278
| | | | | | | | | | | | These macros were defined in perl.h using preprocessor conditionals, but determining wheter I32 is "int" or "long" is pretty hard with preprocessor, when INTSIZE == LONGSIZE. The Configure script should know exact underlying type of I32, so it should be able to determine whether %d or %ld shall be used to format I32 value more robustly. Various pre-configured files, such as uconfig.h, are updated to align with this.
* Perl doesn't appear to be included in the ibb any moreTony Cook2022-11-141-6/+0
| | | | | | | | The "ibb-perl" link prompts for a login, though other links like "https://hackerone.com/perl" load without a login. Perl also isn't listed under the ibb project itself at "https://hackerone.com/ibb?type=team"
* Tie-File: report test timeouts to STDERRDavid Mitchell2022-11-122-2/+2
| | | | | | | | | | Currently some tests have a 5 second timeout. If this is exceeded, the test number is output as "not ok", along with "# Timeout" to STDOUT. Change the latter to output to STDERR along with the test filename and test number, for easer debugging of smoke logs. (Really these test files need upgrading to use Test::* but that's a job for another day and another person....)
* skip testing .github/README.md if doesn't appear to be a READMETony Cook2022-11-121-1/+3
| | | | | | | | | | | | | git on windows at least of 2.37.1 does not checkout symbolic links as symbolic links, leaving them as files containing the filename linked to. This meant this test against .github/README.md failed, since it only contained "../README": nothing that appears to be a copyright message I considered testing that .github/README.md was a symbolic link but 8975221916 suggests that it may eventually become more distinct from the root README file, so instead check its size.
* regcomp.c - add a PARNO() macro to wrap the ARG() macroYves Orton2022-11-103-16/+21
| | | | | | | | | | | | | | We used the ARG() macro to access the parno data for the OPEN and CLOSE regops. This made it difficult to find what needed to change when the type and size or location of this data in the node was modified. Replacing this access with a specific macro makes the code more legible and future proof. This was actually backported from finding everything that broke by changing the regnode type for OPEN and CLOSE to 2L and moving the paren parameter to the 2L slot. We might do something like this in the future and separating the PARNO() macros from their implementation will make it easier.
* regcomp.c - correct commentYves Orton2022-11-101-3/+4
|
* Devel-PPPort: bump versionGraham Knop2022-11-091-1/+1
|
* Devel-PPPort: fix STMT_START and STMT_END to not warn on clangGraham Knop2022-11-091-7/+2
| | | | | | | | | | | | | | | Since 7169efc77525df70484a824bff4ceebd1fafc760, perl's core STMT_START and STMT_END macros no longer try to use brace groups, due to the warnings they can generate and their very limited usefulness. That commit also changed Devel::PPPort to remove the use of brace groups in STMT_START/STMT_END. That led to errors in older perls, so it was partly reverted in e08ee3cb66f362c4901846a46014cfdfcd60326c. Since then, various other macros have been improved to properly work with brace groups enabled or disabled. We can now remove the brace group using variant of STMT_START/STMT_END, which will silence the warnings from clang.
* Devel-PPPort: use inline function for croak_sv without brace groupsGraham Knop2022-11-091-11/+12
| | | | | | | | | | The macro for croak_sv when brace groups are not enabled uses STMT_START/STMT_END. This works when used as a statement, but would break if used as part of an expression. To resolve this, change that macro to use a function. As a static inline function with a namespaced name, it shouldn't cause problems with namespace pollution.
* pod/perlhacks.pod - document TEST_ARGS and make win32 perl use it tooYves Orton2022-11-083-8/+24
| | | | | | | Win32 has had TEST_SWITCHES and TEST_FILES for ages. Unix has TEST_ARGS. This extends Win32 to support TEST_ARGS as well. I havent made the contrary change to the unix code, anyone using TEST_SWITCHES is already using it on Win32.
* ParseXS - fix todo tests to match the correct filenameYves Orton2022-11-081-3/+3
| | | | | | | The original regex was off and showed this test as passing when it was actually failing, which is what we expect and why the test is marked as TODO. The test accidentally doubled the extension expected in the filename, and this patch corrects that mistake.
* perldelta for 545d499045, 42d0708bf6, a1aa0ce9693, 4f8b3850b207Tony Cook2022-11-081-3/+22
|
* bump $Storable::VERSIONTony Cook2022-11-081-1/+1
|
* make store_hook() handle regular expression objectsTony Cook2022-11-082-1/+31
| | | | | Previously this would complain it didn't know the object type when preparing to call STORABLE_freeze.
* improve error reporting by store_hook() on an unknown typeTony Cook2022-11-082-6/+38
| | | | | | | | | | | This produced an opaque message when it was asked to freeze an object of an unsupported type. Changes: - replace the opaque internal object type number with the typical perl name of the type ("GLOB" instead of "8") - include the class of the object being frozen to identify which class needs work - include name of the function we're trying to call to do the freeze, if possible
* allow porting/corelist.t to be run from rootYves Orton2022-11-061-1/+3
|
* Test case where different functions are declaredJames E Keenan2022-11-063-12/+52
| | | | | | | | | | | In the first sample .xs file supplied for this branch, a function named 'dbh' was declared twice, once inside an 'ifdef', once outside. This led me to think that that dual use of the string 'dbh' was the problem EUPXS was stumbling upon. However, that appears to be incorrect. If we supply a second sample .xs file in which we use two different function names, we still get the undesired warning.
* Add TODO-ed test for duplicate warningJames E Keenan2022-11-061-1/+17
|
* Add test file contributed in GH 19661E. Choroba2022-11-062-0/+24
|
* buildtoc: Add error checkKarl Williamson2022-11-051-0/+1
| | | | If something goes wrong, this wouldn't have known it
* Update Data::Dumper synopsisElvin Aslanov2022-11-051-4/+3
| | | | | | | | | | Add `my` to synopsis. Committer: Data-Dumper: Update $VERSION in POD. The release date no longer appears in the POD, so let's remove the comment admonishing us to update it. For: https://github.com/Perl/perl5/pull/20224