No more warnings for AMD64 (at least when cross-compiling). Thus tehre is a
authorWerner Koch <wk@gnupg.org>
Tue, 21 Nov 2006 11:00:14 +0000 (11:00 +0000)
committerWerner Koch <wk@gnupg.org>
Tue, 21 Nov 2006 11:00:14 +0000 (11:00 +0000)
good chance that gpg2 will now work.
Other cleanups.
Updated gettext.

132 files changed:
ABOUT-NLS
ChangeLog
common/ChangeLog
common/estream.c
configure.ac
g10/ChangeLog
g10/keygen.c
g10/keyid.c
g10/misc.c
g10/pubkey-enc.c
g10/seckey-cert.c
g10/seskey.c
intl/ChangeLog
intl/Makefile.in
intl/VERSION
intl/bindtextdom.c
intl/config.charset
intl/dcgettext.c
intl/dcigettext.c
intl/dcngettext.c
intl/dgettext.c
intl/dngettext.c
intl/eval-plural.h
intl/explodename.c
intl/finddomain.c
intl/gettext.c
intl/gettextP.h
intl/gmo.h
intl/hash-string.h
intl/intl-compat.c
intl/l10nflist.c
intl/libgnuintl.h.in
intl/loadinfo.h
intl/loadmsgcat.c
intl/localcharset.c
intl/localcharset.h
intl/locale.alias
intl/localealias.c
intl/localename.c
intl/log.c
intl/ngettext.c
intl/os2compat.c
intl/os2compat.h
intl/osdep.c
intl/plural-exp.c
intl/plural-exp.h
intl/plural.c
intl/plural.y
intl/printf-args.c
intl/printf-args.h
intl/printf-parse.c
intl/printf-parse.h
intl/printf.c
intl/ref-add.sin
intl/ref-del.sin
intl/relocatable.c
intl/relocatable.h
intl/textdomain.c
intl/vasnprintf.c
intl/vasnprintf.h
intl/vasnwprintf.h
intl/wprintf-parse.h
intl/xsize.h
keyserver/ChangeLog
keyserver/curl-shim.c
m4/ChangeLog
m4/Makefile.am
m4/codeset.m4
m4/gettext.m4
m4/glibc21.m4
m4/gnupg-pth.m4
m4/iconv.m4
m4/intdiv0.m4
m4/intmax.m4
m4/inttypes-pri.m4
m4/inttypes_h.m4
m4/lcmessage.m4
m4/lib-ld.m4
m4/lib-link.m4
m4/lib-prefix.m4
m4/longdouble.m4
m4/longlong.m4
m4/nls.m4
m4/po.m4
m4/printf-posix.m4
m4/progtest.m4
m4/signed.m4
m4/size_max.m4
m4/stdint_h.m4
m4/uintmax_t.m4
m4/ulonglong.m4
m4/wchar_t.m4
m4/wint_t.m4
m4/xsize.m4
po/Makefile.in.in
po/be.po
po/ca.po
po/cs.po
po/da.po
po/de.po
po/el.po
po/eo.po
po/es.po
po/et.po
po/fi.po
po/fr.po
po/gl.po
po/hu.po
po/id.po
po/it.po
po/ja.po
po/nb.po
po/pl.po
po/pt.po
po/pt_BR.po
po/ro.po
po/ru.po
po/sk.po
po/sv.po
po/tr.po
po/zh_CN.po
po/zh_TW.po
scd/ChangeLog
scd/Makefile.am
scd/apdu.c
scd/pcsc-wrapper.c
scripts/config.rpath
sm/ChangeLog
sm/certdump.c
sm/certreqgen.c
tools/ChangeLog
tools/gpgconf-comp.c

index 2f50c66..3575535 100644 (file)
--- a/ABOUT-NLS
+++ b/ABOUT-NLS
@@ -1,10 +1,11 @@
-Notes on the Free Translation Project
-*************************************
+Notes on the Free Translation Project
+***************************************
 
 Free software is going international!  The Free Translation Project is
 a way to get maintainers of free software, translators, and users all
 
 Free software is going international!  The Free Translation Project is
 a way to get maintainers of free software, translators, and users all
-together, so that will gradually become able to speak many languages.
-A few packages already provide translations for their messages.
+together, so that free software will gradually become able to speak many
+languages.  A few packages already provide translations for their
+messages.
 
    If you found this `ABOUT-NLS' file inside a distribution, you may
 assume that the distributed package does use GNU `gettext' internally,
 
    If you found this `ABOUT-NLS' file inside a distribution, you may
 assume that the distributed package does use GNU `gettext' internally,
@@ -15,15 +16,15 @@ this package with messages translated.
    Installers will find here some useful hints.  These notes also
 explain how users should proceed for getting the programs to use the
 available translations.  They tell how people wanting to contribute and
    Installers will find here some useful hints.  These notes also
 explain how users should proceed for getting the programs to use the
 available translations.  They tell how people wanting to contribute and
-work at translations should contact the appropriate team.
+work on translations can contact the appropriate team.
 
    When reporting bugs in the `intl/' directory or bugs which may be
 related to internationalization, you should tell about the version of
 `gettext' which is used.  The information can be found in the
 `intl/VERSION' file, in internationalized packages.
 
 
    When reporting bugs in the `intl/' directory or bugs which may be
 related to internationalization, you should tell about the version of
 `gettext' which is used.  The information can be found in the
 `intl/VERSION' file, in internationalized packages.
 
-Quick configuration advice
-==========================
+1.1 Quick configuration advice
+==============================
 
 If you want to exploit the full power of internationalization, you
 should configure it using
 
 If you want to exploit the full power of internationalization, you
 should configure it using
@@ -45,8 +46,8 @@ to change to GNU `gettext' as soon as possible.
 you have installed a recent copy of the GNU gettext package with the
 included `libintl'.
 
 you have installed a recent copy of the GNU gettext package with the
 included `libintl'.
 
-INSTALL Matters
-===============
+1.2 INSTALL Matters
+===================
 
 Some packages are "localizable" when properly installed; the programs
 they contain can be made to speak your own native language.  Most such
 
 Some packages are "localizable" when properly installed; the programs
 they contain can be made to speak your own native language.  Most such
@@ -55,27 +56,27 @@ internationalization, predating GNU `gettext'.
 
    By default, this package will be installed to allow translation of
 messages.  It will automatically detect whether the system already
 
    By default, this package will be installed to allow translation of
 messages.  It will automatically detect whether the system already
-provides the GNU `gettext' functions.  If not, the GNU `gettext' own
-library will be used.  This library is wholly contained within this
-package, usually in the `intl/' subdirectory, so prior installation of
-the GNU `gettext' package is _not_ required.  Installers may use
-special options at configuration time for changing the default
-behaviour.  The commands:
+provides the GNU `gettext' functions.  If not, the included GNU
+`gettext' library will be used.  This library is wholly contained
+within this package, usually in the `intl/' subdirectory, so prior
+installation of the GNU `gettext' package is _not_ required.
+Installers may use special options at configuration time for changing
+the default behaviour.  The commands:
 
      ./configure --with-included-gettext
      ./configure --disable-nls
 
 
      ./configure --with-included-gettext
      ./configure --disable-nls
 
-will respectively bypass any pre-existing `gettext' to use the
+will, respectively, bypass any pre-existing `gettext' to use the
 internationalizing routines provided within this package, or else,
 _totally_ disable translation of messages.
 
    When you already have GNU `gettext' installed on your system and run
 configure without an option for your new package, `configure' will
 probably detect the previously built and installed `libintl.a' file and
 internationalizing routines provided within this package, or else,
 _totally_ disable translation of messages.
 
    When you already have GNU `gettext' installed on your system and run
 configure without an option for your new package, `configure' will
 probably detect the previously built and installed `libintl.a' file and
-will decide to use this.  This might be not what is desirable.  You
-should use the more recent version of the GNU `gettext' library.  I.e.
-if the file `intl/VERSION' shows that the library which comes with this
-package is more recent, you should use
+will decide to use this.  This might not be desirable.  You should use
+the more recent version of the GNU `gettext' library.  I.e. if the file
+`intl/VERSION' shows that the library which comes with this package is
+more recent, you should use
 
      ./configure --with-included-gettext
 
 
      ./configure --with-included-gettext
 
@@ -86,7 +87,7 @@ and therefore it will not be used.  The reason is that even an
 emulation of `gettext' on top of `catgets' could not provide all the
 extensions of the GNU `gettext' library.
 
 emulation of `gettext' on top of `catgets' could not provide all the
 extensions of the GNU `gettext' library.
 
-   Internationalized packages have usually many `po/LL.po' files, where
+   Internationalized packages usually have many `po/LL.po' files, where
 LL gives an ISO 639 two-letter code identifying the language.  Unless
 translations have been forbidden at `configure' time by using the
 `--disable-nls' switch, all available translations are installed
 LL gives an ISO 639 two-letter code identifying the language.  Unless
 translations have been forbidden at `configure' time by using the
 `--disable-nls' switch, all available translations are installed
@@ -95,8 +96,8 @@ may be set, prior to configuration, to limit the installed set.
 `LINGUAS' should then contain a space separated list of two-letter
 codes, stating which languages are allowed.
 
 `LINGUAS' should then contain a space separated list of two-letter
 codes, stating which languages are allowed.
 
-Using This Package
-==================
+1.3 Using This Package
+======================
 
 As a user, if your language has been installed for this package, you
 only have to set the `LANG' environment variable to the appropriate
 
 As a user, if your language has been installed for this package, you
 only have to set the `LANG' environment variable to the appropriate
@@ -117,8 +118,8 @@ country code serves to distinguish the dialects.
 language and `CC' denoting the country, is the one use on systems based
 on GNU libc.  On other systems, some variations of this scheme are
 used, such as `LL' or `LL_CC.ENCODING'.  You can get the list of
 language and `CC' denoting the country, is the one use on systems based
 on GNU libc.  On other systems, some variations of this scheme are
 used, such as `LL' or `LL_CC.ENCODING'.  You can get the list of
-locales supported by your system for your country by running the command
-`locale -a | grep '^LL''.
+locales supported by your system for your language by running the
+command `locale -a | grep '^LL''.
 
    Not all programs have translations for all languages.  By default, an
 English message is shown in place of a nonexistent translation.  If you
 
    Not all programs have translations for all languages.  By default, an
 English message is shown in place of a nonexistent translation.  If you
@@ -144,8 +145,8 @@ to denote the language's main dialect.  For example, `de' is equivalent
 to `de_DE' (German as spoken in Germany), and `pt' to `pt_PT'
 (Portuguese as spoken in Portugal) in this context.
 
 to `de_DE' (German as spoken in Germany), and `pt' to `pt_PT'
 (Portuguese as spoken in Portugal) in this context.
 
-Translating Teams
-=================
+1.4 Translating Teams
+=====================
 
 For the Free Translation Project to be a success, we need interested
 people who like their own language and write it well, and who are also
 
 For the Free Translation Project to be a success, we need interested
 people who like their own language and write it well, and who are also
@@ -174,562 +175,904 @@ coordinator for all translator teams.
 the terminology in use.  Proven linguistic skill are praised more than
 programming skill, here.
 
 the terminology in use.  Proven linguistic skill are praised more than
 programming skill, here.
 
-Available Packages
-==================
+1.5 Available Packages
+======================
 
 Languages are not equally supported in all packages.  The following
 
 Languages are not equally supported in all packages.  The following
-matrix shows the current state of internationalization, as of January
-2004.  The matrix shows, in regard of each package, for which languages
+matrix shows the current state of internationalization, as of July
+2006.  The matrix shows, in regard of each package, for which languages
 PO files have been submitted to translation coordination, with a
 translation percentage of at least 50%.
 
 PO files have been submitted to translation coordination, with a
 translation percentage of at least 50%.
 
-     Ready PO files       af am ar az be bg bs ca cs da de el en en_GB eo es
+     Ready PO files       af am ar az be bg bs ca cs cy da de el en en_GB eo
                         +----------------------------------------------------+
                         +----------------------------------------------------+
-     a2ps               |             []             [] [] []                |
-     aegis              |                               ()                   |
-     ant-phone          |                               ()                   |
-     anubis             |                                                    |
+     GNUnet             |                                  []                |
+     a2ps               |             []                [] [] []     []      |
+     aegis              |                                  ()                |
+     ant-phone          |                                  ()                |
+     anubis             |                                  []                |
      ap-utils           |                                                    |
      ap-utils           |                                                    |
-     aspell             |             []                                     |
-     bash               |                      []       []             [] [] |
-     batchelor          |                                                    |
-     bfd                |                            []                   [] |
-     binutils           |                            []                   [] |
-     bison              |                            [] []                [] |
-     bluez-pin          | []                      []                   []    |
-     clisp              |                                                    |
-     clisp              |                               []    []          [] |
-     console-tools      |                         []    []                   |
-     coreutils          |                      []    [] []                [] |
-     cpio               |                            [] []                [] |
-     darkstat           |                []          ()                   [] |
-     diffutils          |                      [] [] [] [] []          [] [] |
-     e2fsprogs          |                         []    []                [] |
-     enscript           |                      []    [] []        []         |
-     error              |                      []    [] []        []      [] |
-     fetchmail          |                      [] () [] [] []             [] |
-     fileutils          |                            [] []                [] |
-     findutils          |             []       []    [] [] []          [] [] |
-     flex               |                      []    [] []                [] |
-     fslint             |                                                    |
-     gas                |                                                 [] |
-     gawk               |                      []    [] []                [] |
-     gbiff              |                               []                   |
+     aspell             |                         []    [] []        []      |
+     bash               |                      []          []             [] |
+     batchelor          |                                  []                |
+     bfd                |                                                    |
+     bibshelf           |                                  []                |
+     binutils           |                               []                   |
+     bison              |                               [] []                |
+     bison-runtime      |                                  []                |
+     bluez-pin          | []                      []       [] []          [] |
+     cflow              |                               []                   |
+     clisp              |                                  []    []          |
+     console-tools      |                         []       []                |
+     coreutils          |                []    []       [] []                |
+     cpio               |                                                    |
+     cpplib             |                      []       [] []                |
+     cryptonit          |                                  []                |
+     darkstat           |                []             () []                |
+     dialog             |                      [] [] [] [] [] []             |
+     diffutils          |                      [] []    [] [] []          [] |
+     doodle             |                                  []                |
+     e2fsprogs          |                         []       []                |
+     enscript           |                      []       [] []        []      |
+     error              |                      []       [] []        []      |
+     fetchmail          |                      []       [] () []             |
+     fileutils          |                               [] []                |
+     findutils          |                []    []       []                   |
+     flex               |                      []       [] []                |
+     fslint             |                                  []                |
+     gas                |                                                    |
+     gawk               |                      []       [] []                |
+     gbiff              |                                  []                |
      gcal               |                      []                            |
      gcal               |                      []                            |
-     gcc                |                            []                   [] |
-     gettext            |             []       []    [] []                [] |
-     gettext-examples   | []                   []       []                [] |
-     gettext-runtime    |             []       []    [] []                [] |
-     gettext-tools      |                      []       []                [] |
-     gimp-print         |                         [] [] []        []      [] |
-     gliv               |                                                    |
-     glunarclock        |                            [] []                   |
-     gnubiff            |                               []                   |
-     gnucash            |                         []    ()        []      [] |
-     gnucash-glossary   |                            [] ()                [] |
-     gnupg              |                      [] ()    [] []          [] [] |
-     gpe-aerial         |                         []                         |
-     gpe-beam           |                         []    []                   |
-     gpe-calendar       |                         []    []                   |
-     gpe-clock          |                         []    []                   |
-     gpe-conf           |                         []    []                   |
-     gpe-contacts       |                         []    []                   |
+     gcc                |                                  []                |
+     gettext-examples   | []                   []          [] []          [] |
+     gettext-runtime    |             []       []       [] []             [] |
+     gettext-tools      |                      []          []                |
+     gimp-print         |                         []    [] []        []      |
+     gip                |                []                                  |
+     gliv               |                                  []                |
+     glunarclock        |                []                                  |
+     gmult              | []                               []                |
+     gnubiff            |                                  ()                |
+     gnucash            |                                  () ()     []      |
+     gnucash-glossary   |                               [] ()                |
+     gnuedu             |                                                    |
+     gnulib             | []          [] []    []       [] []                |
+     gnunet-gtk         |                                                    |
+     gnutls             |                                                    |
+     gpe-aerial         |                         []       []                |
+     gpe-beam           |                         []       []                |
+     gpe-calendar       |                         []       []                |
+     gpe-clock          |                         []       []                |
+     gpe-conf           |                         []       []                |
+     gpe-contacts       |                                                    |
      gpe-edit           |                         []                         |
      gpe-edit           |                         []                         |
+     gpe-filemanager    |                                                    |
      gpe-go             |                         []                         |
      gpe-go             |                         []                         |
-     gpe-login          |                         []    []                   |
-     gpe-ownerinfo      |                         []    []                   |
-     gpe-sketchbook     |                         []    []                   |
-     gpe-su             |                         []    []                   |
-     gpe-taskmanager    |                         []    []                   |
+     gpe-login          |                         []       []                |
+     gpe-ownerinfo      |                         []       []                |
+     gpe-package        |                                                    |
+     gpe-sketchbook     |                         []       []                |
+     gpe-su             |                         []       []                |
+     gpe-taskmanager    |                         []       []                |
      gpe-timesheet      |                         []                         |
      gpe-timesheet      |                         []                         |
-     gpe-today          |                         []    []                   |
-     gpe-todo           |                         []    []                   |
-     gphoto2            |                         [] [] []                [] |
-     gprof              |                            [] []                [] |
-     gpsdrive           |                               ()    ()          () |
-     gramadoir          |                               []                   |
-     grep               |             [] []    []       [] []             [] |
-     gretl              |                                                 [] |
-     gtick              | []                            ()                   |
-     hello              |                      []    [] [] []          [] [] |
-     id-utils           |                            [] []                   |
-     indent             |                      []       []             [] [] |
-     iso_3166           |          []    [] [] [] [] [] [] []          [] [] |
-     iso_3166_1         |                      [] [] [] [] []             [] |
+     gpe-today          |                         []       []                |
+     gpe-todo           |                                                    |
+     gphoto2            |                         []    [] []        []      |
+     gprof              |                               [] []                |
+     gpsdrive           |                                  ()    ()          |
+     gramadoir          | []                               []                |
+     grep               | []          [] []    []          [] []             |
+     gretl              |                                                    |
+     gsasl              |                                                    |
+     gss                |                                                    |
+     gst-plugins        | []                   [] []    []                   |
+     gst-plugins-base   |                []    []       []                   |
+     gst-plugins-good   | []       []    []    [] []    []           []      |
+     gstreamer          | []             []    [] []    [] []        []      |
+     gtick              | []                               ()                |
+     gtkam              |                         []    [] []                |
+     gtkorphan          |                []                []                |
+     gtkspell           |             []                   [] []          [] |
+     gutenprint         |                               []                   |
+     hello              |                      []       [] [] []          [] |
+     id-utils           |                               [] []                |
+     impost             |                                                    |
+     indent             |                      []          []             [] |
+     iso_3166           |                                  []             [] |
+     iso_3166_1         |                      [] []    [] [] []             |
      iso_3166_2         |                                                    |
      iso_3166_2         |                                                    |
-     iso_3166_3         |                               []                   |
-     iso_4217           |                      []    [] []                [] |
-     iso_639            |                                                    |
-     jpilot             |                         [] []                   [] |
+     iso_3166_3         |                                  []                |
+     iso_4217           |                                  []                |
+     iso_639            |                                  []             [] |
+     jpilot             |                         []                         |
      jtag               |                                                    |
      jtag               |                                                    |
-     jwhois             |                                                 [] |
-     kbd                |                         [] [] [] []             [] |
-     latrine            |                               ()                   |
-     ld                 |                            []                   [] |
-     libc               |                      [] [] [] [] []             [] |
-     libgpewidget       |                         []    []                   |
-     libiconv           |                      []    [] []             [] [] |
-     lifelines          |                            [] ()                   |
-     lilypond           |                               []                   |
+     jwhois             |                                                    |
+     kbd                |                         []    [] [] []             |
+     keytouch           |                                                    |
+     keytouch-editor    |                                                    |
+     keytouch-keyboa... |                                                    |
+     latrine            |                                  ()                |
+     ld                 |                               []                   |
+     leafpad            |                []    [] []       [] []             |
+     libc               |                      [] []    [] [] []             |
+     libexif            |                                  []                |
+     libextractor       |                                  []                |
+     libgpewidget       |                         []    [] []                |
+     libgpg-error       |                                  []                |
+     libgphoto2         |                               [] []                |
+     libgphoto2_port    |                               [] []                |
+     libgsasl           |                                                    |
+     libiconv           |                                  []             [] |
+     libidn             |                               []                [] |
+     lifelines          |                               [] ()                |
+     lilypond           |                                  []                |
      lingoteach         |                                                    |
      lingoteach         |                                                    |
