Когда я изменяю буфер, Emacs автоматически создает временную символическую ссылку в том же каталоге, что и редактируемый файл (например, foo.c):
.#foo.c -> [email protected]:1296583136
где '12345' - это PID Emacs '(я не знаю, что означает последнее число).
Почему Emacs создает эти ссылки и как я могу предотвратить это?
Обратите внимание, что я отключил режим автоматического сохранения (M-x auto-save-mode
) и отключил файлы резервных копий (M-x set-variable -> make-backup-files -> nil
). Когда я сохраняю измененный буфер или отменю его изменения, символическая ссылка исчезает.
В частности, я пытаюсь запретить Emacs создавать эти ссылки, потому что они вызывают изменение временной метки каталога, что заставляет нашу систему сборки перестраивать весь модуль вместо компиляции и связывания для одного измененного файла:/
Спасибо за любой вклад!
Обновление. Чтобы Emacs постоянно создавать блокирующие файлы, вы можете изменить src/filelock.c
и создать собственный двоичный файл:
void
lock_file (fn)
Lisp_Object fn;
{
return;
// Unused code below...
}
Обновление 2: ответ Арне правильный. Теперь можно отключить файлы блокировки в последней версии Emacs (24.3.1), добавив это в ваш файл .emacs:
(setq create-lockfiles nil)