Я исправил это в моем форке Flymake (https://github.com/illusori/emacs-flymake).
. Он будет либо запускать проверку синтаксиса на удаленной машине через Tramp, без проблем с изменением буфера, которые вы видите, либо вы можетеустановите flymake-run-in-place
на nil
, и он будет запускать проверку синтаксиса на локальной машине, точно так же, как flymake на обычном буфере без Tramp.
Поскольку это исправлено на уровне Flymake, это исправление работает для всехязыковые и синтаксические проверки, а не просто pyflakes.
Если вам интересны подробности того, почему это происходит, в основном, когда запускается обработчик Tramp для процесса запуска файла, он выводит сообщение для входа в соединение наконец текущего буфера до того, как любой выходной фильтр может быть присоединен к процессу.
Обычно это проявляется в том, что люди, видящие содержимое / etc / issue, появляются в конце своего файла вместе с надписью «У вас есть почта."и т. д.
В вашем случае может оказаться, что сообщение для входа пустое или просто новая строка, поэтому вы не видите добавляемого текстаed, хотя он устанавливает буфер как изменяемый.