locale: No warning for non-symbolic character (bug 22295)

In "Is it OK to write ASCII strings directly into locale source files?"
https://sourceware.org/ml/libc-alpha/2017-07/msg00807.html there is
universal consensus that we do not have to keep writing <Uxxxx> symbolic
characters in locale files.

Ulrich Drepper's historical comment was that symbolic characters were
used for the eventuality of converting the source files to any encoding
system. Fast forward to today and UTF-8 is the standard. So the
requirement of <Uxxxx> is hard to justify.

Zack Weinberg's excellent scripts are coming along we can use these to
find instances of human errors in the scripts:
https://sourceware.org/ml/libc-alpha/2017-07/msg00860.html
https://sourceware.org/ml/libc-alpha/2017-08/msg00136.html

It still won't be easy to distinguish from i for í, but that's still the
case for <Uxxxx> characters which humans can't read either.

Since we all agreed that we should be able to use non-symbolic (<Uxxxx>)
characters in locale files, the following change removes the verbose
warning that is raised if you use non-symbolic characters in the locale
file.

Signed-off-by: Carlos O'Donell <carlos@redhat.com>
This commit is contained in:
Carlos O'Donell 2017-10-13 14:36:23 -07:00
parent a3e23a2c1d
commit bc3821bb3b
2 changed files with 6 additions and 8 deletions

View File

@ -1,3 +1,9 @@
2017-10-13 Carlos O'Donell <carlos@redhat.com>
[BZ #22295]
* locale/programs/linereader.c (get_string): Don't warn on
non-symbolic character.
2017-10-13 Carlos O'Donell <carlos@redhat.com>
[BZ #22294]

View File

@ -634,7 +634,6 @@ get_string (struct linereader *lr, const struct charmap_t *charmap,
size_t buf2act = 0;
size_t buf2max = 56 * sizeof (uint32_t);
int ch;
int warned = 0;
/* We have to provide the wide character result as well. */
if (return_widestr)
@ -664,13 +663,6 @@ get_string (struct linereader *lr, const struct charmap_t *charmap,
break;
}
if (verbose && !warned)
{
lr_error (lr, _("\
non-symbolic character value should not be used"));
warned = 1;
}
ADDC (ch);
if (return_widestr)
ADDWC ((uint32_t) ch);