当我修改一个缓冲器时,Emacs为被编辑的文件自动创建在同一目录中的临时符号链接(例如foo.c的):为什么emacs为修改后的文件创建临时符号链接?
.#foo.c -> [email protected]: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:阿恩的答案是正确的。它现在可能的Emacs(24.3.1),加入给你的.emacs文件来禁用最新的锁文件:
(setq create-lockfiles nil)
非常感谢您的更新!我会看看我能否改变这种情况,因为它会严重干扰我正在开发的项目的构建系统。 – 2012-10-19 11:21:11