| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
This was an automated process, turning any '[perl #NNNN]' into a
linke to the corresponding ticket on rt.perl.org.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
[DELTA]
1.302160 2019-01-18 11:44:33-08:00 America/Los_Angeles
- No Changes since last trial release
1.302159 2019-01-09 13:21:37-08:00 America/Los_Angeles (TRIAL RELEASE)
- Add table support to ctx->fail and ctx->fail_and_return
- Fix Instance.t on haiku-os
1.302158 2019-01-08 15:36:24-08:00 America/Los_Angeles (TRIAL RELEASE)
- Fix TAP test on windows
- Fix math errors in table indentation
- Devel requires Term::Table
1.302157 2019-01-08 14:10:29-08:00 America/Los_Angeles (TRIAL RELEASE)
- Fix minor typos and missing doc sections
- Add table support in info facet and TAP formatter
1.302156 2019-01-07 11:13:07-08:00 America/Los_Angeles
- No changes from last trial
1.302155 2019-01-04 11:25:17-08:00 America/Los_Angeles (TRIAL RELEASE)
- Fix test not to fail in non-english locales
1.302154 2019-01-04 10:20:54-08:00 America/Los_Angeles (TRIAL RELEASE)
- Fix SHM pid checking for some platforms in Instance.t
- Add SHM errno/msg to warning about SHM going away
1.302153 2019-01-03 08:39:42-08:00 America/Los_Angeles (TRIAL RELEASE)
- Improve SHM verification and state awareness
1.302152 2018-12-26 12:21:32-08:00 America/Los_Angeles (TRIAL RELEASE)
- More Instance.t improvements
- Add trace to SHM error when possible
1.302151 2018-12-20 11:05:47-08:00 America/Los_Angeles (TRIAL RELEASE)
- Fix another locale error in Instance.t
1.302150 2018-12-20 10:57:09-08:00 America/Los_Angeles (TRIAL RELEASE)
- Fix locale error in Instance.t
- Windows test fixes
- perl 5.6 test fixes
1.302149 2018-12-20 09:47:31-08:00 America/Los_Angeles (TRIAL RELEASE)
- Even more SHM error improvements
1.302148 2018-12-17 13:08:23-08:00 America/Los_Angeles (TRIAL RELEASE)
- Further Improve SHM error message
1.302147 2018-12-17 12:59:14-08:00 America/Los_Angeles (TRIAL RELEASE)
- Improve SHM error message
1.302146 2018-12-17 09:06:44-08:00 America/Los_Angeles (TRIAL RELEASE)
- Fix SHM test to work on machines without SHM
1.302145 2018-12-12 11:26:32-08:00 America/Los_Angeles (TRIAL RELEASE)
- Fix localization error in new test (#820)
1.302144 2018-12-12 09:51:25-08:00 America/Los_Angeles (TRIAL RELEASE)
- Add tests for shmwrite fix (#815)
1.302143 2018-12-11 19:10:37-08:00 America/Los_Angeles (TRIAL RELEASE)
- Fix failure to check error code on shmwrite (#815)
1.302142 2018-12-11 11:55:22-08:00 America/Los_Angeles (TRIAL RELEASE)
- Fix #814 Windows fork+test failure
- Fix #819 Documentation updates
- Fix #810 Verbose TAP newline regression
- Fix #817 local $TODO bug
- Fix #812 Another local $TODO bug
- Fix #815 shm read warning
- Merge doc fix PR's from magnolia-k (thanks!)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This bug showed up only on -Dusemymalloc without Debugging, and without
various other common Configure options.
It causes my_atof3() to return failure where in fact success was
achieved. It apparently got triggered due to slight differences in
malloc behaviors.
The bug is that it changed a string pointer to new memory and forgot to
change it back to the original value when that memory got freed. The
test that fails is an equal/not equal of two pointers, and usually two
pointers aren't the same, meaning the bug doesn't appear.
The only case where my_atof3() is called is in parsing certain
\p{nv=...} where "..." is not a rational number. So the scope of this
bug is limited.
Spotted by Ryan Voots.
|
|
|
|
|
|
|
|
|
|
|
|
| |
[DELTA]
0.5008 2018-10-09
* Update MANIFEST.SKIP.
* Sync test files with Math-BigInt.
* Better Makefile.PL.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
[DELTA]
1.999816 2018-10-26
* bnok() for Math::BigInt and Math::BigFloat now support the full Kronenburg
extension. The behaviour is identical to the behaviour of the Maple and
Mathematica function for negative integers n, k. Add tests. This closes CPAN
RT #95628.
* Fix POD errors. This closes CPAN RT #125141.
1.999815 2018-10-19
* Move bitwise operators signed and, signed or, and signed xor from
lib/Math/BigInt/CalcEmu.pm into lib/Math/BigInt/Lib.pm. The file
lib/Math/BigInt/CalcEmu.pm is no longer needed and thus removed.
1.999814 2018-10-01
* Add to_base() and from_base() to Math::BigInt and corresponding library
methods _to_base() and _from_base() to Math::BigInt::Lib. This was inspired
by CPAN RT #122681.
* Fix Makefile.PL to reflect that Test::More is only needed for testing, not
for building.
* In the documentation for each of the to_(bin|hex|oct|bytes) methods, add a
reference to the corresponding from_(bin|hex|oct|bytes) method.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
[DELTA]
1.27 Wed Jan 2 19:42:56 2019
- DUCET is updated (for Unicode 10.0.0) as Collate/allkeys.txt.
- The default UCA_Version is 36.
- Locale/*.pl and CJK/Korean.pm are updated.
1.26 Mon Dec 31 14:32:07 2018
- U::C::Locale newly supports locale: cu.
- tailoring Cyrillic YI as BYELORUSSIAN-UKRAINIAN I with DIAERESIS.
(affected locale: kk)
- added loc_cu.t in t.
|
|
|
|
|
|
|
| |
[DELTA]
0.2309 2019-01-06 20:29:15Z
- fix longstanding pod formatting error (issue #19, RT#109526)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
[DELTA]
2.084 5 January 2019
* IO::Uncompress::AnyUncompress.pm
Added support for IO::Uncompress::Zstd and IO::Uncompress::UnLzip
2.083 30 December 2018
* IO::Compress::*
* IO::Uncompress::*
The BinModeIn and BinModeOut options in are now no-ops.
ALL files will be read/written in binmode.
* IO::Uncompress::Unzip
Fixed issue with unziping a member from a streamed zip file.
Issue triggered by a libreoffice document.
Test added to 105oneshot-zip-only.t
Thanks to Fabrizio Pivari for the bug report.
* Added U64::isZero
* bin/zipdetails
Added 'Data Stream Alignment' (tag 0xa11e) to extra fields.
Field sourced from https://support.pkware.com/display/PKZIP/Proposed+ZIP+Format+Specification+Additions
* Compress::Zlib.pm
#125140: Tiny POD error in Compress::Zlib
|
|
|
|
|
|
|
|
|
|
|
|
| |
[DELTA]
2.084 5 January 2019
* No Changes
2.083 30 December 2018
* No Changes
|
|
|
|
|
|
|
|
|
|
|
|
| |
[DELTA]
2.084 5 January 2019
* No Changes
2.083 30 December 2018
* No Changes
|
| |
|
| |
|
|
|
|
| |
Apparently this was a command.com thing that Win32 doesn't support.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This was caused by a counting error.
An EXACTFish regnode has a finite length it can hold for the string
being matched. If that length is exceeded, a 2nd node is used for the
next segment of the string, for as many regnodes as are needed.
A problem occurs if a regnode ends with one of the 22 characters in
Unicode 11 that occur in non-final positions of a multi-character fold.
The design of the pattern matching engine doesn't allow matches across
regnodes. Consider, for example if a node ended in the letter 'f' and
the next node begins with the letter 'i'. That sequence should match,
under /i, the ligature "fi" (U+FB01). But it wouldn't because the
pattern splits them across nodes. The solution I adopted was to forbid
a node to end with one of those 22 characters if there is another string
node that follows it. This is not fool proof, for example, if the
entire node consisted of only these characters, one would have to split
it at some position (In that case, we just take as much of the string as
will fit.) But for real life applications, it is good enough.
What happens if a node ends with one of the 22, is that the node is
shortened so that those are instead placed at the beginning of the
following node. When the code encounters this situation, it backs off
until it finds a character that isn't a non-final fold one, and closes
the node with that one.
A /i node is filled with the fold of the input, for several reasons.
The most obvious is that it saves time, you can skip folding the pattern
at runtime. But there are reasons based on the design of the optimzer
as well, which I won't go into here, but are documented in regcomp.c.
When we back out the final characters in a node, we also have to back
out the corresponding unfolded characters in the input, so that those
can be (folded) into the following node. Since the number of characters
in the fold may not be the same as unfolded, there is not an easily
discernable correspondence between the input and the folded output.
That means that generally, what has to be done is that the input is
reparsed from the beginning of the node, but the permitted length has
been shortened (we know precisely how much to shorten it to) so that it
will end with something other than the 22. But, the code saves the
previous input character's position (for other reasons), so if we only
have to backup one character, we can just use that and not have to
reparse.
This bug was that the code thought a two character backup was really a
one character one, and did not reparse the node, creating an off-by-one
error, and a character was simply omitted in the pattern (that should
have started the following node). And the input had two of the 22
characters adjacent to each other in just the right positions that the
node was split. The bisect showed that when the node size was changed
the bug went away, at least for this particular input string. But a
different, longer, string would have triggered the bug, and this commit
fixes that.
This bug is actually very unlikely to occur in most real world
applications. That is because other changes in the regex compiler have
caused nodes to be split so that things that don't particpate in folds
at all are separated out into EXACT nodes. (The reason for that is it
allows the optimizer things to grab on to under /i that it wouldn't
otherwise have known about.) That means that anything like this string
would never cause the bug to happen because blanks and commas, etc.
would be in separate nodes, and so no node would ever get large enough
to fill the 238 available byte slots in a node (235 on EBCDIC). Only a
long string without punctuation would trigger it. I have artificially
constructed such a string in the tests added by this commit.
One of the 22 characters is 't', so long strings of DNA "ACTG" could
trigger this bug. I find it somewhat amusing that this is something
like a DNA transcription error, which occurs in nature at very low
rates, but selection, it is believed, will make sure the error rate is
above zero.
|
| |
|
|
|
|
|
|
| |
Trying to earlier make this fatal led to some issues in primarily Tk,
which I haven't had a chance to address, and it's getting to late in the
development cycle to do it now.
|
|
|
|
| |
Per recommendation by Tony Cook in RT 133740.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
For RT # 133740: After the release of perl-5.29.5, smoke tests
intermittently began to report failures in dist/IO/t/io_dir.t.
In preceding months, similar intermittent failures had been reported
for files testing File::Find (RT 133658) and GDBM_File (RT 133664). In
those cases the problem was diagnosed as race conditions under parallel
testing where test files and directories were being created in or
underneath the current working directory without resort to tempdirs or
tempfiles.
The testing in dist/IO/t/io_dir.t presumes the existence of a stable set
of files and subdirectories in dist/IO/. If additional files or
subdirectories are created while this file is being run, that
presumption is no longer met.
The dist/IO/t/ directory was therefore inspected for test files which,
for testing purposes, would create files or directories underneath the
dist/IO/. The following test files do so:
io_file.t
io_linenum.t
io_taint.t
io_tell.t
io_unix.t
io_utf8argv.t
io_utf8.t
io_xs.t
Of the above, only io_xs.t takes the precaution of using
IO::File->new_tmpfile().
Using File::Temp::tempdir in this file should mitigate the problem.
In addition, all tests in io_dir.t now have descriptions.
|
|
|
|
|
|
|
|
|
|
|
|
| |
My original approach moved the whole switch into the new function,
but that was a lot messier, and I don't think it's necessary.
pad_swipe() can throw, but only for panics, and in DESTROY if
refadjust is true, which isn't the case here.
CLEAR_ERRSV() might throw if the code called by CALLRUNOPS()
puts an object that dies in DESTROY in $@, but I think that
might cause an infinite loop in the original code.
|
| |
|
|
|
|
|
|
|
|
|
| |
This fixes compiler warnings "performing pointer arithmetic on a null
pointer has undefined behavior"
There are several ways to fix this. This one was suggested by
Tomasz Konojacki++. Instead of trying to point to address 1 and 2, two
variables are created, and we point to them. const is cast away.
|
|
|
|
| |
... as in other ifdefs within S_Internals_V(pTHX_ CV *cv).
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
FIXES RT#133522
There is not clear from documentation that $dir/$version and
$dir/$version/$archname are checked and deleted from @INC when 'no lib $dir'
is used
|
| |
|
|
|
|
|
| |
When no file has previously been opened, "eof" should return true. This
behavior was broken by 32e653230c7ccc (see also [#60978]).
|
| |
|
| |
|
|
|
|
|
| |
Previously COPLINE was updated (to the end of the file) before
reporting the error, which wasn't useful.
|
|
|
|
|
|
|
|
| |
These were relics from the removal of the sizing pass. I did a global
substitute, and missed that these cases promptly took the inverse
function of the function I just added. In other words, if g() is the
inverse of f(), then g(f(x)) is always x, and we can omit both g() and
f().
|
|
|
|
|
|
|
|
|
| |
This reverts commit 7e9b4fe4d85e9b669993bf96a7e33ffff3197e20, with
additional changes to get things to compile
It turns out I was wrong about the underlying cause that commit
addressed, and it is easier to just use the existing constants that get
generated.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
This just moves things around so that the information is kept in local
variables and the regnode not created until all that info has been
completely determined. I believe it is clearer to read, but the impetus
came from the fact that prior to this commit, use of \b{} always
restarted the parse unnecessarily because the order of things made it
appear that a real /d op had appeared, whereas it was just the one
currently being constructed
|