当我修改缓冲区时,Emacs会在与正在编辑的文件(例如foo.c)相同的目录中自动创建一个临时符号链接:
.#foo.c -> user@host.12345:1296583136
其中“ 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...
}
更新2:Arne的答案是正确的。现在,可以通过将其添加到.emacs文件中来禁用最新的Emacs(24.3.1)中的锁定文件:
(setq create-lockfiles nil)