我正在使用Emacs 23并遇到以下问题:
我在Emacs中运行我们项目的构建系统,如M-x compile - > cd / foo / bar&& ./build
构建系统现在做了一些魔术,“cd”进入构建过程的某个子目录,然后gcc抛出错误:
../ src / somesource.cc:50错误:blablabla
现在的问题是Emacs不会找到该路径,因为它假定编译过程在/ foo / bar中开始,而不是在/ foo / bar / builddir中。所以领先的“../”对Emacs不起作用,例如:运行compile-goto-error时。有没有办法告诉Emacs尝试跳过引导“../"?
答案 0 :(得分:13)
最佳解决方案可能是更改构建系统以在更改目录时发出消息。 Emacs寻找
Entering directory `...'
...
Leaving directory `...'
(请参阅compilation-directory-matcher
变量。如果您的构建系统在更改目录时确实会发出消息,但它们不是Emacs正在寻找的格式,则可以向compilation-directory-matcher
添加新的正则表达式。 )
另一个解决方案是更改compilation-search-path
(这是一个目录列表)。