bug-gnulib
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Bug-gnulib] HAVE_LIBINTL_H


From: Paul Eggert
Subject: Re: [Bug-gnulib] HAVE_LIBINTL_H
Date: Mon, 4 Nov 2002 15:13:02 -0800 (PST)

> From: Bruno Haible <address@hidden>
> Date: Mon, 4 Nov 2002 22:30:46 +0100 (CET)
> 
> I propose to replace
> 
>      #if (HAVE_LIBINTL_H && ENABLE_NLS)
> 
> with
> 
>      #if ENABLE_NLS
> 

Yes, I like this change.

Can't we go further, and replace code like this:

  #if ENABLE_NLS
  # include <libintl.h>
  # define _(Text) gettext (Text)
  #else
  # define _(Text) Text
  #endif

with code like this?

  #include <gettext.h>

The basic idea is that GNU applications should ship with <gettext.h>,
and glibc can be compiled with a private copy of <gettext.h> that is
not installed into /usr/include.  This would simplify lots of gnulib
modules that use ENABLE_NLS.  (Though at some point people might start
to wonder why <gettext.h> isn't installed into /usr/include....)


> There might be one or two packages that could be affected by this
> change, therefore I'd like to make this change first in gnulib and
> push it to glibc a few months later when we are sure about it.

OK, though this raises the more general issue of keeping gnulib and
glibc in sync.  If memory serves there are several minor differences
between the two that ought to be reconciled at some point.  There are
also a few patches floating around in other packages that should be
merged back into gnulib.  I'll take a look at this sometime this year
(if nobody else does it first :-).

But there is one big difference (regex), where I think things have
pretty much forked between glibc and gnulib and it will take quite
some work to merge them.  There has been some controversy over regex
semantics (even at the POSIX level, not to mention various GNU
projects) so merging may take some work.  I'd rather put this off
until the other stuff gets merged.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]