In perl.git, the branch smoke-me/khw-locale has been created
<http://perl5.git.perl.org/perl.git/commitdiff/2183c58af384390404222b7c891d2ec3fd8fd703?hp=0000000000000000000000000000000000000000>
at 2183c58af384390404222b7c891d2ec3fd8fd703 (commit)
- Log -----------------------------------------------------------------
commit 2183c58af384390404222b7c891d2ec3fd8fd703
Author: Karl Williamson <[email protected]>
Date: Sat Dec 27 14:01:06 2014 -0700
smoke
need to move utf8 warnkings to earlier commit
M perl.h
M pod/perldiag.pod
M regexec.c
M t/lib/warnings/regexec
M t/lib/warnings/utf8
M t/re/charset.t
M t/re/pat_advanced.t
M utf8.c
commit df8516eb053eb86f64c84c55e344ae8a3255fa90
Author: Karl Williamson <[email protected]>
Date: Sat Dec 27 13:58:17 2014 -0700
xxx later
M utf8.c
M utf8.h
commit 11e6d77c8420da9aef7e61db16c94b8f6e947fa0
Author: Karl Williamson <[email protected]>
Date: Fri Dec 26 19:37:50 2014 -0700
lib/warnings/utf8: Add missing tests
lcfirst had been overlooked, and we had failed to test that turning off
warnings actually suppresses them.
M t/lib/warnings/utf8
commit b0316abb1e45e7d11e6dbe82fb7264238cf13bda
Author: Karl Williamson <[email protected]>
Date: Fri Dec 26 18:31:04 2014 -0700
Simplify foldEQ_utf8
This moves the uncommon case of handling inputs under non-UTF-8 locales
out of this function to the functions it calls, which already have the
logic to handle it. This simplifies this function, cutting a couple
branches each time through the loop from the common usage.
The locale handling is slowed down somewhat, but even if that were a
concern, another simpler function is normally used for locale handling.
This gets called only when one or both of the comparison strings is
UTF-8, which should be comparatively rare for non-UTF8 locales.
M utf8.c
commit 6dcc3385fcd3a76db3d7f38c3f8410806c0388fa
Author: Karl Williamson <[email protected]>
Date: Fri Dec 26 18:20:14 2014 -0700
utf8.c: Use OP_DESC instead of passing string.
OP_DESC is simpler and more general.
M embed.fnc
M embed.h
M proto.h
M utf8.c
commit 691391a6f10051e95fd43c40d4cc426af333a479
Author: Karl Williamson <[email protected]>
Date: Fri Dec 26 17:47:37 2014 -0700
utf8.c: Fix potential fold bug
The function _to_uni_fold_flags() supposedly had the ability to do
folding based on the current locale, if the correct flag is passed.
However, it didn't actually do that, returning a non-locale fold
instead. Fortunately, this is an undocumented capability (actually, the
whole function is undocumented), and no current calls to it used the
flag. This commit causes it to work.
M utf8.c
commit e2c0a55c5d7446670e7f20a85ed1d0bbfd1df547
Author: Karl Williamson <[email protected]>
Date: Fri Dec 26 15:41:33 2014 -0700
utf8.c: Add some function parameter assertions
Currently these are not violated, but this guards against future
mistakes.
M utf8.c
commit 60c009d3c5e1671a39729061e0ec7fbc66231545
Author: Karl Williamson <[email protected]>
Date: Fri Dec 26 15:06:33 2014 -0700
other posix patch
M ext/POSIX/lib/POSIX.pm
commit bff70e02948678f725ea474b3b1ff071200bb4ff
Author: Karl Williamson <[email protected]>
Date: Fri Dec 26 14:49:17 2014 -0700
PATCH: [perl #123503] Bug in POSIX::strerror on 5.21.7
M ext/POSIX/lib/POSIX.pm
commit 69d25591b0d5ae308f3dd2b9efa270d74ef20663
Author: Karl Williamson <[email protected]>
Date: Thu Dec 18 22:21:21 2014 -0700
regexec.c: Move goto label to avoid redundatnt work
This causes a goto to skip work that has already been done.
M regexec.c
commit 640aafb3525898826916bbe086f059e9c83c3baa
Author: Karl Williamson <[email protected]>
Date: Fri Dec 26 16:08:28 2014 -0700
regexec.c: White-space only
M regexec.c
commit 63edc506646b99ce2a11bcfe876ea722d536b527
Author: Karl Williamson <[email protected]>
Date: Thu Dec 18 13:29:51 2014 -0700
Don't raise 'poorly supported' locale warning unnecessarily
Commit 8c6180a91de91a1194f427fc639694f43a903a78 added a warning message
for when Perl determines that the program's underlying locale just
switched into is poorly supported. At the time it was thought that this
would be an extremely rare occurrence. However, a bug in HP-UX -
B.11.00/64 causes this message to be raised for the "C" locale. A
workaround was done that silenced those. However, before it got fixed,
this message would occur gobs of times executing the test suite. It was
raised even if the script is not locale-aware, so that the underlying
locale was completely irrelevant. There is a good prospect that someone
using an older Asian locale as their default would get this message even
if they don't use locales, or switch to a supported one before any use.
What to do? One possibility, and we might decide to do this at some
time, is to revert the commits surrounding this, and stay always silent
on such locales.
But for the time being anyway, I chose to fix the message so it is only
raised it if it actually is relevant. When not in the scope of 'use
locale', the message is stored, not raised. Upon the first operation
within locale, the saved message is raised, and the storage cleared. I
was able to do this without adding extra branching to the main-line
non-locale execution code. This was done by adding regnodes which get
jumped to by switches(), and refactoring some existing C tests so they
exclude non-locale right off the bat.
These changes would have been necessary for another locale warning that
I previously agreed to implement.
I do not know of anyway to add tests in the test suite. It is in fact
rare for modern locales to have these issues. The way I tested this was
to temporarily change the C code so that all locales are viewed as
defective, and manually note that the warnings came out where expected,
and only where expected.
I chose not to try to output this warning on any POSIX functions called.
I believe that all that are affected are deprecated or scheduled to be
deprecated anyway. And POSIX is closer to the hardware of the machine.
For convenience, I also don't output the message for some zero-length
pattern matches. If something is going to be matched, the message will
likely very soon be raised anyway.
M embedvar.h
M intrpvar.h
M locale.c
M perl.c
M perl.h
M pod/perldiag.pod
M pp.c
M regexec.c
M sv.c
M utf8.c
commit e5452ad3c3b87171d7c436ba006cbbd15ff34969
Author: Karl Williamson <[email protected]>
Date: Thu Dec 18 10:42:30 2014 -0700
Add regex nodes for locale
These will be used in a future commit to distinguish between /l patterns
vs non-/l.
M pod/perldebguts.pod
M regcomp.c
M regcomp.h
M regcomp.sym
M regexec.c
M regnodes.h
commit fd1a6c5c9192d205986f1c1f3f604a2cc20bdf35
Author: Karl Williamson <[email protected]>
Date: Thu Dec 18 14:03:09 2014 -0700
regcomp.c, regexec.c: Vertically align ternary operators
For clarity
M regcomp.c
M regexec.c
commit 758e3196180530064ca9683e17f3b9dce5a09a9b
Author: Karl Williamson <[email protected]>
Date: Thu Dec 18 13:32:21 2014 -0700
Nits in comments
M regcomp.c
M regcomp.sym
M regexec.c
M utf8.c
-----------------------------------------------------------------------
--
Perl5 Master Repository