In perl.git, the branch smoke-me/khw-fatal has been created
<http://perl5.git.perl.org/perl.git/commitdiff/32e699896b4f2e64997d96e9cfc3ea1bdb672ab3?hp=0000000000000000000000000000000000000000>
at 32e699896b4f2e64997d96e9cfc3ea1bdb672ab3 (commit)
- Log -----------------------------------------------------------------
commit 32e699896b4f2e64997d96e9cfc3ea1bdb672ab3
Author: Karl Williamson <[email protected]>
Date: Tue May 16 14:39:49 2017 -0600
oke
Signed-off-by: Karl Williamson <[email protected]>
M doop.c
M embed.fnc
M ext/XS-APItest/t/utf8_malformed.t
M ext/XS-APItest/t/utf8_setup.pl
M ext/XS-APItest/t/utf8_warn_base.pl
M mg.c
M op.h
M pod/perldelta.pod
M pod/perldeprecation.pod
M pod/perldiag.pod
M pod/perlop.pod
M pod/perlunicode.pod
M pod/perluniintro.pod
M pp.c
M proto.h
M t/comp/parser.t
M t/lib/warnings/doop
M t/lib/warnings/gv
M t/lib/warnings/mg
M t/lib/warnings/pp
M t/lib/warnings/utf8
M t/op/bop.t
M t/op/chop.t
M t/op/index.t
M t/op/leaky-magic.t
M t/op/substr.t
M t/op/utf8decode.t
M t/op/ver.t
M t/re/pat_re_eval.t
M t/uni/heavy.t
M t/uni/parser.t
M utf8.c
M utf8.h
commit fb76a2797f09649fc1f742dfd74df0ae43853ca7
Author: Karl Williamson <[email protected]>
Date: Tue May 16 14:14:38 2017 -0600
XXX reword? utf8.c: Change internal #define name
The new name reflects the new meaning in a future commit, and won't be
accurate until that commit. But this is a separate commit just to
minimize the differences in the future one, to make the changes easier
to follow.
M utf8.c
commit 9c751355b5b1bd54198af3cc6e7a7a36664fb293
Author: Karl Williamson <[email protected]>
Date: Tue May 16 13:31:52 2017 -0600
utf8.c: Comments, white-space only
M utf8.c
commit f32e0d6531ecbdf09710d5ae429cd0d312d306c4
Author: Karl Williamson <[email protected]>
Date: Mon May 15 12:56:35 2017 -0600
utf8.c: Handle overlong UTF-8 for above-31 bit.
This changes the function that determines if a UTF-8 sequence for a
partial or complete character if for a code point that doesn't fit into
31 bits, to handle overlong input sequences.
This generally doesn't matter, as overlongs are malformations. But this
change enables code that seeks to figure out exactly how a sequence is
malformed to correctly do so.
This complicates the function, so it no longer is requested to be
inlined.
M embed.fnc
M proto.h
M utf8.c
commit ef2856e8be0dcfbe907271462711754247e4da09
Author: Karl Williamson <[email protected]>
Date: Thu May 11 21:31:58 2017 -0600
Move some #defines to only file that uses them
These are very specialized #defines to determine if UTF-8 overflows the
word size of the platform. I think its unwise to make them kinda
generally available.
M utf8.c
M utf8.h
M utfebcdic.h
commit 468bfeddd22548173fc03c6dd6fc152ca1100997
Author: Karl Williamson <[email protected]>
Date: Thu May 11 11:22:46 2017 -0600
t/re/pat_advanced.t: Revise some tests
These tests used the highest available code points, but those will soon
be made illegal. The tests don't need to be for these particular code
points, so this commit changes to use the highest ones that will be
legal after that change.
M t/re/pat_advanced.t
commit cdd7bead09b3f44beb2b5ec7398b9b8b9244c785
Author: Karl Williamson <[email protected]>
Date: Wed May 10 08:45:03 2017 -0600
mktables: Don't output anything above IV_MAX
This is in preparation for later commits to restrict Unicode code points
to IV_MAX. No tables are currently output that go this high, so this
change has no current effect.
M charclass_invlists.h
M lib/unicore/mktables
M regcharclass.h
commit 7fb2f885e6390c9a97e4d8669922b65000429301
Author: Karl Williamson <[email protected]>
Date: Tue May 9 20:27:40 2017 -0600
Move test from t/opbasic to t/uni
This test is really not very basic, so it doesn't belong in opbasic. It
is for having a string delimiter be a very large code point, well above
the legal strict Unicode max. The code point is 2**32 - 1, which is
UV_MAX on 32-bit platforms.
Use of UV_MAX for a delimiter is about to become illegal, and so this
test needs to be skipped on these. Since this is compile time, there
are a few complications in getting the script to compile on such
systems, even though it is skipped at run time.
The opbasic test file is so basic that it doesn't even use t/test.pl,
whereas the one in t/uni does use that, and that has better
infrastructure for handling this issue, including getting it to work on
EBCDIC platforms.
M t/opbasic/qq.t
M t/uni/parser.t
commit 46d89134af93a5d45a0703f6ec819704c333adc6
Author: Karl Williamson <[email protected]>
Date: Mon May 15 09:54:40 2017 -0600
APItest/t/utf8.t: Don't test above IV_MAX
Remove the tests for code points above IV_MAX. For 32-bit platforms,
this means moving (not removing) the tests to the 64-bit only portion of
the file. This is in preparation for IV_MAX being the upper legal limit
for code points.
M ext/XS-APItest/t/utf8.t
commit 6e2caa0159400ad78229ad7917a9041c356f0aa3
Author: Karl Williamson <[email protected]>
Date: Sat May 13 22:58:00 2017 -0600
APItest/t/utf8.t: Comments, white-space only
M ext/XS-APItest/t/utf8.t
commit 89c7bcaa230c721828a5023104778de88d2ec051
Author: Karl Williamson <[email protected]>
Date: Sat May 13 22:53:47 2017 -0600
APItest/t/utf8.t: XXX
A future commit will cause some expected errors to not actually be
errors on some platforms. This detects and handles these.
M ext/XS-APItest/t/utf8.t
commit 3f4054f80644d6fdc5d9a6d1c06198abb665f68c
Author: Karl Williamson <[email protected]>
Date: Sat May 13 22:51:43 2017 -0600
APItest/t/utf8.t: Remove unnecessary hash initializations
M ext/XS-APItest/t/utf8.t
commit ca55c52cd10417a424c7482ac34f2e8a14fda380
Author: Karl Williamson <[email protected]>
Date: Sat May 13 22:50:26 2017 -0600
APItest/t/utf8.t: Fix some convoluted code
This code got overly complex as time went by, and can be cleaned up.
M ext/XS-APItest/t/utf8.t
commit 5b78cf2b414a0587165b58e1013a6446f4f64174
Author: Karl Williamson <[email protected]>
Date: Mon May 8 09:47:41 2017 -0600
APItest/t/utf8.t: Rmv useless line
This entry is overwritten by the next line.
M ext/XS-APItest/t/utf8.t
commit dd5789af02b53eb28fac6b0ca9ff42725c147138
Author: Karl Williamson <[email protected]>
Date: Tue May 16 12:38:27 2017 -0600
APItest/t/utf8_warn_base.pl: White-space only
M ext/XS-APItest/t/utf8_warn_base.pl
commit 1b3ca74b5f294b8cc185392ff7466c7850b7f74a
Author: Karl Williamson <[email protected]>
Date: Tue May 16 12:34:35 2017 -0600
APItest/t/utf8_warn_base.pl: Add tests
This adds tests for the previous commit. They include allowing
overlongs, and overlongs with the computed value returned instead of the
standard REPLACEMENT CHARACTER. Also it verifies that any messages
raised contain the correct code point.
M ext/XS-APItest/t/utf8_warn_base.pl
commit fbd57cdcb8d9f9b6345c4aae5122f4c80688606b
Author: Karl Williamson <[email protected]>
Date: Mon May 15 14:32:48 2017 -0600
utf8.c: Fix bugs with overlongs combined with other malformations.
The code handling the UTF-8 overlong malformation must come after
handling all the other malformations. This is because it may change the
code point represented to the REPLACEMENT CHARACTER. The other
malformation code is expecting the code point to be the original one.
This may cuase failure to catch and report other malformations, or
report the wrong value of the erroneous code point.
What was needed was simply to move the 'if else' branch for overlongs to
after the branches for the other formations.
Tests will be added in the next commit. It was extensive work that I
didn't see any easy way to add TODOs
M utf8.c
commit fdfc1e775fba0561c27d2f03a7e3acd6d7f5c2ca
Author: Karl Williamson <[email protected]>
Date: Tue May 16 12:11:07 2017 -0600
APItest/t/utf8_warn_base.pl: Add capability
This adds the capability, which will be used in a future commit, to
allow a malformation during tests.
M ext/XS-APItest/t/utf8_warn_base.pl
commit bd8fc073b07ca7ec0174c68f8094ad7590495025
Author: Karl Williamson <[email protected]>
Date: Tue May 16 08:14:10 2017 -0600
APItest/t/utf8_warn_base.pl: Move some initializations
A group of variable initializations is moved to earlier in the block.
This is in preparation for future commits.
M ext/XS-APItest/t/utf8_warn_base.pl
commit 56379de6b7ad5d96ac24854b1f468a4478b1ca04
Author: Karl Williamson <[email protected]>
Date: Tue May 16 08:06:51 2017 -0600
APItest/t/utf8_warn_base.pl: Clean up some test names
This removes extra quotes to one test name;
separates words with a space in another;
adds the name of the malformation being tested to some more;
changes some text in others;
and changes some flag displays to be hex.
M ext/XS-APItest/t/utf8_warn_base.pl
commit 3b6c8631a65b53f1bb65e326c9f57cc3c711cae2
Author: Karl Williamson <[email protected]>
Date: Sun May 14 22:01:11 2017 -0600
APItest/t/utf8_warn_base.pl: Avoid a Perl deprecation
This commit fixs some Perl code that is now deprecated. It used to jump
to a label in an 'else' clause. This does the minimal restructuring to
avoid that.
M ext/XS-APItest/t/utf8_warn_base.pl
commit 3a1f1c28735fec79993cc42cac0729eed26d7130
Author: Karl Williamson <[email protected]>
Date: Sun May 14 21:57:07 2017 -0600
APItest/t/utf8_warn_base.pl: Add internal check
This commit adds a check for an inconsistency in the tests in this
file, and will now abort if found
M ext/XS-APItest/t/utf8_warn_base.pl
commit 8ccf25ec67c0362d6ada91682f4fc6013e356f64
Author: Karl Williamson <[email protected]>
Date: Thu May 11 12:02:00 2017 -0600
APItest/t/utf8_malformed.t: Add tests
These add a couple more tests of extreme edge cases.
M ext/XS-APItest/t/utf8_malformed.t
commit aadcdd218cb050753a38198931d93059c0a1a42e
Author: Karl Williamson <[email protected]>
Date: Thu May 11 12:16:01 2017 -0600
APItest/t/utf8_malformed.t: Handle multiple warnings
This changes the code to allow tests that generate multiple warnings.
M ext/XS-APItest/t/utf8_malformed.t
commit 89ef7e5f3f9043e4ce4c88428fdfbf5ee4cd97aa
Author: Karl Williamson <[email protected]>
Date: Tue May 9 20:16:13 2017 -0600
utf8.c: Don't calc code point from overflowing UTF8
This avoids calculating a code point from UTF-8 that is known to
overflow. This could give incorrect results (used only in warning
messages), but is done only when there are 3 (or more) malformations:
overflow, overlong, UTF-8 terminated early, so it's unlikely to actually
happen in the field.
I am not adding any tests, as I don't know of any existing failures, and
making code points be at most IV_MAX would cause existing tests to fail
without having to add new ones. I imagine a brute force generator of
UTF-8 would find some string that showed this problem up absent the
other coming changes, but it's not worth it.
M utf8.c
commit c1bb57e0e67dcb0792335bafe840e13091405856
Author: Karl Williamson <[email protected]>
Date: Thu May 11 18:30:34 2017 -0600
utf8.c: Add missing 'const' to formal parameter
This makes it match the embed.fnc entry. For some reason no warning was
given except by the Win32 compiler
M utf8.c
commit 5df76c7e6a841c114200e4bf5502221d5af187a8
Author: Karl Williamson <[email protected]>
Date: Wed May 10 08:29:46 2017 -0600
XXX delta: Remove deprecated function 'to_utf8_case()'
This is keeping with the schedule for 5.28.
M embed.fnc
M embed.h
M proto.h
M utf8.c
commit 76dc130d2b6a4ac0ff7d4ef1ab877debe17977c3
Author: Karl Williamson <[email protected]>
Date: Thu May 11 22:25:25 2017 -0600
Reword description of 'bytes_from_utf8()'
This should be clearer to understand what's going on.
M utf8.c
commit 89472609c96badf8660c3555cc3e831e8db69f87
Author: Karl Williamson <[email protected]>
Date: Mon Apr 24 21:05:58 2017 -0600
handy.h: Remove _memEQs(), _memNEs()
All occurrences of these have been replaced by safer macros, that don't
have the same input assumptions that these did.
M handy.h
commit 2f1349df9c5f05d6d185f4ee08a08b2a0b03e062
Author: Karl Williamson <[email protected]>
Date: Mon Apr 24 20:39:02 2017 -0600
Add memFOO_ENDING_WITHs and use it in core
M handy.h
M pp_ctl.c
commit 8e39df3757d8ece27d3c0aa4862e927cf4046dd7
Author: Karl Williamson <[email protected]>
Date: Mon Apr 24 20:27:24 2017 -0600
XXX name unsettled, commit msg: Add memFOO_STARTING_WITHs() and use it
M ext/attributes/attributes.xs
M handy.h
M toke.c
commit 26f62fff12b85b3df05e0de7874879adbaa1499d
Author: Karl Williamson <[email protected]>
Date: Mon Apr 24 20:11:40 2017 -0600
Use memENDS_WITHs() in core
M pp_ctl.c
commit 9ad362d90a0fcd2738563282de552a38bf8ff0e2
Author: Karl Williamson <[email protected]>
Date: Mon Apr 24 20:02:57 2017 -0600
Use memSTARTS_WITH() in core
M ext/POSIX/POSIX.xs
M op.c
M perl.c
M regcomp.c
M utf8.c
commit 38ede079d96ddf9d69d772a0c3314b360dd3bfd1
Author: Karl Williamson <[email protected]>
Date: Mon Apr 24 18:25:59 2017 -0600
Change some strSTARTS_WITH() to memSTARTS_WITH()
The latter is generally faster when the length is already known.
This commit also changes a few hard-coded numbers to use sizeof().
M gv.c
M pp.c
M pp_pack.c
M regcomp.c
M toke.c
commit bf9bf952467c3543540d36d69ccf30fc72c848ec
Author: Karl Williamson <[email protected]>
Date: Mon Mar 27 14:24:41 2017 -0600
Data::Dumper: Change strcpy to strlcpy
strlcpy is safer. This reverts to using strcpy if no version of strlcpy
is available (but one has been available in Perl since 5.9.4)
M dist/Data-Dumper/Dumper.xs
commit 32ecc1f1bd815067f3082d5494f914145ae09fb5
Author: Karl Williamson <[email protected]>
Date: Mon Mar 27 14:16:27 2017 -0600
DynaLoader: Use strlcpy instead of strcpy
strlcpy is safer.
M ext/DynaLoader/DynaLoader_pm.PL
M ext/DynaLoader/dl_win32.xs
commit e5a59461c1212fd6cb1bd71f4329226034b9c713
Author: Karl Williamson <[email protected]>
Date: Sat Mar 25 17:51:50 2017 -0600
toke.c: Outdent block
The surrounding block was removed by the previous commit
M toke.c
commit e140e91ff50e8d4f9989ba459117cc31eb5935f0
Author: Karl Williamson <[email protected]>
Date: Mon Mar 27 13:43:31 2017 -0600
toke.c: Replace loop by memchr
See merge commit message for more information
M toke.c
commit bd6b6b977c1f20b806a2eb7aa56c027fbf6eb70a
Author: Karl Williamson <[email protected]>
Date: Mon Mar 27 13:42:49 2017 -0600
toke.c: Use memchr in loop; don't examine every byte
See merge commit message for more information
M toke.c
commit 851245b7105ba62fef01b6c5caf6a3b45e158ecc
Author: Karl Williamson <[email protected]>
Date: Mon Mar 27 13:41:39 2017 -0600
toke.c: Replace loop by memchr
See merge commit message for more information
M toke.c
commit 7250941de15d7a2a840fe6c7758121821771c687
Author: Karl Williamson <[email protected]>
Date: Mon Mar 27 13:40:45 2017 -0600
toke.c: Replace loop by memchr
See merge commit message for more information
M toke.c
commit d8afcc67258bb5abf262927e04d7996803175468
Author: Karl Williamson <[email protected]>
Date: Mon Mar 27 13:39:40 2017 -0600
toke.c: Replace loop by memchr
See merge commit message for more information
M toke.c
commit 94e342ee311a915a65e8fe6640e7babad38735c9
Author: Karl Williamson <[email protected]>
Date: Mon Mar 27 13:39:07 2017 -0600
toke.c: Replace loop by memchr
See merge commit message for more information
M toke.c
commit 0e7db88e7c99b2a539819022b244772705568110
Author: Karl Williamson <[email protected]>
Date: Mon Mar 27 13:37:21 2017 -0600
toke.c: Use memchr in loop; don't examine every byte
See merge commit message for more information
M toke.c
commit fa1798cac7d153ac2b95682e4e221296c20f8758
Author: Karl Williamson <[email protected]>
Date: Mon Mar 27 13:34:03 2017 -0600
regcomp.c: Replace loop by memchr
See merge commit message for more information
M regcomp.c
commit 45fb1ec2ccfdbe9c8c9b64ba8f5c18ab5c682062
Author: Karl Williamson <[email protected]>
Date: Mon Mar 27 13:33:33 2017 -0600
regcomp.c: Replace loop by memchr
See merge commit message for more information.
M regcomp.c
commit ec29d8bfae50c645645a093ecefb040609552b10
Author: Karl Williamson <[email protected]>
Date: Mon Mar 27 13:29:57 2017 -0600
regcomp.c: Replace loop by memchr()
See merge commit message for more information.
M regcomp.c
commit d60d41d2bf31284dfa250d8c75dcbe8297d9e585
Author: Karl Williamson <[email protected]>
Date: Sat Mar 25 17:07:26 2017 -0600
pp_ctl.c: White-space only
Outdent due to block removed by the previous commit
M pp_ctl.c
commit a664a927864f4a1f9ae78b0cd8c6e4505271e2e2
Author: Karl Williamson <[email protected]>
Date: Sat Mar 25 17:00:22 2017 -0600
XXX Use first part of this for merge commit msg pp_ctl.c: Replace loop by
using memchr
I did an audit of core for loops that exit when they have found a
particular character. All such loops have an upper limit that they are
not to look beyond, which may not be explicit. I changed these loops
to instead use memchr(). This is cleaner, and may be faster.
Some loops look for a particular character, but don't exit when they
find one; instead they do special processing, and keep going until the
end of the input is reached. In these cases, I retained the loop, but
changed to use memchr() to find the character of interest. Again, this
may be faster.
I made a separate commit in this branch for each changed loop. This is
so, should I have messed up, a bisect will immediately finger the exact
culprit.
See the merge commit message for more information.
M pp_ctl.c
commit 089d8be6521799828e8634fe18df45fbf8083239
Author: Karl Williamson <[email protected]>
Date: Sat Mar 25 15:06:58 2017 -0600
toke.c: Convert some strchr to memchr
This allows things to work properly in the face of embedded NULs.
See the branch merge message for more information.
M toke.c
commit a400423251558cbadab9ef737dd4a24ac4911415
Author: Karl Williamson <[email protected]>
Date: Sat Mar 25 15:00:22 2017 -0600
regcomp.c: Convert some strchr to memchr
This allows things to work properly in the face of embedded NULs.
See the branch merge message for more information.
M regcomp.c
commit ac95e9d04fad087e2b66953cc0c3d90ee5e2f57d
Author: Karl Williamson <[email protected]>
Date: Sat Mar 25 14:55:08 2017 -0600
perl.c: Use memchr instead of strchr
This allows things to work properly in the face of embedded NULs.
See the branch merge message for more information.
M perl.c
commit 3d7afafbb3309bb52a0ce6262a335a1c91899181
Author: Karl Williamson <[email protected]>
Date: Sat Mar 25 14:54:13 2017 -0600
op.c: Use memchr,memrchr instead of strchr,strrchr
This allows things to work properly in the face of embedded NULs.
See the branch merge message for more information.
M op.c
commit dde36497c6d002be2b987799e61d811226301252
Author: Karl Williamson <[email protected]>
Date: Sat Mar 25 14:53:07 2017 -0600
mg.c: Use memchr instead of strchr
This allows things to work properly in the face of embedded NULs.
See the branch merge message for more information.
M mg.c
commit abf0ece81264ed7721641fb717325b419d68b8b3
Author: Karl Williamson <[email protected]>
Date: Sat Mar 25 14:51:19 2017 -0600
doio.c: Change strchr to memchr
This allows things to work properly in the face of embedded NULs.
See the branch merge message for more information.
M doio.c
commit 08e81fb74385e62efecdbb127d5ab340738007d8
Author: Karl Williamson <[email protected]>
Date: Sat Mar 25 14:50:48 2017 -0600
pp_sys.c; Use memchr instead of strchr
This allows things to work properly in the face of embedded NULs.
See the branch merge message for more information.
M pp_sys.c
commit ab6cf388bc6c117b45868d3bc57ebf057566d6e4
Author: Karl Williamson <[email protected]>
Date: Sat Mar 25 14:46:50 2017 -0600
utf8.c: Use memchr instead of strchr
This allows things to work properly in the face of embedded NULs.
See the branch merge message for more information.
M utf8.c
commit c5bb381fe56279883800eb96bcf2aafeabe2cdcd
Author: Karl Williamson <[email protected]>
Date: Sat Mar 25 12:04:30 2017 -0600
toke.c: Add a limit param to 3 static functions
memchr and memrchr are now used instead of strchr and strrchr. This
allows them to work properly in the face of embedded NULs. A limit
parameter is added to each function. See the branch merge message for
more information.
M embed.fnc
M embed.h
M proto.h
M toke.c
commit d3d2bd960d07eec60c68d1fe1394420ec7e09602
Author: Karl Williamson <[email protected]>
Date: Sat Mar 25 11:39:05 2017 -0600
XXX use this as merge message. dquote.c: Use memchr() instead of strchr()
Using C string functions on Perl strings doesn't work properly if they
contain embedded NULs. This can happen with Perl program text, for
example, and even if the NUL is illegal, the generated diagnostics are
likely to be misleading as the parsing would have terminated
prematurely.
I have done an audit on core for cases where C string functions are used
in contexts where a Perl string is being processed. This came down to
uses of strchr() and strrchr(). This branch changes many of them to
memchr() and memrchr() respectively. Not all uses need change, as there
are places where C strings are what is being processed, such as dealing
with OS strings that are NUL terminated. File paths and environ are two
examples.
Also, memchr and memrchr tend to be faster than their str equivalents,
as they only need to look for one termination condition, and there may
be hardware assistance on some platforms. Further, memrchr knows
exactly where to start looking, instead of having to find the NUL ending
the string (strrchr is likely to be implemented as iterating over the
string using strchr from the left, over and over until it fails).
I may have converted some str functions to mem ones unnecessarily, as I
didn't check in full detail if some were operating only on C strings, but
given that the mem ones are faster, this is OK
This allows \x and \o to work properly in the face of embedded NULs.
A limit parameter is added to each function, and that is passed to
memchr (which replaces strchr). See the branch merge message for more
information.
M dquote.c
M embed.fnc
M embed.h
M proto.h
M regcomp.c
M toke.c
commit dca8eeb5e440a20a78bcbcc49a9748b578e66fc9
Author: Karl Williamson <[email protected]>
Date: Sat Mar 25 11:35:11 2017 -0600
dquote.c: Rmv extraneous #ifdef; add assertions
assert() already does nothing unless -DDEBUGGING; no need to enclose
them in #ifdef DEBUGGING. And this adds another assertion that is
required to be true on entry to the function.
M dquote.c
commit 5078457493a6b817ad4063b1f49309d895175ae5
Author: Karl Williamson <[email protected]>
Date: Sat Mar 25 13:23:27 2017 -0600
perl.c: Convert two uses of strrchr to memrchr
The comments said memrchr would be better to use if we had it, and the
previous commit did add it.
M perl.c
commit dce968a2cf0975bbf1b3d7c01032fc136ea0ee40
Author: Karl Williamson <[email protected]>
Date: Sat Mar 25 12:45:34 2017 -0600
Add memrchr()
This is a useful function, lacking on many platforms.
It is left usable only in core, so that if this turns out to have been a
bad idea, it can be easily removed.
M embed.fnc
M embed.h
M inline.h
M perl.h
M proto.h
commit 45858574c4e22acd9ebcf4385e43fe8cfb02d633
Author: Karl Williamson <[email protected]>
Date: Sat Mar 25 17:38:40 2017 -0600
toke.c: Rmv useless code
This code is unreachable because the code above makes sure that the
variable can't be larger than PL_bufend, and the code is only executed
if it is larger.
M toke.c
commit 19140f68f280d86ede77321f818c0d1dc91b108d
Author: Karl Williamson <[email protected]>
Date: Sat Mar 25 15:18:27 2017 -0600
toke.c: White space only
Fix up some white space, including outdenting a block that was doubly
indented
M toke.c
commit 7f6a7cf7bde677fc25e847152b0cac766ffebd59
Author: Karl Williamson <[email protected]>
Date: Sat Mar 25 14:01:58 2017 -0600
numeric.c: Add comment
M numeric.c
commit dbd441c40080de3e28aed11cfc6e8a4ed5d9f8b7
Author: Karl Williamson <[email protected]>
Date: Fri Mar 24 19:01:39 2017 -0600
locale.c: Tighten what is considered a LC variable
Things like LC_CTYPE are locale variables, but not LC_ctype nor
LC__CTYPE. Prior to this commit all were treated as locale variables.
Many platforms have more locale variables than Perl knows about, e.g.,
LC_PAPER, and the code tries to catch all possibilities.
M locale.c
M t/run/locale.t
commit 52214fba2ea946f2742f3cd516aa106bfc28524d
Author: Karl Williamson <[email protected]>
Date: Thu Mar 23 19:38:04 2017 -0600
handy.h: Make uniform the defns of strFOO
For consistency
M handy.h
commit 4fc971e5935c36ac8fc43cc34f5552c0671979b1
Author: Karl Williamson <[email protected]>
Date: Tue Mar 14 11:29:53 2017 -0600
Revert "XXX fails due to lack of version bump: Netware: Convert strcmp into
strEQ, strNE"
M NetWare/dl_netware.xs
commit 72edffdc861b579428ba2c231486a1fa823d03d6
Author: Karl Williamson <[email protected]>
Date: Thu Mar 9 13:12:23 2017 -0700
XXX fails due to lack of version bump: Netware: Convert strcmp into strEQ,
strNE
The latter two are easier to read
M NetWare/dl_netware.xs
commit 4256609c91b7dee8e6cb21350a1f59997552c5b1
Author: Karl Williamson <[email protected]>
Date: Thu Mar 9 11:53:48 2017 -0700
locale.c: White space, extra braces only
Align vertically, and indent blocks to standard. It adds braces for
clarity.
M locale.c
commit 44ebcbe1e724860646bd8d9de527b0ccff2e53a5
Author: Karl Williamson <[email protected]>
Date: Wed Mar 8 21:55:08 2017 -0700
Convert strncmp into strnEQ, strnNE
The new versions are much easier to comprehend.
There are several cases in vms.c where strEQ and strNE suffice, instead
of having to have a count parameter.
M vms/vms.c
M win32/win32.c
M win32/wince.c
commit 49e5dcda113fe1bb7e3eb311858024f6a2cd7e2c
Author: Karl Williamson <[email protected]>
Date: Thu Mar 9 13:13:07 2017 -0700
Convert strcmp into strEQ, strNE
The latter two are easier to read
M cygwin/cygwin.c
M ext/DynaLoader/dl_aix.xs
M ext/DynaLoader/dl_win32.xs
M ext/Hash-Util-FieldHash/FieldHash.xs
M ext/Hash-Util-FieldHash/lib/Hash/Util/FieldHash.pm
M ext/POSIX/POSIX.xs
M ext/POSIX/lib/POSIX.pm
M ext/XS-APItest/APItest.xs
M symbian/symbian_stubs.c
M vms/vms.c
M win32/win32.c
commit 5f49a360f523984b036713e32f4795a1fb5efbdc
Author: Karl Williamson <[email protected]>
Date: Thu Mar 9 11:58:14 2017 -0700
XXX Pull request vsx.inc Use strNE, strNEs
This saves programmer bookkeeping and is easier to read
M vxs.inc
commit 2923824a836255c9ee336f69a559b4676df50d10
Author: Karl Williamson <[email protected]>
Date: Thu Mar 9 12:06:34 2017 -0700
XXX PPPort Cwd: Change strcmp into strEQ
The latter is easier to read
M dist/PathTools/Changes
M dist/PathTools/Cwd.pm
M dist/PathTools/Cwd.xs
M dist/PathTools/lib/File/Spec.pm
M dist/PathTools/lib/File/Spec/AmigaOS.pm
M dist/PathTools/lib/File/Spec/Cygwin.pm
M dist/PathTools/lib/File/Spec/Epoc.pm
M dist/PathTools/lib/File/Spec/Functions.pm
M dist/PathTools/lib/File/Spec/Mac.pm
M dist/PathTools/lib/File/Spec/OS2.pm
M dist/PathTools/lib/File/Spec/Unix.pm
M dist/PathTools/lib/File/Spec/VMS.pm
M dist/PathTools/lib/File/Spec/Win32.pm
commit 4ad15d1b25a50326939158d61c91731b50d34564
Author: Karl Williamson <[email protected]>
Date: Mon Apr 24 16:40:35 2017 -0600
APItest.xs: Use memSTARTS_WITH instead of strSTARTS_WITH
The latter tends to be faster when the length is known.
M ext/XS-APItest/APItest.xs
commit c9bee517f4a9827bc2ac4d80c46a2941d0a775a4
Author: Karl Williamson <[email protected]>
Date: Thu Mar 9 10:54:20 2017 -0700
XXX PPPort: Data::Dumper: Change some strncmp to memSTARTS_WITHs
The latter is much clearer as to what's going on
M dist/Data-Dumper/Dumper.pm
M dist/Data-Dumper/Dumper.xs
commit 9838ccd1a37baddef96f0c9935a5d752d1dc9545
Author: Karl Williamson <[email protected]>
Date: Mon Apr 24 12:22:44 2017 -0600
Add memSTARTS_WITHs(), memENDS_WITHs()
memSTARTS_WITHs() is like strSTARTS_WITHs(), but can be used for buffers
without trailing NULs. It can also be used when there is a trailing
NUL, and the length is known, as it should be somewhat faster, only
having to check for one ending condition.
M handy.h
commit 6aa392a087e228655c8b7cb2336aa4423c841e7f
Author: Karl Williamson <[email protected]>
Date: Thu Mar 9 10:55:38 2017 -0700
Change some strncmp(), etc. to strSTARTS_WITHs()
The latter is much clearer as to what's going on
M cygwin/cygwin.c
M djgpp/djgpp.c
M ext/VMS-Stdio/Stdio.pm
M ext/VMS-Stdio/Stdio.xs
M ext/XS-APItest/APItest.xs
M op.c
M perl.c
M pp.c
M pp_ctl.c
M pp_pack.c
M regcomp.c
M toke.c
M vms/vms.c
M win32/win32.c
commit 4c75d22719f3fdd82b5df5076011e84c1aa8907c
Author: Karl Williamson <[email protected]>
Date: Thu Mar 23 19:00:12 2017 -0600
XXX commit msg: Use memEQs, memNEs in core files.
M ext/XS-APItest/APItest.xs
M ext/attributes/attributes.pm
M ext/attributes/attributes.xs
M gv.c
M hv.c
M mro_core.c
M numeric.c
M op.c
M pp_ctl.c
M regcomp.c
M scope.c
M sv.c
M toke.c
M utf8.c
M vms/vms.c
commit d1a5a84c0c8f6c23c0935f784354526ac97c93d6
Author: Karl Williamson <[email protected]>
Date: Mon Apr 24 13:09:16 2017 -0600
handy.h: Add parens around macro expansion
This guarantees the expected precedence no matter what the context it is
called in.
M handy.h
commit 08f0294f0929cd1e771cbeeb568ad046b4ba6ad9
Author: Karl Williamson <[email protected]>
Date: Wed Mar 8 20:31:25 2017 -0700
XXX new name is tentabive Rename strEQs, strNEs
These names are confusing. The tentative new name is strSTARTS_WITHs. The
two macros are mapped into just that one, complementing the result for
the few cases where strNEs was used.
M amigaos4/amigaio.c
M doio.c
M ext/B/B.pm
M ext/B/B.xs
M ext/XS-APItest/APItest.pm
M ext/XS-APItest/APItest.xs
M gv.c
M handy.h
M hv.c
M locale.c
M os2/os2.c
M perl.c
M toke.c
commit 7484ddea2c5427ec3532c91567d119bbdc96dd84
Author: Karl Williamson <[email protected]>
Date: Mon Apr 10 08:48:29 2017 -0600
XXX DONT PUSH. note about race in parallel tests
M t/harness
commit e3bd4c539d51a584e583109cc8f640a899338a48
Author: Karl Williamson <[email protected]>
Date: Wed Apr 5 11:36:11 2017 -0600
ext/GDBM_File: Add L<> around pod link
M ext/GDBM_File/GDBM_File.pm
commit 5970dd1c7653aac0bc2be164d489b5f7b63b69fb
Author: Karl Williamson <[email protected]>
Date: Tue Mar 21 21:37:28 2017 -0600
XS-APItest: Rename some tests files
The names of these long-running test files are changed to uniform style
to indicate that they run long.
M MANIFEST
R100 ext/XS-APItest/t/handy0.t ext/XS-APItest/t/handy00.t
R100 ext/XS-APItest/t/handy1.t ext/XS-APItest/t/handy01.t
R100 ext/XS-APItest/t/handy2.t ext/XS-APItest/t/handy02.t
R100 ext/XS-APItest/t/handy3.t ext/XS-APItest/t/handy03.t
R100 ext/XS-APItest/t/handy4.t ext/XS-APItest/t/handy04.t
R100 ext/XS-APItest/t/handy5.t ext/XS-APItest/t/handy05.t
R100 ext/XS-APItest/t/handy6.t ext/XS-APItest/t/handy06.t
R100 ext/XS-APItest/t/handy7.t ext/XS-APItest/t/handy07.t
R100 ext/XS-APItest/t/handy8.t ext/XS-APItest/t/handy08.t
R100 ext/XS-APItest/t/handy9.t ext/XS-APItest/t/handy09.t
R100 ext/XS-APItest/t/utf8_warn0.t ext/XS-APItest/t/utf8_warn00.t
R100 ext/XS-APItest/t/utf8_warn1.t ext/XS-APItest/t/utf8_warn01.t
R100 ext/XS-APItest/t/utf8_warn2.t ext/XS-APItest/t/utf8_warn02.t
R100 ext/XS-APItest/t/utf8_warn3.t ext/XS-APItest/t/utf8_warn03.t
R100 ext/XS-APItest/t/utf8_warn4.t ext/XS-APItest/t/utf8_warn04.t
R100 ext/XS-APItest/t/utf8_warn5.t ext/XS-APItest/t/utf8_warn05.t
R100 ext/XS-APItest/t/utf8_warn6.t ext/XS-APItest/t/utf8_warn06.t
R100 ext/XS-APItest/t/utf8_warn7.t ext/XS-APItest/t/utf8_warn07.t
R100 ext/XS-APItest/t/utf8_warn8.t ext/XS-APItest/t/utf8_warn08.t
R100 ext/XS-APItest/t/utf8_warn9.t ext/XS-APItest/t/utf8_warn09.t
commit bd966f5ceda247dc1ae0fe14eb7c08282ac6c872
Author: Karl Williamson <[email protected]>
Date: Mon Mar 20 17:17:39 2017 -0600
Silence many "statement not reached" on Solaris
It turns out that the NOT_REACHED macro that is used to make sure a
statement really isn't reachable, causes the Solaris compiler to emit
such warnings. It expands to ASSUME(0), and Solaris will flag that.
This commit just changes NOT_REACHED to expand to nothing on Solaris.
M perl.h
commit a2437ae9f874d0b02a8be35d3dcae7586df4bfc9
Author: Karl Williamson <[email protected]>
Date: Sat Mar 11 11:50:58 2017 -0700
mktables: Fix up version compare
This is a feature that is used to compare 2 different Unicode versions
for changes in existing code points as opposed to additional code points
or properties. It does this by removing the newly-added code points
coming from the later version. One can then diff the directory
structure generated with the older version to see what changed.
Prior to this commit, it assumed all version numbers were single digit
for the major number. This no longer works for Unicode 10.
This commit also causes mktables to more completely add blocks that
didn't exist in the earlier version back to the unallocated pool. This
gives better diff results.
M charclass_invlists.h
M lib/unicore/mktables
M regcharclass.h
commit 11cfcbb302c8e8ab8c292a2d3cf7a6c15cb2705e
Author: Karl Williamson <[email protected]>
Date: Mon Jan 30 14:52:46 2017 -0700
XXX delta: Slightly change -Dr output of regex ANYOF nodes
M regcomp.c
M t/re/anyof.t
commit 8b72bc647fd5cd24a074d5179bc31ae227e90780
Author: Karl Williamson <[email protected]>
Date: Mon Jan 30 14:01:29 2017 -0700
regcomp.c: Change lookup for dumping pattern
Instead of using a bunch of branches, use the strchr() to see if a
character is a member of a class. This is a common paradigm in the
parsers.
M regcomp.c
commit 8ac179479fcf73b22a2e73a2c4b626e62ec08fd3
Author: Karl Williamson <[email protected]>
Date: Fri Mar 3 11:39:57 2017 -0700
t/harness parallel APItest, etc
M t/harness
-----------------------------------------------------------------------
--
Perl5 Master Repository