当我使用emacs编辑文件时,如何阻止Xcode重新编译世界?

当我使用emacs编辑文件时,如何阻止Xcode重新编译世界?,xcode,emacs,Xcode,Emacs,随着我当前的一个Xcode项目变得越来越大,我注意到,当我从emacs更改为单个非头文件时,Xcode似乎经常“重新编译世界”。不总是,但很多。我想它可能一直在这样做,但当项目很小的时候,我从来没有注意到或关心过。既然这个项目相当大,它绝对会扼杀我的生产力。我该怎么阻止这一切 (是的……回答我自己的问题[) 我花了相当多的时间才搞定……但绝对值得 它归结为emacs创建的锁文件,用于检测来自多个emacs进程的同时编辑。这些文件是从#到.Xcode的(无效)符号链接。我绝对不喜欢这些文件(我使用

随着我当前的一个Xcode项目变得越来越大,我注意到,当我从emacs更改为单个非头文件时,Xcode似乎经常“重新编译世界”。不总是,但很多。我想它可能一直在这样做,但当项目很小的时候,我从来没有注意到或关心过。既然这个项目相当大,它绝对会扼杀我的生产力。我该怎么阻止这一切

(是的……回答我自己的问题[)

我花了相当多的时间才搞定……但绝对值得

它归结为emacs创建的锁文件,用于检测来自多个emacs进程的同时编辑。这些文件是从#到.Xcode的(无效)符号链接。我绝对不喜欢这些文件(我使用的其他一些工具也是如此……尽管我现在不清楚它们是什么……甚至可能是
xcodebuild
)Xcode.app实际上没有引发任何错误,但它似乎丢弃了依赖信息。这些锁定文件不是备份文件:当您更改了文件的内容但尚未保存时,它们就存在了,因此您得到的是这样一种行为,即仅在emacs缓冲区中进行本地更改,最终导致“重建世界”即使什么都没救

目前还没有任何方法可以禁用这些锁文件。这个问题几个月前在emacs列表中提出,但没有得到任何解决

要解决此问题,您必须在编译时禁用锁定文件。您可以执行正常的配置舞蹈,然后在
src/config.h
中,在操作系统和机器配置的
#include
之后,添加
#undef CLASH_检测

我已经向苹果公司提交了雷达文件