Emacs flymake предотвращает загрузку файлов, когда каталог недоступен для записи - PullRequest
2 голосов
/ 01 июня 2011

Когда я открываю файл в каталоге, недоступном для записи, я получаю

Opening output file: Permission denied, /path/to/file

В то же время файл не загружается.

Когда я повторяю команду find-file, файл загружается нормально во второй раз.

Мне хотелось бы получить следующую функциональность: открыть файл сразу и, возможно, показать сообщение о том, что flymake не может работать, но остается в стороне.

Я уже установил flymake-gui-warnings-enabled на nil, что по крайней мере избавляет меня от надоедливого диалогового окна.

Ответы [ 2 ]

1 голос
/ 03 августа 2011

Скорее всего, ваша проблема вызвана тем, что Flymake пытается записать временную копию вашего буфера в тот же каталог, что и исходный файл.

Вы можете избежать этого, следуя инструкциям в этом блоге:

http://blog.urth.org/2011/06/flymake-versus-the-catalyst-restarter.html

Это решает проблему для Perl, но может быть довольно легко адаптировано для других языков, или вы можете загрузить исправленную версию flymake.el из https://github.com/illusori/emacs-flymake, которая исправляет эту проблему и некоторые другие. (Полное раскрытие: я автор патча.)

1 голос
/ 01 июня 2011

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

(setq flymake-start-syntax-check-on-find-file nil)
...