How to adjust the path that Emacs' compile-goto-error gets from the compilation buffer?

懵懂的女人 提交于 2019-12-08 15:05:09

问题


I am using Emacs 23 and have the following problem:

I run our project's build system from within Emacs like M-x compile -> cd /foo/bar && ./build

The build system now does some magic, "cd"s into some subdirectory for the build process and then gcc throws an error:

../src/somesource.cc:50 error: blablabla

Now the problem is that Emacs won't find that path, because it assumes the compile process started out in /foo/bar, and not in /foo/bar/builddir. So the leading "../" is not working for Emacs, e.g. when running compile-goto-error. Is there a way to tell Emacs to try skipping leading "../"?


回答1:


The best solution might be to change the build system to emit messages when it changes directories. Emacs looks for

Entering directory `...'
... 
Leaving directory `...'

(See the compilation-directory-matcher variable. If your build system does emit messages when it changes directories, but they're not in the format Emacs is looking for, you can add new regexps to compilation-directory-matcher.)

The other solution is to change compilation-search-path (which is a list of directories).



来源:https://stackoverflow.com/questions/10451242/how-to-adjust-the-path-that-emacs-compile-goto-error-gets-from-the-compilation

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!