summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* toke.c: Don't assume is UTF-8 when it might not beKarl Williamson2022-04-011-1/+3
| | | | | | This code only works by coincidence on ASCII platforms, due to the chance ways the underlying UTF-8 is represented. But it definitely doesn't on EBCDIC. Test before assuming is UTF-8.
* toke.c: Move variable set to after possible exitKarl Williamson2022-04-011-1/+2
| | | | | It's just a little bit better to do the warning (which could be made fatal) before setting something that's only needed later.
* toke.c Add NUL terminator in both branchesKarl Williamson2022-04-011-1/+2
| | | | | By moving the setting of this to after two branches of a conditional come together, it gets set always, instead of sometimes.
* toke.c: Move setting of a variable to laterKarl Williamson2022-04-011-6/+5
| | | | This simplies a bit.
* toke.c: Rmv redundant storageKarl Williamson2022-04-011-12/+7
| | | | | | The data contained in this variable is a copy of const data stored elsewhere. Instead of making a copy, simplify to just point to the already-stored data
* toke.c: Rmv redundant variableKarl Williamson2022-04-011-9/+6
| | | | | This variable doesn't add anything. We can use other variables to just as conveniently get at the information it contains.
* toke.c: Rmv redundant conditionalKarl Williamson2022-04-011-4/+4
| | | | | To get to the removed conditional, it has already been checked for being true.
* toke.c: Change constant to sync with commentKarl Williamson2022-04-011-1/+1
| | | | Its better if the comment and code mesh.
* Some initial documentation about the new created_as_{string,number} functionsPaul "LeoNerd" Evans2022-04-011-0/+49
|
* Initial implementation and unit-tests of created_as_{string,number}Paul "LeoNerd" Evans2022-04-013-3/+105
|
* Test::More::note() needs version 0.82James E Keenan2022-03-301-1/+1
| | | | | For: https://github.com/Perl/perl5/issues/19569, as reported by kbulgrien.
* podcheck.t: Dont check verbatim length on a few podsKarl Williamson2022-03-301-7/+7
| | | | | | | | These pods have some very long lines that make sense to keep on a single line, such as output from a program. That means that someone viewing them will either enlarge their window to view them unbroken or all is lost anyway; there may be a few lines that could be shortened, but no real value to do so.
* podcheck: Add links to known modulesKarl Williamson2022-03-301-2/+3
|
* podcheck.t: Add spaces to an output messageKarl Williamson2022-03-301-1/+1
| | | | To make it easier to read.
* podcheck.t: Devel::ppport::ppphdoc isn't podKarl Williamson2022-03-302-3/+2
| | | | So don't check it.
* podcheck.t: Update pod about verbatim linesKarl Williamson2022-03-301-5/+6
|
* perlhacktips: white-space onlyKarl Williamson2022-03-302-3/+2
|
* Clarify \p{Decomposition_Type=NonCanonical}Karl Williamson2022-03-301-21/+25
| | | | This closes #18458
* ExtUtils::ParseXS/t/002-more.t: Fix skip countKarl Williamson2022-03-291-1/+1
|
* toke.c: White-space, commentsKarl Williamson2022-03-281-15/+17
|
* t/loc_tools.pl: Skip locale tests on z/OS threadedKarl Williamson2022-03-281-0/+1
| | | | | | setlocale() is a no-op on this system after the first thread is created, making it an outlier of platforms, so the tests assume otherwise, hence would fail.
* perllocale: Add note about z/OS special behaviorKarl Williamson2022-03-281-3/+6
|
* perllocale: Formatting, grammarKarl Williamson2022-03-281-7/+7
|
* release schedule: add the next two peopleRicardo Signes2022-03-281-2/+2
|
* Bump $VERSION in perl5db.plJames E Keenan2022-03-271-1/+1
|
* APItest/t/sv_streq.t: Generalize for EBCDICKarl Williamson2022-03-261-7/+7
| | | | | | | | This test fails on EBCDIC systems, because it wants a non-ASCII character, and the one it chose, E9, is ASCII on EBCDIC ('Z'). perlhacktips suggests B6 as a character to use in such tests, and this commit changes to use that.
* Perl5DB: Rmv ASCII dependencyKarl Williamson2022-03-261-4/+7
|
* Devel::Peek::Peek.t: Simplify EBCDIC handlingKarl Williamson2022-03-261-48/+27
| | | | | | | | | | | | | | The prior commit shows what can happen when two branches do the same thing: they can get out of sync Since this test file was originally written, the testing infrastructure has improved so that there are functions that handle the gory details of character set differences for you. This test file hadn't been updated since it wasn't causing a problem, until now. This commit changes to use the new infrastructure, and as a result one branch gets removed each from the two tests that varied depending on character set.
* Devel::Peek::Peek.t: Add missing '\' for EBCDICKarl Williamson2022-03-261-1/+1
| | | | | This file was recently changed, and the EBCDIC side of the change had a typo.
* gh19557: restore match_end on early bailoutHugo van der Sanden2022-03-252-2/+5
| | | | | | After 271c3af797, early bailout from the inner one of a pair of nested lookbehinds would leave the desired match_end pointing at the wrong place, so the outer lookbehind could give the wrong answer.
* toke.c: Add missing ptr updateKarl Williamson2022-03-242-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | scan_str() calls s=skipspace(s). It turns out that this function can actually change the buffer 's' is pointing to, so that the original 'start' passed in to the function is obsolete. Just update it. This is very much like the paradigm already in S_force_word(). This bug previously existed, but commit 32b87797e986f5d99836e16ea6b9d9ff5a56d3be increased the frequency of occurrence from close to non-existent to relatively often. It only happened when the string being delimited had some spaces before it, and only if the buffer got moved. This depends on the position the construct is in the file, and on the buffering of the reading of that file, hence the symptoms had it occurring much more often using stdio than PerlIO. (it could just as well have been the reverse, I suppose.) The mentioned commit collapsed two different loops; one of which didn't bother with a check it should have been doing. Without that check, the likelihood of this being triggered was much less. (But illegal input would get by.) There is a nuance here, which resulted in the need for this commit to also update the test file, from having two occurrences of an error on a single line to just one. This is because, if the buffer moves, we reset 'start' to 's'. This makes 's' appear to be at the left edge of the input when it really is just at the left edge of the buffer. The test that failed used a combining character (I'll call it 'cc' for short) after a space, to check that the code accurately catches the illegality that you can't delimit a string with a character that doesn't stand on its own, such as a cc. However when such a character comes at the beginning of the input, there's nothing for it to combine with, and Unicode says that is legal, so we do too. So this moving 'start' makes something that is illegal look to be legal. I don't think this is a problem because the code looks up the cc and discovers there is no mirror for it, so it must also be the terminator for the string. If this cc is just from a single typo in the input, there won't be a matching terminator, and the compilation will abort. If the program intended to use a cc as both fore and aft of a string, the terminating occurrence of this cc will also be checked for validity, and it will almost certainly be seen to be an illegal cc in this context, so again the compilation will fail. That is indeed what is happening in t/lib/warnings/toke. If the buffering were such that the terminating cc also began a new buffer, it again would be viewed as at the edge and the string would be parsed as being ok, when it really shouldn't have been. Should this happen, I don't see a real problem. An attacker could craft a string with the precise length to make this happen, but to do so they would have to control the source code, and the war is already lost.
* Correct POD formatting errorJames E Keenan2022-03-241-2/+1
|
* perlunicode: regex sets is no longer experimentalKarl Williamson2022-03-231-41/+4
|
* re/anyof.t: Add debugging infoKarl Williamson2022-03-231-0/+4
| | | | | This is in response to https://github.com/Perl/perl5/pull/19558#issuecomment-1076659884
* Fix double encoding of UTF-8 on EBCDICKarl Williamson2022-03-231-1/+4
| | | | | Commit d1e771d8c533168553df9b2a858d967f707fc9fe broke EBCDIC builds by doubly encoding some UTF-8 characters.
* gh17746: add missing check on hardcountHugo van der Sanden2022-03-212-2/+6
| | | | Failing to check for max iterations caused an assertion failure.
* fix typo in perl53510deltaGraham Knop2022-03-211-1/+1
|
* Correct POD formatting errorJames E Keenan2022-03-211-3/+3
| | | | | | Use 'F<>' for strings that are simply filenames. As reported by Tux on #p5p.
* Update RMG on updateAUTHORS.plSawyer X2022-03-211-10/+9
|
* Update Module::CoreList for 5.35.11Sawyer X2022-03-212-2/+2
|
* Perl_newSViv: simplify by using (inline) newSV_typeRichard Leach2022-03-201-14/+1
|
* Perl_newSVnv: simplify SV creation and SvNV_setRichard Leach2022-03-201-3/+5
| | | | | | | | | The function can be simplified by using the now-inlined newSV_type function, directly using SvNV_set, and twiddling the required flags. This cuts out any function call overhead, a switch statement leading to a sv_upgrade(sv, SVt_NV) call, and a touch more bit-twiddling than is necessary.
* (perl #128245) make it obvious :encoding uses PerlIO::encodingTony Cook2022-03-201-0/+1
| | | | rather than encoding.pm
* Bump version for 5.35.11Sawyer X2022-03-2022-126/+155
|
* New perldelta for 5.35.11Sawyer X2022-03-2010-159/+608
|
* Tick release, update epigraphSawyer X2022-03-202-1/+14
|
* Add new release to perlhistv5.35.10Sawyer X2022-03-201-0/+1
|
* Finalize perldeltaSawyer X2022-03-201-308/+65
|
* Update Module::CoreList for 5.35.10Sawyer X2022-03-201-0/+106
|
* Update AUTHORS fileSawyer X2022-03-201-0/+1
|