Re: texinfo-7.2.90 on OpenBSD

Bruno Haible via Bug reports for the GNU Texinfo documentation system <[email protected]>
Newsgroups gmane.comp.tex.texinfo.bugs
Organization GNU
Message-ID <2037505.7astpu70Zg@nimes>
Eli Zaretskii wrote:
> > > And could you please explain why this "must" is true:
> > > 
> > > > The reason why it does not work is that this program is not following
> > > > the documented requirement from
> > > > https://www.gnu.org/software/gettext/manual/html_node/C.html :
> > > >   "Programmer must call setlocale (LC_ALL, "")"
> > > 
> > > What's wrong with calling setlocale with second argument other than
> > > the empty string?
> > 
> > This way of doing things works only on some platforms, not on all platforms.
> > For the (complicated) reasons, see the comment re HAVE_LOCALE_NULL in
> > gnulib/lib/localename-unsafe.c.
> 
> Not sure I understand which comment you alluded to

The comment at [1].

> and how it answers
> my questions, so let me ask directly: are you saying that some systems
> don't support 'setlocale' with second argument anything other than "C"
> or the empty string, but do support changing the locale when
> 'setlocale' is called with empty string as the second argument and the
> actual locale is specified in the environment?

No, this is not what I'm saying.

setlocale() is a libc facility.

gettext() is a GNU libintl facility.

It is not the libc itself that prohibits us from using
  setlocale (category, name_of_locale)
It is that when a program does this, i.e. not call
  setlocale (category, "")
the GNU libintl facility cannot do its job properly on some specific systems,
as explained in [1].

Bruno

[1] https://gitweb.git.savannah.gnu.org/gitweb/?p=gnulib.git;a=blob;f=lib/localename-unsafe.c;h=12748cba28becd2c8a999c8695cb42e0d0348940;hb=HEAD#l2717
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.