[sisyphus] LC_*
Michael Shigorin
=?iso-8859-1?q?mike_=CE=C1_osdn=2Eorg=2Eua?=
Вт Ноя 1 22:18:45 MSK 2005
On Tue, Nov 01, 2005 at 07:01:13PM +0300, Sviataslau Svirydau wrote:
> >>Т.е. все равно хочется брать реальное занчение LC_TYPE
> >>невзирая на LC_ALL?
> >Именно. Потому что так же поступит и glibc всякое
> >при выставленном LC_* точней LC_ALL.
> Это точно?
Нет, конечно. :)
> Поведение locale(1) почему-то заставяет думать наоборот.
Скажем так. Предполагается, что если выставлен LC_CTYPE --
то выставлен правильно и for a reason (например, у некоторых
это uk_UA.KOI8-U, хотя кроме него и LC_COLLATE локаль может
быть скорее ru_RU.KOI8-R, возможно, в смеси с C/POSIX).
Соответственно проверять только LC_ALL -- чревато тем, что
как раз он не определён (это может быть и при частично оторванной
локализации, не только в странных случаях навроде моего).
Проверять LC_CTYPE (обманувшись спросонья `locale`) -- ещё
хуже, ровно поэтому в Compact 2.3 была кривая сборка xmms
(в смысле обёртка не настраивала его, как должна была).
Соответственно для подобной эвристики "ну-я-старался" оно
подходит, а вообще спасибо за разоблачение и вразумление :)
> Да и в других местах говорят, что LC_ALL проверяется перед
> конкретной категорией LC_*.
...и перекрывает.
> А вот LANG -- после.
И тоже бы правильно заглянуть, если уж докапываться.
--
---- WBR, Michael Shigorin <mike на altlinux.ru>
------ Linux.Kiev http://www.linux.kiev.ua/
Подробная информация о списке рассылки Sisyphus