]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
locale: No warning for non-symbolic character (bug 22295)
authorCarlos O'Donell <carlos@systemhalted.org>
Fri, 13 Oct 2017 21:36:23 +0000 (14:36 -0700)
committerCarlos O'Donell <carlos@systemhalted.org>
Sat, 14 Oct 2017 05:30:19 +0000 (22:30 -0700)
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>
ChangeLog
locale/programs/linereader.c

index b31d3ec4b2658e83401733d2d3ed20de000faf9b..3c8c45e794ec36819b2c939d3af56570fa9878c9 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -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]
index 52b340963aa27792c1b0b30786ade7970faf9ca1..02fb4767d3e625658023d2b4ba37f118c33f4d8f 100644 (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);