In perl.git, the branch smoke-me/khw-xx has been created
<http://perl5.git.perl.org/perl.git/commitdiff/39f1c1d3042422fddd94db76eba28330e7f7a5b8?hp=0000000000000000000000000000000000000000>
at 39f1c1d3042422fddd94db76eba28330e7f7a5b8 (commit)
- Log -----------------------------------------------------------------
commit 39f1c1d3042422fddd94db76eba28330e7f7a5b8
Author: Karl Williamson <[email protected]>
Date: Sat Sep 27 17:13:42 2014 -0600
regcomp.c: Properly dereference a ptr
UTF8_IS_INVARIANT takes a byte as its argument, not a ptr. This bug was
introduced by 62a59291 in 5.21.4. It doesn't probably cause bugs
because the ptr is always too big to be an invariant, but it slows
things down somewhat by not taking a shortcut it could.
It turns out that there is a discrepency between the APIs of the
UTF8-foo macros. Some take a byte, and some a string ptr.
M regcomp.c
commit 03ddc672ee4d3cafb3d0caa1c63434792931dc34
Author: Karl Williamson <[email protected]>
Date: Sun Sep 21 22:07:58 2014 -0600
Suppress some Solaris warnings
We get an integer overflow message when we left shift a 1 into the
highest bit of a word. This changes the 1's into 1U's to indicate
unsigned. This is done for all the flag bits in the affected word, as
they could get reorderd by someone in the future, unintentionally
reintroducing this problem again.
M op.h
M op_reg_common.h
M regexp.h
commit c56c436243db367c90aa7ea36caf86dd738f7d44
Author: Karl Williamson <[email protected]>
Date: Wed Sep 24 12:51:46 2014 -0600
op_reg_common.h: Update comment
The PL file previously referred to has been deleted, and replaced by a
different one.
M op_reg_common.h
commit d7c7193343c3e49ef7c191c8a5beb7d6fc9a9c1e
Author: Karl Williamson <[email protected]>
Date: Wed Sep 24 12:49:13 2014 -0600
B/Makefile.PL: Allow constants to be long/unsigned
This looks for numerical constants, but failed to see long and/or
unsigned ones, which have suffixes U and/or L, or lowercase u and/or l.
M ext/B/Makefile.PL
commit e529c894ed6bcb8c72eaa3d10ce481ad3d0af06e
Author: Karl Williamson <[email protected]>
Date: Mon Sep 22 11:56:48 2014 -0600
Deprecate multiple "x" in "/xx"
It is planned for a future Perl release to have /xx mean something
different from just /x. To prepare for this, this commit raises a
deprecation warning if someone currently has this usage. A grep of CPAN
did not turn up any instances of this, but this is to be safe anyway.
The added code is more general than actually needed, in case we want to
do this for another flag.
M ext/re/re.pm
M ext/re/t/reflags.t
M pod/perldelta.pod
M pod/perldiag.pod
M regcomp.c
M regexp.h
M t/re/reg_mesg.t
M toke.c
commit 5bfc7d489df24612c0e06f0a8a73aea60cb8012e
Author: Karl Williamson <[email protected]>
Date: Mon Sep 22 11:54:37 2014 -0600
toke.c: Clarify comment
M toke.c
commit 9ef678d7d940f711db38608ae93ac47e8e1eff1f
Author: Karl Williamson <[email protected]>
Date: Wed Sep 17 17:59:39 2014 -0600
op_reg_common.h: White-space only
Align columns vertically
M op_reg_common.h
commit d871241c4201328a9437a07cb8d10001c3b361d2
Author: Karl Williamson <[email protected]>
Date: Wed Sep 17 17:55:16 2014 -0600
Make space for /xx flag
This doesn't actually use the flag yet.
We no longer have to make version-dependent changes to
ext/Devel-Peek/t/Peek.t, (it being in /ext) so this doesn't
M dump.c
M ext/B/t/concise-xs.t
M ext/Devel-Peek/t/Peek.t
M ext/re/re.pm
M lib/B/Deparse.pm
M op.h
M op_reg_common.h
M regexp.h
M regnodes.h
commit 14dda03df372cb75a460f17edde239af13782a0d
Author: Karl Williamson <[email protected]>
Date: Wed Sep 17 17:57:17 2014 -0600
op_reg_common.h: #define in terms of more basic one
The mask to copy bits should always include at least the compile-time
bits. By defining it in terms of the compile-time bits, we make it
easier to change and understand.
M op_reg_common.h
commit 864f9b659bc29eb00cfe9a90f55ed089ec33266e
Author: Karl Williamson <[email protected]>
Date: Wed Sep 17 12:16:12 2014 -0600
Up regex flags limit for (??{})
Previously the regex pattern compilation flags needed for this construct
would fit into an 8-bit byte. This conveniently fits into the flags
structure element of a regnode. There are changes coming that require
more than 8 bits, so in preparation, this commit adds an argument to the
node that implements (??{}) (31-bits usable for flags), and moves the
storage to that.
M op_reg_common.h
M pod/perldebguts.pod
M regcomp.c
M regcomp.sym
M regexec.c
M regnodes.h
commit 6df1bbfdfc9e92c77801cc091feec69c7dcde523
Author: Karl Williamson <[email protected]>
Date: Tue Sep 16 17:19:52 2014 -0600
regcomp.c: Add assertions
This changes from assuming that certain things are constant to using a
variable instead, and then asserting that the variable matches the
constant.
M regcomp.c
commit 5bbc5892def1909f6ebd9d418e4472410ae072ba
Author: Karl Williamson <[email protected]>
Date: Tue Sep 16 17:16:47 2014 -0600
regcomp.c: Add a function and use it
This adds a function to allocate a regnode with 2 32-bit arguments, and
uses it, rather than the ad-hoc code that did the same thing previously.
This is in preparation for this code being used in a 2nd place in a
future commit.
M embed.fnc
M embed.h
M proto.h
M regcomp.c
M regcomp.h
commit a647ecaaa22e933e1cb1ee4ae7ec5259b0cb6186
Author: Karl Williamson <[email protected]>
Date: Tue Sep 16 16:26:36 2014 -0600
regcomp.sym: ANYOF nodes have an argument
Plus a bitmap, but they always have an argument besides, contrary to
what was specified here. Future commits rely on this, whereas
heretofore this error was harmless.
M pod/perldebguts.pod
M regcomp.sym
M regnodes.h
commit 9e876e7ec2a02756dcfe08803dc6f45436fdc29b
Author: Karl Williamson <[email protected]>
Date: Tue Sep 16 10:00:32 2014 -0600
regcomp.h: Add comment
M regcomp.h
commit 6563c074faa89181d2e816fcc87fee1832707921
Author: Karl Williamson <[email protected]>
Date: Mon Sep 15 12:14:17 2014 -0600
regcomp.c: Outdent line to align with neighbors
M regcomp.c
commit e697a6e8156dab07f455fc33c0c12056dafd5640
Author: Karl Williamson <[email protected]>
Date: Mon Sep 15 11:30:25 2014 -0600
regcomp.h: Remove obsolete #defines
These internal definitions are no longer used.
M regcomp.h
commit b82c8ab43f9dc0a8a253b994c45aff1e9f38bc8a
Author: Karl Williamson <[email protected]>
Date: Mon Sep 15 11:29:43 2014 -0600
regcomp.h: Use existing macro instead of reinventing
M regcomp.h
commit 552fd2759b3eae850522c172e7e4bc102ff1c705
Author: Karl Williamson <[email protected]>
Date: Mon Sep 15 08:46:35 2014 -0600
regcomp.c: Extract duplicated code to fcn
This causes the nearly-duplicate code of S_reg_node and S_reganode to be
placed into a single function, S_regnode_guts.
There is one place where it might not be obvious that this doesn't
change things. And that is under DEBUGGING, reg_node() called
Set_Node_Offset(RExC_emit, RExC_parse + (op == END));
and reganode called
Set_Cur_Node_Offset;
However Set_Cur_Node_Offset is defined to be
Set_Node_Offset(RExC_emit, RExC_parse)
and since op will never be END for reganode, the two statements are
equivalent.
M embed.fnc
M embed.h
M proto.h
M regcomp.c
commit 253775b19df056c2225f6eea0b50066fd848534c
Author: Karl Williamson <[email protected]>
Date: Sun Sep 14 22:25:47 2014 -0600
regcomp.c: Move some statements
These statements are moved to after the debugging code so that the two
functions are essentially identical before them. This will allow the
two to be combined in a future commit. I verified by testing that the
debugging info was not affected.
M regcomp.c
commit ad0effe4c594577b7286e3c0d552300114b1d707
Author: Karl Williamson <[email protected]>
Date: Wed Sep 17 12:11:21 2014 -0600
op.h: Move flag bits; comment shared-bit scheme
This changes op.h to correspond with regexp.h. It moves all the used
bits up in the word so that if a new shared bit is added, the #error
will be triggered, alerting the person doing it that things need
adjusting so binary compatibility is preserved.
M op.h
commit 61a75f18b2f3d835a3f1a3c780a81020a0c5a6ff
Author: Karl Williamson <[email protected]>
Date: Wed Sep 17 12:08:41 2014 -0600
regexp.h: Comment shared-pool free bits scheme
M regexp.h
commit 2a1fb376093b9228e2316c84768b51c6dcca4371
Author: Karl Williamson <[email protected]>
Date: Fri Sep 12 14:04:12 2014 -0600
regexp.h: Make tentative division of free-bit space
This sets a #define to point in the middle of the free-space, so that
bits at either end can be added without having to adjust many other
defines.
M regexp.h
commit 655d5fa96f6eaa10e68e38a41430ff38a9502433
Author: Karl Williamson <[email protected]>
Date: Fri Sep 12 13:59:13 2014 -0600
regexp.h: Define flag bit directly, not indirectly
This #defined a symbol then did a compile time check that it was the
same as another symbol. This commit simply defines it as the other
symbol directly, and moves it to above the other definitions, which it
no longer is part of. This prepares for the next commit.
M regexp.h
commit bf4535883599182c1d2c55a831a56e8012e79a6f
Author: Karl Williamson <[email protected]>
Date: Fri Sep 12 14:40:03 2014 -0600
regexp.h Remove unused bit placeholders
We do not need a placeholder for unused flag bits. And removing them
makes the generated regnodes.h more accurate as to what bits are
available.
M regexp.h
M regnodes.h
commit cf367e54a58cdb42770035cc3dcaef6ebfa78627
Author: Karl Williamson <[email protected]>
Date: Thu Sep 11 22:45:06 2014 -0600
regexp.h: Move regex flag bit positions.
This moves three bits to create a block of unused bits at the beginning.
The first bit had to be moved to make space for other uses that are
coming in future commits. This breaks binary compatibility, so might as
well move the other two bits so that all the unused bits are
consolidated at the beginning.
This pool of unused bits is the boundary between the bits that are
common to op.h and regexp.h (and in op_reg_common.h) and those that are
separate. It's best to have all the unused bits there, so when we need
to use one, it can be taken from either side, as needed, without us
being trapped into having an available bit, but of the wrong kind.
M regexp.h
M regnodes.h
-----------------------------------------------------------------------
--
Perl5 Master Repository