-     lingoteach_lessons |                               ()                () |
-     lynx               |                      [] [] [] []                   |
-     m4                 |                         [] [] [] []                |
-     mailutils          |                      []                         [] |
-     make               |                            [] []                [] |
-     man-db             |                      [] () [] []                () |
-     minicom            |                         []    []                [] |
-     mysecretdiary      |                            [] []                [] |
-     nano               |                      [] () [] []                [] |
-     nano_1_0           |                      [] () [] []                [] |
-     opcodes            |                                                 [] |
-     parted             |                      [] [] [] []                [] |
-     ptx                |                      []    [] []             [] [] |
+     lynx               |                      [] []    [] []                |
+     m4                 |                         []    [] [] []             |
+     mailutils          |                      []                            |
+     make               |                               [] []                |
+     man-db             |                      [] ()    [] []                |
+     minicom            |                         []    [] []                |
+     mysecretdiary      |                               [] []                |
+     nano               |                []    [] ()       []                |
+     nano_1_0           |                      [] ()    [] []                |
+     opcodes            |                                  []                |
+     parted             |                                                    |
+     pilot-qof          |                                            []      |
+     psmisc             |                []                                  |
+     pwdutils           |                                                    |
      python             |                                                    |
      python             |                                                    |
-     radius             |                                                 [] |
-     recode             |             []       []    [] [] []          [] [] |
-     rpm                |                         [] []                      |
+     qof                |                                                    |
+     radius             |                      []                            |
+     recode             |             []       []       [] [] []          [] |
+     rpm                |                         []    []                   |
      screem             |                                                    |
      screem             |                                                    |
-     scrollkeeper       |             []       [] [] [] []                [] |
-     sed                | []                   []    [] []             [] [] |
-     sh-utils           |                            [] []                [] |
-     shared-mime-info   |                                                    |
-     sharutils          |                      [] [] [] [] []             [] |
-     silky              |                               ()                   |
-     skencil            |                            [] ()                [] |
-     sketch             |                            [] ()                [] |
-     soundtracker       |                            [] []                [] |
-     sp                 |                               []                   |
-     tar                |                         [] [] []                [] |
-     texinfo            |                            [] []             []    |
-     textutils          |                      []    [] []                [] |
-     tin                |                               ()        ()         |
-     tp-robot           |                                                    |
-     tuxpaint           |                      [] [] [] [] []     []      [] |
+     scrollkeeper       |          [] []       [] [] [] [] []        []      |
+     sed                |                      []          []             [] |
+     sh-utils           |                               [] []                |
+     shared-mime-info   |                []       []                      [] |
+     sharutils          |                []    [] []    [] [] []             |
+     shishi             |                                                    |
+     silky              |                                                    |
+     skencil            |                               [] ()                |
+     sketch             |                               [] ()                |
+     solfege            |                                                    |
+     soundtracker       |                               [] []                |
+     sp                 |                                  []                |
+     stardict           |                         []                         |
+     system-tools-ba... |       []       [] [] [] []    [] [] []     []      |
+     tar                |                []                                  |
+     texinfo            |                               [] []             [] |
+     textutils          |                      []       [] []                |
+     tin                |                                  ()        ()      |
+     tp-robot           |                                  []                |
+     tuxpaint           | []             []             [] []        []      |
      unicode-han-tra... |                                                    |
      unicode-transla... |                                                    |
      unicode-han-tra... |                                                    |
      unicode-transla... |                                                    |
-     util-linux         |                      [] [] [] []                [] |
-     vorbis-tools       |             []          [] []                   [] |
-     wastesedge         |                               ()                   |
-     wdiff              |                      []    [] []                [] |
-     wget               |                []    []    [] [] []             [] |
-     xchat              |                      []       [] []             [] |
-     xfree86_xkb_xml    |                         [] []                      |
-     xpad               |                                                 [] |
+     util-linux         |                      [] []    [] []                |
+     vorbis-tools       |             []          []    []           []      |
+     wastesedge         |                                  ()                |
+     wdiff              |                      []       [] []        []      |
+     wget               |                      []          []                |
+     xchat              |                []    []          [] []     []      |
+     xkeyboard-config   |                                                    |
+     xpad               |                []             []                   |
                         +----------------------------------------------------+
                         +----------------------------------------------------+
