On 6/7/07, Ron Adam <[EMAIL PROTECTED]> wrote:
> Martin v. Löwis wrote:
>
> > FWIW, for me the build error goes away when I unset
> > LANG, so that the error occurs during build definitely
> > *is* a locale issue.
>
> Yes, and to pin it down a bit further...
>
> This avoids the problem by setting the language to the default "C" which is
> a unicode string and has a .split method that accepts 0 args.
>
> Also LANG is 4th on the list of possible language setting sources, so if
> one of the other 3 environment variables is set, setting or unsetting LANG
> will have no effect.
>
>
> --- From gettext.py ---
>
> # Locate a .mo file using the gettext strategy
> def find(domain, localedir=None, languages=None, all=0):
> # Get some reasonable defaults for arguments that were not supplied
> if localedir is None:
> localedir = _default_localedir
> if languages is None:
> languages = []
> for envar in ('LANGUAGE', 'LC_ALL', 'LC_MESSAGES', 'LANG'):
> # ^^^ first one is accepted.
> val = os.environ.get(envar) #<<< should return unicode?
> if val:
> languages = val.split(':')
> break
> if 'C' not in languages:
> languages.append('C') # <<< unicode 'C'
> # now normalize and expand the languages
> nelangs = []
> for lang in languages:
> for nelang in _expand_lang(lang): #<<< error in this call
> # when it's normalized.
> if nelang not in nelangs:
> nelangs.append(nelang)
>
> ------
>
> Guido's patch avoids this, but that fix was also needed as unicode
> translate works differently than str.translate.
>
> The os.environ.get() method probably should return a unicode string. (?)
Indeed -- care to contribute a patch?
--
--Guido van Rossum (home page: http://www.python.org/~guido/)
_______________________________________________
Python-3000 mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-3000
Unsubscribe:
http://mail.python.org/mailman/options/python-3000/archive%40mail-archive.com