glibc-2.6 shipped with old POT file; deprecated use of "\v"

Benno Schulenberg bensberg@justemail.net
Tue Aug 7 11:39:00 GMT 2007


> > Four messages in this pot file contain a "\v", whose usage is
> > discouraged.  Please consider dividing each of these messages
> > into two separate ones.
>
> The use of \v is not incidental, nor are those \v characters part
> of the text that can be changed by translators.  The use of \v as
> a separator is part of the ABI of the argp functions (see
> argp.h:struct argp.doc).  The uses you cite are in argp doc
> strings where \v must be preserved as the separator between the
> two parts of the string.

Certainly.  In principle there is nothing wrong with the use of "\v",
it is just that gettext complains: when running `msgmerge` of any libc
PO file, for example `msgmerge nl.po libc.pot >/dev/null`, it produces
several warning messages like these:

  nl.po:1064: internationalized messages should not contain the `\v' escape sequence
  nl.po:2395: internationalized messages should not contain the `\v' escape sequence

The reason for these warnings is, I suppose, that putting two sentences
that are not directly related and not adjacent in the output into a single
string is somewhat confusing.

At several places libc's code does the right thing, and separates those
two sentences.  For example in nss/makedb.c, it uses doc[] for just the
docstring and more_help() for the bug-reporting string.

In nss/getent.c it would be enough to move the bug-reporting sentence to
the beginning of more_help().  For catgets/gencat.c something similar.
The other two occurences need a little more work as more_help() has to
be added.

Regards,

Benno



More information about the Libc-alpha mailing list