about summary refs log tree commit diff
diff options
context:
space:
mode:
authorCarlos O'Donell <carlos@systemhalted.org>2017-10-13 14:36:23 -0700
committerCarlos O'Donell <carlos@systemhalted.org>2017-10-13 22:30:19 -0700
commitbc3821bb3b19646311d36c82a13b4ce5afea3508 (patch)
tree3599dd99abd375870c51ccbbe663913dd571d04a
parenta3e23a2c1d9e871545c6f438a41fcb8ad429cf70 (diff)
downloadglibc-bc3821bb3b19646311d36c82a13b4ce5afea3508.tar.gz
glibc-bc3821bb3b19646311d36c82a13b4ce5afea3508.tar.xz
glibc-bc3821bb3b19646311d36c82a13b4ce5afea3508.zip
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>
-rw-r--r--ChangeLog6
-rw-r--r--locale/programs/linereader.c8
2 files changed, 6 insertions, 8 deletions
diff --git a/ChangeLog b/ChangeLog
index b31d3ec4b2..3c8c45e794 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,11 @@
 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]
 	* locale/programs/ld-monetary.c (monetary_finish): Allow ""
 	int_curr_symbol.
diff --git a/locale/programs/linereader.c b/locale/programs/linereader.c
index 52b340963a..02fb4767d3 100644
--- a/locale/programs/linereader.c
+++ b/locale/programs/linereader.c
@@ -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);