当我修改缓冲区时,Emacs会自动在与正在编辑的文件相同的目录中创建一个临时符号链接(例如foo.c):
.#foo.c -> user@host.12345:1296583136
Run Code Online (Sandbox Code Playgroud)
'12345'是Emacs的PID(我不知道最后一个数字是什么意思).
为什么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...
}
Run Code Online (Sandbox Code Playgroud)
更新2:Arne的回答是正确的.现在可以在最新的Emacs(24.3.1)中禁用锁定文件,方法是将其添加到.emacs文件中:
(setq create-lockfiles nil)
Run Code Online (Sandbox Code Playgroud) emacs ×1