LINUX.ORG.RU

Не могу запустить dot из Emacs с русскими буквами в имени файла

 ,


0

1

Здравствуйте!

Настройки .emacs

(prefer-coding-system 'cp1251)
(prefer-coding-system 'utf-8)
(setq default-input-method 'russian-computer)

(defadvice shell (after my-shell-advice)
	(set-buffer-process-coding-system 'cp1251 'cp1251))
(ad-activate 'shell)

Подключен graphviz-mode, когда запускаю compile открытого буфера .dot вылезает ошибка:

dot -Tpng "w:/otd/тест.dot" -o "w:/otd/тест.png"
Error: dot: can't open w:/otd/тест.dot

Но, если запускать compile, но без русских символов в имени файла, то все работает. Я сделал вывод, что проблема в кодировках, нашел код, для shell, но ничего не помогает. Причем из shell строка dot -Tpng «w:/otd/тест.dot» -o «w:/otd/тест.png» запускается с русскими символами и работает.

Проблема именно в compile Данная команда в упор не видит русские буквы в имени файла(((

knigolaz
() автор топика
Ответ на: комментарий от knigolaz

В org-mode тоже самое. Если в имени папки , в пути есть русские символы, то выдает ошибку, что не может найти файл, т.е он его просто не генерирует. Уже всю голову сломал. Неужели никто не сталкивался с настройкой emacs c graphviz и русскими буквами в пути?

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

Мне такое помогало, когда на емаксе сидел:

(defconst +IS-WINDOWS+ (eq system-type 'windows-nt))

...

(when +IS-WINDOWS+
  (setq default-process-coding-system '(utf-8-dos . cp1251-dos)))
habamax ★★★
()
Последнее исправление: habamax (всего исправлений: 1)
Ответ на: комментарий от anonymous

Так было сначала, потом «оптимизировал» для увеличения скорости загрузки. Лол, конечно.

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

Ну просто огромнейшее спасибо!!! Реально заработало, я аж прослезился от счастья.

Сам страдал когда-то (латеховские файлы с русским именем отказывались пдэфиться), пришлось покопаться.

habamax ★★★
()
22 января 2020 г.
Ответ на: комментарий от habamax

Спасибо! Это решило проблему с именами. Но осталась проблема в буфферах. Например если выполнить diff-buffer-with-file, то вместо кириллицы отображаются коды. Для конкретного буффера помогает с этим справится команда «C+x RET r utf-8 RET», но это очень неудобно. Сталкивались ли Вы с такой проблемой или может знаете куда посмотреть? Уже вторую неделю бьюсь с этой проблемой. Заранее спасибо!

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

Я уже давно не пользуюсь емаксом, так что на 100% не скажу.

Но похоже на то, что по умолчанию не стоит UTF-8.

Посмотри на 4 строчки из моего конфига (которым уже не пользуюсь :))

https://github.com/habamax/.emacs.d/blob/d201137e78b99fbbcb96d0fe2c043d611f1e465c/init.el#L52-L55

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