LINUX.ORG.RU

emacs, win-1251 and mule


0

0

Подскажите workaround для полного задействования кодировки cp-1251 в емакс.

В принципе, следущие строки дают хороший результат:

(require 'mule) (require 'codepage) (codepage-setup 1251)

(define-coding-system-alias 'win-cp1251 'cp1251) (define-coding-system-alias 'windows-1251 'cp1251) (prefer-coding-system 'cp1251-dos)

(set-default-coding-systems 'cp1251-dos) (set-clipboard-coding-system 'cp1251-dos) (set-selection-coding-system 'cp1251-dos) (set-w32-system-coding-system 'cp1251-dos) (setq default-process-coding-system 'cp1251) (set-terminal-coding-system 'cp1251) (set-keyboard-coding-system 'cp1251)

Но при чтении дот-емакса все равно неизвестно откуда выплывает ISO8859-5, в результате чего, например, не установишь стартовую директорию с русскими буквами. Также иногда случаются ошибки в скриптах, когда, например, auctex пытается считать сохраненный результат парсинга auto.el ...

не уверен, что правильно понял проблему, но попробуй (set-file-name-coding-system 'cp1251), это должно решить проблему с каталогами с русскими буквами.

uj2 ★★★
()
Ответ на: комментарий от uj2

> (set-file-name-coding-system 'cp1251)

Говорит, что нет такой функции... Но даже, если б была, это не решило бы проблему (судя по названию).

А проблема такая: если я устанавливаю директорию с русскими буквами в качестве стартовой (через конфиг), по с-x c-f показывает что-то неудобоваримое, оказывающееся на поверку результатом перевода из cp1251 в ИСО8859-5. Т.е., емакс продолжает использовать для внутреннего употребления (как например, для чтения .emacs) cyrillic-iso, хотя в конфигах нет об этом никакого упоминания.

Sunspire
() автор топика

santa@localhost ~/.emacs.d $ cat ./emacs-rc-mule.el
;;
;; There's the mule config
;;

(setq default-input-method "cyrillic-jcuken")

(codepage-setup 1251)
(define-coding-system-alias 'windows-1251 'cp1251)
(define-coding-system-alias 'win-1251 'cp1251)
(setq selection-coding-system 'cp1251)
(setq default-process-coding-system 'cp1251)
(set-terminal-coding-system 'cp1251)
(set-keyboard-coding-system 'cp1251)
;;(set-language-environment 'UTF-8)

;; default encodings for the file types
(setq file-coding-system-alist (quote (
("\\.php" utf-8)
("\\.html" utf-8)
("\\.js" utf-8)
("\\.css" utf-8)
("\\.py" utf-8)
("" undecided)
)))

;; end of file

;; бох в помощь 8)

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.