Настроение: | sick |
Музыка: | Tangerine Dream - Thief (Extended Edition) |
Entry tags: | emacs, linux, unicode |
Копипаст из Емакса в Хтерм с локалью koi8-r
Есть проблема, прошу помощи.
Раньше я ее решал путем установки
Emacs 22 либо Emacs 21 из оверлея, но сейчас чего-то
не могу найти таких оверлеев, и у меня пока что
Emacs 24.
Внутренняя кодировка Емакса у меня koi8-r,
локаль
LANG="C"
LC_COLLATE="ru_RU.koi8r"
LC_CTYPE="ru_RU.koi8r"
Мне нужно копировать из Емакса в окно xterm
(локаль koi8-r) русские буквы, и копировать
из окна Firefox/Chrome в Емакс русские буквы.
В Emacs 21/22 она решается следующей странной
штукой (выяснил экспериментально):
(set-terminal-coding-system 'koi8-r-unix)
(set-keyboard-coding-system 'koi8-r-unix)
(set-selection-coding-system 'x-ctext-with-extensions)
(setq x-select-request-type '(UTF8_STRING COMPOUND_TEXT TEXT STRING))
В новой версии это не работает ни на копипаст в емакс
(печатает кракозябры), ни на копипаст из емакса
(не печатает ничего). Можно сделать
(set-clipboard-coding-system 'koi8-r-unix)
и она будет хорошо передавать из емакса в хтерм,
не будет передавать ничего из xterm в емакс, и
будет передавать кракозябры из Firefox в емакс.
Если сделать
(set-clipboard-coding-system 'utf-8-unix)
она не передает ничего из хтерм и в хтерм,
и передает текст из Firefox/Chrome в Емакс
в emacs как надо.
Копипаст из Емакса в Firefox работает как надо
в обоих случаях
Меня бы наверное устроило, если бы
(set-clipboard-coding-system 'utf-8-unix)
работало на копипаст в, а
(set-clipboard-coding-system 'koi8-r-unix)
на копипаст из, но каждый раз переключать
это все-таки чересчур.
В общем, прошу совета, как эту бяку настроить,
либо адреса gentoo-overlay с емаксом 21 или 22.
В целом - емакс от версии к версии все хуже и хуже,
все гаже и гаже, и никакого конца-краю этому нет.
Самый лучший был 19 (но он с utf-8 совсем не работает,
так что и он не годится).
Такие дела
Миша