-                          af am ar az be bg bs ca cs da de el en en_GB eo es
-                           4  0  0  1  9  4  1 40 41 60 78 17  1   5   13 68
-     
-                          et eu fa fi fr ga gl he hr hu id is it ja ko lg
-                        +-------------------------------------------------+
-     a2ps               | []       [] []                      ()    ()    |
-     aegis              |                                                 |
-     ant-phone          |             []                                  |
-     anubis             |             []                                  |
-     ap-utils           |             []                                  |
-     aspell             |             [] []                               |
-     bash               |             []             []                   |
-     batchelor          |             [] []                               |
-     bfd                |             []                                  |
-     binutils           |             []                         []       |
-     bison              | []          []                []    []          |
-     bluez-pin          |          [] [] []          [] []                |
-     clisp              |                                                 |
-     clisp              |             []                                  |
-     console-tools      |                                                 |
-     coreutils          | []       [] [] []                   [] []       |
-     cpio               |             []    []       []             []    |
-     darkstat           |             () []          [] []                |
-     diffutils          |          [] []    [] []    [] []       []       |
-     e2fsprogs          |                                                 |
-     enscript           |             []          []                      |
-     error              |          [] [] []          []                   |
-     fetchmail          |                                        []       |
-     fileutils          | []          [] []          []       [] []       |
-     findutils          | []       [] [] [] []    [] [] []    [] [] []    |
-     flex               |             [] []                         []    |
-     fslint             |             []                                  |
-     gas                |             []                                  |
-     gawk               |             []       []                []       |
-     gbiff              |             []                                  |
-     gcal               |             []                                  |
-     gcc                |             []                                  |
-     gettext            |             []                         [] []    |
-     gettext-examples   |             []                         []       |
-     gettext-runtime    |          [] []                []       [] []    |
-     gettext-tools      |             []                         [] []    |
-     gimp-print         |             []                         []       |
-     gliv               |             ()                                  |
-     glunarclock        |          []    [] []       []                   |
-     gnubiff            |             []                                  |
-     gnucash            |             ()                      []          |
-     gnucash-glossary   |                                     []          |
-     gnupg              | []       [] []    []          []    [] []       |
-     gpe-aerial         |             []                                  |
-     gpe-beam           |             []                                  |
-     gpe-calendar       |             []             [] []                |
-     gpe-clock          |             []                                  |
-     gpe-conf           |             []                                  |
-     gpe-contacts       |             []             []                   |
-     gpe-edit           |             []                []                |
-     gpe-go             |             []                                  |
-     gpe-login          |             []             []                   |
-     gpe-ownerinfo      |             []             [] []                |
-     gpe-sketchbook     |             []                                  |
-     gpe-su             |             []                                  |
-     gpe-taskmanager    |             []                                  |
-     gpe-timesheet      |             [] []             []                |
-     gpe-today          |             [] []                               |
-     gpe-todo           |             []                []                |
-     gphoto2            |             []             []          []       |
-     gprof              |             []                []                |
-     gpsdrive           |             ()                      () ()       |
-     gramadoir          |             [] []                               |
-     grep               | []       [] [] [] [] [] [] [] []    [] []       |
-     gretl              |             []                      []          |
-     gtick              |          [] [] []                               |
-     hello              | []    [] [] [] [] [] [] [] [] []    [] [] []    |
-     id-utils           |             []             [] []    []          |
-     indent             | []       [] [] [] []       [] []    [] []       |
-     iso_3166           |    []       [] []       [] [] []    []          |
-     iso_3166_1         |    []       [] []          [] []                |
-     iso_3166_2         |                                                 |
-     iso_3166_3         |                                                 |
-     iso_4217           | []          []    []       []       [] []       |
-     iso_639            |                                                 |
-     jpilot             |             []                         ()       |
-     jtag               |             []                                  |
-     jwhois             |             []             [] []    []          |
-     kbd                |             []                                  |
-     latrine            |             []                                  |
-     ld                 |             []                                  |
-     libc               |          [] []    []       []          [] []    |
-     libgpewidget       |             [] []          [] []                |
-     libiconv           | []       [] [] [] []    [] [] []    []          |
-     lifelines          |             ()                                  |
-     lilypond           |             []                                  |
-     lingoteach         |             []                []                |
-     lingoteach_lessons |                                                 |
-     lynx               | []                         []       [] []       |
-     m4                 |             []    []          []       []       |
-     mailutils          |                                                 |
-     make               |             []    [] [] []             [] []    |
-     man-db             |                                     () ()       |
-     minicom            |          [] []             []          []       |
-     mysecretdiary      |             []                []                |
-     nano               |             []    []          []    []          |
-     nano_1_0           |             []    []          []    []          |
-     opcodes            |             []                                  |
-     parted             |             []    []                   []       |
-     ptx                | []       [] [] [] []       [] []                |
-     python             |                                                 |
-     radius             |             []                                  |
-     recode             |             []    [] []    [] []    []          |
-     rpm                |             []                            []    |
-     screem             |                                                 |
-     scrollkeeper       |                            []                   |
-     sed                | []       [] [] [] []       [] []    [] []       |
-     sh-utils           | []       [] [] []          []       [] []       |
-     shared-mime-info   |          [] []             []                   |
-     sharutils          | []          []    []       []          []       |
-     silky              |          () []             ()       ()          |
-     skencil            |             []                                  |
-     sketch             |             []                                  |
-     soundtracker       |             []                      []          |
-     sp                 |             []                         ()       |
-     tar                | []       [] []    []    [] [] []    [] []       |
-     texinfo            |             []       [] []             []       |
-     textutils          |             [] [] []       []          [] []    |
-     tin                | []          ()                                  |
-     tp-robot           |             []                                  |
-     tuxpaint           |          [] []       []    [] [] [] [] [] []    |
-     unicode-han-tra... |                                                 |
-     unicode-transla... |             [] []                               |
-     util-linux         | []       [] []             []       () []       |
-     vorbis-tools       |             []                                  |
-     wastesedge         |             ()                                  |
-     wdiff              | []          [] [] []       [] []                |
-     wget               | []       [] []    []    [] []          []       |
-     xchat              | []       [] []                                  |
-     xfree86_xkb_xml    |             []             []                   |
-     xpad               |             [] []                               |
-                        +-------------------------------------------------+
-                          et eu fa fi fr ga gl he hr hu id is it ja ko lg
-                          22  2  1 26 106 28 24  8 10 41 33  1 26 33 12  0
-     
-                          lt lv mk mn ms mt nb nl nn no nso pl pt pt_BR ro ru
-                        +-----------------------------------------------------+
-     a2ps               |             []       []    ()     ()     []   [] [] |
-     aegis              |                      ()                       () () |
-     ant-phone          |                      []                       []    |
-     anubis             |             []    [] []           []          [] [] |
-     ap-utils           |                      []           ()          []    |
-     aspell             |                      []                             |
-     bash               |                                          []   [] [] |
-     batchelor          |                                               []    |
-     bfd                |                                               []    |
-     binutils           |                                                  [] |
-     bison              |             []       []                  []   [] [] |
-     bluez-pin          |                      []           []          []    |
-     clisp              |                                                     |
-     clisp              |                      []                             |
-     console-tools      |                                                  [] |
-     coreutils          |                                   []             [] |
-     cpio               |                      []           []     []   [] [] |
-     darkstat           |             []       []                  []   []    |
-     diffutils          |             []       []           []     []   [] [] |
-     e2fsprogs          |                                   []                |
-     enscript           |                      []                  []   [] [] |
-     error              |                      []                  []   []    |
-     fetchmail          |                      []           []     ()      [] |
-     fileutils          |                                   []          [] [] |
-     findutils          |                      []           []     []   [] [] |
-     flex               |                                   []     []   [] [] |
-     fslint             |                      []                       []    |
-     gas                |                                                     |
-     gawk               |                                   []     []   []    |
-     gbiff              |                      []                       []    |
-     gcal               |                                                     |
-     gcc                |                                                     |
-     gettext            |                                   []          [] [] |
-     gettext-examples   |                      []           []          []    |
-     gettext-runtime    |                      []           []          [] [] |
-     gettext-tools      |                                   []          []    |
-     gimp-print         |                      []                             |
-     gliv               |                      []                  []   []    |
-     glunarclock        |             []       []                       [] [] |
-     gnubiff            |                      []                             |
-     gnucash            |                      []              []  ()      [] |
-     gnucash-glossary   |                      []              []             |
-     gnupg              |                                               []    |
-     gpe-aerial         |                      []              []       [] [] |
-     gpe-beam           |                      []              []       [] [] |
-     gpe-calendar       |                      []              []       [] [] |
-     gpe-clock          |                      []              []       [] [] |
-     gpe-conf           |                      []              []       [] [] |
-     gpe-contacts       |                      []              []       [] [] |
-     gpe-edit           |                      []              []       [] [] |
-     gpe-go             |                      []                       [] [] |
-     gpe-login          |                      []              []       [] [] |
-     gpe-ownerinfo      |                      []              []       [] [] |
-     gpe-sketchbook     |                      []              []       [] [] |
-     gpe-su             |                      []              []       [] [] |
-     gpe-taskmanager    |                      []              []       [] [] |
-     gpe-timesheet      |                      []              []       [] [] |
-     gpe-today          |                      []              []       [] [] |
-     gpe-todo           |                      []              []       [] [] |
-     gphoto2            |                                               []    |
-     gprof              |                                          []   []    |
-     gpsdrive           |                      ()    ()                 []    |
-     gramadoir          |                      ()                       []    |
-     grep               |                                   [] []  []   [] [] |
-     gretl              |                                                     |
-     gtick              |                      []                       [] [] |
-     hello              |    []       []    [] [] [] []     []     []   [] [] |
-     id-utils           |                      []                  []   [] [] |
-     indent             |                      []                  []   [] [] |
-     iso_3166           |          []                [] []                    |
-     iso_3166_1         |                      []    []                       |
-     iso_3166_2         |                                                     |
-     iso_3166_3         |                      []                             |
-     iso_4217           |          []          [] [] []     [] []  []      [] |
-     iso_639            |          []                                         |
-     jpilot             |                      ()    ()                       |
-     jtag               |                                                     |
-     jwhois             |                      []           []     []   [] () |
-     kbd                |                      []           []          []    |
-     latrine            |                                               []    |
-     ld                 |                                                     |
-     libc               |                   []       []     []     []         |
-     libgpewidget       |                      []              []       []    |
-     libiconv           |                      []           []     []   [] [] |
-     lifelines          |                                                     |
-     lilypond           |                                                     |
-     lingoteach         |                                                     |
-     lingoteach_lessons |                                                     |
-     lynx               |                      []                  []      [] |
-     m4                 |                      []           []     []   [] [] |
-     mailutils          |                                   []          [] [] |
-     make               |                      []           []     []      [] |
-     man-db             |                                               []    |
-     minicom            |                                   []     []   [] [] |
-     mysecretdiary      |                      []                  []   []    |
-     nano               |             []       []           []          [] [] |
-     nano_1_0           |             []    []    []        []          [] [] |
-     opcodes            |                      []                       []    |
-     parted             |                         []        [] []  []         |
-     ptx                |                   [] []    []     [] []  []   [] [] |
-     python             |                                                     |
-     radius             |                                   []             [] |
-     recode             |                                   []     []   [] [] |
-     rpm                |                                   [] []          [] |
-     screem             |                                                     |
-     scrollkeeper       |                   [] []           []          [] [] |
-     sed                |                                   []     []   []    |
-     sh-utils           |                   []                             [] |
-     shared-mime-info   |                      [] []                          |
-     sharutils          |                      []                          [] |
-     silky              |                                                  () |
-     skencil            |                                      []  []         |
-     sketch             |                                      []  []         |
-     soundtracker       |                                                     |
-     sp                 |                                                     |
-     tar                |             []    []       []     []     []   []    |
-     texinfo            |                   []              []          [] [] |
-     textutils          |                   []                             [] |
-     tin                |                                                     |
-     tp-robot           |                      []                             |
-     tuxpaint           | []          []       [] []        [] []  []   []    |
-     unicode-han-tra... |                                                     |
-     unicode-transla... |                                                     |
-     util-linux         |                      []                  []      [] |
-     vorbis-tools       |                      []                       [] [] |
-     wastesedge         |                                                     |
-     wdiff              |             []                    []     []   [] [] |
-     wget               |                                   []          [] [] |
-     xchat              |    []                []                          [] |
-     xfree86_xkb_xml    |                      []                          [] |
-     xpad               |                      []                       []    |
-                        +-----------------------------------------------------+
-                          lt lv mk mn ms mt nb nl nn no nso pl pt pt_BR ro ru
-                           1  2  0  3 12  0 10 69  6  7  1  40 26  36   76 63
-     
-                          sk sl sr sv ta th tr uk ven vi wa xh zh_CN zh_TW zu
-                        +-----------------------------------------------------+
-     a2ps               |    []    []       [] []                             | 16
-     aegis              |                                                     |  0
-     ant-phone          |                                                     |  3
-     anubis             |                   [] []                             |  9
-     ap-utils           |                      ()                             |  3
-     aspell             |                                                     |  4
-     bash               |                                                     |  9
-     batchelor          |                                                     |  3
-     bfd                |          []       []                                |  6
-     binutils           |          []       []                  []            |  8
-     bison              |          []       []                                | 14
-     bluez-pin          | []       []                    []                   | 14
-     clisp              |                                                     |  0
-     clisp              |                                                     |  5
-     console-tools      |                                                     |  3
-     coreutils          |    []    []       []                        []      | 16
-     cpio               |          []                           []            | 14
-     darkstat           | []    [] []                           ()    ()      | 12
-     diffutils          |          []       []                        []      | 23
-     e2fsprogs          |          []       []                                |  6
-     enscript           |          []       []                                | 12
-     error              | []                []                        []      | 15
-     fetchmail          | []                []                                | 11
-     fileutils          |    []    []       []                  []    []      | 17
-     findutils          | [] [] [] []       []                  []            | 29
-     flex               |          []       []                                | 13
-     fslint             |                                                     |  3
-     gas                |                   []                                |  3
-     gawk               |          []       []                                | 12
-     gbiff              |                                                     |  4
-     gcal               |          []       []                                |  4
-     gcc                |                   []                                |  4
-     gettext            | [] []    []       []                        []      | 16
-     gettext-examples   | []    [] []       []                  []            | 14
-     gettext-runtime    | [] [] [] []       [] []               []    []      | 22
-     gettext-tools      | [] [] [] []       []                  []            | 14
-     gimp-print         | []       []                                         | 10
-     gliv               |                                                     |  3
-     glunarclock        |       [] []                    []                   | 13
-     gnubiff            |                                                     |  3
-     gnucash            | []                                          []      |  9
-     gnucash-glossary   | []       []                                 []      |  8
-     gnupg              | []       []       []                        []      | 17
-     gpe-aerial         |          []                                         |  7
-     gpe-beam           |          []                                         |  8
-     gpe-calendar       | []       []                    []           []      | 13
-     gpe-clock          | []    [] []                                         | 10
-     gpe-conf           | []       []                                         |  9
-     gpe-contacts       | []       []                                 []      | 11
-     gpe-edit           | []    [] []                    []           []      | 12
-     gpe-go             |                                                     |  5
-     gpe-login          | []    [] []                    []           []      | 13
-     gpe-ownerinfo      | []    [] []                                 []      | 13
-     gpe-sketchbook     | []       []                                         |  9
-     gpe-su             | []    [] []                                         | 10
-     gpe-taskmanager    | []    [] []                                         | 10
-     gpe-timesheet      | []    [] []                                 []      | 12
-     gpe-today          | []    [] []                    []           []      | 13
-     gpe-todo           | []       []                    []           []      | 12
-     gphoto2            | []       []                           []            | 11
-     gprof              |          []       []                                |  9
-     gpsdrive           | []       []                                         |  3
-     gramadoir          | []                                                  |  5
-     grep               |    [] []          [] []                             | 26
-     gretl              |                                                     |  3
-     gtick              |                                                     |  7
-     hello              | []    [] []       [] []                             | 34
-     id-utils           |          []       []                                | 12
-     indent             | []    [] []       []                                | 21
-     iso_3166           | [] [] [] []       []    []     []                   | 27
-     iso_3166_1         | [] []             []                                | 16
-     iso_3166_2         |                                                     |  0
-     iso_3166_3         |                                                     |  2
-     iso_4217           | [] []    []       [] []               []            | 24
-     iso_639            |                                                     |  1
-     jpilot             |          []       []        []        []    []      |  9
-     jtag               | []                                                  |  2
-     jwhois             |          ()       []                        []      | 11
-     kbd                |          []       []                                | 11
-     latrine            |                                                     |  2
-     ld                 |          []       []                                |  5
-     libc               | []       []       []                  []            | 20
-     libgpewidget       | []    [] []                    []                   | 13
-     libiconv           | [] [] [] []       [] []        []     []            | 27
-     lifelines          |          []                                         |  2
-     lilypond           |          []                                         |  3
-     lingoteach         |                                                     |  2
-     lingoteach_lessons |                                       ()            |  0
-     lynx               |          []       [] []                             | 14
-     m4                 |          []                           []            | 15
-     mailutils          |                                                     |  5
-     make               |          []       []                  []            | 16
-     man-db             |          []                                         |  5
-     minicom            |                                                     | 11
-     mysecretdiary      |          []       []                                | 10
-     nano               |       [] []       [] []                             | 17
-     nano_1_0           |          []       [] []                             | 17
-     opcodes            |          []       []                                |  6
-     parted             |          []       []                  []            | 15
-     ptx                |          []       []                                | 22
-     python             |                                                     |  0
-     radius             |                                                     |  4
-     recode             |    []    []       []                                | 20
-     rpm                |          []       []                                |  9
-     screem             |          []                           []            |  2
-     scrollkeeper       | []    [] []                                         | 15
-     sed                | [] [] [] []       [] []                             | 24
-     sh-utils           |    []             []                                | 14
-     shared-mime-info   |       [] []                                         |  7
-     sharutils          |       [] []       []                        []      | 17
-     silky              | ()                                                  |  3
-     skencil            |          []                                         |  6
-     sketch             |          []                                         |  6
-     soundtracker       | []       []                                         |  7
-     sp                 |                   []                                |  3
-     tar                | [] []    []       []                  []            | 24
-     texinfo            |          []       []                  []            | 14
-     textutils          |    []    []       []                        []      | 16
-     tin                |                                                     |  1
-     tp-robot           |                                                     |  2
-     tuxpaint           | []       []       []           []     []            | 29
-     unicode-han-tra... |                                                     |  0
-     unicode-transla... |                                                     |  2
-     util-linux         |          []       []                                | 15
-     vorbis-tools       |                                                     |  8
-     wastesedge         |                                                     |  0
-     wdiff              | []       []       []                                | 18
-     wget               | [] [] [] []       [] []               []    []      | 24
-     xchat              | [] [] [] []                           []            | 15
-     xfree86_xkb_xml    | []    []          [] []               []            | 11
-     xpad               |                                                     |  5
-                        +-----------------------------------------------------+
-       63 teams           sk sl sr sv ta th tr uk ven vi wa xh zh_CN zh_TW zu
-      131 domains         47 19 28 83  0  0 59 13  1   1 11  0  22    22    0  1373
+                          af am ar az be bg bs ca cs cy da de el en en_GB eo
+                          11  0  1  2  8 21  1 42 43  2 62 99 18  1  16   16
+
+                          es et eu fa fi fr  ga gl gu he hi hr hu id is it
+                        +--------------------------------------------------+
+     GNUnet             |                                                  |
+     a2ps               |    []       [] []                             () |
+     aegis              |                                                  |
+     ant-phone          |                []                                |
+     anubis             |                []                                |
+     ap-utils           |             [] []                                |
+     aspell             |                []  []                         [] |
+     bash               | []             []                    []          |
+     batchelor          |                []  []                            |
+     bfd                | []                                               |
+     bibshelf           | []                 []                         [] |
+     binutils           | []          [] []                                |
+     bison              | [] []          []  []                   []    [] |
+     bison-runtime      |    []          []  []                   []    [] |
+     bluez-pin          |             [] []  []                [] []       |
+     cflow              |                                                  |
+     clisp              | []             []                                |
+     console-tools      |                                                  |
+     coreutils          | [] []       [] []  []                []          |
+     cpio               | []             []  []                            |
+     cpplib             | []             []                                |
+     cryptonit          |                []                                |
+     darkstat           | []             ()  []                [] []       |
+     dialog             | [] [] []    [] []  []                []       [] |
+     diffutils          | []          [] []  [] []    []       [] []    [] |
+     doodle             |                    []                         [] |
+     e2fsprogs          | []             []                             [] |
+     enscript           |                []  []             []             |
+     error              | []          [] []  []                []          |
+     fetchmail          | []                                               |
+     fileutils          | [] []          []  []                []       [] |
+     findutils          |    []          []  []                []          |
+     flex               | []             []  []                            |
+     fslint             |                []                                |
+     gas                | []             []                                |
+     gawk               | []             []  []       []                   |
+     gbiff              |                []                                |
+     gcal               | []             []                                |
+     gcc                | []                                               |
+     gettext-examples   | []             []  []                []       [] |
+     gettext-runtime    | []          [] []  []                   []    [] |
+     gettext-tools      | []             []                             [] |
+     gimp-print         | []             []                                |
+     gip                | []    []       []                                |
+     gliv               |                ()                                |
+     glunarclock        |             []     []                []          |
+     gmult              |       []       []                             [] |
+     gnubiff            |                ()                             () |
+     gnucash            | ()             ()                    ()          |
+     gnucash-glossary   | []                                            [] |
+     gnuedu             | []                                               |
+     gnulib             | [] [] []    [] []  [] []             []          |
+     gnunet-gtk         |                                                  |
+     gnutls             |                                                  |
+     gpe-aerial         | []             []                                |
+     gpe-beam           | []             []                                |
+     gpe-calendar       | []             []                    [] []       |
+     gpe-clock          | []          [] []                    []          |
+     gpe-conf           |                []                                |
+     gpe-contacts       | []             []                                |
+     gpe-edit           | []             []                    [] []       |
+     gpe-filemanager    | []                                               |
+     gpe-go             | []             []                    []          |
+     gpe-login          | []             []                    []          |
+     gpe-ownerinfo      | []          [] []                    [] []       |
+     gpe-package        | []                                               |
+     gpe-sketchbook     | []             []                                |
+     gpe-su             | []          [] []                    []          |
+     gpe-taskmanager    | []          [] []                                |
+     gpe-timesheet      | []             []  []                   []       |
+     gpe-today          | []          [] []  []                            |
+     gpe-todo           | []                                               |
+     gphoto2            | []          [] []                    []       [] |
+     gprof              | []             []  []                   []       |
+     gpsdrive           | ()             ()                    []       () |
+     gramadoir          |                []  []                            |
+     grep               | [] [] []    [] []  [] []    []    [] [] []    [] |
+     gretl              | []             []                             [] |
+     gsasl              |                    []                            |
+     gss                |                []                                |
+     gst-plugins        |                []                    []       [] |
+     gst-plugins-base   |                                      []       [] |
+     gst-plugins-good   |       []                             []       [] |
+     gstreamer          |             []                       []       [] |
+     gtick              |       []    [] []  []                         [] |
+     gtkam              | []             []                    []       [] |
+     gtkorphan          |                []                             [] |
+     gtkspell           | []    []    [] []  []                         [] |
+     gutenprint         |                                      []          |
+     hello              | [] [] [] [] [] []  [] []    []    [] [] []    [] |
+     id-utils           |                []  []                [] []    [] |
+     impost             |                []  []                            |
+     indent             | [] [] []    [] []  [] []             [] []    [] |
+     iso_3166           |             [] []                    []          |
+     iso_3166_1         | []    []    [] []  []                [] []       |
+     iso_3166_2         |                []                                |
+     iso_3166_3         |                []                                |
+     iso_4217           |    []       []        []             []          |
+     iso_639            |          [] [] []  []                []          |
+     jpilot             | []             []                                |
+     jtag               |                []                                |
+     jwhois             | []             []                    [] []    [] |
+     kbd                | []             []                                |
+     keytouch           |                    []                            |
+     keytouch-editor    |                    []                            |
+     keytouch-keyboa... |                    []                            |
+     latrine            |                []  []                         [] |
+     ld                 | []             []                                |
+     leafpad            | []             []  []       []       []       [] |
+     libc               | []          [] []     []             []          |
+     libexif            | []                                               |
+     libextractor       |                    []                            |
+     libgpewidget       | []             []  []                [] []       |
+     libgpg-error       |                                                  |
+     libgphoto2         | []             []                             [] |
+     libgphoto2_port    |                []                             [] |
+     libgsasl           |                []  []                            |
+     libiconv           |                    []                            |
+     libidn             |                []                             [] |
+     lifelines          |                ()                                |
+     lilypond           |                []                                |
+     lingoteach         |                []                       []    [] |
+     lynx               |    []                                []       [] |
+     m4                 |                []  [] []                []       |
+     mailutils          | []             []                                |
+     make               | []          [] []  [] []    []    []    []       |
+     man-db             | ()                                               |
+     minicom            | []          [] []                    []          |
+     mysecretdiary      | []             []                       []       |
+     nano               |       []    () []  []                []       [] |
+     nano_1_0           | []             []     []                []    [] |
+     opcodes            | []          [] []  []                            |
+     parted             | []             []                       []    [] |
+     pilot-qof          |                                                  |
+     psmisc             |       []                             []       [] |
+     pwdutils           |                                                  |
+     python             |                                                  |
+     qof                |                                                  |
+     radius             | []             []                                |
+     recode             | []             []  [] []    []       [] []    [] |
+     rpm                |                []                       []       |
+     screem             |                                                  |
+     scrollkeeper       | []          []                       []          |
+     sed                | [] []          []  []                []          |
+     sh-utils           | [] []       [] []  []                []       [] |
+     shared-mime-info   | []    []    [] []                    []       [] |
+     sharutils          | [] []       [] []  [] []             []       [] |
+     shishi             |                                                  |
+     silky              |                []                                |
+     skencil            | []             []                                |
+     sketch             | []             []                                |
+     solfege            |                                               [] |
+     soundtracker       | []             []                             [] |
+     sp                 |                []                                |
+     stardict           |                                      []          |
+     system-tools-ba... | []    []    [] []                 [] [] []    [] |
+     tar                | [] []          []  []                []       [] |
+     texinfo            |                []           []                   |
+     textutils          | []             []  [] []             []          |
+     tin                |    []          ()                                |
+     tp-robot           |             [] []  []                []          |
+     tuxpaint           |                    []                []          |
+     unicode-han-tra... |                                                  |
+     unicode-transla... |                []  []                            |
+     util-linux         | [] []       [] []                    [] []    [] |
+     vorbis-tools       | []             []                                |
+     wastesedge         |                ()                                |
+     wdiff              | [] []          []  [] []             [] []    [] |
+     wget               |    []       [] []  []             [] [] []    [] |
+     xchat              | []    []    [] []        []    []    []       [] |
+     xkeyboard-config   |             [] []                    []       [] |
+     xpad               | []                 []                []          |
+                        +--------------------------------------------------+
+                          es et eu fa fi fr  ga gl gu he hi hr hu id is it
+                          89 21 16  2 41 119 61 14  1  8  1  6 61 30  0 53
+
+                          ja ko ku ky lg lt lv mk mn ms mt nb ne nl  nn no
+                        +--------------------------------------------------+
+     GNUnet             |                                                  |
+     a2ps               |    ()                      []          []     () |
+     aegis              |                                        ()        |
+     ant-phone          |                                        []        |
+     anubis             |                            []    []    []        |
+     ap-utils           |                            []                    |
+     aspell             |                         []             []        |
+     bash               |                                        []        |
+     batchelor          |                            []          []        |
+     bfd                |                                                  |
+     bibshelf           |                            []                    |
+     binutils           |                                                  |
+     bison              |                            []    []    []        |
+     bison-runtime      |                            []    []    []        |
+     bluez-pin          |       []                   []          []        |
+     cflow              |                                                  |
+     clisp              |                                        []        |
+     console-tools      |                                                  |
+     coreutils          |                                        []        |
+     cpio               |                                                  |
+     cpplib             |                                        []        |
+     cryptonit          |                                        []        |
+     darkstat           |                            []          []        |
+     dialog             |                            []          []        |
+     diffutils          | []                         []          []        |
+     doodle             |                                                  |
+     e2fsprogs          |                                        []        |
+     enscript           |                                        []        |
+     error              |                                        []        |
+     fetchmail          | []                                     []        |
+     fileutils          | []          []                                   |
+     findutils          |                                        []        |
+     flex               |    []                                  []        |
+     fslint             |                            []          []        |
+     gas                |                                                  |
+     gawk               | []                                     []        |
+     gbiff              |                                        []        |
+     gcal               |                                                  |
+     gcc                |                                                  |
+     gettext-examples   | []                                     []        |
+     gettext-runtime    | [] []                                  []        |
+     gettext-tools      | [] []                                            |
+     gimp-print         | []                                     []        |
+     gip                |                            []          []        |
+     gliv               |                                        []        |
+     glunarclock        |                            []          []        |
+     gmult              | []                         []                    |
+     gnubiff            |                                                  |
+     gnucash            | ()                               ()              |
+     gnucash-glossary   |                                        []        |
+     gnuedu             |                                                  |
+     gnulib             | [] []                      []          []        |
+     gnunet-gtk         |                                                  |
+     gnutls             |                                                  |
+     gpe-aerial         |                                        []        |
+     gpe-beam           |                                        []        |
+     gpe-calendar       |                                        []        |
+     gpe-clock          |    []                                  []        |
+     gpe-conf           |    []                                  []        |
+     gpe-contacts       |    []                                            |
+     gpe-edit           |    []                                  []        |
+     gpe-filemanager    |    []                                            |
+     gpe-go             |    []                                  []        |
+     gpe-login          |    []                                  []        |
+     gpe-ownerinfo      |                                        []        |
+     gpe-package        |    []                                            |
+     gpe-sketchbook     |    []                                  []        |
+     gpe-su             |    []                                  []        |
+     gpe-taskmanager    |    [] []                               []        |
+     gpe-timesheet      |                                        []        |
+     gpe-today          |                                        []        |
+     gpe-todo           |                                                  |
+     gphoto2            | []                                     []        |
+     gprof              |                                                  |
+     gpsdrive           | ()                                     ()     () |
+     gramadoir          |                                        ()        |
+     grep               | []                               []    []        |
+     gretl              |                                                  |
+     gsasl              |                                        []        |
+     gss                |                                                  |
+     gst-plugins        |                                        []        |
+     gst-plugins-base   |                                                  |
+     gst-plugins-good   |                                        []        |
+     gstreamer          |                                        []        |
+     gtick              |                                        []        |
+     gtkam              | []                                               |
+     gtkorphan          |                                        []        |
+     gtkspell           |                         []             []        |
+     gutenprint         |                                                  |
+     hello              | [] []             []       []    []    []  [] [] |
+     id-utils           |                                        []        |
+     impost             |                                                  |
+     indent             | []                                     []        |
+     iso_3166           |                                        []        |
+     iso_3166_1         |                                        []     [] |
+     iso_3166_2         |                                        []        |
+     iso_3166_3         |                                        []        |
+     iso_4217           | []                      []             []        |
+     iso_639            | []                                     []        |
+     jpilot             | ()                                     ()     () |
+     jtag               |                                                  |
+     jwhois             |                                        []        |
+     kbd                |                                        []        |
+     keytouch           |                                        []        |
+     keytouch-editor    |                                                  |
+     keytouch-keyboa... |                                                  |
+     latrine            |                                        []        |
+     ld                 |                                                  |
+     leafpad            | []             []                                |
+     libc               | [] []                            []    []     [] |
+     libexif            |                                                  |
+     libextractor       |                                                  |
+     libgpewidget       |                                        []        |
+     libgpg-error       |                                                  |
+     libgphoto2         | []                                               |
+     libgphoto2_port    | []                                               |
+     libgsasl           |                                        []        |
+     libiconv           |                                                  |
+     libidn             | []                                     []        |
+     lifelines          |                                        []        |
+     lilypond           |                                                  |
+     lingoteach         |                                        []        |
+     lynx               | []                                     []        |
+     m4                 | []                                     []        |
+     mailutils          |                                                  |
+     make               | [] []                                  []        |
+     man-db             | ()                                               |
+     minicom            | []                                               |
+     mysecretdiary      |                                        []        |
+     nano               |                            []    []    []        |
+     nano_1_0           |                            []    []        []    |
+     opcodes            |                                        []        |
+     parted             | []                                     []        |
+     pilot-qof          |                                                  |
+     psmisc             | []                               []    []        |
+     pwdutils           |                                                  |
+     python             |                                                  |
+     qof                |                                                  |
+     radius             |                                                  |
+     recode             |                                        []        |
+     rpm                | [] []                                            |
+     screem             | []                                               |
+     scrollkeeper       |                                  [] [] []  []    |
+     sed                | []                                     []        |
+     sh-utils           | []                               []              |
+     shared-mime-info   |    []          []                []    []  []    |
+     sharutils          | []                                     []        |
+     shishi             |                                                  |
+     silky              |                                        []        |
+     skencil            |                                                  |
+     sketch             |                                                  |
+     solfege            |                                                  |
+     soundtracker       |                                                  |
+     sp                 | ()                                               |
+     stardict           |                      []                []        |
+     system-tools-ba... | [] []          []                      []        |
+     tar                | []       []                            []        |
+     texinfo            | []                               []    []        |
+     textutils          | [] []                            []              |
+     tin                |                                                  |
+     tp-robot           |                                        []        |
+     tuxpaint           |                                            []    |
+     unicode-han-tra... |                                                  |
+     unicode-transla... |                                                  |
+     util-linux         | []                                     []        |
+     vorbis-tools       |                                        []        |
+     wastesedge         |                                        []        |
+     wdiff              |                            []    []              |
+     wget               | []                                     []        |
+     xchat              | [] []                []                []        |
+     xkeyboard-config   |                                        []        |
+     xpad               |    []                      []          []        |
+                        +--------------------------------------------------+
+                          ja ko ku ky lg lt lv mk mn ms mt nb ne nl  nn no
+                          40 24  2  1  1  3  1  2  3 21  0 15  1 101  5  3
+
+                          nso or pa pl pt pt_BR rm ro ru rw sk sl sq sr sv  ta
+                        +------------------------------------------------------+
+     GNUnet             |                                                      |
+     a2ps               |           ()     []      [] []       []    [] []     |
+     aegis              |                          () ()                       |
+     ant-phone          |                          []                   []     |
+     anubis             |           []             [] []                       |
+     ap-utils           |           ()                                         |
+     aspell             |                          [] []                       |
+     bash               |                  []      [] []                       |
+     batchelor          |                          []                   []     |
+     bfd                |                                                      |
+     bibshelf           |                                               []     |
+     binutils           |                             []                []     |
+     bison              |           []     []      [] []                []     |
+     bison-runtime      |           []             []          []       []     |
+     bluez-pin          |           []     []   [] [] []    [] []    [] []     |
+     cflow              |           []                                         |
+     clisp              |                             []                       |
+     console-tools      |                             []                       |
+     coreutils          |           []                []       []       []     |
+     cpio               |           []                []                []     |
+     cpplib             |                                               []     |
+     cryptonit          |                  []                           []     |
+     darkstat           |           []     []      []       []       [] []     |
+     dialog             |           [] []  []   [] [] [] []          [] []     |
+     diffutils          |           []     []      [] []             [] []     |
+     doodle             |                                         []    []     |
+     e2fsprogs          |           []                                  []     |
+     enscript           |                  []      [] []       []       []     |
+     error              |                  []      []       []          []     |
+     fetchmail          |           []                []          []           |
+     fileutils          |           []             [] []       []       []     |
+     findutils          |           [] []          []       [] []       []     |
+     flex               |           []     []      [] []                []     |
+     fslint             |                  []      []                [] []     |
+     gas                |                                                      |
+     gawk               |           []     []      []                   []     |
+     gbiff              |                          []                          |
+     gcal               |                                               []     |
+     gcc                |                                               []     |
+     gettext-examples   |           [] []          [] []    [] []    [] []     |
+     gettext-runtime    |           [] []          [] []    [] []    [] []     |
+     gettext-tools      |           []             [] []    [] []    [] []     |
+     gimp-print         |                                   []          []     |
+     gip                |                       []          []       [] []     |
+     gliv               |                  []      []       []          []     |
+     glunarclock        |                  []      [] []    []       [] []     |
+     gmult              |                       [] []                [] []     |
+     gnubiff            |                          ()                          |
+     gnucash            |           ()                                  []     |
+     gnucash-glossary   |              []                   []          []     |
+     gnuedu             |                                                      |
+     gnulib             |           []             [] []       []       []     |
+     gnunet-gtk         |                                               []     |
+     gnutls             |           []                                  []     |
+     gpe-aerial         |              []  []      [] []       []    [] []     |
+     gpe-beam           |              []  []      [] []       []    [] []     |
+     gpe-calendar       |              []  []      [] []    [] []    [] []     |
+     gpe-clock          |              []  []      [] []    [] []    [] []     |
+     gpe-conf           |              []  []      [] []    [] []       []     |
+     gpe-contacts       |                          [] []       []    [] []     |
+     gpe-edit           |              []  []      [] []    [] []    [] []     |
+     gpe-filemanager    |                                      []       []     |
+     gpe-go             |                  []      [] []       []    [] []     |
+     gpe-login          |              []  []      [] []    [] []    [] []     |
+     gpe-ownerinfo      |              []  []      [] []    [] []    [] []     |
+     gpe-package        |                                      []       []     |
+     gpe-sketchbook     |              []  []      [] []    [] []    [] []     |
+     gpe-su             |              []  []      [] []    [] []    [] []     |
+     gpe-taskmanager    |              []  []      [] []    [] []    [] []     |
+     gpe-timesheet      |              []  []      [] []    [] []    [] []     |
+     gpe-today          |              []  []      [] []    [] []    [] []     |
+     gpe-todo           |                             []       []    [] []     |
+     gphoto2            |           []             []       []       [] []     |
+     gprof              |                  []      []                   []     |
+     gpsdrive           |        []                []                   []     |
+     gramadoir          |                                   []          []     |
+     grep               |           [] []  []      [] []       []    [] []     |
+     gretl              |           []                                         |
+     gsasl              |           []                                  []     |
+     gss                |           []             []                   []     |
+     gst-plugins        |     []                                  [] [] []     |
+     gst-plugins-base   |                                               []     |
+     gst-plugins-good   |     []                                  [] [] []     |
+     gstreamer          |                                         [] [] []     |
+     gtick              |                          [] []                []     |
+     gtkam              |           []     []         []                []     |
+     gtkorphan          |                                               []     |
+     gtkspell           |                  []   [] [] []    [] []    [] []     |
+     gutenprint         |                                               []     |
+     hello              |           []     []      [] []    [] []    [] []     |
+     id-utils           |                  []      [] []                []     |
+     impost             |                                               []     |
+     indent             |                  []      [] []    []       [] []     |
+     iso_3166           |              []                []    [] [] [] []     |
+     iso_3166_1         |                                   [] [] [] []        |
+     iso_3166_2         |                                                      |
+     iso_3166_3         |                          []    []    []    []        |
+     iso_4217           |                                []    []    [] []     |
+     iso_639            |                                []    []    [] []     |
+     jpilot             |                                                      |
+     jtag               |                                   []                 |
+     jwhois             |           []     []      []                   []     |
+     kbd                |           []             []                   []     |
+     keytouch           |                                               []     |
+     keytouch-editor    |                                               []     |
+     keytouch-keyboa... |                                               []     |
+     latrine            |                          []                   []     |
+     ld                 |                                               []     |
+     leafpad            |           [] []             []    []          []  [] |
+     libc               |           []     []         []    []          []     |
+     libexif            |           []                                         |
+     libextractor       |                          []                   []     |
+     libgpewidget       |              []  []      []       [] []    [] []     |
+     libgpg-error       |           []             []                          |
+     libgphoto2         |           []                                         |
+     libgphoto2_port    |           []                []                []     |
+     libgsasl           |           []             []                [] []     |
+     libiconv           |                                                      |
+     libidn             |           []                               [] ()     |
+     lifelines          |           []                                  []     |
+     lilypond           |                                                      |
+     lingoteach         |                  []                                  |
+     lynx               |                  []         []                []     |
+     m4                 |           []     []      [] []                []     |
+     mailutils          |           []             [] []                []     |
+     make               |           []     []         []                []     |
+     man-db             |                          []                   []     |
+     minicom            |           []     []      [] []                []     |
+     mysecretdiary      |                  []      [] []                []     |
+     nano               |                          []                   []     |
+     nano_1_0           |           []             [] []                []     |
+     opcodes            |                          []                   []     |
+     parted             |           []                                         |
+     pilot-qof          |                                               []     |
+     psmisc             |           []                                  []     |
+     pwdutils           |           []                                  []     |
+     python             |                                                      |
+     qof                |                                               []     |
+     radius             |           []                []                       |
+     recode             |           [] []  []      [] []       []       []     |
+     rpm                |           [] []             []                []     |
+     screem             |                                                      |
+     scrollkeeper       |           []             [] []    []    [] [] []     |
+     sed                |           [] []  []      [] []    [] []    [] []     |
+     sh-utils           |                             []       []    []        |
+     shared-mime-info   |              []  []                     [] [] []     |
+     sharutils          |           []                []             [] []     |
+     shishi             |           []                                         |
+     silky              |                                   []                 |
+     skencil            |              []  []                           []     |
+     sketch             |              []  []                           []     |
+     solfege            |                                               []     |
+     soundtracker       |                                   []          []     |
+     sp                 |                                                      |
+     stardict           |                             []    []          []     |
+     system-tools-ba... |        [] [] []  []      []             [] [] []  [] |
+     tar                |           []             [] []       []       []     |
+     texinfo            |           []             [] []                []     |
+     textutils          |                             []       []       []     |
+     tin                |                             ()                       |
+     tp-robot           |                             []                       |
+     tuxpaint           |              []                      [] [] [] []     |
+     unicode-han-tra... |                                                      |
+     unicode-transla... |                                                      |
+     util-linux         |                  []         []       []       []     |
+     vorbis-tools       |                          [] []                       |
+     wastesedge         |                                                      |
+     wdiff              |           []     []      [] []    []          []     |
+     wget               |              []             []    []          []     |
+     xchat              |        []                   []    [] [] [] [] []     |
+     xkeyboard-config   |                                      []       []     |
+     xpad               |                                   [] []       []     |
+                        +------------------------------------------------------+
+                          nso or pa pl pt pt_BR rm ro ru rw sk sl sq sr sv  ta
+                           0   2  3 58 31  53    5 76 72  5 42 48 12 51 130  2
+
+                          tg th tk tr uk ven vi  wa xh zh_CN zh_HK zh_TW zu
+                        +---------------------------------------------------+
+     GNUnet             |                    []                             |  2
+     a2ps               |          [] []     []                             | 19
+     aegis              |                                                   |  0
+     ant-phone          |          []        []                             |  6
+     anubis             |          [] []     []                             | 11
+     ap-utils           |             ()     []                             |  4
+     aspell             |             []     []  []                         | 14
+     bash               |                    []                             | 11
+     batchelor          |          []        []                             |  9
+     bfd                |                                                   |  1
+     bibshelf           |                    []                             |  7
+     binutils           |          []        []                     []      |  9
+     bison              |          []        []                     []      | 19
+     bison-runtime      |                    []         []          []      | 16
+     bluez-pin          |          [] []     []  []     []          []      | 28
+     cflow              |             []     []                             |  4
+     clisp              |                                                   |  6
+     console-tools      |          []        []                             |  5
+     coreutils          |          []        []                             | 17
+     cpio               |          [] []     []                             |  9
+     cpplib             |          []        []         []          []      | 11
+     cryptonit          |                                                   |  5
+     darkstat           |                    []         ()          ()      | 15
+     dialog             |          [] []     []         []          []      | 30
+     diffutils          |          []        []         []          []      | 28
+     doodle             |                    []                             |  6
+     e2fsprogs          |          []        []                             | 10
+     enscript           |          [] []     []                             | 16
+     error              |          []        []         []          []      | 18
+     fetchmail          |          []        []                             | 12
+     fileutils          |          []                   []          []      | 18
+     findutils          |          []        []                     []      | 17
+     flex               |          []        []                             | 15
+     fslint             |                    []                             |  9
+     gas                |          []                                       |  3
+     gawk               |          []        []                             | 15
+     gbiff              |                    []                             |  5
+     gcal               |          []                                       |  5
+     gcc                |          []                   []          []      |  6
+     gettext-examples   |          [] []     []         []    []    []      | 26
+     gettext-runtime    |          [] []     []         []    []    []      | 28
+     gettext-tools      |          [] []     []         []          []      | 19
+     gimp-print         |             []     []                             | 12
+     gip                |                    []                     []      | 12
+     gliv               |          []        []                             |  8
+     glunarclock        |                    []  []                 []      | 15
+     gmult              |          []        []         []          []      | 15
+     gnubiff            |                    []                             |  1
+     gnucash            |          ()                                       |  2
+     gnucash-glossary   |                    []                     []      |  9
+     gnuedu             |                    []                             |  2
+     gnulib             |          [] []     []         []          []      | 28
+     gnunet-gtk         |                                                   |  1
+     gnutls             |                                                   |  2
+     gpe-aerial         |                    []         []                  | 14
+     gpe-beam           |                    []         []                  | 14
+     gpe-calendar       |                    []  []     []          []      | 19
+     gpe-clock          |          []        []  []     []                  | 20
+     gpe-conf           |                    []         []                  | 14
+     gpe-contacts       |                    []         []                  | 10
+     gpe-edit           |          []        []  []                 []      | 19
+     gpe-filemanager    |                    []                             |  5
+     gpe-go             |          []        []                             | 14
+     gpe-login          |          []        []  []     []          []      | 20
+     gpe-ownerinfo      |          []        []         []          []      | 20
+     gpe-package        |                    []                             |  5
+     gpe-sketchbook     |          []        []                             | 16
+     gpe-su             |          []        []         []                  | 19
+     gpe-taskmanager    |          []        []         []                  | 19
+     gpe-timesheet      |          []        []         []          []      | 18
+     gpe-today          |          []        []  []     []          []      | 20
+     gpe-todo           |                    []                             |  6
+     gphoto2            |             []     []         []          []      | 20
+     gprof              |          []        []                             | 11
+     gpsdrive           |                                                   |  4
+     gramadoir          |                    []                             |  7
+     grep               |          [] []     []                     []      | 33
+     gretl              |                                                   |  4
+     gsasl              |                    []         []                  |  6
+     gss                |                    []                             |  5
+     gst-plugins        |             []     []                     []      | 15
+     gst-plugins-base   |             []     []         []                  |  9
+     gst-plugins-good   |             []     []         []                  | 18
+     gstreamer          |          [] []     []                             | 17
+     gtick              |                    []                             | 11
+     gtkam              |                    []                             | 13
+     gtkorphan          |                    []                             |  7
+     gtkspell           |             []     []  []     []    []    []      | 26
+     gutenprint         |                                                   |  3
+     hello              |          [] []     []         []          []      | 39
+     id-utils           |          []        []                             | 14
+     impost             |                    []                             |  4
+     indent             |          []        []         []          []      | 25
+     iso_3166           |       [] []        []                             | 15
+     iso_3166_1         |          []            []                         | 20
+     iso_3166_2         |                                                   |  2
+     iso_3166_3         |                        []     []                  |  9
+     iso_4217           |          []        []                             | 14
+     iso_639            |                    []                             | 14
+     jpilot             |          [] []     []         []                  |  7
+     jtag               |                    []                             |  3
+     jwhois             |          []        []                     []      | 13
+     kbd                |          []        []                             | 12
+     keytouch           |                    []                             |  4
+     keytouch-editor    |                                                   |  2
+     keytouch-keyboa... |                                                   |  2
+     latrine            |          []        []                             |  8
+     ld                 |          []        []         []          []      |  8
+     leafpad            |          []        []         []          []      | 23
+     libc               |          []                   []          []      | 23
+     libexif            |                    []                             |  4
+     libextractor       |                    []                             |  5
+     libgpewidget       |                    []  []     []                  | 19
+     libgpg-error       |                    []                             |  4
+     libgphoto2         |             []                                    |  8
+     libgphoto2_port    |             []     []                     []      | 11
+     libgsasl           |                    []                             |  8
+     libiconv           |                    []                             |  4
+     libidn             |                    []         []                  | 10
+     lifelines          |                                                   |  4
+     lilypond           |                                                   |  2
+     lingoteach         |                    []                             |  6
+     lynx               |          [] []     []                             | 15
+     m4                 |                    []         []          []      | 18
+     mailutils          |             []                                    |  8
+     make               |          []        []         []                  | 20
+     man-db             |                    []                             |  6
+     minicom            |                    []                             | 14
+     mysecretdiary      |          []        []                             | 12
+     nano               |                    []                     []      | 15
+     nano_1_0           |          [] []     []                             | 18
+     opcodes            |          []        []                             | 10
+     parted             |          [] []                            []      | 10
+     pilot-qof          |                    []                             |  3
+     psmisc             |                    []                             | 10
+     pwdutils           |                    []                             |  3
+     python             |                                                   |  0
+     qof                |                    []                             |  2
+     radius             |             []                                    |  6
+     recode             |          []        []         []                  | 25
+     rpm                |          [] []     []                     []      | 14
+     screem             |                    []                             |  2
+     scrollkeeper       |          [] []     []                     []      | 26
+     sed                |          []        []                     []      | 22
+     sh-utils           |          []                                       | 15
+     shared-mime-info   |             []     []         []          []      | 23
+     sharutils          |          []        []                     []      | 23
+     shishi             |                                                   |  1
+     silky              |                    []                             |  4
+     skencil            |                    []                             |  7
+     sketch             |                                                   |  6
+     solfege            |                                                   |  2
+     soundtracker       |          []        []                             |  9
+     sp                 |          []                                       |  3
+     stardict           |             []     []         []          []      | 11
+     system-tools-ba... |    []    [] []     []     []  []          []      | 37
+     tar                |          [] []     []                     []      | 19
+     texinfo            |          []        []         []                  | 15
+     textutils          |          []                   []          []      | 17
+     tin                |                                                   |  1
+     tp-robot           |                    []         []          []      | 10
+     tuxpaint           |                    []  []                 []      | 16
+     unicode-han-tra... |                                                   |  0
+     unicode-transla... |                                                   |  2
+     util-linux         |          [] []     []                             | 20
+     vorbis-tools       |             []     []                             | 11
+     wastesedge         |                                                   |  1
+     wdiff              |          []        []                             | 22
+     wget               |          []        []                     []      | 19
+     xchat              |             []     []         []          []      | 28
+     xkeyboard-config   |          [] []     []                     []      | 11
+     xpad               |                    []         []          []      | 14
+                        +---------------------------------------------------+
+       77 teams           tg th tk tr uk ven vi  wa xh zh_CN zh_HK zh_TW zu
+      172 domains          0  1  1 78 39  0  135 13  1  50     3    54    0  2054
 
    Some counters in the preceding matrix are higher than the number of
 visible blocks let us expect.  This is because a few extra PO files are
 
    Some counters in the preceding matrix are higher than the number of
 visible blocks let us expect.  This is because a few extra PO files are
