Branch: refs/heads/smoke-me/khw-grok
Home: https://github.com/Perl/perl5
Commit: c263f52100235edb35e831635ed6a8a1fc23ff66
https://github.com/Perl/perl5/commit/c263f52100235edb35e831635ed6a8a1fc23ff66
Author: Karl Williamson <[email protected]>
Date: 2020-01-16 (Thu, 16 Jan 2020)
Changed paths:
M utf8.c
Log Message:
-----------
utf8.c: Use already-computed variable
instead of doing it a second time
Commit: 9e9d1ce6d286db78262b948b98025c9ee3f7878f
https://github.com/Perl/perl5/commit/9e9d1ce6d286db78262b948b98025c9ee3f7878f
Author: Karl Williamson <[email protected]>
Date: 2020-01-16 (Thu, 16 Jan 2020)
Changed paths:
M numeric.c
Log Message:
-----------
grok_bin_oct_hex: Unroll loop one more iteration
Earlier I was confused when I thought that 7 hex digits were the max
before we needed to start worrying about overflow. That's true for
signed results where everything above 7FFF_FFFF won't fit in a 32-bit
signed integer. But these functions return unsigned, and so any 8
digits will fit in a 32-bit word.
Commit: 4f2dfc8ac4d0abe6fa031a1f95c60ee0e51b2193
https://github.com/Perl/perl5/commit/4f2dfc8ac4d0abe6fa031a1f95c60ee0e51b2193
Author: Karl Williamson <[email protected]>
Date: 2020-01-16 (Thu, 16 Jan 2020)
Changed paths:
M sv.c
Log Message:
-----------
perlapi sv_setpvn: Note UTF-8 flag not affected
Commit: 681ebd1c712e6f735a370d6d687d4118664d15b0
https://github.com/Perl/perl5/commit/681ebd1c712e6f735a370d6d687d4118664d15b0
Author: Karl Williamson <[email protected]>
Date: 2020-01-16 (Thu, 16 Jan 2020)
Changed paths:
M numeric.c
M perl.h
Log Message:
-----------
grok_bin_oct_hex: Add two output flags
This commit adds two output flags returned from this function to the one
previously existing, so that the caller can be informed of the problems
found and take its own action, rather than having to deal with the
default action from this function.
This involves the behavior of two existing flags, whose being set
suppresses the warning if particular conditions exist in the input being
parsed. Both flags are currently always cleared upon return.
One of those flags is non-public. I changed it so that it isn't cleared
upon return if the condition it describes is found.
The other flag is public. I thought that some existing code, though
unlikely, might be relying on the flag being always cleared. So I
added a completely new flag from a currently unused bit that, if set on
input, will be set on output if the condition is met; otherwise cleared.
The only code that could possibly be affected is that which sets this
unused bit, but expects it to be cleared after the return. This is very
unlikely.
Commit: 1cef2be6cbb2e034b7e45e5e5a801427374dc7a1
https://github.com/Perl/perl5/commit/1cef2be6cbb2e034b7e45e5e5a801427374dc7a1
Author: Karl Williamson <[email protected]>
Date: 2020-01-16 (Thu, 16 Jan 2020)
Changed paths:
M numeric.c
Log Message:
-----------
numeric.c: White-space only
Indent code that the previous commit added an enclosing block
surrounding it.
Commit: 50a32e48113d7a185d963b9c291a3d682f9b567c
https://github.com/Perl/perl5/commit/50a32e48113d7a185d963b9c291a3d682f9b567c
Author: Karl Williamson <[email protected]>
Date: 2020-01-16 (Thu, 16 Jan 2020)
Changed paths:
M pod/perldiag.pod
M utf8.c
Log Message:
-----------
XXX finish msg, tests will prob fail, : Warn on too high a code point if
portable warn enabled
Commit: c44e815d29d0d9383d152cb2188212103ea52d43
https://github.com/Perl/perl5/commit/c44e815d29d0d9383d152cb2188212103ea52d43
Author: Karl Williamson <[email protected]>
Date: 2020-01-16 (Thu, 16 Jan 2020)
Changed paths:
M regcomp.c
Log Message:
-----------
regcomp.c: Add parameter to macro
This is to generalize it for future commits.
Commit: a84e5ddacdff5d463577639a84468c458a14e7c7
https://github.com/Perl/perl5/commit/a84e5ddacdff5d463577639a84468c458a14e7c7
Author: Karl Williamson <[email protected]>
Date: 2020-01-16 (Thu, 16 Jan 2020)
Changed paths:
M av.c
Log Message:
-----------
XXX more details av.c: Add an assert
Commit: 010eac76d09be797fb78bec4209a69d5fb2b8466
https://github.com/Perl/perl5/commit/010eac76d09be797fb78bec4209a69d5fb2b8466
Author: Karl Williamson <[email protected]>
Date: 2020-01-16 (Thu, 16 Jan 2020)
Changed paths:
M av.c
Log Message:
-----------
no assert in av
Commit: f7c649e549d206f9d7d4f779794d7b21b460f1aa
https://github.com/Perl/perl5/commit/f7c649e549d206f9d7d4f779794d7b21b460f1aa
Author: Karl Williamson <[email protected]>
Date: 2020-01-16 (Thu, 16 Jan 2020)
Changed paths:
M globvar.sym
M perl.h
M utf8.c
Log Message:
-----------
utf8.c: Make global a warning msg text
This is in preparation for it to be raised in other files
Commit: af5615424a9c91f43435fe08f4689592c73aa0d3
https://github.com/Perl/perl5/commit/af5615424a9c91f43435fe08f4689592c73aa0d3
Author: Karl Williamson <[email protected]>
Date: 2020-01-16 (Thu, 16 Jan 2020)
Changed paths:
M dquote.c
M embed.fnc
M embed.h
M proto.h
M regcomp.c
M toke.c
Log Message:
-----------
XXX tests? Hoist code point portability warnings
Commit: fc843c6f3677a7f7c7c9c578e5915448254d99b4
https://github.com/Perl/perl5/commit/fc843c6f3677a7f7c7c9c578e5915448254d99b4
Author: Karl Williamson <[email protected]>
Date: 2020-01-16 (Thu, 16 Jan 2020)
Changed paths:
M dquote.c
M embed.fnc
M proto.h
Log Message:
-----------
dquote.c: Change parameter name
In two functions, future commits will generalize this parameter to be
possibly a warning message instead of only an error message. Change its
name to reflect the added meaning.
Commit: 44177269ca18e4168e39cfbfc76d833c240a8494
https://github.com/Perl/perl5/commit/44177269ca18e4168e39cfbfc76d833c240a8494
Author: Karl Williamson <[email protected]>
Date: 2020-01-16 (Thu, 16 Jan 2020)
Changed paths:
M dquote.c
M embed.fnc
M embed.h
M proto.h
M regcomp.c
M t/lib/warnings/regcomp
M t/lib/warnings/toke
M t/re/reg_mesg.t
M toke.c
Log Message:
-----------
Restructure grok_bslash_c
This commit causes this function to return a message to the caller
instead of always handling itself. The messages are somewhat changed
from previously to be clearer. I did not find any code in CPAN that
relied on the previous message text.
There are two reasons to do this.
1) In pattern compilation this brings these messages into conformity
with most of the other ones generated, where there is a particular
syntax, including marking the exact position in the parse where the
problem occurred. Later commits will bring the remaining messages
(from other called functions) into compliance.
2) These could generate truncated messages due to the (mostly)
single-pass nature of pattern compilation that is now in effect. It
keeps track of where during a parse a message has been output, and
won't output it again if a second parsing pass turns out to be
necessary. Prior to this commit, it had to assume that a message did
get output when this function got called, and this caused some
out-of-bounds reads when a subparse (using a constructed pattern) was
executed. The possibility of those went away in commit 5d894ca5213,
which guarantees it won't try to read outside bounds, but that may
still mean it is outputting text from the wrong parse, giving
meaningless results. This commit should stop that possibility.
Commit: 661f31ad49707077256e6fa052b80ce39e89f0b1
https://github.com/Perl/perl5/commit/661f31ad49707077256e6fa052b80ce39e89f0b1
Author: Karl Williamson <[email protected]>
Date: 2020-01-16 (Thu, 16 Jan 2020)
Changed paths:
M dquote.c
M embed.fnc
M embed.h
M pod/perldiag.pod
M proto.h
M regcomp.c
M t/lib/warnings/regcomp
M t/lib/warnings/toke
M t/re/reg_mesg.t
M toke.c
Log Message:
-----------
Restructure grok_bslash_[ox]
This commit causes these functions to return a message to the caller
instead of always handling themselves. The messages are somewhat changed
from previously to be clearer. I did not find any code in CPAN that
relied on the previous message text.
Like the previous commit for grok_bslash_c, here are two reasons to do
this, repeated here.
1) In pattern compilation this brings these messages into conformity
with the other ones generated, where there is a particular syntax,
including marking the exact position in the parse where the problem
occurred. With this commit, I know of no messages not in compliance.
2) These could generate truncated messages due to the (mostly)
single-pass nature of pattern compilation that is now in effect. It
keeps track of where during a parse a message has been output, and
won't output it again if a second parsing pass turns out to be
necessary. Prior to this commit, it had to assume that a message did
from one of these functions did get output, and this caused some
out-of-bounds reads when a subparse (using a constructed pattern) was
executed. The possibility of those went away in commit 5d894ca5213,
which guarantees it won't try to read outside bounds, but that may
still mean it is outputting text from the wrong parse, giving
meaningless results. This commit should stop that possibility.
f
Commit: e7374c7b2d68c9cc650808dcef59229bd7a95b5b
https://github.com/Perl/perl5/commit/e7374c7b2d68c9cc650808dcef59229bd7a95b5b
Author: Karl Williamson <[email protected]>
Date: 2020-01-16 (Thu, 16 Jan 2020)
Changed paths:
M regcomp.c
M t/re/reg_mesg.t
Log Message:
-----------
regcomp.c: Code points above 255 are portable
These tests are to generate warnings that the affected code is not
portable between ASCII and EBCDIC systems. But, it was being too picky.
Code points above 255 are the same on both systems, so the warning
shouldn't be generated for those.
Commit: d61fd683827eee247b6bddf2b3e5e8663e0722b6
https://github.com/Perl/perl5/commit/d61fd683827eee247b6bddf2b3e5e8663e0722b6
Author: Karl Williamson <[email protected]>
Date: 2020-01-16 (Thu, 16 Jan 2020)
Changed paths:
M dquote_inline.h
M embed.fnc
M embed.h
M perl.h
M proto.h
M regcomp.c
M t/re/reg_mesg.t
M toke.c
Log Message:
-----------
(toke|regcomp).c: Use common fcn to handle \0 problems
This changes warning messages for too short \0 octal constants to use
the function introduced in the previous commit. This function assures a
consistent and clear warning message, which is slightly different than
the one this commit replaces. I know of no CPAN code which depends on
this warning's wording.
Commit: 56ced38d79e0b5f0f6a0708dbe6ba7b1ce19e154
https://github.com/Perl/perl5/commit/56ced38d79e0b5f0f6a0708dbe6ba7b1ce19e154
Author: Karl Williamson <[email protected]>
Date: 2020-01-16 (Thu, 16 Jan 2020)
Changed paths:
M MANIFEST
M dquote.c
R dquote_inline.h
M embed.fnc
M embed.h
M inline.h
M proto.h
M regcomp.c
M toke.c
Log Message:
-----------
Remove dquote_inline.h
The remaining function in this file is moved to inline.h, just to not
have an extra file lying around with hardly anything in it.
Commit: 9afa30d05682d4c57d0e7982e669315df7769432
https://github.com/Perl/perl5/commit/9afa30d05682d4c57d0e7982e669315df7769432
Author: Karl Williamson <[email protected]>
Date: 2020-01-16 (Thu, 16 Jan 2020)
Changed paths:
M embed.fnc
M inline.h
M proto.h
Log Message:
-----------
Change return type of regcurly to bool
This internal function is more properly bool, not I32.
Commit: a82c0e10a5302efb00eff93295b40cc391aefed6
https://github.com/Perl/perl5/commit/a82c0e10a5302efb00eff93295b40cc391aefed6
Author: Karl Williamson <[email protected]>
Date: 2020-01-16 (Thu, 16 Jan 2020)
Changed paths:
M embed.fnc
M embed.h
M handy.h
M proto.h
M regcomp.c
M util.c
Log Message:
-----------
Move cntrl_to_mnemonic() to util.c from regcomp.c
This is in preparation for it being used elsewhere, to reduce
duplication of code.
Commit: 3ba1b4adbaea9892428e3adf59f219409d561178
https://github.com/Perl/perl5/commit/3ba1b4adbaea9892428e3adf59f219409d561178
Author: Karl Williamson <[email protected]>
Date: 2020-01-16 (Thu, 16 Jan 2020)
Changed paths:
M ext/B/B.pm
M ext/B/B.xs
M ext/B/t/b.t
M utf8.c
M utf8.h
Log Message:
-----------
l
Compare: https://github.com/Perl/perl5/compare/c263f5210023%5E...3ba1b4adbaea