в yelp открываю man-страницу zcat вижу следующее: GZIP(1) îáú÷áîéå gzip, gunzip, zcat - ÓÖÁÔØ ÉÌÉ ÒÁÓÐÁËÏ×ÁÔØ ÆÁÊÌÙ
yelp ожидает увидеть UTF-8. а наши руские man-pages в koi8-r наш man не поддерживает параметра для преобразования на лету (как в debian например). Я сам на это давно наткнулся, но багу что-то не повесил.
Тут чинят: bug 16680
Так и запишем - зависит от бага 16680 :)
Я не понимаю, как баг про неверное отображение кавычки может блокировать баг с неправильным перекодированием страниц в yelp? После исправления bug #16680 yelp сам не починится. IMHO вам нужно патчить yelp, чтобы он перекодировал в UTF8, либо тогда все маны нужно конвертировать в юникод.
Yelp использует man для показа страниц внутри себя. Дальше объяснять?
(In reply to comment #5) > Yelp использует man для показа страниц внутри себя. Дальше объяснять? Да, желательно. Насколько я понимаю всё эту кухню, man возвращает текст в кодироке пользователя. Если я прав, то у Ильдара, должно быть, однобитная локаль. 2ildar@: у вас локаль какая?
yelp'у нужно будет лишь объяснить, что нужно выставить требуемую кодировку. Однострочный патч. Ты уже в этом баге про yelp написал больше, чем объём этого патча.
yelp никуда не возвращает текст, он его просто показывает, поэтому вопрос о кодировке стоит не здесь. Просто man сейчас возвращает русские man'ы в KOI8-R, а yelp считает, что ему дают уже готовый уникод. Можно исправить yelp, чтобы он узнал, что это KOI8-R, но лучше исправить man в сторону поддержки кодировок и затем исправить yelp так, чтобы он объяснял man'у, что ему нужен уникод. Теперь понятнее? Я только что на ru_RU.UTF-8 у себя воспроизвёл этот баг.
однобитная - это Вы хватили. Остановимся на однобайтной. нет, у меня UTF-8 Я не стал уточнять детали, т.к. посчитал, что ошибка легко проверяется.
(In reply to comment #8) > yelp никуда не возвращает текст, он его просто показывает, поэтому вопрос о > кодировке стоит не здесь. Просто man сейчас возвращает русские man'ы в KOI8-R, а yelp > считает, что ему дают уже готовый уникод. Можно исправить yelp, чтобы он узнал, > что это KOI8-R, но лучше исправить man в сторону поддержки кодировок и затем > исправить yelp так, чтобы он объяснял man'у, что ему нужен уникод. > Теперь понятнее? > Я только что на ru_RU.UTF-8 у себя воспроизвёл этот баг. > Кажется, не всё так просто -- попробуйте перекодировать к-н русскую ман-страницу в utf-8. Этот "готовый уникод" yelp покажет не лучше, чем koi8-r.
(In reply to comment #8) > Просто man сейчас возвращает русские man'ы в KOI8-R Нет, man должен возвращать текст в локали пользователя, бишь если у вас ru_RU.UTF8, то и текст в ней должен приходить. Например: [c0der@xxx ~]$ man test >test.man [c0der@xxx ~]$ file test.man test.man: UTF-8 Unicode text, with overstriking У вас не так?
Кто б сказал, кто тут самый виноватый ============================================================================= $ head -3 /home/aris/temp/gzip.1 .\" Перевод выполнен: 28.12.2000, Роман Медяков <merv@utb.ru> .\" Последнее обновление: 11.07.2003 Александр Блохин <sass@altlinux.ru> .TH "GZIP" "1" "" "" "Файловые утилиты GNU" =============================================================================== $ less /home/aris/temp/gzip.1 GZIP(1) ФайловÑе ÑÑилиÑÑ GNU GZIP(1) ÐÐÐÐÐÐÐÐ gzip, gunzip, zcat - ÑжаÑÑ Ð¸Ð»Ð¸ ÑаÑпаковаÑÑ ÑÐ°Ð¹Ð»Ñ Ð¡ÐÐТÐÐСÐС gzip [ -acdfhlLnNrtvV19 ] [ -S ÑÑÑÑÐ¸ÐºÑ ] [ Ñайл ... ] gunzip [ -acfhlLnNrtvV ] [ -S ÑÑÑÑÐ¸ÐºÑ ] [ Ñайл ... ] zcat [ -fhLV ] [ Ñайл ... ] ..... ========================================================================== $ man /home/aris/temp/gzip.1 GZIP(1) Файлов<D1>е <D1><D1>или<D1><D1> GNU GZIP(1) <D0>^H<D0><D0>^H<D0><D0>^H<D0><D0>^H<D0><D0>^H<D0><D0>^H<D0><D0>^H<D0><D0>^H<D0> gzip, gunzip, zcat - <D1>жа<D1><D1> или <D1>а<D1>пакова<D1><D1> <D1>айл<D1> <D0>^H<A1><D0>^H<D0><D0>^H<D0><D0>^HТ^H<A2><D0>^H<D0><D0>^H<D0><D0>^H<A1><D0>^H<D0><D0>^H<A1> gzip [ -acdfhlLnNrtvV19 ] [ -S <D1>^H<D1><D1>^H<D1><D1>^H<D1><D1>^H<D1><D0>^H<B8><D0>^Hк^H<BA><D1>^H<D1> ] [ <D1><D0> <B0><D0><B9><D0><BB> ... ] gunzip [ -acfhlLnNrtvV ] [ -S <D1>^H<D1><D1>^H<D1><D1>^H<D1><D1>^H<D1><D0>^H<B8><D0>^Hк^H<BA><D1>^H<D1> ] [ <D1>>^H
(In reply to comment #11) > (In reply to comment #8) > > Просто man сейчас возвращает русские man'ы в KOI8-R > > Нет, man должен возвращать текст в локали пользователя, бишь если у вас ru_RU.UTF8, > то и текст в ней должен приходить. > > Например: > > [c0der@xxx ~]$ man test >test.man > [c0der@xxx ~]$ file test.man > test.man: UTF-8 Unicode text, with overstriking > > У вас не так? Однако так... Пойду-ка я в исходники yelp погляжу.
Господи, да там же открытым текстом всё написано. /* FIXME: get the language */ language = "C"; /* default encoding if the language doesn't match below */ encoding = g_getenv("MAN_ENCODING"); if (encoding == NULL) encoding = "ISO-8859-1"; В общем, yelp вход от man воспринимает даже не как UTF-8, а как ISO-8859-1. В принципе, к этому уже можно писать патчи. Возможно, кстати, стоит взглянуть на natspec.
Т.о. bug #16680 не мешает исправлению этого бага.
(In reply to comment #14) > Господи, да там же открытым текстом всё написано. > /* FIXME: get the language */ > language = "C"; > > /* default encoding if the language doesn't match below */ > encoding = g_getenv("MAN_ENCODING"); > if (encoding == NULL) > encoding = "ISO-8859-1"; > > В общем, yelp вход от man воспринимает даже не как UTF-8, а как ISO-8859-1. В принципе, к > этому уже можно писать патчи. Возможно, кстати, стоит взглянуть на natspec. Yelp не использует man, а парсит файлы самостоятельно, и взять их кодировку ему неоткуда.
fixed in 2.23.1-alt3
Мну... я понимаю, работа проделана большая.. Но: bash(1): ОПЦИИ Помимо однобуквенных опций командного интерпретатора, представленных в описании встроенной команды set, bash интерпретирует при вызове следующие опции: -c ������ а в терминале вижу: -c строка
(In reply to comment #18) > Мну... я понимаю, работа проделана большая.. Но: > bash(1): Пока работы было на три строчки. > ОПЦИИ > Помимо однобуквенных опций командного интерпретатора, представленных > в описании встроенной команды set, bash > интерпретирует при вызове следующие опции: > -c ������ > > а в терминале вижу: > -c строка > Это вы уже придираетесь.
может и придираюсь :-) но я не нарочно ;) Давайте не будем пока закрывать в таком состоянии, а?
(In reply to comment #20) > может и придираюсь :-) но я не нарочно ;) > Давайте не будем пока закрывать в таком состоянии, а? > Разумеется.
исправлено в yelp-2.23.91-alt1
Согласен
предлагаю переоткрыть: страница convert(1) (пакет ImageMagic): SEE-ALSO ImageMagick(1) в yelp видно только (1) Вообще страница выглядит иначе (виноват новый man?): раньше, кажется, опции оканчивались разрывом абзаца, а сейчас это какая-то мешанина.
почти четыре месяца - ни одного возражения. Переоткрываю. Причина - комент №24
man qemu-img в разделе "fmt" вообще не показывает то, что в двойных кавычках: "raw", "qcow2", "qcow" и т.д. Кто прокомментирует - где проблема? man2html с задачей справляется лучше.
Передаю мейнтейнеру, который по этому багу уже сделал больше меня.
(In reply to comment #27) > Передаю мейнтейнеру, который по этому багу уже сделал больше меня. Я не уверен, что смогу найти багу в yelp'овском парсере.
Посоветуетесь с апстримом?