From: Thomas Rast
Date: Sun, 24 Nov 2013 09:05:53 GMT
Subject: Re: gettext CTYPE for libc
Message-ID: <874n72goem.fsf@linux-k42r.v.cablecom.net>
In-Reply-To: <52900FD6.5020202@gmail.com>
Trần Ngọc Quân writes:
> $ git status
> fatal: Unable to read current working directory: Kh?ng c? t?p tin ho?c
> th? m?c nh? v?y
>
> So, somthing wrong with our charset.
[...]
> $ gettext --domain=libc "No such file or directory"
> Không có tập tin hoặc thư mục như vậy
>
> in git's gettext.c, it not allow CTYPE="" for all domain, so we will set
> this one individually. In this ex. I set it for libc:
>
> $ git diff
> diff --git a/gettext.c b/gettext.c
> index 71e9545..abd3978 100644
> --- a/gettext.c
> +++ b/gettext.c
> @@ -115,6 +115,7 @@ static void init_gettext_charset(const char *domain)
> setlocale(LC_CTYPE, "");
> charset = locale_charset();
> bind_textdomain_codeset(domain, charset);
> + bind_textdomain_codeset("libc", charset);
> setlocale(LC_CTYPE, "C");
> }
Do you know why this "suddenly" broke? The long comment in
init_gettext_charset() suggests that the *existing* code is there to
handle exactly this problem, and apparently it doesn't. Why? Has libc
moved the perror() strings into a separate domain in some version?
--
Thomas Rast
tr@thomasrast.ch