[prev in list] [next in list] [prev in thread] [next in thread]
List: perl5-changes
Subject: [perl.git] branch smoke-me/khw-locale, created. v5.19.6-240-gb057bc8
From: "Karl Williamson" <public () khwilliamson ! com>
Date: 2013-12-21 20:08:53
Message-ID: E1VuSqz-0006qK-UP () camel ! ams6 ! corp ! booking ! com
[Download RAW message or body]
In perl.git, the branch smoke-me/khw-locale has been created
<http://perl5.git.perl.org/perl.git/commitdiff/b057bc8b53a9acd5cc71bef52d30a7b54e891d08?hp=0000000000000000000000000000000000000000>
at b057bc8b53a9acd5cc71bef52d30a7b54e891d08 (commit)
- Log -----------------------------------------------------------------
commit b057bc8b53a9acd5cc71bef52d30a7b54e891d08
Author: Karl Williamson <public@khwilliamson.com>
Date: Sat Dec 21 13:04:44 2013 -0700
lib/locale.t: Pass AIX failures
Some AIX locales call a no-break space "graphic". Rather than fail AIX
for this, this commit adopts the same approach used for MSWin, which
similarly has most locales containing some errors. And that is to pass
it if any locales at all are correct. Ideally the vendors wouldn't make
broken locales, but this allows us to test for full legality on other
systems.
M lib/locale.t
commit f3140bf1ec5be5c655dfb40abd9ee36ca09bcdba
Author: Karl Williamson <public@khwilliamson.com>
Date: Sat Dec 21 13:04:17 2013 -0700
lib/locale.t: Typo in comment
M lib/locale.t
commit b9ba6ef3b356edc1d13b380aa55bf0561457659a
Author: Karl Williamson <public@khwilliamson.com>
Date: Tue Dec 17 13:20:13 2013 -0700
smoke
M ext/XS-APItest/APItest.xs
M perlio.h
M sv.c
M t/porting/customized.dat
M t/run/locale.t
commit ebb579f7fbc6fa8f66227ffd1d9be2f6bebb967c
Author: Karl Williamson <public@khwilliamson.com>
Date: Tue Dec 17 12:33:42 2013 -0700
07locale.t: 'use locale' needs to be moved
A test that is supposed to be outside the scope of 'use locale' is
instead within the scope.
M cpan/version/t/07locale.t
commit b87844e5d79ad0d835d31b8c76dec49282f77093
Author: Karl Williamson <public@khwilliamson.com>
Date: Tue Dec 17 12:25:31 2013 -0700
cpan/version/t/07locale.t: Tests were likely skipped
The logic was wrong in the loop exit, so that on the many machines that
don't have an Afghan locale, most tests in the file are skipped. The
problem is that it wasn't testing if changing to the trial locale
actually worked.
M cpan/version/t/07locale.t
commit ab319c3c080b31de5a94487e636f53834c5ee319
Author: Karl Williamson <public@khwilliamson.com>
Date: Wed Dec 11 17:58:52 2013 -0700
XXX perl.c: Remove no-longer necessary function call
This call during initialization toggles the LC_NUMERIC locale to the C
locale, where it usually stays. But the previous commmit added doing
this to the central calls for changing locales, where it should have
been all along, so this is no longer necessary.
M perl.c
M t/run/locale.t
commit 4e081c48e8923c38ad4ef488f93b2619610a54bb
Author: Karl Williamson <public@khwilliamson.com>
Date: Wed Dec 11 16:25:02 2013 -0700
XXX PATCH: [perl #120723] Setting LC_NUMERIC breaks parsing of constants
LC_NUMERIC is handled differently than the other locale categories,
in that for this category, Perl normally stays in the C locale,
converting to the underlying locale for brief periods, only when
necessary. This is undocumented (until the commit following this one).
The problem was that when POSIX::setlocale() is called, it changes the
locale, which is correct only if called during those places where the
underlying locale is supposed to be in effect, or if the new locale is
the C locale.
This commit simply adds code to change the locale back to the C locale
if appropriate.
M t/run/locale.t
commit ffabc08f3d4c88ca2bcfd9f1e6d88e9a4bda1551
Author: Karl Williamson <public@khwilliamson.com>
Date: Mon Dec 16 22:40:26 2013 -0700
numeric.c: White-space only
Indent and reflow to 79 columns as a result of the previous commit's
adding a block around this code.
M numeric.c
commit 6159bfc09864af9357066fd28d09e9957550aff3
Author: Karl Williamson <public@khwilliamson.com>
Date: Mon Dec 16 22:34:19 2013 -0700
Use new macros to make sure LC_NUMERIC is correctly set
This uses the macros added in the previous commit to make sure the
current LC_NUMERIC locale is correct during the operation being done;
restoring it to its prior condition afterwards. Outside of 'use locale'
the locale should be C; inside it should be the underlying default
locale. The macros handle the whole thing. In most of the places here,
the code was trying to do what the macros do more elegantly.
M numeric.c
M pp_ctl.c
M sv.c
commit 72057c87413343d24838ea7377b8da4ddfbc0b3c
Author: Karl Williamson <public@khwilliamson.com>
Date: Wed Dec 11 23:15:25 2013 -0700
toke.c: Set locale for all scan_num() calls; restore instead of reset
One call of Perl_scan_num changes the locale around it. However, this
function is called in several places, including from outside the file.
It is better to set the locale within scan_num() at the point where
it matters. And, instead of setting the locale unconditionally, it is
better to change it only if it needs to be changed, and restore it to
the original. Otherwise the locale can be changed to something
unexpected.
M toke.c
commit 616cb0d3f6d5d6348f9d869c2b287d8ae8f1e080
Author: Karl Williamson <public@khwilliamson.com>
Date: Wed Dec 11 23:12:19 2013 -0700
util.c: Use existing macros instead of reinventing them
If there had been documentation referring to these macros, I would have
known they existed instead of reinventing them (not as well as the
originals).
M util.c
commit ec649432d5b22b2c3bf56f36276d551e33bad1e2
Author: Karl Williamson <public@khwilliamson.com>
Date: Wed Dec 11 23:04:40 2013 -0700
POSIX:strtod() should restore the locale it changed
Prior to this commit, the locale remained as strtod() set it to. I
could not find a case where this actually was a problem, as the other
code is good about checking for and changing the locale where needed.
But uses of atoi(), strtol() in locales where there are spaces in
numbers likely would break.
M ext/POSIX/POSIX.xs
M perl.h
M t/run/locale.t
commit 7a57eaa1d46212aed29e8be890d0b7840fd60dc5
Author: Karl Williamson <public@khwilliamson.com>
Date: Mon Dec 16 21:47:27 2013 -0700
perl.h: Add macros and comments
These macros are used in making sure the current locale is the correct
one for the circumstances. I'm not a fan of this type of code
generation macro, but this just extends what is already there, and
aren't all that complicated.
M perl.h
commit 51510499f390cbb00730a1d945289bbe0143eae7
Author: Karl Williamson <public@khwilliamson.com>
Date: Wed Dec 11 22:55:43 2013 -0700
perl.h: Revise another locale setting macro
We generally don't want to switch to the default underlying locale
unless we are in the scope of some form of 'use locale'. Prior to this
commit, this code did not allow the switch for
'use locale ":not_characters"'.
M perl.h
M t/run/locale.t
commit 7bdb3c603e4e222571cedcaf5a20a074e8aeb813
Author: Karl Williamson <public@khwilliamson.com>
Date: Wed Dec 11 22:50:28 2013 -0700
perl.h: Revise a locale setting macro
This macro toggles to the C locale. It should not depend on being in
the scope of 'use locale' to do that, so remove the check. I couldn't
figure out a test case for this, but I'm pretty sure there is a some
convoluted scheme that this change averts a bug from.
M perl.h
commit 4a80c04d200d663531cb89ce06a62ab46afd72f2
Author: Karl Williamson <public@khwilliamson.com>
Date: Wed Dec 11 19:00:15 2013 -0700
locale.c: Avoid writing libc static storage
I don't believe this code was causing any problem, but it can overwrite
static storage returned by setlocale(). It's safer to create a copy
first.
M locale.c
commit 49d191bd510f4e236cee8bc37190c95d1ddf3e9f
Author: Karl Williamson <public@khwilliamson.com>
Date: Wed Dec 11 18:04:47 2013 -0700
Hide some undocumented functions from perlapi
These functions should not be called from any other places than they are
now. They have been marked in the public API as undocumented. I
presume they are there because they are called from various parts of the
Perl core, so can't be static. But this suppresses them from being
listed so people won't be tempted to use them.
M embed.fnc
commit 79243009875390c23c756cd0a6315ab3406e1adc
Author: Karl Williamson <public@khwilliamson.com>
Date: Wed Dec 11 16:53:25 2013 -0700
locale.c: Add comments
This documents much of what I learned about how things work while
tracking down [perl #120723].
M locale.c
commit fa9a81eee4cf410d1f651eff156c6dc5d84fd56e
Author: Karl Williamson <public@khwilliamson.com>
Date: Thu Dec 12 21:41:10 2013 -0700
locale.c: White-space only
Outdent code removed from a block by the previous commit
M locale.c
commit 8af1925252d6e56f281b062055635dbdf9c98747
Author: Karl Williamson <public@khwilliamson.com>
Date: Wed Dec 11 14:30:45 2013 -0700
locale.c: Always set state variables for a new locale
This function is called when a new underlying LC_NUMERIC locale has been
set. If that locale is the same as the current underlying one, some
setup is skipped. However, prior to this commit, more was skipped than
should have been. The reason is that even if the underlying locale is
the same, it could be that LC_NUMERIC has been toggled to the "C"
locale, and so the information could be inconsistent. By always setting
the information, we ensure consistency.
This commit ia a portion of the fix for [perl #120723]. Tests will be
added with the final commit for it.
M locale.c
commit e308a633461086f13b26d47776a0dee636fb2cd2
Author: Karl Williamson <public@khwilliamson.com>
Date: Wed Dec 11 16:54:49 2013 -0700
perl.h: Move some macro definitions
This places related definitions together in the file.
M perl.h
-----------------------------------------------------------------------
--
Perl5 Master Repository
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic