当我使用M-x compilemake -jn为多(级)dir项目进行并行编译时,当我收到错误时,我无法使用next-error东西到达正确的位置.对于有问题的文件,Emacs总是进入错误的目录.但是如果我不用-jn就可以做到没有问题.
next-error使用编译的文本输出来确定去哪里。但通过并行编译,该文本输出可能会被损坏,即使它没有损坏,它也可能而且经常是不明确的(想象一个任务编译 foo/bar ,另一个任务编译 toto/titi ,输出看起来像“输入目录 foo;进入目录 toto;bar 中出错:20;titi 中出错:69”)。
我只能想到以下几种方法来解决这个问题:
compile.el以便在查找“bar”时,它会在之前提到的所有目录中获取它。最后一个更改可能是一个好的更改(即欢迎补丁),但请注意,如果“foo”和“toto”中都存在“bar”,它仍然会遇到问题。另外两个更改仍然可能会遇到问题,因为输出最终也可能看起来像“Entering directory foEntering directory toto; o;”; 我不知道可以采取什么措施来避免这个问题。