[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[debian-devel:17294] Re: man コマンドの挙動
>> On Thu, 5 Jun 2008 17:37:00 +0900
>> shiiya@xxxxxxxxxxxxxxx (Yukio Shiiya) said as follows:
>> col.c の該当部分の処理は,以下の通りで,まったくマルチバイト文字は考慮
>> されていませんでした.
>>
>> col を通ってしまうと BS などが落ちてしまうわけですが,Emacs 付属の
>> man.el は,BS などを解釈して,強調表示などを行うようにしています.
>> なので,man.el から使う場合は col を通さない方が良いわけなんです.
>>
>> (1) bsdmainutils に multibyte character が対応されていないぞと BTS
>> (2) emacs22 に上記設定相当を組み込むように BTS
>(1)に関しては、関連すると思われるバグ報告が既に上げられているようです。
>#319952 とは違いますかね?
ああ,確かに.確認が足りませんでした.merge しておきました.
>(2)に関しては、私は普段emacsを使っていないので確信は持てないのですが、
>(1)の修正を待たずに現状のままでも、MAN_KEEP_FORMATTING という環境変数を
>設定した状態でemacsを起動すれば、emacsの中からmanを表示した場合でも
>man-dbの内部処理でcolが使われないようになってmanの表示が改善されるように
>なったりしませんかね?
(defadvice Man-getpage-in-background
(around debian-manpage-force-utf8 activate compile)
(let ((process-environment (copy-sequence process-environment)))
(setenv "MAN_KEEP_FORMATTING" "1")
ad-do-it))
でいけますね.
なお,先に私が示した案
(setq Man-switches "-Tutf8")
(defadvice Man-getpage-in-background
(around debian-manpage-force-utf8 activate compile)
(let ((locale-coding-system 'utf-8))
ad-do-it))
とどちらが良いかは,ちょっと悩みます.なお,どちらも col の修正(1)は必要
とはしません
MAN_KEEP_FORMATTING を使う方法だと,ja_JP.eucJP な環境では,unicode を使
わずに済ませられます.
逆に -Tutf8 を使う方法だと,文字コードが最初から決め打ち(Unicode)なので,
ある意味で安全です.
--
土屋 雅稔 ( TSUCHIYA Masatoshi )