Bug 18100 - bash(1)
: bash(1)
Status: CLOSED FIXED
: Sisyphus
(All bugs in Sisyphus/groff-base)
: unstable
: all Linux
: P2 normal
Assigned To:
:
:
:
:
:
  Show dependency tree
 
Reported: 2008-12-04 23:31 by
Modified: 2009-01-01 00:21 (History)


Attachments


Note

You need to log in before you can comment on or make changes to this bug.


Description From 2008-12-04 23:31:32
bash-3.2.39-alt1's manpage contains:

       An OR list has the form

              command command2

instead of

       An OR list has the form

              command || command2
------- Comment #1 From 2008-12-15 00:51:48 -------
It depends on groff/man version.
bash(1) looks fine in 4.0 environment, where
$ rpmquery groff-base man
groff-base-1.19.2-alt2.0
man-1.5m2-alt4
------- Comment #2 From 2008-12-15 12:29:26 -------
Эта бага зависит от локали. У меня на LANG=ru_RU.UTF-8 всё нормально, но с
LANG=C бага действительно есть. Скорее всего глючит перекодировка. Пока считаю
что это бага groff.
------- Comment #3 From 2008-12-15 16:25:52 -------
Пишу для информации. Вот часть bash(1):

.PP
An OR list has the form
.RS
.PP
\fIcommand1\fP \fB\(bv\(bv\fP \fIcommand2\fP

groff_char(7):

The extensible bracket pieces are font-invariant glyphs. In classical troff 
only one glyph was available to vertically extend brackets, braces, and
parentheses: `bv'. We map it rather arbitrarily to u23AA.
------- Comment #4 From 2008-12-16 01:06:10 -------
pad:~> locale
LANG=ru_RU.KOI8-R
LC_CTYPE=uk_UA.KOI8-U
LC_NUMERIC=C
LC_TIME=C
LC_COLLATE=uk_UA.KOI8-U
LC_MONETARY=C
LC_MESSAGES=C
LC_PAPER="ru_RU.KOI8-R"
LC_NAME="ru_RU.KOI8-R"
LC_ADDRESS="ru_RU.KOI8-R"
LC_TELEPHONE="ru_RU.KOI8-R"
LC_MEASUREMENT="ru_RU.KOI8-R"
LC_IDENTIFICATION="ru_RU.KOI8-R"
LC_ALL=
------- Comment #5 From 2008-12-16 13:31:01 -------
(In reply to comment #4)
> pad:~> locale
> LANG=ru_RU.KOI8-R
> LC_CTYPE=uk_UA.KOI8-U

С 8-битными кодировками всё не очень хорошо ... сейчас groff переводит в utf8
внутри себя... а потом man переводит её в нужную локаль с помощью iconv. При
этом некоторые специальные символы теряются по понятным причинам.

Как это лечить я пока не знаю. У вас есть идеи?
------- Comment #6 From 2008-12-16 13:34:50 -------
(In reply to comment #5)

> некоторые специальные символы теряются по понятным причинам.
> Как это лечить я пока не знаю. У вас есть идеи?

Я уже озвучивал идею - взять рекодер, который умеет транслировать отсутствующие
в целевой кодировке символы в похожие или в последовательности (© -> (c), ¦ ->
|).

Я знаю recode(1), но можно и другие поискать.
------- Comment #7 From 2008-12-16 13:41:02 -------
Впрочем, recode про 0+23AA не знает, и в | переводить его не умеет :-| Этот
конкретный случай можно запатчить, но наверняка им дело не ограничится.
------- Comment #8 From 2008-12-16 14:04:23 -------
(In reply to comment #7)
> Впрочем, recode про 0+23AA не знает, и в | переводить его не умеет :-| 

Именно. Однозначного перевода не получится и символы будут теряться ...

Видимо нужно писать другой транслятор, знающий про groff.
------- Comment #9 From 2008-12-16 14:06:39 -------
Можно и таблички recode допилить, благо такой перевод для любой конверсии UTF-8
-> что-нибудь-ещё пригодится.
------- Comment #10 From 2008-12-16 14:26:14 -------
(In reply to comment #9)
> Можно и таблички recode допилить, благо такой перевод для любой конверсии UTF-8 ->
> что-нибудь-ещё пригодится.

Есть такой фонт: /usr/share/groff/1.19.3/font/devascii. Тут есть преобразование
разных символов. Но вот беда ... там нет и остальных не ascii символов ... их
можно добавить, скажем из devutf8 и таким образом получится dev8bit.
------- Comment #11 From 2008-12-17 09:43:59 -------
(In reply to comment #10)
> там нет и остальных не ascii символов ... их можно
> добавить, скажем из devutf8 и таким образом получится dev8bit.

На самом деле получилось не совсем так. :)
Но получилось нечто. Новый девайс создать всё-таки пришлось, но лишь затем
чтобы разделить utf8 и 8-битные кодировки. Проблему вроде как можно решить
обычными макросами, а таблицу замен предоставил devascii.
Вообщем, groff-1.19.3-alt3.20081215 и man-1.6f-alt8 выложены:

ftp://devel.altlinux.org/legion/repo/

прошу протестировать.
------- Comment #12 From 2008-12-17 17:03:39 -------
groff-base последней модели -- работает:

* Mon Dec 15 2008 Alexey Gladkov <legion@altlinux.ru> 1.19.3-alt3.20081215
- New cvs snapshot (1.19.3 cvs20081215).
- Fix special characters for 8-bit encodings.
------- Comment #13 From 2008-12-19 00:35:49 -------
Сборка ушла в сизиф. Кроме тебя, Миша, никто не проявил интереса к тестированию
сборки не проявил. Тем хуже для них.
------- Comment #14 From 2009-01-01 00:21:30 -------
Да ладно, она ж работает :-)

Спасибо!