@@ -742,13 +1085,13 @@ distributed as such by its maintainer.  There might be an observable
 lag between the mere existence a PO file and its wide availability in a
 distribution.
 
 lag between the mere existence a PO file and its wide availability in a
 distribution.
 
-   If January 2004 seems to be old, you may fetch a more recent copy of
+   If July 2006 seems to be old, you may fetch a more recent copy of
 this `ABOUT-NLS' file on most GNU archive sites.  The most up-to-date
 matrix with full percentage details can be found at
 `http://www.iro.umontreal.ca/contrib/po/HTML/matrix.html'.
 
 this `ABOUT-NLS' file on most GNU archive sites.  The most up-to-date
 matrix with full percentage details can be found at
 `http://www.iro.umontreal.ca/contrib/po/HTML/matrix.html'.
 
-Using `gettext' in new packages
-===============================
+1.6 Using `gettext' in new packages
+===================================
 
 If you are writing a freely available program and want to
 internationalize it you are welcome to use GNU `gettext' in your
 
 If you are writing a freely available program and want to
 internationalize it you are welcome to use GNU `gettext' in your
index 5a2d98b..1260a9b 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2006-11-21  Werner Koch  <wk@g10code.com>
+
+       * configure.ac [AH_BOTTOM]: Disable PTH soft mapping.
+       (AC_CHECK_SIZEOF): Check for time_t.
+       (BUILD_INCLUDED_LIBINTL): Remove AM_PO_SUBDIRS as it is not
+       required for C.
+
 2006-11-15  Werner Koch  <wk@g10code.com>
 
        * autogen.sh: Add convenience option --build-amd64.
 2006-11-15  Werner Koch  <wk@g10code.com>
 
        * autogen.sh: Add convenience option --build-amd64.
index 5ff12da..63d8566 100644 (file)
@@ -1,3 +1,8 @@
+2006-11-21  Werner Koch  <wk@g10code.com>
+
+       * estream.c: Remove explicit Pth soft mapping diabling becuase it
+       is now done in config.h.
+
 2006-11-15  Werner Koch  <wk@g10code.com>
 
        * estream.c: Disabled Pth soft mapping.
 2006-11-15  Werner Koch  <wk@g10code.com>
 
        * estream.c: Disabled Pth soft mapping.
index e00191e..e63bc89 100644 (file)
@@ -46,9 +46,6 @@
 #endif
 
 #ifdef HAVE_PTH
 #endif
 
 #ifdef HAVE_PTH
-  /* We explicitly need to disable soft mapping as Debian currently
-     enables it for no reason. */
-# define PTH_SYSCALL_SOFT 0
 # include <pth.h>
 #endif
 
 # include <pth.h>
 #endif
 
index bcf7086..38c3438 100644 (file)
@@ -422,6 +422,11 @@ AH_BOTTOM([
 /* We don't want the old assuan codes anymore. */
 #define _ASSUAN_ONLY_GPG_ERRORS 1
 
 /* We don't want the old assuan codes anymore. */
 #define _ASSUAN_ONLY_GPG_ERRORS 1
 
+/* We explicitly need to disable PTH's soft mapping as Debian
+   currently enables it by default for no reason. */
+#define PTH_SYSCALL_SOFT 0
+
+
 #endif /*GNUPG_CONFIG_H_INCLUDED*/
 ])
 
 #endif /*GNUPG_CONFIG_H_INCLUDED*/
 ])
 
