Войти в систему

Home
    - Создать дневник
    - Написать в дневник
       - Подробный режим

LJ.Rossia.org
    - Новости сайта
    - Общие настройки
    - Sitemap
    - Оплата
    - ljr-fif

Редактировать...
    - Настройки
    - Список друзей
    - Дневник
    - Картинки
    - Пароль
    - Вид дневника

Сообщества

Настроить S2

Помощь
    - Забыли пароль?
    - FAQ
    - Тех. поддержка



Пишет Misha Verbitsky ([info]tiphareth)
@ 2017-03-28 20:45:00


Previous Entry  Add to memories!  Tell a Friend!  Next Entry
Настроение: 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 совсем не работает,
так что и он не годится).

Такие дела
Миша



(Читать комментарии) - (Добавить комментарий)


[info]tiphareth
2017-03-29 08:33 (ссылка)
шеневский ТеХ живет под совеременными версиями так
http://lj.rossia.org/users/tiphareth/1297429.html
пакеты, если надо, легко достать, погуглив, либо спросить у Шеня

что до твоего ответа, у меня нет никаких проблем с загрузкой файла,
у меня проблемы с копипастом из Emacs в окно xterm с локалью koi8-r
при условии, что мне нужно, чтобы работала копипаста из chrome
в то же окно Emacs

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]polytheme
2017-03-29 08:39 (ссылка)
у тебя в окне терминала pine или elm через ssh что ли, извини за интимный вопрос ?

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]tiphareth
2017-03-29 08:48 (ссылка)
у меня в окне терминала mailx через ssh

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]polytheme
2017-03-29 09:02 (ссылка)
а, ну конечно, pine и elm уже сдохли давно, а mailx и mail кладут в пакеты до сих пор.

интересно, а если по ssh ходить прямо из emacs, что получится ?
https://www.emacswiki.org/emacs/SshWithEmacs
тут, наверное, есть шанс научить emacs в этот буфер копировать с нужной кодировкой (если это вообще потребуется).

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]tiphareth
2017-03-29 11:04 (ссылка)
есть с десяток решений, которые менее через жопу
но все они идут нахуй: я хочу, чтоб у меня все работало как мне надо
(и как оно работало в старых версиях)

(Ответить) (Уровень выше)


(Анонимно)
2017-03-29 11:05 (ссылка)
В NetBSD ложат.

(Ответить) (Уровень выше)


[info]polytheme
2017-03-29 08:42 (ссылка)
TeX попробую, спасибо. хотя то, что там, мне больно будет делать
(устанавливать файлы не из пакетов вне директории home это
все равно что есть блинчики не с кленовым сиропом,
они же потом будут лежать, а пакетный менеджер
ничего про них не будет знать, и при переезде на
новый комп они проебутся).

(Ответить) (Уровень выше)


[info]polytheme
2017-03-29 08:47 (ссылка)
P.S. если ты совсем ничего не хочешь менять из принципиальных
соображений, можно попробовать модифицировать copy-paste
на elisp, чтобы перед copy _из_ включалась одна кодировка
clipboard, а перед copy _в_ - другая (автоматически,
а не рукаме). но если ты захочешь
что-то скопировать _из_ xterm или _в_ chrome, все, конечно,
сломается, потому что emacs не может угадать, в какую
программу копируется.

(Ответить) (Уровень выше)


(Читать комментарии) -