| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
This function dumps out an inversion map
|
| |
|
|
|
|
|
|
|
| |
These two flags will shortly become obsolete, replaced by ones with
different meanings. This flag makes the new ones the normal ones, and
makes the old names synonyms so that code that refers to them can
compile.
|
|
|
|
|
|
|
| |
I had trouble understanding how this uncommented routine worked. And it
turned out to be broken, squeezing the pre-transliterated characters
instead of the post-transliterated ones. This fixes the TODO test added
in the previous commit.
|
|
|
|
|
|
|
|
| |
This adds a TODO test which demonstrates that the current tr/// is
broken, to be fixed by the next commit.
It adds other tests designed to stress the forthcoming revisions in the
implementation of tr///.
|
|
|
|
| |
This helped me understand what was going on in this function
|
|
|
|
|
|
| |
This currently uses 0xfeedface as a marker for something that isn't a
legal value. But that could in fact become legal at same point. This
defines a value TR_OOB that can be guaranteed not to become legal.
|
| |
|
|
|
|
|
| |
This also makes sure 'struct_size' has the correct value in it for any
future uses.
|
|
|
|
|
| |
These will be used in a future commit. This creates equivalence classes
of ranges of code points whose UTF-8 representations are the same length
|
|
|
|
| |
For legibility and maintainability
|
|
|
|
|
| |
instead of deriving it each time from inside the function. This is in
preparation for future commits.
|
|
|
|
| |
This makes it more mnemonic. Also add an explanation in toke.c
|
|
|
|
| |
Indent for clarity, and add a comment
|
|
|
|
| |
Remove trailing blanks and outdent a doubly indented block
|
|
|
|
|
| |
This is in preparation for a future commit which will surround this with
an 'if'.
|
|
|
|
| |
Wrap a too-long line
|
|
|
|
|
| |
Higher has been reserved for core use, and a future commit will want to
finally do this.
|
|
|
|
|
| |
They are still only accessible from regcomp.c, but this is in
preparation for them to be usable from other core files as well.
|
|
|
|
| |
This removes an unnecessary leading underscore
|
|
|
|
| |
Fold a too-long line
|
|
|
|
| |
These are only needed in regcomp.c, so restrict them to that file
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
[DELTA]
2.089 3 November 2019
* bin/streamzip
Add zipstream to EXE_FILES
https://github.com/pmqs/IO-Compress/issues/5
7f5ed78e5652125c9ba78aab720e18d384d59c00
fb8cd6480af6303f58fd2e12d4999cd1830f0c5f
2.088 31 October 2019
* t/105oneshot-zip-only.t
Fix reset of CompSize
6034da95f1dc5a594edc0d26e6add8d86990ad56
* Add Support Details
ad66b6ec4cf175a70e53f74572eed5f403648f11
* Update site for Bzip2 to sourceware
77497aeb2a234889a2b2c4ac7ea2f620895b16a9
* Fix number of tests
bc4e234449a82fb00f66af752dfc4c96097b2a4d
* Add streamzip script to bin
76d2795d0587bafb0cc398e97142740acba82a42
* zipdetails
* Update zipdetails to version 1.11
8958cb3aa90745a4b3369479846846fdca6b4f76
* Zip64 extra field typo
f186380d701fe5257f9fc92d69160dc6382cfc24
* t/105oneshot-zip-only.t
test with deflated directory
16bfffcf5089af67cb7f68685cc61d06409cba73
* t/105oneshot-zip-only.t
Add test for encrypted Zip files
5ad813115aed000f88d7df28261b43c00ae56525
2c64e255feb5a1ee33d033f7eccb6feca12ebe97
* Documentation Updates
https://github.com/pmqs/IO-Compress/issues/2
e1fd0d4eda0a8496981cbd83ad06906f4ae586a5
* Mention xz, lzma etc
https://github.com/pmqs/IO-Compress/issues/4
126f7b9da97b572d0fb89a9bdcc190c5405c72b8
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
[Delta]
2.089 3 November 2019
* No Changes
2.088 31 October 2019
* Add Support Details
37e04fb3dc50287a3512b004282425c6eedb8af6
* upgrade to Bzip2 1.0.8
027a30848ee57731b435d2ea7af09e532bf6fbfd
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
[DELTA]
2.089 3 November 2019
* No Changes
2.088 31 October 2019
* Add SUPPORT section
d348ad76c2073a2973d094891fbd0c2e24bf397d
* 000prereq.t: dump Perl version
e1afe502818cb1ccf5bad917b14b029b408f47f1
|
|
|
|
|
|
|
|
|
| |
Most linux systems rarely update atime, so it's very unlikely
for this issue to trigger there, but on a system with classic atime
behaviour this was a race between open modifying atime and time()
ticking over.
gh #17234
|
| |
|
|
|
|
|
|
|
|
|
| |
This introduces a _shifted_octet() utility macro to make things
more clear, it also adds support for USE_UNALIGNED_PTR_DEREF for
little-endian platforms that allow unaligned access. This must
be manually defined and ONLY affects little endian builds currently,
and is there primarily for -g builds on x86 (eg for perl developers
themselves).
|
|
|
|
|
|
|
|
|
|
|
| |
Embarrassingly I got confused and swapped them (BYTEORDER == 0x1234 etc
is not great...). Somehow the perl test suite still passes with this,
but fortunately the test suite for modules like
Algorithm-MinPerfHashTwoLevel caught the problem.
Fixes: https://github.com/Perl/perl5/issues/17244
Fixes: https://github.com/Perl/perl5/issues/17247
Fixes: https://rt.cpan.org/Ticket/Display.html?id=130890
|
|
|
| |
SInce `clang` was removed as a compiler option in the previous change to `.travis.yml`, no need to exclude Linux from using it. Also, no need for the excludes for OS X since was removed.
|
| |
|
|
|
|
|
| |
These should have been included in
0c311b7c345769239f38d0139ea7738feec5ca4d
|
|
|
|
| |
perl can be compiled with C++, and this is illegal there.
|
|
|
|
|
| |
They were only ever passed as zeros, so just make them local to the
function.
|
|
|
|
| |
Also only initialise it just before it's actually used.
|
| |
|
|
|
|
|
|
|
| |
Test 58 is supposed to finish in milliseconds, or take 10s of seconds
if it hits the bug. It currently tests for <= 1s and is failing
occasionally in smokes. Increase the timeout to 2s and see if the issue
goes away. Also add a diag() to display the elapsed time on failure.
|
|
|
|
| |
gh #17254
|
|
|
|
| |
It's no more present in pp_hot.c
|
|
|
|
|
|
|
|
|
|
| |
Fixes #17250
cast STRLEN to int
Fix warnings from recent change GH #17222
We could also consider casting it using '
x & PERL_INT_MAX'
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This continues the work merged in 5015bd0bb5ee7e0fa1ede1669bdfcd7bb5f10ebd,
factoring code out of Perl_yylex() and its callees, in the hope of making
the lexer easier to understand locally.
The work in the previous branch used unbounded tail recursion in some
places. Some compilers may have been able to compile the tail-recursive
calls as jumps under some optimisation modes, but we cannot rely on that. So
this further work replaces the unbounded recursion with gotos or other
control structures. It's a little annoying not to have been able to
eliminate those gotos, but these remaining gotos all occur within a function
that's considerably smaller and easier to understand, and they merely jump
all the way back to the top of that function.
After these changes, the largest remaining piece of Perl_yylex() is just
over 900 lines (down from originally >4100), and consists of a single switch
statement, all of whose case groups are independent.
This branch also contains a note in perldelta that this major refactoring
has taken place.
Closes #17220
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The downside of writing these calls recursively is that not all compilers
will compile the tail-position calls as jumps; that's especially true in
earlier versions of this refactoring process (where yyl_try() took a large
number of arguments), but it's not in general something we can expect to
happen — especially in the presence of `-O0` or similar compiler options.
This can lead to call-stack overflow in some circumstances.
Most recursive calls to yyl_try() occur within yyl_try() itself, so we can
easily replace them with an explicit `goto` (which is what most compilers
would use for the recursive calls anyway, now that yyl_try() takes ≤3
parameters).
There are only two other recursive-call cases. One is yyl_fake_eof(), which
as far as I can tell is never called repeatedly within a single file; this
seems safe.
The other is yyl_eol(). It has exactly two distinct return paths, so this
commit moves the retry logic into its yyl_try() caller.
With this change, we no longer seem to trigger call-stack overflow.
Closes #17220
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
There's exactly one place where we need to consult it (and that only for
producing good error messages in a specific group of term-after-term
situations).
The reason for passing it around was so that it could be reset to false
early on in the process of lexing a token, while then allowing the three
separate cases that might need to set it true to do so independently.
Instead, centralise the logic of determining when it needs to be true.
|
| | |
|
| |
| |
| |
| |
| | |
With this commit, yyl_try() has few enough arguments that the RETRY()
macro no longer serves any useful purpose; delete it too.
|
| |
| |
| |
| |
| |
| |
| | |
I thought I was going to end up using this for more stuff, but I've
found better approaches.
This commit also removes two more goto targets.
|
| | |
|