This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Abigail [Wed, 22 Oct 2014 22:04:28 +0000 (00:04 +0200)]
5.21.5 has been ticked off
Father Chrysostomos [Wed, 22 Oct 2014 19:57:11 +0000 (12:57 -0700)]
[perl #122680] Omit <-- HERE marker from (?=){3} warning
‘Quantifier unexpected on zero-length expression’ was always putting
the marker at the end of the regular expression, instead of where
it actually goes.
Karl Williamson [Wed, 22 Oct 2014 17:20:31 +0000 (11:20 -0600)]
Fix Unicode errata
This is an error correction from http://www.unicode.org/errata/
Tony Cook [Wed, 22 Oct 2014 05:38:54 +0000 (16:38 +1100)]
perldelta for
8334cae656b5
Tony Cook [Wed, 22 Oct 2014 05:20:08 +0000 (16:20 +1100)]
[perl #122703] ensure $! is set when chmod() and utime() fail
When called with a closed file handle, neither chmod nor utime set
errno when they failed,
chown() did set errno, but this wasn't tested.
Doug Bell [Sun, 31 Aug 2014 08:15:35 +0000 (03:15 -0500)]
git format-patch -M option takes branch
Doug Bell [Sun, 31 Aug 2014 08:17:42 +0000 (03:17 -0500)]
make it clear not to use git-send-email at all
Tony Cook [Wed, 22 Oct 2014 04:08:18 +0000 (15:08 +1100)]
Tony Cook [Wed, 22 Oct 2014 03:48:32 +0000 (14:48 +1100)]
document the limitations of list pipe open on Win32
Tony Cook [Wed, 1 Oct 2014 06:19:52 +0000 (16:19 +1000)]
implement list form of pipe open for Win32
Father Chrysostomos [Wed, 22 Oct 2014 01:07:22 +0000 (18:07 -0700)]
sv.c: Always #define COW threshold constants
They are also used in determining whether an operator target (PADTMP)
should be swiped.
If COW is not enabled, then the #if SV_COW_THRESHOLD ends up treating
the threshold as 0, which means swiping almost always happens for tar-
gets, resulting in an increase in malloc calls. So non-COW builds end
up slower than they need to be. This also caused bug #123029 to occur
more often under non-COW builds.
Father Chrysostomos [Wed, 22 Oct 2014 00:52:30 +0000 (17:52 -0700)]
state.t: Improve test for #123029
This version fails in 5.20.1 whether COW is enabled or not.
Daniel Dragan [Tue, 21 Oct 2014 18:44:37 +0000 (14:44 -0400)]
make -DNO_MATHOMS work on Win32
If you try to export symbols which dont exist, VC linker fails. NO_MATHOMS
now works on Win32. The list of symbols is from VC's error log.
Jarkko Hietaniemi [Tue, 21 Oct 2014 22:53:06 +0000 (18:53 -0400)]
sisyphus thinks the test value is simply wrong here.
Aaron Crane [Tue, 21 Oct 2014 17:38:27 +0000 (18:38 +0100)]
[perl #123029]: add regression test
This bug was fixed in
c0683843e9299db25f354e2c8c90faa7614950d1.
David Mitchell [Tue, 21 Oct 2014 16:37:15 +0000 (17:37 +0100)]
porting/checkcase.t: suppress warnings
Due to parallel testing, the find() in this test file can
generate spurious warnings such as
Can't opendir(./t/tmp7281B): No such file or directory
at porting/checkcase.t line 37.
Just turn off find's warnings for this test file.
Karl Williamson [Sun, 19 Oct 2014 00:56:13 +0000 (18:56 -0600)]
Document length-1 variable name rules
This cleans up the existing documentation with added details, and
documents the effect of recent changes.
Karl Williamson [Mon, 20 Oct 2014 05:03:44 +0000 (23:03 -0600)]
Don't allow literal control chars in var names in EBCDIC
Currently, a variable name of length-1 may have as its name some of the
possible control characters, though this usage is deprecated. It is a
pain to fix this to work properly on EBCDIC, and since the use of these
is deprecated, the pumpking agreed with me to not to bother with doing
so.
Karl Williamson [Sun, 19 Oct 2014 16:35:04 +0000 (10:35 -0600)]
Deprecate all length-1 non-graphic variable names
v5.20 deprecated all otherwise-legal control characters as length-1
variable names. This extends this to include all non-graphic
characters. The practical effect of this occurs only when not under
"use utf8", and affects just the C1 controls (code points 0x80
through 0xFF), NO-BREAK SPACE, and SOFT HYPHEN.
Karl Williamson [Sun, 19 Oct 2014 15:42:25 +0000 (09:42 -0600)]
toke.c: Simplify macro for length-1 variable names
It turns out that any non-NUL, non-space ASCII character that gets this
far in the program is a valid length-1 variable. So, can simplify the
expression in the macro that tests for legal ones.
Karl Williamson [Sun, 19 Oct 2014 15:20:44 +0000 (09:20 -0600)]
t/uni/variables.t: Add tests for the generated warnings
Karl Williamson [Sun, 19 Oct 2014 01:00:01 +0000 (19:00 -0600)]
t/uni/variables.t: White-space only
Indent to newly-formed (by the previous commit) blocks
Karl Williamson [Sat, 18 Oct 2014 14:56:00 +0000 (08:56 -0600)]
t/uni/variables.t: Add tests
The length-1 variables in the ASCII range had not been systematically
tested until this commit
Karl Williamson [Mon, 20 Oct 2014 15:30:01 +0000 (09:30 -0600)]
t/uni/variables.t: Add test skips
A future commit will change the behavior of this test depending on
whether it is run on an EBCDIC vs ASCII platform. In the loop, add
skips so the total number run per iteration is the same no matter what
branches (and tests) get run in the iteration. This will allow the
ASCII and EBCDIC test plan to have the same number. This in turn will
prevent platform-specific failures when adding/subtracting tests in this
file.
Karl Williamson [Sat, 18 Oct 2014 05:27:24 +0000 (23:27 -0600)]
t/uni/variables.t: Rename variable
A future commit will be using the current variable name for a different
purpose.
Karl Williamson [Fri, 17 Oct 2014 17:43:06 +0000 (11:43 -0600)]
t/uni/variables.t: Clarify some test names
I found it hard to read use utf8 instead of 'use utf8', etc, but more
importantly, this changes a bunch of tests so the character in related
tests is only named in the first such, and more description is used.
This is in preparation for a future commit.
Karl Williamson [Tue, 2 Apr 2013 04:28:08 +0000 (22:28 -0600)]
t/uni/variables.t: Fix to run under EBCDIC
Karl Williamson [Sat, 18 Oct 2014 04:54:21 +0000 (22:54 -0600)]
t/uni/variables.t: Remove duplicate test
The same exact test was repeated.
Karl Williamson [Fri, 17 Oct 2014 17:50:13 +0000 (11:50 -0600)]
t/uni/variables.t: Remove unused param to sprintf
Karl Williamson [Fri, 17 Oct 2014 04:24:13 +0000 (22:24 -0600)]
toke.c: Fix potential buffer overflow
Malformed UTF-8 input could have potentially caused a read off the end
of the buffer here until this commit.
Karl Williamson [Fri, 17 Oct 2014 04:03:30 +0000 (22:03 -0600)]
perlebcdic: Add clarification
Karl Williamson [Wed, 26 Jun 2013 21:40:53 +0000 (15:40 -0600)]
uvoffuni_to_utf8_flags() die if platform can't handle
On non EBCDIC platforms currently any UV is encodable as UTF-8. (This
would change if there were 128-bit words). Thus, much code assumes that
nothing can go wrong when converting to UTF-8, and hence does no error
checking.
However, UTF-EBCDIC is only capable of representing code points below
2**32, so if there are 64-bit words, this function can fail.
Prior to this patch, there was no real overflow check, and garbage was
returned by this function if called with too large a number.
While not ideal, the easiest thing to do is to just die for such a
number, like we do for division by 0. This involves changing only code
within this function, and not its many callers.
Karl Williamson [Fri, 17 Oct 2014 01:24:53 +0000 (19:24 -0600)]
dquote_static.c: Forbid \c{ on EBCDIC
Unlike ASCII platforms where \c{ evaluates to a semi-colon, and raises a
fatal error because that result is not a control character, on EBCDIC
platforms it does evaluate to a control, but we have to forbid it anyway
because unescaped "{" now is special as a part of larger sequences, and
we don't want to get the parser confused.
Karl Williamson [Fri, 17 Oct 2014 01:44:07 +0000 (19:44 -0600)]
utf8.h: EBCDIC fix
These macros are supposed to accommodate larger than a byte inputs.
Therefore, under EBCDIC, we have to use a different macro which handles
the larger values. On ASCII platforms, these called macros are no-ops
so it doesn't matter there.
Karl Williamson [Fri, 17 Oct 2014 01:55:42 +0000 (19:55 -0600)]
handy.h: Two EBCDIC fixes
In EBCDIC only macros, an argument previously was failed to be
dereferenced, and there was an extra ==. A few comment changes as well
Karl Williamson [Fri, 17 Oct 2014 02:45:17 +0000 (20:45 -0600)]
lib/locale.t: Add some \Q
More places in this file need to have \Q to quote things. This was
noticed in EBCDIC testing.
Karl Williamson [Thu, 18 Apr 2013 03:47:41 +0000 (21:47 -0600)]
t/re/regexp.t: Add ability to skip depending on platform
This adds the capability to specify that a test is to be done only on an
ASCII platform, or only on an EBCDIC.
Karl Williamson [Tue, 16 Apr 2013 21:49:06 +0000 (15:49 -0600)]
t/re/regexp.t: Generalize for non-ASCII platforms
This adds code to the processing of the tests in t/re/re_tests to
automatically convert most character constants from unicode to native
character sets. This allows most tests in t/re/re_tests to be run on
both platforms without change. A later commit will add the capability
to skip individual tests if on the wrong platform, so those few tests
that this commit doesn't work for can be accommodated
Karl Williamson [Mon, 7 Jul 2014 22:59:19 +0000 (16:59 -0600)]
charset_tools.pl: Fix changed function name
The function has changed names, but this file did not get updated to
reflect that.
Karl Williamson [Wed, 8 Oct 2014 17:43:26 +0000 (11:43 -0600)]
EBCDIC doesn't have real UTF-8 locales.
At least on the system that we have tested on. There are locales that
say they are UTF-8, but they're not; they're EBCDIC 1047.
Yaroslav Kuzmin [Thu, 3 Jul 2014 04:22:23 +0000 (22:22 -0600)]
Fix ebcdic error of nostdio.h
Karl Williamson [Wed, 8 Oct 2014 17:41:22 +0000 (11:41 -0600)]
regcomp.c: isASCII should be isASCII_uni
It doesn't effectively matter, but isACII_uni is the one that is
supposed to be used for UVs.
Karl Williamson [Wed, 8 Oct 2014 17:24:50 +0000 (11:24 -0600)]
Fix isASCII for EBCDIC
Prior to this commit isASCII on EBCDIC platforms was defined as the
isascii() libc function. It turns out that this doesn't work properly.
It needed to be this way back when EBCDIC was bootstrapped onto the
target machine, but now, various header files are furnished with the
requisite definitions, so this is no longer necessary.
The problem with isascii() is that it is locale-dependent, unlike on
ASCII platforms. This means that instead of getting a standard ASCII
definition, it returns whatever the underlying locale says, even if
there is no 'use locale' anywhere in the program. Starting with this
commit, the isASCII definition now comes from the l1_char_class_tab.h
file which we know is accurate and not locale-dependent.
This header can be used in compilations of utility programs where perl.h
is not available. For these, there are alternate, more complicated
definitions, should they be needed in those utility programs. Several
of those definitions prior to this commit also used locale-sensitive
isfoo() functions. The bulk of this commit refactors those definitions
to not use these functions as much as possible. As noted in the
added comments in the code, the one remaining use of such a function is
only for the lesser-used control characters. Likely these aren't used
in the utility programs.
Karl Williamson [Wed, 8 Oct 2014 17:21:16 +0000 (11:21 -0600)]
handy.h: Add missing macro
This section of code is normally not compiled, but when circumstances
call for it to be compiled, it may be missing the macro defined in this
commit, which is trivial on ASCII platforms, so just define it if
missing
Karl Williamson [Wed, 8 Oct 2014 17:16:59 +0000 (11:16 -0600)]
handy.h: Need macro definition for normally non-compiled code
This section of code is compiled only when perl.h is not available, i.e.
for utility programs. I periodically test that it still works, and this
time a macro was added to the other branch of the #if, but not this one.
This commit adds a trivial one to the missing area.
Karl Williamson [Wed, 8 Oct 2014 17:12:12 +0000 (11:12 -0600)]
handy.h: Comments only
Removes obsolete comment, and adds text to make it easier to find
matching #else and #endif of a #if
Yaroslav Kuzmin [Sun, 28 Sep 2014 16:02:17 +0000 (10:02 -0600)]
perlio: Fix to work with MVS Dataset
Karl Williamson [Sun, 24 Aug 2014 16:12:49 +0000 (10:12 -0600)]
mktables: Use chr() instead of pack()
The input is the native code point, not the Unicode one, and so it is a
bug that pack(U) works. The W format is what should be used, but I
think chr() is easier to read.
Karl Williamson [Mon, 23 Jun 2014 03:29:28 +0000 (21:29 -0600)]
utf8.c: Improve debug message
This function was called with an empty string "" because that string was
not actually needed in the function, except to better identify the
source when there is an error. So change to specify the actual source.
Karl Williamson [Mon, 9 Jun 2014 18:28:10 +0000 (12:28 -0600)]
regcomp.c: EBCDIC fix
Karl Williamson [Thu, 28 Feb 2013 04:59:11 +0000 (21:59 -0700)]
makedepend.SH: Split too long lines; properly join
I had thought that a continuation introduced a space. But no,
a continuation can happen in the middle of a token.
And this splits lines that are getting very long to avoid preprocessor
limitations.
Karl Williamson [Wed, 27 Feb 2013 22:51:28 +0000 (15:51 -0700)]
makedepend.SH: White-space only
Align continuation backslashes
Karl Williamson [Wed, 27 Feb 2013 21:39:28 +0000 (14:39 -0700)]
makedepend.SH: Remove some unnecessary white space
Multi-line preprocessor directives are now joined into single lines.
This can create lines too long for the preprocessor to handle. This
commit removes blanks adjoining comments that get deleted. This makes
things somewhat less likely to exceed the limit.
This commit also fixes several [] which were meant to each match a tab
or a blank, but editors converted the tabs to blanks
Karl Williamson [Wed, 27 Feb 2013 21:30:51 +0000 (14:30 -0700)]
makedepend.SH: Retain '/**/' comments
These comments may actually be necessary.
Karl Williamson [Tue, 26 Feb 2013 16:00:18 +0000 (09:00 -0700)]
makedepend.SH: Comment out unnecessary code
This causes problems currently for z/OS. But, since we don't know why
it was there, I'm leaving it in as a placeholder.
Andy Dougherty [Wed, 27 Feb 2013 18:06:07 +0000 (13:06 -0500)]
Disable gcc-style function attributes on z/OS.
John Goodyear <johngood@us.ibm.com> reports that the z/OS C compiler
supports the attribute keyword, but not exactly the same as gcc.
Instead of a "warning", the compiler emits an "INFORMATIONAL" message
that Configure fails to detect. Until Configure is fixed, just disable
the attributes altogether.
John Goodyear
Andy Dougherty [Wed, 27 Feb 2013 14:12:13 +0000 (09:12 -0500)]
Change os390 custom cppstdin script to use fgrep.
Grep appears to be limited to 2048 characters, and truncates
the output for cppstin. Fgrep apparently doesn't have that limit.
Thanks to John Goodyear <johngood@us.ibm.com> for reporting this.
Father Chrysostomos [Tue, 21 Oct 2014 01:05:14 +0000 (18:05 -0700)]
Remove very obsolete comment
I chuckle every time I read this comment. And I chuckled at the time
it got ignored and mangled, too. :-)
17ab7946 reworked some code without reindenting a block. And that
lack of indentation was intentional and noted by this comment.
96913b52 four years later reindented the code, ignoring the comment.
486ec47a corrected the spelling mistake in the comment, rendering it
incomprehensible. ‘Intenting’ was supposed to be ‘indenting’ (it was
obvious to me), but got ‘corrected’ to ‘intending’.
d5524600 gutted almost the entire block, moving it into a static rou-
tine, so the comment is by now not even remotely relevant.
Father Chrysostomos [Tue, 21 Oct 2014 00:52:36 +0000 (17:52 -0700)]
Increase $B::Deparse::VERSION to 1.30
Father Chrysostomos [Tue, 21 Oct 2014 00:16:01 +0000 (17:16 -0700)]
Rmv restrictions on op tree structure for padrange
The padrange optimisation was only happening if the op tree was laid
out in a way that would allow B::Deparse easily to restore the origi-
nal op_next pointers (via $B::overlay) for the sake of deparsing.
It turns out that B::Deparse doesn’t even use the op_next pointers
(except for deparsing ‘use’ statements, which are not affected here),
so there is no need for these restrictions.
In the case of my($a,$b)=@_, @_ was expected to be the sibling of the
preceding pushmark-cum-padrange. Removing that restriction doesn’t
allow the padrange optimisation to happen in any new cases as far as I
can tell. It just means there is less checking to do.
In the more general case of a list of lexicals with no =@_, this
allows padrange to be used for array and hash slices in conjunction
with a separate list-in-list-context optimisation, that formerly con-
flicted with padrange.
When we compile @a[$lex1,$lex2], we end up with a redundant list-in-
list-context:
7 aslice
1 pushmark
5 list
2 pushmark
3 padsv
4 padsv
6 padav (assuming the array is lexical
Pushmark pushes a mark on to the markstack, and list pops one, so
pushmark and list cancel each other out in list context.
In 5.18, when padrange was introduced, this was optimised like this:
5 aslice
1 pushmark
3 list
2 padrange
- padsv
- padsv
4 padav
Then a separate optimisation was added in 5.20 that allows a list
with a pushmark kid to turn into null ops, and this cancelled out
the padrange:
5 aslice
1 pushmark
- ex-list
- ex-pushmark
2 padsv
3 padsv
4 padav
Bunchmarks show that this is slightly faster than padrange with two
lexicals, but more lexicals would make padrange faster. This commit
brings us the goodness of both optimisations at once:
3 aslice
1 padrange
- ex-list
- ex-pushmark
- padsv
- padsv
2 padav
And it is faster than just one optimisation.
Father Chrysostomos [Mon, 20 Oct 2014 23:51:55 +0000 (16:51 -0700)]
op.c: No need to check the name of *_
Checking against PL_defgv is sufficient.
Tony Cook [Tue, 21 Oct 2014 00:11:38 +0000 (11:11 +1100)]
[perl #122985] perlxs: PPCODE doesn't allow for CLEANUP
Jarkko Hietaniemi [Mon, 20 Oct 2014 22:33:41 +0000 (18:33 -0400)]
Fix misparse of "Ind" as NaN (long story...) [perl #122843]
While at it, add more "false nan" parse tests.
Aaron Crane [Mon, 20 Oct 2014 14:22:52 +0000 (15:22 +0100)]
Fix stack-management bug when semctl encounters errors
The success cases in pp_semctl both push a single value to the stack, but
the error case merely set the topmost stack value to undef. The fix is to
push an undef.
This bug manifests most obviously as an "uninitialized value in list slice"
warning when doing something like `my $test = (semctl -1,0,0,0)[0]`; that
was reported out-of-band to rjbs.
Father Chrysostomos [Fri, 17 Oct 2014 04:52:32 +0000 (21:52 -0700)]
Make null list+pushmark happen in more cases
This optimisation, added in
7d3c8a683, nulls the list+pushmark pair if
it occurs in list context, since the two ops effectively cancel each
other out. I recently extended it in
8717a761e to apply to void con-
text, too.
It works by checking in the peephole optimiser whether the sibling of
the current op is a list with a pushmark kid:
1 current op
4 list
2 pushmark
3 ...
5 ...
That means the optimisation doesn’t happen if the elder sibling of the
list op is something that is not part of the execution chain, such as
$package_var:
- ex-rv2sv
1 gvsv
4 list
2 pushmark
3 ...
5 ...
because the ex-rv2sv is never the ‘current op’. So ($_,($_,$_))
doesn’t get optimised.
We can’t just handle this when ‘pushmark’ or ‘list’ is the current
op, because, in the former case, there is no way to get to the parent
op to null it; in the latter case, there is no way to get to the op
pointing to pushmark, to rethread the op_next pointers.
However, handling this when list or void context is applied, before we
even get to the peephole optimiser, just works, and requires much less
code. We can just null the ops there, and leave it to the peephole
optimiser’s handling of null ops to rethread op_next pointers.
This breaks this convention:
op_prepend_elem(OP_LIST, foo, list(that_list))
by creating two redundant null ops that were not there before, but the
only pieces of code doing that were calling list() needlessly anyway.
Abigail [Mon, 20 Oct 2014 19:40:27 +0000 (21:40 +0200)]
More actions to take when bumping the version number.
Abigail [Mon, 20 Oct 2014 19:38:43 +0000 (21:38 +0200)]
Bump the perl version in various places for 5.21.6
Abigail [Mon, 20 Oct 2014 19:38:11 +0000 (21:38 +0200)]
regen/opcode.pl run for 5.21.6
Father Chrysostomos [Sun, 19 Oct 2014 21:14:05 +0000 (14:14 -0700)]
Call string overloading once in join($ov,...)
Father Chrysostomos [Sat, 18 Oct 2014 17:13:25 +0000 (10:13 -0700)]
f_map.t: Remove version checks
This is unmaintainable. Adding optimisations that change most of the
sequence numbers will mean duplicating the contents of the file in one
big ‘if’ statement.
Father Chrysostomos [Mon, 20 Oct 2014 05:15:15 +0000 (22:15 -0700)]
re_tests: More tests for #122890
These two are from JE’s test suite.
Abigail [Mon, 20 Oct 2014 18:29:11 +0000 (20:29 +0200)]
New perldelta for 5.14.6
Abigail [Mon, 20 Oct 2014 18:01:40 +0000 (20:01 +0200)]
Epigraph for 5.21.5
Abigail [Mon, 20 Oct 2014 14:38:09 +0000 (16:38 +0200)]
Added 5.21.5 release to perlhist
Abigail [Mon, 20 Oct 2014 13:59:54 +0000 (15:59 +0200)]
Be consistent when it comes to (not) terminating =heads with a period.
Abigail [Mon, 20 Oct 2014 13:50:52 +0000 (15:50 +0200)]
Update acknowledgements in perldelta
Abigail [Mon, 20 Oct 2014 13:32:33 +0000 (15:32 +0200)]
List updated modules in perldelta
Abigail [Mon, 20 Oct 2014 13:04:17 +0000 (15:04 +0200)]
Use F<> for files, not L<>
Abigail [Mon, 20 Oct 2014 12:16:47 +0000 (14:16 +0200)]
Update Module::CoreList for 5.21.5
Abigail [Mon, 20 Oct 2014 11:59:58 +0000 (13:59 +0200)]
List files to modify.
Explicitely list the files to modify when upping/checking the VERSION
of the various CoreList modules, for easy copy-and-pasting.
I grew tired of running find.
Jarkko Hietaniemi [Mon, 20 Oct 2014 10:53:25 +0000 (06:53 -0400)]
Document not to use test.pl here.
(Whether that's wise is another matter.)
David Mitchell [Fri, 17 Oct 2014 14:08:22 +0000 (15:08 +0100)]
fix typo in regen/opcode.pl
David Mitchell [Fri, 17 Oct 2014 13:29:33 +0000 (14:29 +0100)]
pp_av2arylen(): rename var from 'sv' to svp'
Conventionally we name variables of type 'SV**' svp rather than sv.
Calling the var 'sv' in this small function initially confused me,
so rename it.
Yves Orton [Mon, 20 Oct 2014 08:28:12 +0000 (10:28 +0200)]
t/re/re_tests: Add test for perl #122890
Yves Orton [Mon, 20 Oct 2014 08:27:55 +0000 (10:27 +0200)]
t/re/re_tests: put comment in correct column
Yves Orton [Mon, 20 Oct 2014 08:26:20 +0000 (10:26 +0200)]
Add test names to t/re/regexp.t and friends
Tony Cook [Mon, 20 Oct 2014 04:29:01 +0000 (15:29 +1100)]
these permissions appear to be handled correctly in current cygwin
this TODO has been passing on my smoke testers for years, if it turns
out it isn't passing for someone, it should probably be skipped
instead of TODOed to prevent the noise.
Tony Cook [Mon, 20 Oct 2014 04:13:21 +0000 (15:13 +1100)]
use a different name for the test directory
on Windows (cygwin) I was getting rare failures creating $copy1 with
an error complaining that it was a directory, possibly due to some
background process tracking directories.
Tony Cook [Mon, 20 Oct 2014 03:08:16 +0000 (14:08 +1100)]
wrap the failing call_checker test in an eval and TODO it
this allows the rest of the test script to run, and will help make other
cygwin test issues more obvious once the other failures are fixed or
worked-around
Jarkko Hietaniemi [Mon, 20 Oct 2014 00:32:24 +0000 (20:32 -0400)]
IRIX: OS mixup in
1d850a6a.
Dangers of having too many login sessions open.
Father Chrysostomos [Mon, 20 Oct 2014 00:16:39 +0000 (17:16 -0700)]
dump.c: Fix C++ build
Father Chrysostomos [Sun, 19 Oct 2014 20:51:25 +0000 (13:51 -0700)]
signatures.t: To-do tests for #123010
Yves Orton [Sun, 19 Oct 2014 22:16:37 +0000 (00:16 +0200)]
regcomp.c: study_chunk(): Avoid unnecessary recursion.
Avoid unnecessary recursion with regex subroutines. When we are inside
of a DEFINE we do not need to, and should not, recurse. And once an
infinite construct has been seen and we are not tracking the start
class then we do not /need/ to, at the cost of possibly pessimizing
minlen checks. For instance in
/(?(DEFINE)(?<p>foo|wozzit))a+(?&p)/
entering 'p' via recursion would only tell us that the minlen was
actually 4 instead of being 1, something that would not make us
match incorrectly. This can be improved in a later commit.
The side effect of not recursing in such situations is that large
patterns such as that in RT #122283 compile in a reasonable amount
of time.
Yves Orton [Sun, 19 Oct 2014 20:48:44 +0000 (22:48 +0200)]
regcomp.c: Add comment.
Yves Orton [Sun, 19 Oct 2014 20:48:14 +0000 (22:48 +0200)]
regcomp.c: study_chunk(): Reset the entire data struct, not just a bit of it.
Yves Orton [Sun, 19 Oct 2014 20:45:35 +0000 (22:45 +0200)]
regcomp.c: Improve advanced re debug output
use pv_pretty(), add better flags information, and a more compact
recurse bitmap frame outpute, etc.
Yves Orton [Sun, 19 Oct 2014 20:43:21 +0000 (22:43 +0200)]
dump.c: Add PERL_PV_PRETTY_EXACTSIZE option
Sometimes we want things to fit exactly into a specific number
of chars, elipses, quotes and all. Includes make regen update
to make dsv argument nullok.
Yves Orton [Sun, 19 Oct 2014 15:19:50 +0000 (17:19 +0200)]
regcomp.c: Fixup debug output so it matches other messages in context
Yves Orton [Wed, 15 Oct 2014 21:03:35 +0000 (23:03 +0200)]
regcomp.c: Improve re debug output by showing buffer names if they exist
Requires adding a new optional argument to regprop as we do not
have a completed regexp object to give us the names, and we need
to get it from RExC_state.
Yves Orton [Sun, 12 Oct 2014 21:08:42 +0000 (23:08 +0200)]
regcomp.c: study_chunk(): improve branch-branch comment