@@ -847,7 +852,7 @@ AC_DEFINE_UNQUOTED(PRINTABLE_OS_NAME, "$PRINTABLE_OS_NAME",
 #
 # Check for gettext
 #
 #
 # Check for gettext
 #
-AM_GNU_GETTEXT_VERSION(0.14.1)
+AM_GNU_GETTEXT_VERSION([0.15])
 if test "$try_gettext" = yes; then
   AM_GNU_GETTEXT(,[need-ngettext])
 
 if test "$try_gettext" = yes; then
   AM_GNU_GETTEXT(,[need-ngettext])
 
@@ -863,7 +868,6 @@ else
   AC_SUBST(USE_NLS)
   AC_SUBST(USE_INCLUDED_LIBINTL)
   AC_SUBST(BUILD_INCLUDED_LIBINTL)
   AC_SUBST(USE_NLS)
   AC_SUBST(USE_INCLUDED_LIBINTL)
   AC_SUBST(BUILD_INCLUDED_LIBINTL)
-  AM_PO_SUBDIRS
 fi
 
 
 fi
 
 
@@ -881,6 +885,7 @@ fi
 AC_HEADER_STDC
 AC_CHECK_HEADERS([string.h unistd.h langinfo.h termio.h locale.h getopt.h])
 AC_CHECK_HEADERS([pty.h pwd.h inttypes.h])
 AC_HEADER_STDC
 AC_CHECK_HEADERS([string.h unistd.h langinfo.h termio.h locale.h getopt.h])
 AC_CHECK_HEADERS([pty.h pwd.h inttypes.h])
+AC_HEADER_TIME
 
 
 #
 
 
 #
@@ -914,6 +919,21 @@ AC_CHECK_SIZEOF(unsigned short)
 AC_CHECK_SIZEOF(unsigned int)
 AC_CHECK_SIZEOF(unsigned long)
 AC_CHECK_SIZEOF(unsigned long long)
 AC_CHECK_SIZEOF(unsigned int)
 AC_CHECK_SIZEOF(unsigned long)
 AC_CHECK_SIZEOF(unsigned long long)
+AC_CHECK_SIZEOF(time_t,,[[
+#include <stdio.h>
+#if TIME_WITH_SYS_TIME
+# include <sys/time.h>
+# include <time.h>
+#else
+# if HAVE_SYS_TIME_H
+#  include <sys/time.h>
+# else
+#  include <time.h>
+# endif
+#endif
+]])
+
+
 # Ensure that we have UINT64_C before we bother to check for uint64_t
 # Fixme: really needed in gnupg?  I think it is only useful in libcgrypt.
 AC_CACHE_CHECK([for UINT64_C],[gnupg_cv_uint64_c_works],
 # Ensure that we have UINT64_C before we bother to check for uint64_t
 # Fixme: really needed in gnupg?  I think it is only useful in libcgrypt.
 AC_CACHE_CHECK([for UINT64_C],[gnupg_cv_uint64_c_works],
index 5847bea..2040d78 100644 (file)
@@ -1,3 +1,24 @@
+2006-11-21  Werner Koch  <wk@g10code.com>
+
+       * keygen.c (ask_expire_interval): Print y2038 warning only for 32
+       bit time_t.
+       (save_unprotected_key_to_card): Made RSA_N_LEN et al a size_t.
+       Cast printf args.
+
+       * seckey-cert.c (do_check): Made NBYTES a size_t.
+       (do_check): Made NDATA a size_t.
+       (protect_secret_key): Made NARR a size_t.
+       (protect_secret_key): Made NVYES a size_t.
+       * pubkey-enc.c (get_it): Made INDATALEN a size_t. 
+       (get_it): Made NFRAME a size_t.
+       * keyid.c (hash_public_key): Made NBITS an unsigned int.
+       * misc.c (checksum_mpi): Made NBYTES a size_t. 
+       (openpgp_pk_test_algo2): Made USE_BUF a size_t.
+       * seskey.c (encode_session_key): Made NFRAME a size_t.
+       (do_encode_md): Ditto.
+       (encode_md_value): Cast size_t argument of printf.
+       (encode_md_value): Ditto.
+
 2006-11-10  Werner Koch  <wk@g10code.com>
 
        * parse-packet.c (mpi_read): Changed NREAD to size_t to match the
 2006-11-10  Werner Koch  <wk@g10code.com>
 
        * parse-packet.c (mpi_read): Changed NREAD to size_t to match the
index 0ce588c..4602eab 100644 (file)
@@ -1849,12 +1849,12 @@ ask_expire_interval(int object,const char *def_expire)
                       ? _("Key expires at %s\n")
                       : _("Signature expires at %s\n"),
                       asctimestamp((ulong)(curtime + interval) ) );
                       ? _("Key expires at %s\n")
                       : _("Signature expires at %s\n"),
                       asctimestamp((ulong)(curtime + interval) ) );
-           /* FIXME: This check yields warning on alhas: Write a
-              configure check and to this check here only for 32 bit
-              machines */
-           if( (time_t)((ulong)(curtime+interval)) < 0 )
-             tty_printf(_("Your system can't display dates beyond 2038.\n"
-                          "However, it will be correctly handled up to 2106.\n"));
+#if SIZEOF_TIME_T <= 4
+           if ( (time_t)((ulong)(curtime+interval)) < 0 )
+             tty_printf (_("Your system can't display dates beyond 2038.\n"
+                            "However, it will be correctly handled up to"
+                            " 2106.\n"));
+#endif /*SIZEOF_TIME_T*/
          }
 
        if( cpr_enabled() || cpr_get_answer_is_yes("keygen.valid.okay",
          }
 
        if( cpr_enabled() || cpr_get_answer_is_yes("keygen.valid.okay",
@@ -3824,7 +3824,7 @@ save_unprotected_key_to_card (PKT_secret_key *sk, int keyno)
   unsigned char *rsa_e = NULL;
   unsigned char *rsa_p = NULL;
   unsigned char *rsa_q = NULL;
   unsigned char *rsa_e = NULL;
   unsigned char *rsa_p = NULL;
   unsigned char *rsa_q = NULL;
-  unsigned int rsa_n_len, rsa_e_len, rsa_p_len, rsa_q_len;
+  size_t rsa_n_len, rsa_e_len, rsa_p_len, rsa_q_len;
   unsigned char *sexp = NULL;
   unsigned char *p;
   char numbuf[55], numbuf2[50];
   unsigned char *sexp = NULL;
   unsigned char *p;
   char numbuf[55], numbuf2[50];
@@ -3849,22 +3849,22 @@ save_unprotected_key_to_card (PKT_secret_key *sk, int keyno)
                              + 4*sizeof (numbuf) + 25 + sizeof(numbuf) + 20);
 
   p = stpcpy (p,"(11:private-key(3:rsa(1:n");
                              + 4*sizeof (numbuf) + 25 + sizeof(numbuf) + 20);
 
   p = stpcpy (p,"(11:private-key(3:rsa(1:n");
-  sprintf (numbuf, "%u:", rsa_n_len);
+  sprintf (numbuf, "%u:", (unsigned int)rsa_n_len);
   p = stpcpy (p, numbuf);
   memcpy (p, rsa_n, rsa_n_len);
   p += rsa_n_len;
 
   p = stpcpy (p, numbuf);
   memcpy (p, rsa_n, rsa_n_len);
   p += rsa_n_len;
 
-  sprintf (numbuf, ")(1:e%u:", rsa_e_len);
+  sprintf (numbuf, ")(1:e%u:", (unsigned int)rsa_e_len);
   p = stpcpy (p, numbuf);
   memcpy (p, rsa_e, rsa_e_len);
   p += rsa_e_len;
 
   p = stpcpy (p, numbuf);
   memcpy (p, rsa_e, rsa_e_len);
   p += rsa_e_len;
 
-  sprintf (numbuf, ")(1:p%u:", rsa_p_len);
+  sprintf (numbuf, ")(1:p%u:", (unsigned int)rsa_p_len);
   p = stpcpy (p, numbuf);
   memcpy (p, rsa_p, rsa_p_len);
   p += rsa_p_len;
 
   p = stpcpy (p, numbuf);
   memcpy (p, rsa_p, rsa_p_len);
   p += rsa_p_len;
 
-  sprintf (numbuf, ")(1:q%u:", rsa_q_len);
+  sprintf (numbuf, ")(1:q%u:", (unsigned int)rsa_q_len);
   p = stpcpy (p, numbuf);
   memcpy (p, rsa_q, rsa_q_len);
   p += rsa_q_len;
   p = stpcpy (p, numbuf);
   memcpy (p, rsa_q, rsa_q_len);
   p += rsa_q_len;
index afafc1a..0de396f 100644 (file)
@@ -59,7 +59,8 @@ hash_public_key( gcry_md_hd_t md, PKT_public_key *pk )
   unsigned int nn[PUBKEY_MAX_NPKEY];
   byte *pp[PUBKEY_MAX_NPKEY];
   int i;
   unsigned int nn[PUBKEY_MAX_NPKEY];
   byte *pp[PUBKEY_MAX_NPKEY];
   int i;
-  size_t nbits, nbytes;
+  unsigned int nbits;
+  size_t nbytes;
   int npkey = pubkey_get_npkey (pk->pubkey_algo);
 
   /* Two extra bytes for the expiration date in v3 */
   int npkey = pubkey_get_npkey (pk->pubkey_algo);
 
   /* Two extra bytes for the expiration date in v3 */
index 064f1e6..bf32228 100644 (file)
@@ -297,7 +297,7 @@ checksum_mpi (gcry_mpi_t a)
 {
   u16 csum;
   byte *buffer;
 {
   u16 csum;
   byte *buffer;
-  unsigned int nbytes;
+  size_t nbytes;
 
   if ( gcry_mpi_print (GCRYMPI_FMT_PGP, NULL, 0, &nbytes, a) )
     BUG ();
 
   if ( gcry_mpi_print (GCRYMPI_FMT_PGP, NULL, 0, &nbytes, a) )
     BUG ();
@@ -426,7 +426,7 @@ openpgp_pk_test_algo( int algo )
 int
 openpgp_pk_test_algo2( int algo, unsigned int use )
 {
 int
 openpgp_pk_test_algo2( int algo, unsigned int use )
 {
-  int use_buf = use;
+  size_t use_buf = use;
 
   if (algo == GCRY_PK_ELG_E)
     algo = GCRY_PK_ELG;
 
   if (algo == GCRY_PK_ELG_E)
     algo = GCRY_PK_ELG;
index fca19f8..777e5f7 100644 (file)
@@ -155,7 +155,8 @@ get_it( PKT_pubkey_enc *enc, DEK *dek, PKT_secret_key *sk, u32 *keyid )
   int rc;
   gcry_mpi_t plain_dek  = NULL;
   byte *frame = NULL;
   int rc;
   gcry_mpi_t plain_dek  = NULL;
   byte *frame = NULL;
-  unsigned n, nframe;
+  unsigned int n;
+  size_t nframe;
   u16 csum, csum2;
   
   int card = 0;
   u16 csum, csum2;
   
   int card = 0;
@@ -167,7 +168,7 @@ get_it( PKT_pubkey_enc *enc, DEK *dek, PKT_secret_key *sk, u32 *keyid )
       size_t rbuflen;
       char *snbuf;
       unsigned char *indata = NULL;
       size_t rbuflen;
       char *snbuf;
       unsigned char *indata = NULL;
-      unsigned int indatalen;
+      size_t indatalen;
 
       snbuf = serialno_and_fpr_from_sk (sk->protect.iv, sk->protect.ivlen, sk);
 
 
       snbuf = serialno_and_fpr_from_sk (sk->protect.iv, sk->protect.ivlen, sk);
 
index a059aa0..4a22a45 100644 (file)
@@ -45,7 +45,7 @@ do_check( PKT_secret_key *sk, const char *tryagain_text, int mode,
     byte *buffer;
     u16 csum=0;
     int i, res;
     byte *buffer;
     u16 csum=0;
     int i, res;
-    unsigned int nbytes;
+    size_t nbytes;
 
     if( sk->is_protected ) { /* remove the protection */
        DEK *dek = NULL;
 
     if( sk->is_protected ) { /* remove the protection */
        DEK *dek = NULL;
@@ -194,7 +194,7 @@ do_check( PKT_secret_key *sk, const char *tryagain_text, int mode,
            for(i=pubkey_get_npkey(sk->pubkey_algo);
                    i < pubkey_get_nskey(sk->pubkey_algo); i++ ) {
                 byte *p;
            for(i=pubkey_get_npkey(sk->pubkey_algo);
                    i < pubkey_get_nskey(sk->pubkey_algo); i++ ) {
                 byte *p;
-                int ndata;
+                size_t ndata;
                 unsigned int ndatabits;
 
                 assert (gcry_mpi_get_flag (sk->skey[i], GCRYMPI_FLAG_OPAQUE));
                 unsigned int ndatabits;
 
                 assert (gcry_mpi_get_flag (sk->skey[i], GCRYMPI_FLAG_OPAQUE));
@@ -337,7 +337,7 @@ protect_secret_key( PKT_secret_key *sk, DEK *dek )
 {
     int i,j, rc = 0;
     byte *buffer;
 {
     int i,j, rc = 0;
     byte *buffer;
-    unsigned nbytes;
+    size_t nbytes;
     u16 csum;
 
     if( !dek )
     u16 csum;
 
     if( !dek )
@@ -370,8 +370,8 @@ protect_secret_key( PKT_secret_key *sk, DEK *dek )
            gcry_cipher_setiv (cipher_hd, sk->protect.iv, sk->protect.ivlen);
            if( sk->version >= 4 ) {
                 byte *bufarr[PUBKEY_MAX_NSKEY];
            gcry_cipher_setiv (cipher_hd, sk->protect.iv, sk->protect.ivlen);
            if( sk->version >= 4 ) {
                 byte *bufarr[PUBKEY_MAX_NSKEY];
-               unsigned narr[PUBKEY_MAX_NSKEY];
-               unsigned nbits[PUBKEY_MAX_NSKEY];
+               size_t narr[PUBKEY_MAX_NSKEY];
+               unsigned int nbits[PUBKEY_MAX_NSKEY];
                int ndata=0;
                byte *p, *data;
 
                int ndata=0;
                byte *p, *data;
 
index c0efc3a..6ac83b0 100644 (file)
@@ -77,7 +77,7 @@ make_session_key( DEK *dek )
 gcry_mpi_t
 encode_session_key (DEK *dek, unsigned int nbits)
 {
 gcry_mpi_t
 encode_session_key (DEK *dek, unsigned int nbits)
 {
-    int nframe = (nbits+7) / 8;
+    size_t nframe = (nbits+7) / 8;
     byte *p;
     byte *frame;
     int i,n;
     byte *p;
     byte *frame;
     int i,n;
@@ -157,7 +157,7 @@ static gcry_mpi_t
 do_encode_md( gcry_md_hd_t md, int algo, size_t len, unsigned nbits,
              const byte *asn, size_t asnlen )
 {
 do_encode_md( gcry_md_hd_t md, int algo, size_t len, unsigned nbits,
              const byte *asn, size_t asnlen )
 {
-    int nframe = (nbits+7) / 8;
+    size_t nframe = (nbits+7) / 8;
     byte *frame;
     int i,n;
     gcry_mpi_t a;
     byte *frame;
     int i,n;
     gcry_mpi_t a;
@@ -237,11 +237,11 @@ encode_md_value (PKT_public_key *pk, PKT_secret_key *sk,
         or something like that, which would look correct but allow
         trivial forgeries.  Yes, I know this rules out using MD5 with
         DSA. ;) */
         or something like that, which would look correct but allow
         trivial forgeries.  Yes, I know this rules out using MD5 with
         DSA. ;) */
-
-      if(qbytes<160)
+      if (qbytes < 160)
        {
        {
-         log_error(_("DSA key %s uses an unsafe (%u bit) hash\n"),
-                   pk?keystr_from_pk(pk):keystr_from_sk(sk),qbytes);
+         log_error (_("DSA key %s uses an unsafe (%u bit) hash\n"),
+                     pk?keystr_from_pk(pk):keystr_from_sk(sk),
+                     (unsigned int)qbytes);
          return NULL;
        }
 
          return NULL;
        }
 
@@ -249,11 +249,11 @@ encode_md_value (PKT_public_key *pk, PKT_secret_key *sk,
 
       /* Check if we're too short.  Too long is safe as we'll
         automatically left-truncate. */
 
       /* Check if we're too short.  Too long is safe as we'll
         automatically left-truncate. */
-
-      if(gcry_md_get_algo_dlen (hash_algo) < qbytes)
+      if (gcry_md_get_algo_dlen (hash_algo) < qbytes)
        {
        {
-         log_error(_("DSA key %s requires a %u bit or larger hash\n"),
-                   pk?keystr_from_pk(pk):keystr_from_sk(sk),qbytes*8);
+         log_error (_("DSA key %s requires a %u bit or larger hash\n"),
+                     pk?keystr_from_pk(pk):keystr_from_sk(sk),
+                     (unsigned int)(qbytes*8));
          return NULL;
        }
 
          return NULL;
        }
 
index 7512919..fd4940c 100644 (file)
@@ -1,4 +1,4 @@
-2004-01-29  GNU  <bug-gnu-gettext@gnu.org>
+2006-07-21  GNU  <bug-gnu-gettext@gnu.org>
 
 
-       * Version 0.14.1 released.
+       * Version 0.15 released.
 
 
index 05f1532..c1d5fbd 100644 (file)
@@ -1,5 +1,5 @@
 # Makefile for directory with message catalog handling library of GNU gettext
 # Makefile for directory with message catalog handling library of GNU gettext
-# Copyright (C) 1995-1998, 2000-2003 Free Software Foundation, Inc.
+# Copyright (C) 1995-1998, 2000-2006 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify it
 # under the terms of the GNU Library General Public License as published
 #
 # This program is free software; you can redistribute it and/or modify it
 # under the terms of the GNU Library General Public License as published
@@ -13,7 +13,7 @@
 #
 # You should have received a copy of the GNU Library General Public
 # License along with this program; if not, write to the Free Software
 #
 # You should have received a copy of the GNU Library General Public
 # License along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
 # USA.
 
 PACKAGE = @PACKAGE@
 # USA.
 
 PACKAGE = @PACKAGE@
@@ -24,6 +24,17 @@ SHELL = /bin/sh
 srcdir = @srcdir@
 top_srcdir = @top_srcdir@
 top_builddir = ..
 srcdir = @srcdir@
 top_srcdir = @top_srcdir@
 top_builddir = ..
+
+# The VPATH variables allows builds with $builddir != $srcdir, assuming a
+# 'make' program that supports VPATH (such as GNU make). This line is removed
+# by autoconf automatically when "$(srcdir)" = ".".
+# In this directory, the VPATH handling is particular:
+# 1. If INTL_LIBTOOL_SUFFIX_PREFIX is 'l' (indicating a build with libtool),
+#    the .c -> .lo rules carefully use $(srcdir), so that VPATH can be omitted.
+# 2. If PACKAGE = gettext-tools, VPATH _must_ be omitted, because otherwise
+#    'make' does the wrong thing if GNU gettext was configured with
+#    "./configure --srcdir=`pwd`", namely it gets confused by the .lo and .la
+#    files it finds in srcdir = ../../gettext-runtime/intl.
 VPATH = $(srcdir)
 
 prefix = @prefix@
 VPATH = $(srcdir)
 
 prefix = @prefix@
@@ -31,6 +42,7 @@ exec_prefix = @exec_prefix@
 transform = @program_transform_name@
 libdir = @libdir@
 includedir = @includedir@
 transform = @program_transform_name@
 libdir = @libdir@
 includedir = @includedir@
+datarootdir = @datarootdir@
 datadir = @datadir@
 localedir = $(datadir)/locale
 gettextsrcdir = $(datadir)/gettext/intl
 datadir = @datadir@
 localedir = $(datadir)/locale
 gettextsrcdir = $(datadir)/gettext/intl
@@ -39,8 +51,8 @@ subdir = intl
 
 INSTALL = @INSTALL@
 INSTALL_DATA = @INSTALL_DATA@
 
 INSTALL = @INSTALL@
 INSTALL_DATA = @INSTALL_DATA@
-MKINSTALLDIRS = @MKINSTALLDIRS@
-mkinstalldirs = $(SHELL) $(MKINSTALLDIRS)
+mkinstalldirs = @install_sh@ -d
+mkdir_p = @mkdir_p@
 
 l = @INTL_LIBTOOL_SUFFIX_PREFIX@
 
 
 l = @INTL_LIBTOOL_SUFFIX_PREFIX@
 
@@ -51,15 +63,19 @@ RANLIB = @RANLIB@
 YACC = @INTLBISON@ -y -d
 YFLAGS = --name-prefix=__gettext
 
 YACC = @INTLBISON@ -y -d
 YFLAGS = --name-prefix=__gettext
 
+# -DBUILDING_LIBINTL: Change expansion of LIBINTL_DLL_EXPORTED macro.
+# -DBUILDING_DLL: Change expansion of RELOCATABLE_DLL_EXPORTED macro.
 DEFS = -DLOCALEDIR=\"$(localedir)\" -DLOCALE_ALIAS_PATH=\"$(aliaspath)\" \
 DEFS = -DLOCALEDIR=\"$(localedir)\" -DLOCALE_ALIAS_PATH=\"$(aliaspath)\" \
--DLIBDIR=\"$(libdir)\" -DIN_LIBINTL \
+-DLIBDIR=\"$(libdir)\" -DBUILDING_LIBINTL -DBUILDING_DLL -DIN_LIBINTL \
 -DENABLE_RELOCATABLE=1 -DIN_LIBRARY -DINSTALLDIR=\"$(libdir)\" -DNO_XMALLOC \
 -Dset_relocation_prefix=libintl_set_relocation_prefix \
 -Drelocate=libintl_relocate \
 -DDEPENDS_ON_LIBICONV=1 @DEFS@
 CPPFLAGS = @CPPFLAGS@
 -DENABLE_RELOCATABLE=1 -DIN_LIBRARY -DINSTALLDIR=\"$(libdir)\" -DNO_XMALLOC \
 -Dset_relocation_prefix=libintl_set_relocation_prefix \
 -Drelocate=libintl_relocate \
 -DDEPENDS_ON_LIBICONV=1 @DEFS@
 CPPFLAGS = @CPPFLAGS@
-CFLAGS = @CFLAGS@
-LDFLAGS = @LDFLAGS@
+CFLAGS = @CFLAGS@ @CFLAG_VISIBILITY@
+LDFLAGS = @LDFLAGS@ $(LDFLAGS_@WOE32DLL@)
+LDFLAGS_yes = -Wl,--export-all-symbols
+LDFLAGS_no =
 LIBS = @LIBS@
 
 COMPILE = $(CC) -c $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) $(XCFLAGS)
 LIBS = @LIBS@
 
 COMPILE = $(CC) -c $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) $(XCFLAGS)
@@ -72,6 +88,7 @@ HEADERS = \
   plural-exp.h \
   eval-plural.h \
   localcharset.h \
   plural-exp.h \
   eval-plural.h \
   localcharset.h \
+  lock.h \
   relocatable.h \
   xsize.h \
   printf-args.h printf-args.c \
   relocatable.h \
   xsize.h \
   printf-args.h printf-args.c \
@@ -85,6 +102,7 @@ SOURCES = \
   dgettext.c \
   gettext.c \
   finddomain.c \
   dgettext.c \
   gettext.c \
   finddomain.c \
+  hash-string.c \
   loadmsgcat.c \
   localealias.c \
   textdomain.c \
   loadmsgcat.c \
   localealias.c \
   textdomain.c \
@@ -97,12 +115,16 @@ SOURCES = \
   plural.y \
   plural-exp.c \
   localcharset.c \
   plural.y \
   plural-exp.c \
   localcharset.c \
+  lock.c \
   relocatable.c \
   relocatable.c \
+  langprefs.c \
   localename.c \
   log.c \
   printf.c \
   localename.c \
   log.c \
   printf.c \
+  version.c \
   osdep.c \
   os2compat.c \
   osdep.c \
   os2compat.c \
+  intl-exports.c \
   intl-compat.c
 OBJECTS = \
   bindtextdom.$lo \
   intl-compat.c
 OBJECTS = \
   bindtextdom.$lo \
@@ -110,6 +132,7 @@ OBJECTS = \
   dgettext.$lo \
   gettext.$lo \
   finddomain.$lo \
   dgettext.$lo \
   gettext.$lo \
   finddomain.$lo \
+  hash-string.$lo \
   loadmsgcat.$lo \
   localealias.$lo \
   textdomain.$lo \
   loadmsgcat.$lo \
   localealias.$lo \
   textdomain.$lo \
@@ -122,14 +145,18 @@ OBJECTS = \
   plural.$lo \
   plural-exp.$lo \
   localcharset.$lo \
   plural.$lo \
   plural-exp.$lo \
   localcharset.$lo \
+  lock.$lo \
   relocatable.$lo \
   relocatable.$lo \
+  langprefs.$lo \
   localename.$lo \
   log.$lo \
   printf.$lo \
   localename.$lo \
   log.$lo \
   printf.$lo \
+  version.$lo \
   osdep.$lo \
   intl-compat.$lo
 DISTFILES.common = Makefile.in \
   osdep.$lo \
   intl-compat.$lo
 DISTFILES.common = Makefile.in \
-config.charset locale.alias ref-add.sin ref-del.sin $(HEADERS) $(SOURCES)
+config.charset locale.alias ref-add.sin ref-del.sin export.h \
+$(HEADERS) $(SOURCES)
 DISTFILES.generated = plural.c
 DISTFILES.normal = VERSION
 DISTFILES.gettext = COPYING.LIB-2.0 COPYING.LIB-2.1 libintl.glibc \
 DISTFILES.generated = plural.c
 DISTFILES.normal = VERSION
 DISTFILES.gettext = COPYING.LIB-2.0 COPYING.LIB-2.1 libintl.glibc \
@@ -152,7 +179,7 @@ libintl.a libgnuintl.a: $(OBJECTS)
 libintl.la libgnuintl.la: $(OBJECTS)
        $(LIBTOOL) --mode=link \
          $(CC) $(CPPFLAGS) $(CFLAGS) $(XCFLAGS) $(LDFLAGS) -o $@ \
 libintl.la libgnuintl.la: $(OBJECTS)
        $(LIBTOOL) --mode=link \
          $(CC) $(CPPFLAGS) $(CFLAGS) $(XCFLAGS) $(LDFLAGS) -o $@ \
-         $(OBJECTS) @LTLIBICONV@ $(LIBS) -lc \
+         $(OBJECTS) @LTLIBICONV@ @INTL_MACOSX_LIBS@ $(LIBS) @LTLIBTHREAD@ -lc \
          -version-info $(LTV_CURRENT):$(LTV_REVISION):$(LTV_AGE) \
          -rpath $(libdir) \
          -no-undefined
          -version-info $(LTV_CURRENT):$(LTV_REVISION):$(LTV_AGE) \
          -rpath $(libdir) \
          -no-undefined
@@ -162,9 +189,9 @@ libintl.la libgnuintl.la: $(OBJECTS)
 # according to the libtool documentation, section "Library interface versions".
 # Maintainers of other packages that include the intl directory must *not*
 # change these values.
 # according to the libtool documentation, section "Library interface versions".
 # Maintainers of other packages that include the intl directory must *not*
 # change these values.
-LTV_CURRENT=7
+LTV_CURRENT=8
 LTV_REVISION=0
 LTV_REVISION=0
-LTV_AGE=4
+LTV_AGE=0
 
 .SUFFIXES:
 .SUFFIXES: .c .y .o .lo .sin .sed
 
 .SUFFIXES:
 .SUFFIXES: .c .y .o .lo .sin .sed
@@ -186,6 +213,8 @@ gettext.lo: $(srcdir)/gettext.c
        $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/gettext.c
 finddomain.lo: $(srcdir)/finddomain.c
        $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/finddomain.c
        $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/gettext.c
 finddomain.lo: $(srcdir)/finddomain.c
        $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/finddomain.c
+hash-string.lo: $(srcdir)/hash-string.c
+       $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/hash-string.c
 loadmsgcat.lo: $(srcdir)/loadmsgcat.c
        $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/loadmsgcat.c
 localealias.lo: $(srcdir)/localealias.c
 loadmsgcat.lo: $(srcdir)/loadmsgcat.c
        $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/loadmsgcat.c
 localealias.lo: $(srcdir)/localealias.c
@@ -210,14 +239,20 @@ plural-exp.lo: $(srcdir)/plural-exp.c
        $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/plural-exp.c
 localcharset.lo: $(srcdir)/localcharset.c
        $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/localcharset.c
        $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/plural-exp.c
 localcharset.lo: $(srcdir)/localcharset.c
        $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/localcharset.c
+lock.lo: $(srcdir)/lock.c
+       $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/lock.c
 relocatable.lo: $(srcdir)/relocatable.c
        $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/relocatable.c
 relocatable.lo: $(srcdir)/relocatable.c
        $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/relocatable.c
+langprefs.lo: $(srcdir)/langprefs.c
+       $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/langprefs.c
 localename.lo: $(srcdir)/localename.c
        $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/localename.c
 log.lo: $(srcdir)/log.c
        $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/log.c
 printf.lo: $(srcdir)/printf.c
        $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/printf.c
 localename.lo: $(srcdir)/localename.c
        $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/localename.c
 log.lo: $(srcdir)/log.c
        $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/log.c
 printf.lo: $(srcdir)/printf.c
        $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/printf.c
+version.lo: $(srcdir)/version.c
+       $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/version.c
 osdep.lo: $(srcdir)/osdep.c
        $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/osdep.c
 intl-compat.lo: $(srcdir)/intl-compat.c
 osdep.lo: $(srcdir)/osdep.c
        $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/osdep.c
 intl-compat.lo: $(srcdir)/intl-compat.c
@@ -233,14 +268,29 @@ ref-del.sed: $(srcdir)/ref-del.sin
 INCLUDES = -I. -I$(srcdir) -I..
 
 libgnuintl.h: $(srcdir)/libgnuintl.h.in
 INCLUDES = -I. -I$(srcdir) -I..
 
 libgnuintl.h: $(srcdir)/libgnuintl.h.in
-       sed -e 's,@''HAVE_POSIX_PRINTF''@,@HAVE_POSIX_PRINTF@,g' \
+       sed -e '/IN_LIBGLOCALE/d' \
+           -e 's,@''HAVE_POSIX_PRINTF''@,@HAVE_POSIX_PRINTF@,g' \
            -e 's,@''HAVE_ASPRINTF''@,@HAVE_ASPRINTF@,g' \
            -e 's,@''HAVE_SNPRINTF''@,@HAVE_SNPRINTF@,g' \
            -e 's,@''HAVE_WPRINTF''@,@HAVE_WPRINTF@,g' \
            -e 's,@''HAVE_ASPRINTF''@,@HAVE_ASPRINTF@,g' \
            -e 's,@''HAVE_SNPRINTF''@,@HAVE_SNPRINTF@,g' \
            -e 's,@''HAVE_WPRINTF''@,@HAVE_WPRINTF@,g' \
-         < $(srcdir)/libgnuintl.h.in > libgnuintl.h
-
-libintl.h: libgnuintl.h
-       cp libgnuintl.h libintl.h
+         < $(srcdir)/libgnuintl.h.in \
+       | if test '@WOE32DLL@' = yes; then \
+           sed -e 's/extern \([^()]*\);/extern __declspec (dllimport) \1;/'; \
+         else \
+           cat; \
+         fi \
+       | sed -e 's/extern \([^"]\)/extern LIBINTL_DLL_EXPORTED \1/' \
+             -e "/#define _LIBINTL_H/r $(srcdir)/export.h" \
+       | sed -e 's,@''HAVE_VISIBILITY''@,@HAVE_VISIBILITY@,g' \
+         > libgnuintl.h
+
+libintl.h: $(srcdir)/libgnuintl.h.in
+       sed -e '/IN_LIBGLOCALE/d' \
+           -e 's,@''HAVE_POSIX_PRINTF''@,@HAVE_POSIX_PRINTF@,g' \
+           -e 's,@''HAVE_ASPRINTF''@,@HAVE_ASPRINTF@,g' \
+           -e 's,@''HAVE_SNPRINTF''@,@HAVE_SNPRINTF@,g' \
+           -e 's,@''HAVE_WPRINTF''@,@HAVE_WPRINTF@,g' \
+         < $(srcdir)/libgnuintl.h.in > libintl.h
 
 charset.alias: $(srcdir)/config.charset
        $(SHELL) $(srcdir)/config.charset '@host@' > t-$@
 
 charset.alias: $(srcdir)/config.charset
        $(SHELL) $(srcdir)/config.charset '@host@' > t-$@
@@ -257,7 +307,7 @@ install: install-exec install-data
 install-exec: all
        if { test "$(PACKAGE)" = "gettext-runtime" || test "$(PACKAGE)" = "gettext-tools"; } \
           && test '@USE_INCLUDED_LIBINTL@' = yes; then \
 install-exec: all
        if { test "$(PACKAGE)" = "gettext-runtime" || test "$(PACKAGE)" = "gettext-tools"; } \
           && test '@USE_INCLUDED_LIBINTL@' = yes; then \
-         $(mkinstalldirs) $(DESTDIR)$(libdir) $(DESTDIR)$(includedir); \
+         $(mkdir_p) $(DESTDIR)$(libdir) $(DESTDIR)$(includedir); \
          $(INSTALL_DATA) libintl.h $(DESTDIR)$(includedir)/libintl.h; \
          $(LIBTOOL) --mode=install \
            $(INSTALL_DATA) libintl.$la $(DESTDIR)$(libdir)/libintl.$la; \
          $(INSTALL_DATA) libintl.h $(DESTDIR)$(includedir)/libintl.h; \
          $(LIBTOOL) --mode=install \
            $(INSTALL_DATA) libintl.$la $(DESTDIR)$(libdir)/libintl.$la; \
@@ -271,8 +321,9 @@ install-exec: all
          : ; \
        fi
        if test "$(PACKAGE)" = "gettext-tools" \
          : ; \
        fi
        if test "$(PACKAGE)" = "gettext-tools" \
-          && test '@USE_INCLUDED_LIBINTL@' = no; then \
-         $(mkinstalldirs) $(DESTDIR)$(libdir); \
+          && test '@USE_INCLUDED_LIBINTL@' = no \
+          && test @GLIBC2@ != no; then \
+         $(mkdir_p) $(DESTDIR)$(libdir); \
          $(LIBTOOL) --mode=install \
            $(INSTALL_DATA) libgnuintl.$la $(DESTDIR)$(libdir)/libgnuintl.$la; \
          rm -f $(DESTDIR)$(libdir)/preloadable_libintl.so; \
          $(LIBTOOL) --mode=install \
            $(INSTALL_DATA) libgnuintl.$la $(DESTDIR)$(libdir)/libgnuintl.$la; \
          rm -f $(DESTDIR)$(libdir)/preloadable_libintl.so; \
@@ -283,7 +334,7 @@ install-exec: all
          : ; \
        fi
        if test '@USE_INCLUDED_LIBINTL@' = yes; then \
          : ; \
        fi
        if test '@USE_INCLUDED_LIBINTL@' = yes; then \
-         test @GLIBC21@ != no || $(mkinstalldirs) $(DESTDIR)$(libdir); \
+         test @GLIBC21@ != no || $(mkdir_p) $(DESTDIR)$(libdir); \
          temp=$(DESTDIR)$(libdir)/t-charset.alias; \
          dest=$(DESTDIR)$(libdir)/charset.alias; \
          if test -f $(DESTDIR)$(libdir)/charset.alias; then \
          temp=$(DESTDIR)$(libdir)/t-charset.alias; \
          dest=$(DESTDIR)$(libdir)/charset.alias; \
          if test -f $(DESTDIR)$(libdir)/charset.alias; then \
@@ -299,7 +350,7 @@ install-exec: all
              rm -f $$temp; \
            fi; \
          fi; \
              rm -f $$temp; \
            fi; \
          fi; \
-         $(mkinstalldirs) $(DESTDIR)$(localedir); \
+         $(mkdir_p) $(DESTDIR)$(localedir); \
          test -f $(DESTDIR)$(localedir)/locale.alias \
            && orig=$(DESTDIR)$(localedir)/locale.alias \
            || orig=$(srcdir)/locale.alias; \
          test -f $(DESTDIR)$(localedir)/locale.alias \
            && orig=$(DESTDIR)$(localedir)/locale.alias \
            || orig=$(srcdir)/locale.alias; \
@@ -313,7 +364,7 @@ install-exec: all
        fi
 install-data: all
        if test "$(PACKAGE)" = "gettext-tools"; then \
        fi
 install-data: all
        if test "$(PACKAGE)" = "gettext-tools"; then \
-         $(mkinstalldirs) $(DESTDIR)$(gettextsrcdir); \
+         $(mkdir_p) $(DESTDIR)$(gettextsrcdir); \
          $(INSTALL_DATA) VERSION $(DESTDIR)$(gettextsrcdir)/VERSION; \
          $(INSTALL_DATA) ChangeLog.inst $(DESTDIR)$(gettextsrcdir)/ChangeLog; \
          dists="COPYING.LIB-2.0 COPYING.LIB-2.1 $(DISTFILES.common)"; \
          $(INSTALL_DATA) VERSION $(DESTDIR)$(gettextsrcdir)/VERSION; \
          $(INSTALL_DATA) ChangeLog.inst $(DESTDIR)$(gettextsrcdir)/ChangeLog; \
          dists="COPYING.LIB-2.0 COPYING.LIB-2.1 $(DISTFILES.common)"; \
@@ -341,24 +392,25 @@ install-strip: install
 installdirs:
        if { test "$(PACKAGE)" = "gettext-runtime" || test "$(PACKAGE)" = "gettext-tools"; } \
           && test '@USE_INCLUDED_LIBINTL@' = yes; then \
 installdirs:
        if { test "$(PACKAGE)" = "gettext-runtime" || test "$(PACKAGE)" = "gettext-tools"; } \
           && test '@USE_INCLUDED_LIBINTL@' = yes; then \
-         $(mkinstalldirs) $(DESTDIR)$(libdir) $(DESTDIR)$(includedir); \
+         $(mkdir_p) $(DESTDIR)$(libdir) $(DESTDIR)$(includedir); \
        else \
          : ; \
        fi
        if test "$(PACKAGE)" = "gettext-tools" \
        else \
          : ; \
        fi
        if test "$(PACKAGE)" = "gettext-tools" \
-          && test '@USE_INCLUDED_LIBINTL@' = no; then \
-         $(mkinstalldirs) $(DESTDIR)$(libdir); \
+          && test '@USE_INCLUDED_LIBINTL@' = no \
+          && test @GLIBC2@ != no; then \
+         $(mkdir_p) $(DESTDIR)$(libdir); \
        else \
          : ; \
        fi
        if test '@USE_INCLUDED_LIBINTL@' = yes; then \
        else \
          : ; \
        fi
        if test '@USE_INCLUDED_LIBINTL@' = yes; then \
-         test @GLIBC21@ != no || $(mkinstalldirs) $(DESTDIR)$(libdir); \
-         $(mkinstalldirs) $(DESTDIR)$(localedir); \
+         test @GLIBC21@ != no || $(mkdir_p) $(DESTDIR)$(libdir); \
+         $(mkdir_p) $(DESTDIR)$(localedir); \
        else \
          : ; \
        fi
        if test "$(PACKAGE)" = "gettext-tools"; then \
        else \
          : ; \
        fi
        if test "$(PACKAGE)" = "gettext-tools"; then \
-         $(mkinstalldirs) $(DESTDIR)$(gettextsrcdir); \
+         $(mkdir_p) $(DESTDIR)$(gettextsrcdir); \
        else \
          : ; \
        fi
        else \
          : ; \
        fi
@@ -376,7 +428,8 @@ uninstall:
          : ; \
        fi
        if test "$(PACKAGE)" = "gettext-tools" \
          : ; \
        fi
        if test "$(PACKAGE)" = "gettext-tools" \
-          && test '@USE_INCLUDED_LIBINTL@' = no; then \
+          && test '@USE_INCLUDED_LIBINTL@' = no \
+          && test @GLIBC2@ != no; then \
          rm -f $(DESTDIR)$(libdir)/preloadable_libintl.so; \
        else \
          : ; \
          rm -f $(DESTDIR)$(libdir)/preloadable_libintl.so; \
        else \
          : ; \
@@ -419,14 +472,20 @@ info dvi ps pdf html:
 
 $(OBJECTS): ../config.h libgnuintl.h
 bindtextdom.$lo dcgettext.$lo dcigettext.$lo dcngettext.$lo dgettext.$lo dngettext.$lo finddomain.$lo gettext.$lo intl-compat.$lo loadmsgcat.$lo localealias.$lo ngettext.$lo textdomain.$lo: $(srcdir)/gettextP.h $(srcdir)/gmo.h $(srcdir)/loadinfo.h
 
 $(OBJECTS): ../config.h libgnuintl.h
 bindtextdom.$lo dcgettext.$lo dcigettext.$lo dcngettext.$lo dgettext.$lo dngettext.$lo finddomain.$lo gettext.$lo intl-compat.$lo loadmsgcat.$lo localealias.$lo ngettext.$lo textdomain.$lo: $(srcdir)/gettextP.h $(srcdir)/gmo.h $(srcdir)/loadinfo.h
-dcigettext.$lo loadmsgcat.$lo: $(srcdir)/hash-string.h
+hash-string.$lo dcigettext.$lo loadmsgcat.$lo: $(srcdir)/hash-string.h
 explodename.$lo l10nflist.$lo: $(srcdir)/loadinfo.h
 dcigettext.$lo loadmsgcat.$lo plural.$lo plural-exp.$lo: $(srcdir)/plural-exp.h
 dcigettext.$lo: $(srcdir)/eval-plural.h
 localcharset.$lo: $(srcdir)/localcharset.h
 explodename.$lo l10nflist.$lo: $(srcdir)/loadinfo.h
 dcigettext.$lo loadmsgcat.$lo plural.$lo plural-exp.$lo: $(srcdir)/plural-exp.h
 dcigettext.$lo: $(srcdir)/eval-plural.h
 localcharset.$lo: $(srcdir)/localcharset.h
+bindtextdom.$lo dcigettext.$lo finddomain.$lo loadmsgcat.$lo localealias.$lo lock.$lo log.$lo: $(srcdir)/lock.h
 localealias.$lo localcharset.$lo relocatable.$lo: $(srcdir)/relocatable.h
 printf.$lo: $(srcdir)/printf-args.h $(srcdir)/printf-args.c $(srcdir)/printf-parse.h $(srcdir)/wprintf-parse.h $(srcdir)/xsize.h $(srcdir)/printf-parse.c $(srcdir)/vasnprintf.h $(srcdir)/vasnwprintf.h $(srcdir)/vasnprintf.c
 
 localealias.$lo localcharset.$lo relocatable.$lo: $(srcdir)/relocatable.h
 printf.$lo: $(srcdir)/printf-args.h $(srcdir)/printf-args.c $(srcdir)/printf-parse.h $(srcdir)/wprintf-parse.h $(srcdir)/xsize.h $(srcdir)/printf-parse.c $(srcdir)/vasnprintf.h $(srcdir)/vasnwprintf.h $(srcdir)/vasnprintf.c
 
+# A bison-2.1 generated plural.c includes <libintl.h> if ENABLE_NLS.
+PLURAL_DEPS_yes = libintl.h
+PLURAL_DEPS_no =
+plural.$lo: $(PLURAL_DEPS_@USE_INCLUDED_LIBINTL@)
+
 tags: TAGS
 
 TAGS: $(HEADERS) $(SOURCES)
 tags: TAGS
 
 TAGS: $(HEADERS) $(SOURCES)
@@ -478,7 +537,7 @@ dist distdir: Makefile
          $(MAKE) $(DISTFILES.common) $(DISTFILES.generated) $$additional; \
          for file in ChangeLog $(DISTFILES.common) $(DISTFILES.generated) $$additional; do \
            if test -f $$file; then dir=.; else dir=$(srcdir); fi; \
          $(MAKE) $(DISTFILES.common) $(DISTFILES.generated) $$additional; \
          for file in ChangeLog $(DISTFILES.common) $(DISTFILES.generated) $$additional; do \
            if test -f $$file; then dir=.; else dir=$(srcdir); fi; \
-           cp -p $$dir/$$file $(distdir); \
+           cp -p $$dir/$$file $(distdir) || test $$file = Makefile.in || exit 1; \
          done; \
        fi
 
          done; \
        fi
 
@@ -486,7 +545,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
        cd $(top_builddir) && $(SHELL) ./config.status
 # This would be more efficient, but doesn't work any more with autoconf-2.57,
 # when AC_CONFIG_FILES([intl/Makefile:somedir/Makefile.in]) is used.
        cd $(top_builddir) && $(SHELL) ./config.status
 # This would be more efficient, but doesn't work any more with autoconf-2.57,
 # when AC_CONFIG_FILES([intl/Makefile:somedir/Makefile.in]) is used.
-#      cd $(top_builddir) && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
+#      cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
 
 # Tell versions [3.59,3.63) of GNU make not to export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
 
 # Tell versions [3.59,3.63) of GNU make not to export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
index b4b846c..fb7452c 100644 (file)
@@ -1 +1 @@
-GNU gettext library from gettext-0.14.1
+GNU gettext library from gettext-0.15
index dcdc400..d1b1f90 100644 (file)
@@ -1,5 +1,5 @@
 /* Implementation of the bindtextdomain(3) function
 /* Implementation of the bindtextdomain(3) function
-   Copyright (C) 1995-1998, 2000-2003 Free Software Foundation, Inc.
+   Copyright (C) 1995-1998, 2000-2003, 2005-2006 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify it
    under the terms of the GNU Library General Public License as published
 
    This program is free software; you can redistribute it and/or modify it
    under the terms of the GNU Library General Public License as published
@@ -13,7 +13,7 @@
 
    You should have received a copy of the GNU Library General Public
    License along with this program; if not, write to the Free Software
 
    You should have received a copy of the GNU Library General Public
    License along with this program; if not, write to the Free Software
-   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
    USA.  */
 
 #ifdef HAVE_CONFIG_H
    USA.  */
 
 #ifdef HAVE_CONFIG_H
 #include <stdlib.h>
 #include <string.h>
 
 #include <stdlib.h>
 #include <string.h>
 
+#include "gettextP.h"
 #ifdef _LIBC
 # include <libintl.h>
 #else
 # include "libgnuintl.h"
 #endif
 #ifdef _LIBC
 # include <libintl.h>
 #else
 # include "libgnuintl.h"
 #endif
-#include "gettextP.h"
 
 
+/* Handle multi-threaded applications.  */
 #ifdef _LIBC
 #ifdef _LIBC
-/* We have to handle multi-threaded applications.  */
 # include <bits/libc-lock.h>
 # include <bits/libc-lock.h>
+# define gl_rwlock_define __libc_rwlock_define
+# define gl_rwlock_wrlock __libc_rwlock_wrlock
+# define gl_rwlock_unlock __libc_rwlock_unlock
 #else
 #else
-/* Provide dummy implementation if this is outside glibc.  */
-# define __libc_rwlock_define(CLASS, NAME)
-# define __libc_rwlock_wrlock(NAME)
-# define __libc_rwlock_unlock(NAME)
+# include "lock.h"
 #endif
 
 /* The internal variables in the standalone libintl.a must have different
 #endif
 
 /* The internal variables in the standalone libintl.a must have different
 /* Contains the default location of the message catalogs.  */
 extern const char _nl_default_dirname[];
 #ifdef _LIBC
 /* Contains the default location of the message catalogs.  */
 extern const char _nl_default_dirname[];
 #ifdef _LIBC
-extern const char _nl_default_dirname_internal[] attribute_hidden;
-#else
-# define INTUSE(name) name
+libc_hidden_proto (_nl_default_dirname)
 #endif
 
 /* List with bindings of specific domains.  */
 extern struct binding *_nl_domain_bindings;
 
 /* Lock variable to protect the global data in the gettext implementation.  */
 #endif
 
 /* List with bindings of specific domains.  */
 extern struct binding *_nl_domain_bindings;
 
 /* Lock variable to protect the global data in the gettext implementation.  */
-__libc_rwlock_define (extern, _nl_state_lock attribute_hidden)
+gl_rwlock_define (extern, _nl_state_lock attribute_hidden)
 
 
 /* Names for the libintl functions are a problem.  They must not clash
 
 
 /* Names for the libintl functions are a problem.  They must not clash
@@ -109,7 +107,7 @@ set_binding_values (const char *domainname,
       return;
     }
 
       return;
     }
 
-  __libc_rwlock_wrlock (_nl_state_lock);
+  gl_rwlock_wrlock (_nl_state_lock);
 
   modified = 0;
 
 
   modified = 0;
 
@@ -144,8 +142,8 @@ set_binding_values (const char *domainname,
              char *result = binding->dirname;
              if (strcmp (dirname, result) != 0)
                {
              char *result = binding->dirname;
              if (strcmp (dirname, result) != 0)
                {
-                 if (strcmp (dirname, INTUSE(_nl_default_dirname)) == 0)
-                   result = (char *) INTUSE(_nl_default_dirname);
+                 if (strcmp (dirname, _nl_default_dirname) == 0)
+                   result = (char *) _nl_default_dirname;
                  else
                    {
 #if defined _LIBC || defined HAVE_STRDUP
                  else
                    {
 #if defined _LIBC || defined HAVE_STRDUP
@@ -160,7 +158,7 @@ set_binding_values (const char *domainname,
 
                  if (__builtin_expect (result != NULL, 1))
                    {
 
                  if (__builtin_expect (result != NULL, 1))
                    {
-                     if (binding->dirname != INTUSE(_nl_default_dirname))
+                     if (binding->dirname != _nl_default_dirname)
                        free (binding->dirname);
 
                      binding->dirname = result;
                        free (binding->dirname);
 
                      binding->dirname = result;
@@ -201,7 +199,6 @@ set_binding_values (const char *domainname,
                        free (binding->codeset);
 
                      binding->codeset = result;
                        free (binding->codeset);
 
                      binding->codeset = result;
-                     binding->codeset_cntr++;
                      modified = 1;
                    }
                }
                      modified = 1;
                    }
                }
@@ -214,7 +211,7 @@ set_binding_values (const char *domainname,
     {
       /* Simply return the default values.  */
       if (dirnamep)
     {
       /* Simply return the default values.  */
       if (dirnamep)
-       *dirnamep = INTUSE(_nl_default_dirname);
+       *dirnamep = _nl_default_dirname;
       if (codesetp)
        *codesetp = NULL;
     }
       if (codesetp)
        *codesetp = NULL;
     }
@@ -236,11 +233,11 @@ set_binding_values (const char *domainname,
 
          if (dirname == NULL)
            /* The default value.  */
 
          if (dirname == NULL)
            /* The default value.  */
-           dirname = INTUSE(_nl_default_dirname);
+           dirname = _nl_default_dirname;
          else
            {
          else
            {
-             if (strcmp (dirname, INTUSE(_nl_default_dirname)) == 0)
-               dirname = INTUSE(_nl_default_dirname);
+             if (strcmp (dirname, _nl_default_dirname) == 0)
+               dirname = _nl_default_dirname;
              else
                {
                  char *result;
              else
                {
                  char *result;
@@ -263,9 +260,7 @@ set_binding_values (const char *domainname,
        }
       else
        /* The default value.  */
        }
       else
        /* The default value.  */
-       new_binding->dirname = (char *) INTUSE(_nl_default_dirname);
-
-      new_binding->codeset_cntr = 0;
+       new_binding->dirname = (char *) _nl_default_dirname;
 
       if (codesetp)
        {
 
       if (codesetp)
        {
@@ -287,7 +282,6 @@ set_binding_values (const char *domainname,
              memcpy (result, codeset, len);
 #endif
              codeset = result;
              memcpy (result, codeset, len);
 #endif
              codeset = result;
-             new_binding->codeset_cntr++;
            }
          *codesetp = codeset;
          new_binding->codeset = (char *) codeset;
            }
          *codesetp = codeset;
          new_binding->codeset = (char *) codeset;
@@ -319,7 +313,7 @@ set_binding_values (const char *domainname,
       if (0)
        {
        failed_codeset:
       if (0)
        {
        failed_codeset:
-         if (new_binding->dirname != INTUSE(_nl_default_dirname))
+         if (new_binding->dirname != _nl_default_dirname)
            free (new_binding->dirname);
        failed_dirname:
          free (new_binding);
            free (new_binding->dirname);
        failed_dirname:
          free (new_binding);
@@ -335,7 +329,7 @@ set_binding_values (const char *domainname,
   if (modified)
     ++_nl_msg_cat_cntr;
 
   if (modified)
     ++_nl_msg_cat_cntr;
 
-  __libc_rwlock_unlock (_nl_state_lock);
+  gl_rwlock_unlock (_nl_state_lock);
 }
 
 /* Specify that the DOMAINNAME message catalog will be found
 }
 
 /* Specify that the DOMAINNAME message catalog will be found
index 43d45fb..e8c258b 100755 (executable)
@@ -1,7 +1,7 @@
 #! /bin/sh
 # Output a system dependent table of character encoding aliases.
 #
 #! /bin/sh
 # Output a system dependent table of character encoding aliases.
 #
-#   Copyright (C) 2000-2004 Free Software Foundation, Inc.
+#   Copyright (C) 2000-2004, 2006 Free Software Foundation, Inc.
 #
 #   This program is free software; you can redistribute it and/or modify it
 #   under the terms of the GNU Library General Public License as published
 #
 #   This program is free software; you can redistribute it and/or modify it
 #   under the terms of the GNU Library General Public License as published
@@ -15,7 +15,7 @@
 #
 #   You should have received a copy of the GNU Library General Public
 #   License along with this program; if not, write to the Free Software
 #
 #   You should have received a copy of the GNU Library General Public
 #   License along with this program; if not, write to the Free Software
-#   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+#   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
 #   USA.
 #
 # The table consists of lines of the form
 #   USA.
 #
 # The table consists of lines of the form
 # The current list of GNU canonical charset names is as follows.
 #
 #       name              MIME?             used by which systems
 # The current list of GNU canonical charset names is as follows.
 #
 #       name              MIME?             used by which systems
-#   ASCII, ANSI_X3.4-1968       glibc solaris freebsd darwin
-#   ISO-8859-1              Y   glibc aix hpux irix osf solaris freebsd darwin
-#   ISO-8859-2              Y   glibc aix hpux irix osf solaris freebsd darwin
+#   ASCII, ANSI_X3.4-1968       glibc solaris freebsd netbsd darwin
+#   ISO-8859-1              Y   glibc aix hpux irix osf solaris freebsd netbsd darwin
+#   ISO-8859-2              Y   glibc aix hpux irix osf solaris freebsd netbsd darwin
 #   ISO-8859-3              Y   glibc solaris
 #   ISO-8859-3              Y   glibc solaris
-#   ISO-8859-4              Y   osf solaris freebsd darwin
-#   ISO-8859-5              Y   glibc aix hpux irix osf solaris freebsd darwin
+#   ISO-8859-4              Y   osf solaris freebsd netbsd darwin
+#   ISO-8859-5              Y   glibc aix hpux irix osf solaris freebsd netbsd darwin
 #   ISO-8859-6              Y   glibc aix hpux solaris
 #   ISO-8859-6              Y   glibc aix hpux solaris
-#   ISO-8859-7              Y   glibc aix hpux irix osf solaris
+#   ISO-8859-7              Y   glibc aix hpux irix osf solaris netbsd darwin
 #   ISO-8859-8              Y   glibc aix hpux osf solaris
 #   ISO-8859-8              Y   glibc aix hpux osf solaris
-#   ISO-8859-9              Y   glibc aix hpux irix osf solaris
-#   ISO-8859-13                 glibc
+#   ISO-8859-9              Y   glibc aix hpux irix osf solaris darwin
+#   ISO-8859-13                 glibc netbsd darwin
 #   ISO-8859-14                 glibc
 #   ISO-8859-14                 glibc
-#   ISO-8859-15                 glibc aix osf solaris freebsd
-#   KOI8-R                  Y   glibc solaris freebsd darwin
-#   KOI8-U                  Y   glibc freebsd darwin
+#   ISO-8859-15                 glibc aix osf solaris freebsd darwin
+#   KOI8-R                  Y   glibc solaris freebsd netbsd darwin
+#   KOI8-U                  Y   glibc freebsd netbsd darwin
 #   KOI8-T                      glibc
 #   CP437                       dos
 #   CP775                       dos
 #   KOI8-T                      glibc
 #   CP437                       dos
 #   CP775                       dos
@@ -58,7 +58,7 @@
 #   CP862                       dos
 #   CP864                       dos
 #   CP865                       dos
 #   CP862                       dos
 #   CP864                       dos
 #   CP865                       dos
-#   CP866                       freebsd darwin dos
+#   CP866                       freebsd netbsd darwin dos
 #   CP869                       dos
 #   CP874                       woe32 dos
 #   CP922                       aix
 #   CP869                       dos
 #   CP874                       woe32 dos
 #   CP922                       aix
 #   CP1125                      dos
 #   CP1129                      aix
 #   CP1250                      woe32
 #   CP1125                      dos
 #   CP1129                      aix
 #   CP1250                      woe32
-#   CP1251                      glibc solaris darwin woe32
+#   CP1251                      glibc solaris netbsd darwin woe32
 #   CP1252                      aix woe32
 #   CP1253                      woe32
 #   CP1254                      woe32
 #   CP1255                      glibc woe32
 #   CP1256                      woe32
 #   CP1257                      woe32
 #   CP1252                      aix woe32
 #   CP1253                      woe32
 #   CP1254                      woe32
 #   CP1255                      glibc woe32
 #   CP1256                      woe32
 #   CP1257                      woe32
-#   GB2312                  Y   glibc aix hpux irix solaris freebsd darwin
-#   EUC-JP                  Y   glibc aix hpux irix osf solaris freebsd darwin
-#   EUC-KR                  Y   glibc aix hpux irix osf solaris freebsd darwin
-#   EUC-TW                      glibc aix hpux irix osf solaris
-#   BIG5                    Y   glibc aix hpux osf solaris freebsd darwin
+#   GB2312                  Y   glibc aix hpux irix solaris freebsd netbsd darwin
+#   EUC-JP                  Y   glibc aix hpux irix osf solaris freebsd netbsd darwin
+#   EUC-KR                  Y   glibc aix hpux irix osf solaris freebsd netbsd darwin
+#   EUC-TW                      glibc aix hpux irix osf solaris netbsd
+#   BIG5                    Y   glibc aix hpux osf solaris freebsd netbsd darwin
 #   BIG5-HKSCS                  glibc solaris
 #   GBK                         glibc aix osf solaris woe32 dos
 #   BIG5-HKSCS                  glibc solaris
 #   GBK                         glibc aix osf solaris woe32 dos
-#   GB18030                     glibc solaris
-#   SHIFT_JIS               Y   hpux osf solaris freebsd darwin
+#   GB18030                     glibc solaris netbsd
+#   SHIFT_JIS               Y   hpux osf solaris freebsd netbsd darwin
 #   JOHAB                       glibc solaris woe32
 #   TIS-620                     glibc aix hpux osf solaris
 #   VISCII                  Y   glibc
 #   JOHAB                       glibc solaris woe32
 #   TIS-620                     glibc aix hpux osf solaris
 #   VISCII                  Y   glibc
 #   HP-KANA8                    hpux
 #   DEC-KANJI                   osf
 #   DEC-HANYU                   osf
 #   HP-KANA8                    hpux
 #   DEC-KANJI                   osf
 #   DEC-HANYU                   osf
-#   UTF-8                   Y   glibc aix hpux osf solaris
+#   UTF-8                   Y   glibc aix hpux osf solaris netbsd darwin
 #
 # Note: Names which are not marked as being a MIME name should not be used in
 # Internet protocols for information interchange (mail, news, etc.).
 #
 # Note: Names which are not marked as being a MIME name should not be used in
 # Internet protocols for information interchange (mail, news, etc.).
@@ -388,6 +388,8 @@ case "$os" in
        echo "ISO8859-2 ISO-8859-2"
        echo "ISO8859-4 ISO-8859-4"
        echo "ISO8859-5 ISO-8859-5"
        echo "ISO8859-2 ISO-8859-2"
        echo "ISO8859-4 ISO-8859-4"
        echo "ISO8859-5 ISO-8859-5"
+       echo "ISO8859-7 ISO-8859-7"
+       echo "ISO8859-13 ISO-8859-13"
        echo "ISO8859-15 ISO-8859-15"
        echo "eucCN GB2312"
        echo "eucJP EUC-JP"
        echo "ISO8859-15 ISO-8859-15"
        echo "eucCN GB2312"
        echo "eucJP EUC-JP"
@@ -396,7 +398,7 @@ case "$os" in
        echo "BIG5 BIG5"
        echo "SJIS SHIFT_JIS"
        ;;
        echo "BIG5 BIG5"
        echo "SJIS SHIFT_JIS"
        ;;
-    darwin*)
+    darwin[56]*)
        # Darwin 6.8 doesn't have nl_langinfo(CODESET); therefore
        # localcharset.c falls back to using the full locale name
        # from the environment variables.
        # Darwin 6.8 doesn't have nl_langinfo(CODESET); therefore
        # localcharset.c falls back to using the full locale name
        # from the environment variables.
@@ -437,6 +439,36 @@ case "$os" in
        echo "ja_JP.SJIS SHIFT_JIS"
        echo "ko_KR.EUC EUC-KR"
        ;;
        echo "ja_JP.SJIS SHIFT_JIS"
        echo "ko_KR.EUC EUC-KR"
        ;;
+    darwin*)
+       # Darwin 7.5 has nl_langinfo(CODESET), but it is useless:
+       # - It returns the empty string when LANG is set to a locale of the
+       #   form ll_CC, although ll_CC/LC_CTYPE is a symlink to an UTF-8
+       #   LC_CTYPE file.
+       # - The environment variables LANG, LC_CTYPE, LC_ALL are not set by
+       #   the system; nl_langinfo(CODESET) returns "US-ASCII" in this case.
+       # - The documentation says:
+       #     "... all code that calls BSD system routines should ensure
+       #      that the const *char parameters of these routines are in UTF-8
+       #      encoding. All BSD system functions expect their string
+       #      parameters to be in UTF-8 encoding and nothing else."
+       #   It also says
+       #     "An additional caveat is that string parameters for files,
+       #      paths, and other file-system entities must be in canonical
+       #      UTF-8. In a canonical UTF-8 Unicode string, all decomposable
+       #      characters are decomposed ..."
+       #   but this is not true: You can pass non-decomposed UTF-8 strings
+       #   to file system functions, and it is the OS which will convert
+       #   them to decomposed UTF-8 before accessing the file system.
+       # - The Apple Terminal application displays UTF-8 by default.
+       # - However, other applications are free to use different encodings:
+       #   - xterm uses ISO-8859-1 by default.
+       #   - TextEdit uses MacRoman by default.
+       # We prefer UTF-8 over decomposed UTF-8-MAC because one should
+       # minimize the use of decomposed Unicode. Unfortunately, through the
+       # Darwin file system, decomposed UTF-8 strings are leaked into user
+       # space nevertheless.
+       echo "* UTF-8"
+       ;;
     beos*)
        # BeOS has a single locale, and it has UTF-8 encoding.
        echo "* UTF-8"
     beos*)
        # BeOS has a single locale, and it has UTF-8 encoding.
        echo "* UTF-8"
@@ -450,7 +482,7 @@ case "$os" in
        echo "# If you find that the encoding given for your language and"
        echo "# country is not the one your DOS machine actually uses, just"
        echo "# correct it in this file, and send a mail to"
        echo "# If you find that the encoding given for your language and"
        echo "# country is not the one your DOS machine actually uses, just"
        echo "# correct it in this file, and send a mail to"
-       echo "# Juan Manuel Guerrero <st001906@hrz1.hrz.tu-darmstadt.de>"
+       echo "# Juan Manuel Guerrero <juan.guerrero@gmx.de>"
        echo "# and Bruno Haible <bruno@clisp.org>."
        echo "#"
        echo "C ASCII"
        echo "# and Bruno Haible <bruno@clisp.org>."
        echo "#"
        echo "C ASCII"
index 850acde..c2a63f0 100644 (file)
@@ -13,7 +13,7 @@
 
    You should have received a copy of the GNU Library General Public
    License along with this program; if not, write to the Free Software
 
    You should have received a copy of the GNU Library General Public
    License along with this program; if not, write to the Free Software
-   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
    USA.  */
 
 #ifdef HAVE_CONFIG_H
    USA.  */
 
 #ifdef HAVE_CONFIG_H
index 35238e2..5839768 100644 (file)
@@ -1,5 +1,5 @@
 /* Implementation of the internal dcigettext function.
 /* Implementation of the internal dcigettext function.
-   Copyright (C) 1995-1999, 2000-2003 Free Software Foundation, Inc.
+   Copyright (C) 1995-1999, 2000-2006 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify it
    under the terms of the GNU Library General Public License as published
 
    This program is free software; you can redistribute it and/or modify it
    under the terms of the GNU Library General Public License as published
@@ -13,7 +13,7 @@
 
    You should have received a copy of the GNU Library General Public
    License along with this program; if not, write to the Free Software
 
    You should have received a copy of the GNU Library General Public
    License along with this program; if not, write to the Free Software
-   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
    USA.  */
 
 /* Tell glibc's <string.h> to provide a prototype for mempcpy().
    USA.  */
 
 /* Tell glibc's <string.h> to provide a prototype for mempcpy().
@@ -27,6 +27,9 @@
 # include <config.h>
 #endif
 
 # include <config.h>
 #endif
 
+/* NL_LOCALE_NAME does not work in glibc-2.4.  Ignore it.  */
+#undef HAVE_NL_LOCALE_NAME
+
 #include <sys/types.h>
 
 #ifdef __GNUC__
 #include <sys/types.h>
 
 #ifdef __GNUC__
@@ -87,26 +90,31 @@ extern int errno;
 # include <sys/param.h>
 #endif
 
 # include <sys/param.h>
 #endif
 
+#if !defined _LIBC && HAVE_NL_LOCALE_NAME
+# include <langinfo.h>
+#endif
+
 #include "gettextP.h"
 #include "plural-exp.h"
 #ifdef _LIBC
 # include <libintl.h>
 #else
 #include "gettextP.h"
 #include "plural-exp.h"
 #ifdef _LIBC
 # include <libintl.h>
 #else
+# ifdef IN_LIBGLOCALE
+#  include <libintl.h>
+# endif
 # include "libgnuintl.h"
 #endif
 #include "hash-string.h"
 
 # include "libgnuintl.h"
 #endif
 #include "hash-string.h"
 
-/* Thread safetyness.  */
+/* Handle multi-threaded applications.  */
 #ifdef _LIBC
 # include <bits/libc-lock.h>
 #ifdef _LIBC
 # include <bits/libc-lock.h>
+# define gl_rwlock_define_initialized __libc_rwlock_define_initialized
+# define gl_rwlock_rdlock __libc_rwlock_rdlock
+# define gl_rwlock_wrlock __libc_rwlock_wrlock
+# define gl_rwlock_unlock __libc_rwlock_unlock
 #else
 #else
-/* Provide dummy implementation if this is outside glibc.  */
-# define __libc_lock_define_initialized(CLASS, NAME)
-# define __libc_lock_lock(NAME)
-# define __libc_lock_unlock(NAME)
-# define __libc_rwlock_define_initialized(CLASS, NAME)
-# define __libc_rwlock_rdlock(NAME)
-# define __libc_rwlock_unlock(NAME)
+# include "lock.h"
 #endif
 
 /* Alignment of types.  */
 #endif
 
 /* Alignment of types.  */
@@ -200,8 +208,8 @@ static void *mempcpy (void *dest, const void *src, size_t n);
                         it may be concatenated to a directory pathname.
    IS_PATH_WITH_DIR(P)  tests whether P contains a directory specification.
  */
                         it may be concatenated to a directory pathname.
    IS_PATH_WITH_DIR(P)  tests whether P contains a directory specification.
  */
-#if defined _WIN32 || defined __WIN32__ || defined __EMX__ || defined __DJGPP__
-  /* Win32, OS/2, DOS */
+#if defined _WIN32 || defined __WIN32__ || defined __CYGWIN__ || defined __EMX__ || defined __DJGPP__
+  /* Win32, Cygwin, OS/2, DOS */
 # define ISSLASH(C) ((C) == '/' || (C) == '\\')
 # define HAS_DEVICE(P) \
     ((((P)[0] >= 'A' && (P)[0] <= 'Z') || ((P)[0] >= 'a' && (P)[0] <= 'z')) \
 # define ISSLASH(C) ((C) == '/' || (C) == '\\')
 # define HAS_DEVICE(P) \
     ((((P)[0] >= 'A' && (P)[0] <= 'Z') || ((P)[0] >= 'a' && (P)[0] <= 'z')) \
@@ -216,16 +224,31 @@ static void *mempcpy (void *dest, const void *src, size_t n);
 # define IS_PATH_WITH_DIR(P) (strchr (P, '/') != NULL)
 #endif
 
 # define IS_PATH_WITH_DIR(P) (strchr (P, '/') != NULL)
 #endif
 
+/* Whether to support different locales in different threads.  */
+#if defined _LIBC || HAVE_NL_LOCALE_NAME || (HAVE_STRUCT___LOCALE_STRUCT___NAMES && defined USE_IN_GETTEXT_TESTS) || defined IN_LIBGLOCALE
+# define HAVE_PER_THREAD_LOCALE
+#endif
+
 /* This is the type used for the search tree where known translations
    are stored.  */
 struct known_translation_t
 {
   /* Domain in which to search.  */
 /* This is the type used for the search tree where known translations
    are stored.  */
 struct known_translation_t
 {
   /* Domain in which to search.  */
-  char *domainname;
+  const char *domainname;
 
   /* The category.  */
   int category;
 
 
   /* The category.  */
   int category;
 
+#ifdef HAVE_PER_THREAD_LOCALE
+  /* Name of the relevant locale category, or "" for the global locale.  */
+  const char *localename;
+#endif
+
+#ifdef IN_LIBGLOCALE
+  /* The character encoding.  */
+  const char *encoding;
+#endif
+
   /* State of the catalog counter at the point the string was found.  */
   int counter;
 
   /* State of the catalog counter at the point the string was found.  */
   int counter;
 
@@ -245,6 +268,8 @@ struct known_translation_t
 #if defined HAVE_TSEARCH || defined _LIBC
 # include <search.h>
 
 #if defined HAVE_TSEARCH || defined _LIBC
 # include <search.h>
 
+gl_rwlock_define_initialized (static, tree_lock)
+
 static void *root;
 
 # ifdef _LIBC
 static void *root;
 
 # ifdef _LIBC
@@ -267,57 +292,86 @@ transcmp (const void *p1, const void *p2)
     {
       result = strcmp (s1->domainname, s2->domainname);
       if (result == 0)
     {
       result = strcmp (s1->domainname, s2->domainname);
       if (result == 0)
-       /* We compare the category last (though this is the cheapest
-          operation) since it is hopefully always the same (namely
-          LC_MESSAGES).  */
-       result = s1->category - s2->category;
+       {
+#ifdef HAVE_PER_THREAD_LOCALE
+         result = strcmp (s1->localename, s2->localename);
+         if (result == 0)
+#endif
+           {
+#ifdef IN_LIBGLOCALE
+             result = strcmp (s1->encoding, s2->encoding);
+             if (result == 0)
+#endif
+               /* We compare the category last (though this is the cheapest
+                  operation) since it is hopefully always the same (namely
+                  LC_MESSAGES).  */
+               result = s1->category - s2->category;
+           }
+       }
     }
 
   return result;
 }
 #endif
 
     }
 
   return result;
 }
 #endif
 
-#ifndef INTVARDEF
-# define INTVARDEF(name)
-#endif
-#ifndef INTUSE
-# define INTUSE(name) name
-#endif
-
 /* Name of the default domain used for gettext(3) prior any call to
    textdomain(3).  The default value for this is "messages".  */
 const char _nl_default_default_domain[] attribute_hidden = "messages";
 
 /* Name of the default domain used for gettext(3) prior any call to
    textdomain(3).  The default value for this is "messages".  */
 const char _nl_default_default_domain[] attribute_hidden = "messages";
 
+#ifndef IN_LIBGLOCALE
 /* Value used as the default domain for gettext(3).  */
 const char *_nl_current_default_domain attribute_hidden
      = _nl_default_default_domain;
 /* Value used as the default domain for gettext(3).  */
 const char *_nl_current_default_domain attribute_hidden
      = _nl_default_default_domain;
+#endif
 
 /* Contains the default location of the message catalogs.  */
 #if defined __EMX__
 extern const char _nl_default_dirname[];
 #else
 
 /* Contains the default location of the message catalogs.  */
 #if defined __EMX__
 extern const char _nl_default_dirname[];
 #else
+# ifdef _LIBC
+extern const char _nl_default_dirname[];
+libc_hidden_proto (_nl_default_dirname)
+# endif
 const char _nl_default_dirname[] = LOCALEDIR;
 const char _nl_default_dirname[] = LOCALEDIR;
-INTVARDEF (_nl_default_dirname)
+# ifdef _LIBC
+libc_hidden_data_def (_nl_default_dirname)
+# endif
 #endif
 
 #endif
 
+#ifndef IN_LIBGLOCALE
 /* List with bindings of specific domains created by bindtextdomain()
    calls.  */
 struct binding *_nl_domain_bindings;
 /* List with bindings of specific domains created by bindtextdomain()
    calls.  */
 struct binding *_nl_domain_bindings;
+#endif
 
 /* Prototypes for local functions.  */
 static char *plural_lookup (struct loaded_l10nfile *domain,
                            unsigned long int n,
                            const char *translation, size_t translation_len)
      internal_function;
 
 /* Prototypes for local functions.  */
 static char *plural_lookup (struct loaded_l10nfile *domain,
                            unsigned long int n,
                            const char *translation, size_t translation_len)
      internal_function;
+
+#ifdef IN_LIBGLOCALE
+static const char *guess_category_value (int category,
+                                        const char *categoryname,
+                                        const char *localename)
+     internal_function;
+#else
 static const char *guess_category_value (int category,
                                         const char *categoryname)
      internal_function;
 static const char *guess_category_value (int category,
                                         const char *categoryname)
      internal_function;
+#endif
+
 #ifdef _LIBC
 # include "../locale/localeinfo.h"
 #ifdef _LIBC
 # include "../locale/localeinfo.h"
-# define category_to_name(category)    _nl_category_names[category]
+# define category_to_name(category) \
+  _nl_category_names.str + _nl_category_name_idxs[category]
 #else
 static const char *category_to_name (int category) internal_function;
 #endif
 #else
 static const char *category_to_name (int category) internal_function;
 #endif
+#if (defined _LIBC || HAVE_ICONV) && !defined IN_LIBGLOCALE
+static const char *get_output_charset (struct binding *domainbinding)
+     internal_function;
+#endif
 
 
 /* For those loosing systems which don't have `alloca' we have to add
 
 
 /* For those loosing systems which don't have `alloca' we have to add
@@ -383,9 +437,7 @@ typedef unsigned char transmem_block_t;
 #endif
 
 /* Lock variable to protect the global data in the gettext implementation.  */
 #endif
 
 /* Lock variable to protect the global data in the gettext implementation.  */
-#ifdef _LIBC
-__libc_rwlock_define_initialized (, _nl_state_lock attribute_hidden)
-#endif
+gl_rwlock_define_initialized (, _nl_state_lock attribute_hidden)
 
 /* Checking whether the binaries runs SUID must be done and glibc provides
    easier methods therefore we make a difference here.  */
 
 /* Checking whether the binaries runs SUID must be done and glibc provides
    easier methods therefore we make a difference here.  */
@@ -423,9 +475,18 @@ static int enable_secure;
 /* Look up MSGID in the DOMAINNAME message catalog for the current
    CATEGORY locale and, if PLURAL is nonzero, search over string
    depending on the plural form determined by N.  */
 /* Look up MSGID in the DOMAINNAME message catalog for the current
    CATEGORY locale and, if PLURAL is nonzero, search over string
    depending on the plural form determined by N.  */
+#ifdef IN_LIBGLOCALE
+char *
+gl_dcigettext (const char *domainname,
+              const char *msgid1, const char *msgid2,
+              int plural, unsigned long int n,
+              int category,
+              const char *localename, const char *encoding)
+#else
 char *
 DCIGETTEXT (const char *domainname, const char *msgid1, const char *msgid2,
            int plural, unsigned long int n, int category)
 char *
 DCIGETTEXT (const char *domainname, const char *msgid1, const char *msgid2,
            int plural, unsigned long int n, int category)
+#endif
 {
 #ifndef HAVE_ALLOCA
   struct block_list *block_list = NULL;
 {
 #ifndef HAVE_ALLOCA
   struct block_list *block_list = NULL;
@@ -434,7 +495,8 @@ DCIGETTEXT (const char *domainname, const char *msgid1, const char *msgid2,
   struct binding *binding;
   const char *categoryname;
   const char *categoryvalue;
   struct binding *binding;
   const char *categoryname;
   const char *categoryvalue;
-  char *dirname, *xdomainname;
+  const char *dirname;
+  char *xdomainname;
   char *single_locale;
   char *retval;
   size_t retlen;
   char *single_locale;
   char *retval;
   size_t retlen;
@@ -443,6 +505,9 @@ DCIGETTEXT (const char *domainname, const char *msgid1, const char *msgid2,
   struct known_translation_t *search;
   struct known_translation_t **foundp = NULL;
   size_t msgid_len;
   struct known_translation_t *search;
   struct known_translation_t **foundp = NULL;
   size_t msgid_len;
+# if defined HAVE_PER_THREAD_LOCALE && !defined IN_LIBGLOCALE
+  const char *localename;
+# endif
 #endif
   size_t domainname_len;
 
 #endif
   size_t domainname_len;
 
@@ -459,7 +524,7 @@ DCIGETTEXT (const char *domainname, const char *msgid1, const char *msgid2,
            : n == 1 ? (char *) msgid1 : (char *) msgid2);
 #endif
 
            : n == 1 ? (char *) msgid1 : (char *) msgid2);
 #endif
 
-  __libc_rwlock_rdlock (_nl_state_lock);
+  gl_rwlock_rdlock (_nl_state_lock);
 
   /* If DOMAINNAME is NULL, we are interested in the default domain.  If
      CATEGORY is not LC_MESSAGES this might not make much sense but the
 
   /* If DOMAINNAME is NULL, we are interested in the default domain.  If
      CATEGORY is not LC_MESSAGES this might not make much sense but the
@@ -481,10 +546,45 @@ DCIGETTEXT (const char *domainname, const char *msgid1, const char *msgid2,
   search = (struct known_translation_t *)
           alloca (offsetof (struct known_translation_t, msgid) + msgid_len);
   memcpy (search->msgid, msgid1, msgid_len);
   search = (struct known_translation_t *)
           alloca (offsetof (struct known_translation_t, msgid) + msgid_len);
   memcpy (search->msgid, msgid1, msgid_len);
-  search->domainname = (char *) domainname;
+  search->domainname = domainname;
   search->category = category;
   search->category = category;
+# ifdef HAVE_PER_THREAD_LOCALE
+#  ifndef IN_LIBGLOCALE
+#   ifdef _LIBC
+  localename = __current_locale_name (category);
+#   else
+#    if HAVE_NL_LOCALE_NAME
+  /* NL_LOCALE_NAME is public glibc API introduced in glibc-2.4.  */
+  localename = nl_langinfo (NL_LOCALE_NAME (category));
+#    else
+#     if HAVE_STRUCT___LOCALE_STRUCT___NAMES && defined USE_IN_GETTEXT_TESTS
+  /* The __names field is not public glibc API and must therefore not be used
+     in code that is installed in public locations.  */
+  {
+    locale_t thread_locale = uselocale (NULL);
+    if (thread_locale != LC_GLOBAL_LOCALE)
+      localename = thread_locale->__names[category];
+    else
+      localename = "";
+  }
+#     endif
+#    endif
+#   endif
+#  endif
+  search->localename = localename;
+#  ifdef IN_LIBGLOCALE
+  search->encoding = encoding;
+#  endif
+# endif
+
+  /* Since tfind/tsearch manage a balanced tree, concurrent tfind and
+     tsearch calls can be fatal.  */
+  gl_rwlock_rdlock (tree_lock);
 
   foundp = (struct known_translation_t **) tfind (search, &root, transcmp);
 
   foundp = (struct known_translation_t **) tfind (search, &root, transcmp);
+
+  gl_rwlock_unlock (tree_lock);
+
   freea (search);
   if (foundp != NULL && (*foundp)->counter == _nl_msg_cat_cntr)
     {
   freea (search);
   if (foundp != NULL && (*foundp)->counter == _nl_msg_cat_cntr)
     {
@@ -495,7 +595,7 @@ DCIGETTEXT (const char *domainname, const char *msgid1, const char *msgid2,
       else
        retval = (char *) (*foundp)->translation;
 
       else
        retval = (char *) (*foundp)->translation;
 
-      __libc_rwlock_unlock (_nl_state_lock);
+      gl_rwlock_unlock (_nl_state_lock);
       return retval;
     }
 #endif
       return retval;
     }
 #endif
@@ -507,6 +607,12 @@ DCIGETTEXT (const char *domainname, const char *msgid1, const char *msgid2,
   DETERMINE_SECURE;
 
   /* First find matching binding.  */
   DETERMINE_SECURE;
 
   /* First find matching binding.  */
+#ifdef IN_LIBGLOCALE
+  /* We can use a trivial binding, since _nl_find_msg will ignore it anyway,
+     and _nl_load_domain and _nl_find_domain just pass it through.  */
+  binding = NULL;
+  dirname = bindtextdomain (domainname, NULL);
+#else
   for (binding = _nl_domain_bindings; binding != NULL; binding = binding->next)
     {
       int compare = strcmp (domainname, binding->domainname);
   for (binding = _nl_domain_bindings; binding != NULL; binding = binding->next)
     {
       int compare = strcmp (domainname, binding->domainname);
@@ -522,44 +628,55 @@ DCIGETTEXT (const char *domainname, const char *msgid1, const char *msgid2,
     }
 
   if (binding == NULL)
     }
 
   if (binding == NULL)
-    dirname = (char *) INTUSE(_nl_default_dirname);
-  else if (IS_ABSOLUTE_PATH (binding->dirname))
-    dirname = binding->dirname;
+    dirname = _nl_default_dirname;
   else
     {
   else
     {
-      /* We have a relative path.  Make it absolute now.  */
-      size_t dirname_len = strlen (binding->dirname) + 1;
-      size_t path_max;
-      char *ret;
+      dirname = binding->dirname;
+#endif
+      if (!IS_ABSOLUTE_PATH (dirname))
+       {
+         /* We have a relative